Add casereaders and casewriters, the basis of the new data processing
[pspp-builds.git] / src / data / ChangeLog
index 1c616aebbb4c90016df34c41834bf01379c03b6f..54a53a4d022397d1a53c0496a00e07e927f5f22d 100644 (file)
@@ -1,3 +1,151 @@
+2007-06-06  Ben Pfaff  <blp@gnu.org>
+
+       Add casereaders and casewriters, the basis of the new data processing
+       implementation.  A casereader is a uniform interface to reading cases
+       from a data source; a casewriter is a uniform interface to writing
+       cases to a data sink.
+
+       * automake.mk: Add new files.
+       
+       * casereader-filter.c: New file.
+       
+       * casereader-provider.h: New file.
+
+       * casereader-translator.c: New file.
+       
+       * casereader.c: New file.
+       
+       * casereader.h: New file.
+       
+       * casewriter-provider.h: New file.
+       
+       * casewriter-translator.c: New file.
+       
+       * casewriter.c: New file.
+       
+       * casewriter.h: New file.
+
+2007-06-06  Ben Pfaff  <blp@gnu.org>
+
+       "casewindow" data structure that extends the deque (from libpspp)
+       of cases with the ability to dump cases to disk if we get too many
+       of them in memory.
+
+       * automake.mk: Add new files.
+
+       * casewindow.c: New file.
+
+       * casewindow.h: New file.
+
+2007-06-06  Ben Pfaff  <blp@gnu.org>
+
+       sparse_cases data structure that augments a sparse_array of cases
+       with the ability to dump cases to disk if we get too many cases in
+       memory.
+
+       * automake.mk: Add new files.
+
+       * sparse-cases.c: New file.
+
+       * sparse-cases.h: New file.
+
+2007-06-06  Ben Pfaff  <blp@gnu.org>
+
+       Adds a low-level on-disk case array data structure.
+       
+       * automake.mk: Add new files.
+
+       * case-tmpfile.c: New file.
+
+       * case-tmpfile.h: New file.
+
+2007-06-06  Ben Pfaff  <blp@gnu.org>
+
+       In a couple of places we calculate the maximum number of cases to
+       keep in memory based on the user-defined workspace.  Enable
+       centralizing the calculation through a new function.
+       
+       * settings.c (get_workspace_cases): New function.
+
+2007-06-06  Ben Pfaff  <blp@gnu.org>
+
+       The casenumber type is defined in transformations.h, but case.h is
+       a more sensible place.  Move it.
+
+       * case.h (CASENUMBER_MAX): New macro.
+       (typedef casenumber): Move here, from transformations.h.
+
+2007-06-03  Ben Pfaff  <blp@gnu.org>
+
+       Slightly generalize case_to_values and case_from_values functions.
+
+       * case.c (case_to_values): Rename case_copy_out, change interface.
+       (case_from_values): Rename case_copy_in, change interface.
+
+       * fastfile.c (fastfilereader_get_next_case): Update caller.
+       (write_case_to_disk): Ditto.
+
+2007-06-02  Ben Pfaff  <blp@gnu.org>
+
+       Clean up after a forgotten part of patch #5829.
+       
+       * casedeque.h: Remove unused file.
+
+       * automake.mk: Remove casedeque.h from sources.
+
+2007-05-10  Jason Stover  <jhs@math.gcsu.edu>
+
+       * category.c: Removed redundant #include
+
+2007-05-06  Ben Pfaff  <blp@gnu.org>
+
+       Abstract the documents within a dictionary a little better.
+       Thanks to John Darrington for suggestion, initial version, and
+       review.  Patch #5917.
+
+       * dictionary.c (struct dictionary): Change `documents' member from
+       char * to struct string.
+       (dict_clear): Destroy struct string.
+       (dict_get_documents): Convert struct string to char *.
+       (dict_set_documents): Set struct string.  Pad to 80-character
+       multiple.
+       (dict_clear_documents): New function.
+       (dict_add_document_line): New function.
+       (dict_get_document_line_cnt): New function.
+       (dict_get_document_line): New function.
+
+       * dictionary.h (macro DOC_LINE_LENGTH): New macro.
+
+       * sys-file-reader.c (read_documents): Use new document functions.
+
+2007-04-19 John Darrington <john@darrington.wattle.id.au>
+
+       * sys-file-reader.c: When reading a system file which has no 
+       long name table, automatically create one where the long names 
+       are the lower case versions of the short names.
+       
+2007-04-22  Ben Pfaff  <blp@gnu.org>
+
+       * dictionary.c (dict_set_split_vars): dict_destroy expects that
+       dict_clear will free most data related to the dictionary.
+       dict_clear does a decent job, except that dict_set_split_vars on
+       some systems won't actually free the dict's "split" member.
+       Instead, it'll allocate a 1-byte region.  Fix this.
+
+       * value.c (value_copy): New function.
+       (value_set_missing): Ditto.
+
+2007-04-22 John Darrington <john@darrington.wattle.id.au>
+
+       * Deleted existing category.h and moved cat-routines.h into 
+       category.h  Encapsulated struct cat_vals better.
+
+2007-04-19 John Darrington <john@darrington.wattle.id.au>
+
+       * sys-file-reader.c: When reading a system file which has no 
+       long name table, automatically create one where the long names 
+       are the lower case versions of the short names.
+       
 2007-04-16 John Darrington <john@darrington.wattle.id.au>
 
        * sys-file-reader.c: Some versions of Other Software seem to