Diff for /parser3/ChangeLog between versions 1.194 and 1.204

version 1.194, 2024/08/26 02:05:14 version 1.204, 2024/11/04 02:05:13
Line 1 Line 1
   2024-10-28  moko
   
           * src/classes/array.C: avoid invalidate()
   
           * src/: classes/array.C, types/pa_varray.h: minor optimization for
             fused to survive in ^array::copy[$a] (related to feature #930)
   
           * src/types/pa_varray.h: minor optimization as last element is
             allways defined if present
   
           * tests/: 435.html, results/435.processed: tests for
             ^hash.set[first|last;value], ^hash.set([-+]index)[value] and same
             for array added (related to feature #1253)
   
           * src/classes/array.C: typo fixed
   
           * src/classes/: array.C, hash.C: ^hash.set[first|last;value] +
             ^hash.set([-+]index)[value], and same for array added (implements
             feature #1253)
   
           * tests/results/: 246.processed, 298.processed, 342.processed,
             389.processed, 397.processed, 430.processed, 432.processed: tests
             results update after minor exceptions texts fixes
   
   2024-10-27  moko
   
           * src/: classes/array.C, classes/hash.C, classes/math.C,
             classes/reflection.C, classes/string.C, classes/table.C,
             main/pa_string.C, types/pa_varray.h, types/pa_vfile.C,
             types/pa_vmethod_frame.h: handy as_index() added, several
             exceptions texts fixed (related to feature #930)
   
           * src/: classes/array.C, types/pa_varray.h: non-working
             $array.fields removed, ^array.delete[index] supported (related to
             feature #930)
   
           * tests/: 431.html, results/431.processed: tests updated after
             ^a.delete[3] supported
   
           * tests/: 431.html, 434.html, results/434.processed: tests for last
             element used, push/pop, exceptions during arguments processing
             and used caching (related to feature #930)
   
           * src/: classes/array.C, types/pa_varray.h: change_used added for
             better used caching and now no issues if exception occures during
             append arguments processing (related to feature #930)
   
           * src/: classes/array.C, types/pa_varray.h: ^array.push[] /
             ^array.pop[] added, last element is allways used (related to
             feature #930)
   
   2024-10-26  moko
   
           * src/: classes/array.C, include/pa_array.h, types/pa_varray.C,
             types/pa_varray.h: confirm_all_used added where possible (related
             to feature #930)
   
           * src/: classes/array.C, include/pa_array.h, types/pa_varray.h:
             small array optimizations (related to feature #930)
   
           * src/types/pa_varray.h: DEBUG_ARRAY_USED added to simplify testing
   
           * tests/: 431.html, results/431.processed: test for
             ^array.compact[undef] added
   
           * src/classes/array.C: ^array.compact[] now have optional 'undef'
             argument to also compact undefined elements (related to feature
             #930)
   
   2024-10-24  moko
   
           * src/: classes/array.C, types/pa_varray.C, types/pa_varray.h:
             VArray::hash is used rarery, no longer caching the result
   
           * tests/results/432.processed: testing removed from tests
   
   2024-10-23  moko
   
           * tests/: 431.html, results/431.processed: ^array.compact[] test
             added
   
           * src/: classes/array.C, types/pa_varray.h: ^array.compact[] added
   
           * tests/: 432.html, results/432.processed: testing ^array.at[] for
             both "solid" and "sparse" arrays
   
           * src/classes/array.C: ^array.at[] speedup for "solid" arrays
   
   2024-10-22  moko
   
           * tests/results/264.processed: spelling
   
           * src/classes/file.C: spelling
   
           * tests/: 264.html, cat-windows.sh, cat.sh, results/264.processed:
             tests updated after ^file::exec[cmd;;$array] implemented and
             empty arguments not skipped (related to feature #1252)
   
           * src/classes/file.C: ^file::exec[cmd;;$array] supported
             (implements feature #1252) bugfix: empty arguments no longer
             skipped
   
   2024-10-20  moko
   
           * src/classes/string.C: warnings war
   
           * src/: main/pa_string.C, classes/array.C: warnings war
   
           * src/classes/json.C: warnings war
   
           * src/classes/image.C: warnings war
   
           * src/: classes/table.C, types/pa_varray.C: warnings war
   
           * src/classes/array.C: warning war
   
           * src/: classes/classes.vcproj, types/types.vcproj: vcproj: +=array
   
           * src/main/main.vcproj: warnings war
   
   2024-10-19  moko
   
           * tests/427.html: test updated after constructors renamed
   
   2024-10-18  moko
   
           * tests/: 421.html, 430.html, 431.html, 432.html, 433.html,
             results/421.processed, results/430.processed,
             results/431.processed: test updated after constructors renamed
   
           * src/classes/array.C: create -> copy, new -> create according to
             https://www.parser.ru/forum/?id=86603 discussion (related to
             feature #930)
   
   2024-10-16  moko
   
           * src/classes/json.C: $json:array[array or hash] added to provide
             more backward compatibility (implements feature #1251)
   
   2024-10-15  moko
   
           * tests/: 421.html, results/421.processed: test results updated
             after missing constuctor error check added and array is_index
             check added
   
           * src/main/execute.C: absent constructor message fixed
   
   2024-10-13  moko
   
           * src/types/pa_varray.h: ^array.$i[arg] is rare, thus checking i
             with is_index() before calling index() for better error reporting
             in method name typo (was invalid number, not method not found
             exception).
   
   2024-10-08  moko
   
           * src/types/pa_varray.C: Visual Studio compatibilty issues fixed
   
           * src/include/pa_array.h: warnings war
   
   2024-10-05  moko
   
           * src/classes/table.C: ^table.cells[] / ^table.cells(limit) added,
             returns current row cells array (implements feature #1250)
   
           * tests/: 405.html, results/169.processed, results/405.processed:
             tests updated after ^string.split[;a] implemented (related to
             feature #1249)
   
           * src/classes/string.C: ^string.split[] - 'a' option added for
             splitting into an array (implements feature #1249)
   
   2024-10-04  moko
   
           * tests/: 431.html, results/431.processed: final code coverage
             array tests
   
           * src/: classes/array.C, include/pa_array.h, types/pa_varray.h:
             array: confirm_all_used() added and used where possible, expand()
             now expends faster
   
   2024-10-03  moko
   
           * tests/: 357.html, results/auto.p: max_recoursion -> max_recursion
   
           * tests/: 256.html, results/256.processed: test for
             $.date[unix-timestamp] handling large dates
   
           * src/: classes/file.C, classes/op.C, classes/reflection.C,
             classes/string.C, classes/table.C, include/pa_common.h,
             main/pa_common.C, main/pa_http.C, main/pa_request.C,
             types/pa_vdate.C, types/pa_vmethod_frame.h, types/pa_vtable.C:
             format replaced with pa_uitoa where applicable,
             $.date[unix-timestamp] fixed for handling large dates
   
           * tests/: 433.html, results/433.processed: more tests, including
             test for possible endless recursion in ^o.GET[]
   
           * src/types/pa_vobject.C: bugfix: detecting possible endless
             recursion in get_scalar_value inside ^o.GET[]
   
           * src/: classes/json.C, include/pa_request.h, main/execute.C,
             main/pa_request.C, types/pa_value.h, types/pa_vmethod_frame.C:
             Temp_recursion class added; spelling: $LIMITS.max_recoursion ->
             $LIMITS.max_recursion
   
   2024-10-02  moko
   
           * tests/: 253.html, 287.html, 430.html, 431.html, 433.html,
             results/253.processed, results/287.processed,
             results/430.processed, results/433.processed: more tests for full
             array and json code coverage
   
           * tests/: 433.html, results/433.processed: tests for hash functions
             with array param
   
           * src/classes/: array.C, hash.C: ^hash::create[$array] optimized
   
           * tests/: 432.html, results/432.processed: modified ^hash.at tests
             in 246.html used to test ^array.at, same result produced
   
           * tests/: 430.html, 431.html, results/430.processed,
             results/431.processed: more array tests for 100% code coverage
             (related to feature #930)
   
           * tests/: 427.html, 430.html, results/427.processed,
             results/430.processed: first portion of array tests added
             (related to feature #930)
   
           * src/classes/array.C: allow only whitespace string as argument for
             add and join
   
           * src/classes/array.C: add behavour for array synced with hash
   
   2024-09-30  moko
   
           * tests/: 429-sql.html, results/429-sql.processed: code coverage
             tests added
   
           * src/classes/array.C: $.distinct should not be used unless
             $.sparse(true)
   
           * tests/: 429-sql.html, results/388-sql.processed,
             results/429-sql.processed: tests for ^array::sql{}, including
             multi_statements mode (related to feature #930)
   
   2024-09-29  moko
   
           * src/classes/array.C: synced ^array::sql multi_statements logic
             with ^hash::sql new behavour
   
   2024-09-28  moko
   
           * tests/: 428-sql.html, results/388-sql.processed,
             results/428-sql.processed: tests updated after column names were
             fixed in multi_statements mode (related to feature #1197)
   
           * src/classes/hash.C: column names are fixed for most cases in
             multi_statements mode (related to feature #1197)
   
           * tests/: 428-sql.html, results/195.processed,
             results/224.processed, results/239.processed,
             results/254.processed, results/261.processed,
             results/306.processed, results/333.processed,
             results/341.processed, results/343.processed,
             results/344.processed, results/348.processed,
             results/364.processed, results/389.processed,
             results/390.processed, results/415.processed,
             results/420.processed, results/421.processed: tests results
             updated after error messages spelling minor fixes
   
           * src/types/: pa_value.h, pa_vstateless_class.h: a bit more
             spelling
   
           * src/: classes/curl.C, classes/file.C, classes/hash.C,
             classes/image.C, classes/math.C, classes/string.C,
             classes/table.C, lib/memcached/pa_memcached.C, main/compile.y,
             main/execute.C, main/pa_charset.C, main/pa_common.C,
             main/pa_http.C, main/pa_request.C, main/pa_socks.C,
             main/pa_sql_driver_manager.C, types/pa_value.C, types/pa_value.h,
             types/pa_vmail.C, types/pa_vobject.C,
             types/pa_vstateless_class.C, types/pa_vstateless_class.h,
             types/pa_vxdoc.C: minor error messages spelling fixes
   
           * src/: classes/array.C, types/pa_varray.h: initial ^array::sql{}
             implementation (related to feature #930)
   
           * tests/: 388-sql.html, results/388-sql.processed: test results
             updated after rows number ^file::sql{} check added
   
           * src/classes/file.C: rows number now checked in ^file::sql{}
   
           * tests/: 428-sql.html, results/428-sql.processed: more tests
   
           * tests/: 428-sql.html, results/428-sql.processed: more
             multi_statements testing before bugfix
   
           * tests/: 388-sql.html, 428-sql.html, results/388-sql.processed,
             results/428-sql.processed: support for multiple sql test files
             added
   
           * tests/: 388-sql.html, results/388-sql.processed: more sql testing
   
           * src/classes/hash.C: more accurate one_bool_column processing
   
           * tests/: 427.html, results/427.processed: Constructors as methods
             behavour documented in test
   
           * src/classes/hash.C: HashStringValue::Iterator used for options
   
           * tests/: 388-sql.html, results/388-sql.processed: even more tests
   
           * tests/: 388-sql.html, results/388-sql.processed: a bit more
             testing
   
           * tests/results/367-curl.processed: test result updated after
             server charset changed
   
           * tests/results/347-curl.processed: error messages updated
   
           * tests/results/: 346-curl.processed, 379-curl.processed,
             394-curl.processed: tests results updated after Type -> Exception
             type replacement
   
           * tests/results/388-sql.processed: tests result updated after Type
             -> Exception type
   
   2024-09-27  moko
   
           * src/classes/hash.C: minor simplification
   
   2024-09-24  moko
   
           * src/main/pa_string.C: atoui error messages improved
   
           * tests/: 165.html, 312.html, results/165.processed,
             results/312.processed, results/379.processed: tests updated after
             default endless loop limit increased, atoi error messages
             improved
   
           * src/classes/hash.C: VBool::get used, unification
   
   2024-09-22  moko
   
           * src/classes/array.C: minor simplification
   
           * src/classes/array.C: ^array.left(N),
             ^array.right(N),^array.mid(P;N) added (related to feature #930)
   
           * src/: classes/array.C, include/pa_request.h, main/pa_request.C,
             types/pa_varray.C, types/pa_varray.h: $MAIN:LIMITS.max_array_size
             added, default 1000000 (related to feature #930)
   
           * tests/: 426.html, results/426.processed: test for negative limit
             and offset processing for table options added
   
           * src/: classes/table.C, include/pa_array.h, main/pa_table.C:
             bugfix: negative limit and offset processing for table options
             fixed
   
   2024-09-21  moko
   
           * src/: classes/array.C, types/pa_varray.h: join supports hash;
             ^for added that also iterates holes; ^remove added (related to
             feature #930)
   
           * src/classes/array.C: ^array.join[$another_array; $.limit(N)
             $.offset(M) ] added (related to feature #930)
   
   2024-09-20  moko
   
           * src/: classes/array.C, types/pa_varray.h: array:
             +foreach[value]{code}, + add[hash with numeric keys] (related to
             feature #930)
   
   2024-09-19  moko
   
           * src/: include/pa_opcode.h, main/compile.y, main/compile_tools.h,
             main/execute.C, types/pa_varray.h: OP_CONSTRUCT_ARRAY added to
             support $a[v1;v2;...] syntax (related to feature #930)
   
   2024-09-17  moko
   
           * src/: classes/reflection.C, include/pa_request.h,
             main/compile_tools.h, main/pa_request.C:
             ^reflection:class_alias[existing class name;alias class name]
             added. The array class can now be redefined regardless of the
             $.replace(bool) option value (related to feature #930)
   
           * src/main/: compile.y, compile_tools.h: class_add return value
             inverted to add it to request class
   
           * src/: classes/array.C, include/pa_array.h, include/pa_request.h,
             include/pa_stack.h, types/pa_varray.C, types/pa_varray.h,
             types/pa_vmethod_frame.h: array: fused -> fsize, fit(index) to
             resize if required. spared array - added fused, append.
   
   2024-09-16  moko
   
           * src/types/pa_varray.h: get moved to where it belongs
   
   2024-09-15  moko
   
           * src/: include/pa_array.h, types/pa_varray.h: more agressive
             expansion to minimize reallocs: fallocated/32 -> fallocated/4
   
           * tests/: 421.html, results/323.processed, results/421.processed:
             tests updated after 'spared-array' class renamed to 'array'
             following a discussion on the forum (related to feature #930)
   
           * src/: include/pa_array.h, types/pa_value.h, types/pa_varray.h,
             types/pa_vmail.C: initial SparseArray separation from Array,
             parser class now 'array'
   
   2024-09-14  moko
   
           * tests/: 030.html, results/030.processed: out of range expires
             check added
   
           * src/types/pa_vcookie.C: VDate range is narrower than gmtime, thus
             checking expires time using VDate
   
   2024-09-13  moko
   
           * src/: classes/array.C, classes/curl.C, classes/date.C,
             classes/file.C, classes/hash.C, classes/image.C, classes/json.C,
             classes/memcached.C, classes/op.C, classes/regex.C,
             classes/string.C, classes/xdoc.C, classes/xnode.C,
             main/execute.C, main/pa_http.C, main/pa_request.C,
             types/pa_value.C, types/pa_value.h, types/pa_vclass.C,
             types/pa_vclass.h, types/pa_vcookie.C, types/pa_vhashfile.C,
             types/pa_vmail.C, types/pa_vobject.C, types/pa_vobject.h,
             types/pa_vxdoc.C, types/pa_vxdoc.h: optimization: Value::as()
             removed as dynamic_cast is faster, Value::is() is still required
             for is operator.
   
   2024-09-12  moko
   
           * src/: classes/file.C, classes/image.C, classes/reflection.C,
             classes/table.C, classes/xnode.C, include/pa_array.h,
             include/pa_string.h, main/pa_common.C, main/pa_request.C,
             main/pa_string.C, targets/cgi/pa_sapi_info.h, types/pa_vform.C,
             types/pa_vhash.h, types/pa_vtable.C, types/pa_vxnode.C: faster
             templated pa_itoa/pa_uitoa added to work with any integer type,
             String::Body::Format removed
   
   2024-09-10  moko
   
           * src/classes/array.C: append and insert methods added to
             sparse-array (related to feature #930)
   
           * tests/: 253.html, 255.html, 421.html, results/421.processed:
             tests updated after sparse-array was added to avoid ^json:parse[]
             using it in old tests (related to feature #930)
   
           * src/: classes/array.C, classes/json.C, types/pa_varray.C,
             types/pa_varray.h: sparse-array class added (initial feature #930
             implementation)
   
           * src/: classes/Makefile.am, types/Makefile.am: Makefiles update
             for sparse-array class files (related to feature #930)
   
           * src/: classes/json.C, include/pa_array.h, types/pa_value.h,
             types/pa_vhash.h: VArray support functions without actual VArray
             files (related to feature #930)
   
   2024-09-07  moko
   
           * src/: classes/curl.C, classes/string.C, classes/table.C,
             include/pa_array.h, main/execute.C, main/pa_dictionary.C,
             main/pa_http.C, main/pa_sql_driver_manager.C,
             main/pa_stylesheet_manager.C, main/pa_table.C, types/pa_vclass.C,
             types/pa_vmethod_frame.C, types/pa_vstateless_class.C,
             types/pa_vtable.C, types/pa_wcontext.C: Array::Iterator unified
             with Hash::Iterator, has_next() replaced with operator bool
             (related to feature #930)
   
           * src/: classes/string.C, include/pa_array.h, main/pa_http.C,
             main/pa_table.C, types/pa_vclass.C, types/pa_vmethod_frame.C,
             types/pa_vstateless_class.C: Array class extended,
             Array::Iterator added and used (related to feature #930)
   
   2024-08-26  moko
   
           * src/targets/cgi/parser3.C: under Windows back_slashes_to_slashes
             should be used on argv[0] as well to match document root.
   
 2024-08-25  moko  2024-08-25  moko
   
         * src/main/pa_request.C: be more specific          * src/main/pa_request.C: be more specific

Removed from v.1.194  
changed lines
  Added in v.1.204


E-mail: