Fix bug #20910.
authorBen Pfaff <blp@gnu.org>
Wed, 19 Sep 2007 04:28:59 +0000 (04:28 +0000)
committerBen Pfaff <blp@gnu.org>
Wed, 19 Sep 2007 04:28:59 +0000 (04:28 +0000)
* helper.c (create_casereader_from_data_store): New function.
(execute_syntax): Only replace the active file data by a new
casereader if syntax caused the active file to be read, to avoid
exponential slowdown as an increasing number of snippets that do
not read from the active file are consecutively executed.  Bug
#20910.  Reviewed by and heavily influenced by John Darrington.

* psppire-data-store.c (psppire_data_store_get_value_count): New
function.

* psppire-dict.c (psppire_dict_get_value_cnt): New function.

* procedure.c (proc_extract_active_file_data): New function.

* lazy-casereader.h: New file.

* lazy-casereader.c: New file.

* casereader.c (casereader_dynamic_cast): New function.


No differences found