Added abstract factory to create casefiles. Updated procedures to use
[pspp-builds.git] / src / data / ChangeLog
index dacd90ac39fc5028e84f4f19df396df53e1f5b40..352b063e4516d66befd4816d276203b92ae6c917 100644 (file)
@@ -1,3 +1,70 @@
+Fri Dec 22 20:08:38 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * casefile-factory.h fastfile-factory.c fastfile-factory.h: New files.
+
+       * case-sink.c case-sink.h procedure.c procedure.h 
+          storage-stream.c: Now uses the factory.
+       
+Sat Dec 16 22:05:18 2006  Ben Pfaff  <blp@gnu.org>
+
+       Make it possible to pull cases from the active file with a
+       function call, instead of requiring indirection through a callback
+       function.
+
+       * case-source.h (struct case_source_class): Change ->read function
+       to return a single case, instead of calling a callback function
+       for each case.  Change ->destroy function to return an error
+       status.
+
+       * case-source.c (free_case_source): Pass along the value returned
+       by the case_source ->destroy function.
+
+       * procedure.c (struct write_case_data): Removed.
+       (struct dataset): Added some members to track procedure state.
+       (procedure): Optimize the trivial case at this level.
+       (internal_procedure): Re-implement in terms of proc_open,
+       proc_read, proc_close.
+       (proc_open) New function.
+       (proc_read) New function.
+       (proc_close) New function.
+       (write_case) Moved into proc_read.
+       (close_active_file) Moved closing of data source into proc_close.
+
+       * storage-source.c: Rewrote to conform with modified
+       case_source_class interface.
+
+       * transformations.c (trns_chain_execute): Added argument to allow
+       starting execution from an arbitrary transformation.  Updated
+       callers.
+
+       * transformations.h (enum TRNS_NEXT_CASE) Renamed TRNS_END_CASE.
+
+Sat Dec 16 14:09:25 2006  Ben Pfaff  <blp@gnu.org>
+
+       * sys-file-reader.c (read_display_parameters): Don't assume that
+       MEASURE_* and ALIGN_* have the same values found in system files.
+
+       * sys-file-writer.c (write_variable_display_parameters): Ditto.
+
+       * variable.h: Change MEASURE_NOMINAL, MEASURE_ORDINAL,
+       MEASURE_SCALE to be 0-based instead of 1-based.  This also fixes
+       the value of n_MEASURES, which was off by 1 (at least from my
+       point of view).
+
+Sat Dec 16 12:17:34 WST 2006 John Darrington <john@darrington.wattle.id.au>
+
+       * dictionary.c dictionary.h vardict.h variable.c: Added optional
+               callbacks which are invoked when the dictionary or its 
+               variables are changed.  
+       
+       * missing-values.c missing-values.h value-labels.c: Tidied up
+               consistency checks, and made some of them return false 
+               instead of assert-failing. 
+
+Wed Dec 13 19:30:11 2006  Ben Pfaff  <blp@gnu.org>
+
+       * calendar.c (calendar_days_in_month): New function.
+
 Mon Dec 11 07:53:39 2006  Ben Pfaff  <blp@gnu.org>
 
        * value-labels.c (hash_int_val_lab): Only hash as many bytes as