X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2FChangeLog;h=ac086a7878bd56ff3017be6b83c485b6e6a9fe5d;hb=255b128bd64df42632d2a509bd9436f0163539d6;hp=3d8e910e8e061c11ca54eda0e5d840423c88c2e0;hpb=2989bae3e4d22437b6f225385f70423851612a2a;p=pspp-builds.git diff --git a/src/data/ChangeLog b/src/data/ChangeLog index 3d8e910e..ac086a78 100644 --- a/src/data/ChangeLog +++ b/src/data/ChangeLog @@ -1,3 +1,351 @@ +Tue Jul 4 08:47:35 2006 Ben Pfaff + + Fix bug #15766 (/KEEP subcommand on SAVE doesn't fully support + ALL) and additional underlying system file issues. + + Thanks to John Darrington for review. + + First problem: var_hash points to variables not owned by the + sys-file-reader, which the caller may free or modify. Use an + array of sfm_vars instead, as done earlier (e.g. CVS version + 1.12). + + * sys-file-reader.c (struct sfm_reader): Remove var_hash, svars + members and remove all code that references it. Add vars, var_cnt + members. Remove fix_specials member, which was unused. + (struct sfm_var) Remove name member, which was unused. + (sfm_close_reader) Free vars member instead of var_hash. + (compare_var_shortnames) Removed. + (hash_var_shortname) Removed. + (sfm_open_reader) Fill out vars array. + (compare_var_index) Removed. + (sfm_read_case) Use vars instead of var_hash. + + Second problem: we're confused about when we actually have very + long strings, causing us to choose incorrectly between slow path + and fast path in sfm_read_case. + + * sys-file-reader.c: (sfm_open_reader) Only mark has_vls if we + have very long strings, not when we have long variable names, + which is an unrelated feature. + +Tue Jun 27 12:06:49 2006 Ben Pfaff + + * variable.h: Move var_set and variable parsing declarations to + new header, src/language/lexer/variable-parser.h. Modified lots + of files to include the new header. + +Sun Jun 25 22:39:32 2006 Ben Pfaff + + * value-labels.c (value_to_string): When there's no value label, + format the variable according to its print format, instead of + always effectively using A or F format. + +Mon Jun 19 18:05:42 WST 2006 John Darrington + + * casefile.c (casefile_get_random_reader): Nasty hack to get around + the mode assertion. + + * format.c: Removed tortological assertion. + +Fri Jun 9 12:20:09 2006 Ben Pfaff + + Reform string library. + + * file-name.c (fn_interp_vars): Change interface to take a + substring as input. Updated all users. + +Fri Jun 9 12:11:24 2006 Ben Pfaff + + * format.c (measure_is_valid): Really return false when m >= + n_MEASURES. + +Tue Jun 6 18:46:26 2006 Ben Pfaff + + Implement random access to casefiles, for use in GUI. + + * casefile.c: (struct casereader) Add `random', `file_ofs', + `buffer_ofs' members. + (casefile_get_random_reader) New function. + (read_open_file) Break part into new function + seek_and_fill_buffer(). + (fill_buffer) Update buffer_ofs, file_ofs. + (casereader_seek) New function. + +Tue May 30 19:52:33 WST 2006 John Darrington + + * settings.c: Added call to i18n{done, init}. + +Tue May 9 21:09:17 2006 Ben Pfaff + + * procedure.h: Add WARN_UNUSED_RESULT to procedure function + prototypes. + +Tue May 9 21:08:05 2006 Ben Pfaff + + * casefile.c: Convert many uses of `int' to `bool'. + +Sat May 6 22:49:43 2006 Ben Pfaff + + * transformations.c (trns_chain_destroy): Destroy chain's trns + member, to fix memory leak. + +Sat May 6 22:48:30 2006 Ben Pfaff + + * storage-stream.c (storage_source_decapsulate): Destroy case + source to fix memory leak. + +Sat May 6 22:46:47 2006 Ben Pfaff + + * scratch-reader.c (scratch_reader_read_case): Copy into existing + case passed as argument instead of initializing the argument as a + case. Fixes memory leak that showed up in + tests/command/aggregate.sh with scratch files. + +Sat May 6 22:45:55 2006 Ben Pfaff + + * procedure.c (proc_done): Destroy default_dict, to fix memory + leak. + +Sat May 6 22:44:44 2006 Ben Pfaff + + Simplify procedure_with_splits(). + + * procedure.c (struct split_aux_data): Removed case_count member. + (procedure_with_splits) Don't initialize case_count. + (split_procedure_case_func) Check whether prev_case is null + instead of case_count. + (split_procedure_end_func) Ditto. + +Sat May 6 22:42:23 2006 Ben Pfaff + + * case.c (case_move): Do nothing if dst and src are the same + object. + (case_try_create) Merge two similar cases. + (case_copy) Unshare only if data must be actually copied. + +Sun May 7 10:04:06 WST 2006 John Darrington + + * data-in.c data-out.c dictionary.c sys-file-reader.c + sys-file-writer.c variable.c variable.h: Reworked very long string + support for better encapsulation. + +Sat May 6 19:02:00 2006 Ben Pfaff + + * value-labels.c (val_labs_can_set_width): New function. + (val_labs_set_width) Clear labels if increasing width to long + string. + (val_labs_destroy) Remove unneeded test for null. + +Sat May 6 16:14:08 2006 Ben Pfaff + + * value-labels.h: Remove unneeded dependency on variable.h. + +Sat May 6 15:58:36 2006 Ben Pfaff + + Get rid of `char *c' member in union value, for cleanliness. + + * value.h: (union value) Remove `c' member. + +Sat May 6 15:36:59 2006 Ben Pfaff + + Make dictionary compacting functions a little more general. + + * sys-file-writer.c (sfm_open_writer): Use + dict_compacting_would_change(). + (does_dict_need_translation) Removed. + +Sat May 6 15:35:42 2006 Ben Pfaff + + Make dictionary compacting functions a little more general. + + * dictionary.c (dict_needs_compaction): Rename + dict_compacting_would_shrink(). Update all callers. + (dict_compacting_would_change) New function. + +Sat May 6 14:25:49 2006 Ben Pfaff + + * sys-file-writer.c: (does_dict_need_translation) Fix bug: + inverted return value (!). + +Sat May 6 13:37:52 2006 Ben Pfaff + + Continue reforming procedure execution. + + * procedure.c: Search and replace "vfm" by "proc". Notably: + (static var vfm_source) Rename proc_source. Update all + references. + (static var vfm_sink) Rename proc_sink. Update all references. + +Sat May 6 12:38:55 2006 Ben Pfaff + + Continue reforming procedure execution. In this phase, remove + PROCESS IF, which was deprecated anyway and can be easily + simulated with TEMPORARY followed by SELECT IF. + + * procedure.c: (open_active_file) Don't call + add_process_if_trns(). + (discard_variables) Get rid of redundant call to + proc_cancel_all_transformations(). + (add_process_if_trns) Removed. + (process_if_trns_proc) Removed. + (process_if_trns_free) Removed. + +Sat May 6 10:58:05 2006 Ben Pfaff + + Continue reforming procedure execution. In this phase, add + `const' to the case passed to procedure()'s callback. + + Updated all users of procedure() as well. + + * procedure.c: (struct write_case_data) Add "const" to ccase + parameter for case_func member. + (procedure) Add "const" to ccase parameter for proc_func + parameter. + (multipass_case_func) Make ccase parameter const. + (internal_procedure) Add "const" to ccase parameter for case_func + parameter. + (split_procedure_case_func) Make ccase parameter const. + (multipass_split_case_func) Make ccase parameter const. + +Sat May 6 10:30:33 2006 Ben Pfaff + + Continue reforming procedure execution. In this phase, get rid of + the output code for SPLIT FILE groups in procedure.c, which really + shouldn't be doing any output. Move it into the individual + procedures instead. This also adds some flexibility. + + Updated many users of procedure_with_splits() and + multipass_procedure_with_splits() to call + output_split_file_values() and to deal with increased use of + const. + + * procedure.c: (struct split_aux_data) Add "const struct ccase *" + parameter to begin_func member. + (procedure_with_splits) Add "const struct ccase *" parameter to + begin_func parameter. Make ccase parameter const in proc_func + parameter. + (split_procedure_case_func) Don't dump split file group. Pass + case to begin_func. + (dump_splits) Moved to language/dictionary/split-file.c as + output_split_file_values(). + (struct multipass_split_aux_data) Add "const struct ccase *" + parameter to split_func member. + (multipass_procedure_with_splits) Add "const struct ccase *" + parameter to split_func parameter. + (multipass_split_case_func) Save new SPLIT FILE case before + outputting case. + (multipass_split_output) Pass saved SPLIT FILE case to split_func. + +Fri May 5 22:48:50 2006 Ben Pfaff + + Continue reforming procedure execution. Change + internal_procedure() so that it calls open_active_file() and + close_active_file(), which isolates most of the actual procedure + functionality. + + * procedure.c: (struct write_case_data) Rename `proc_func' member + to `case_func' and update all references. + (procedure) Rewrite as one-line wrapper around + internal_procedure(). + (struct multipass_aux_data) New. + (multipass_callback) Renamed multipass_case_func(). Use struct + multipass_aux_data as auxiliary data. + (multipass_end_func) New function. + (multipass_procedure) Rewrite as wrapper for internal_procedure() + that uses multipass_case_func, multipass_end_func. + (internal_procedure) Add `end_func' argument. Move optimization + of trivial case in here. Move call to open_active_file() and + close_active_file() in here. Now assert that vfm_source is + non-null. + (procedure_with_splits_callback) Rename + split_procedure_case_func(). + (split_procedure_end_func) New function. + (multipass_split_callback) Rename multipass_split_case_func. + (multipass_split_end_func) New function. + (discard_variables) No need to test for nonnull vfm_source. + +Fri May 5 21:34:02 2006 Ben Pfaff + + Continue reforming procedure execution. Get rid of unused member. + + * procedure.c: (struct write_case_data) Remove `cases_analyzed' + member. + (write_case) Don't increment cases_analyzed. + +Thu May 4 21:50:11 2006 Ben Pfaff + + Continue reforming procedure execution. In this phase, move + procedure.c and procedure.h from src to src/data. Update + makefiles and #includes accordingly. + + * procedure.c: Moved here from src/. + + * procedure.h: Moved here from src/. + +Wed May 3 22:42:12 2006 Ben Pfaff + + Continue reforming procedure execution. In this phase, get rid of + many global variables, consolidating procedure execution in + procedure.c. Encapsulate transformations in new "struct + trns_chain". Also, change implementation of N OF CASES, FILTER, + and PROCESS IF from special cases to transformations. + + * automake.mk: (src_data_libdata_a_SOURCES) Add transformations.c, + transformations.h. + + * dictionary.c: (global variable default_dict) Move to + src/procedure.c. + + * variable.h: (TRNS_*) Move to transformations.h. + (struct transformation) Move to transformations.c. + +Thu May 4 13:47:06 WST 2006 John Darrington + + * sys-file-reader.c: Fixed invalid read problems. + +Tue May 2 15:57:10 2006 Ben Pfaff + + * storage-stream.c: Add missing function comments. + +Tue May 2 15:50:21 2006 Ben Pfaff + + Continue reforming procedure execution. In this phase, add some + new, needed functionality to storage-stream. + + * storage-stream.c: (storage_source_decapsulate) New function. + +Tue May 2 15:43:36 2006 Ben Pfaff + + * variable.c (width_to_bytes): Declarations must precede + statements for C90 compliance. + +Tue May 2 10:42:05 WST 2006 John Darrington + + * data-out.c, data-in.c, variable.c, variable.h: New functions + copy_mangle and copy_demangle for reading/writing cases; emulates the + way SPSS deals with strings > 255 bytes. + + * sys-file-reader.c sys-file-writer.c: Added support for Record 7, + subtype 14 needed for strings longer than 255 bytes. + + * dictionary.c, format.def, value.c : Updated to use MAX_STRING + instead of literal values. Also fixed some constness issues. + + * format.h: Constness + + * sfm-private.h: Renamed the case_size identifier, since I discovered + that SPSS's respect for this variable is very nominal. + +Mon May 1 15:45:42 2006 Ben Pfaff + + Change case limit type from int to size_t. + + * dictionary.c: (struct dictionary) Change type of case_limit + member. + (dict_get_case_limit) Change return type. + (dict_set_case_limit) Change parameter type. + Wed Apr 26 20:01:19 2006 Ben Pfaff * variable.h: (struct variable) Rename `reinit' member as `leave'