Checkout Tools
  • last updated 2 hours ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 1341183 is being indexed.

Make wc-queries-test failures much easier to diagnose by extending the sqlite

transform script a bit. Store names and some optional value during .sql

parsing and make that information available in the test.

* build/

(Processor): Extend regex to capture flags.

(_sub_statement): Generate extra macro.

(main): Generate a DECLARE_STATEMENT_INFO macro.

* subversion/tests/libsvn_wc/wc-queries-test.c

(wc_query_info): New static variable.


test_query_expectations): Extend error messages with statement name.

  1. … 1 more file in changeset.
Following up on r1341130, fix the bug that the code only parsed the statements

until the first statement that contained multiple queries.

Record current 'slow' queries, based on Sqlite 3.7.12 results.

* subversion/tests/libsvn_wc/wc-queries-test.c

(slow_statements): Add a lot of statements.

(parse_explanation_item): Detect 'USE' operation.

(test_query_expectations): Continue instead of break on parse errors and

multi-statements. Check for primary key usage first and allow 'slow'

suppression for all checks.

Fix integer size mismatch.

* subversion/tests/libsvn_wc/wc-queries-test.c

(parse_explanation_item): Use size_t for the result of strlen().

* subversion/tests/libsvn_wc/wc-queries-test.c

(test_query_expectations): Use a different method to detect

SQLITE_OMIT_EXPLAIN compilation option of Sqlite.

Add some simple query plan evaluation test in the wc-queries-test. This

test passes for Sqlite 3.7.12, but might (and probably will) fail for

older Sqlite versions that lack specific optimizations.

Yes it would be much nicer to implement this in a script language...

But no, that wouldn't help as that might test a different Sqlite

version than Subversion.

* subversion/tests/libsvn_wc/wc-queries-test.c

(slow_statements): New list.

(is_schema_statement): Renamed to in_list and add list argument.


is_schema_statement): New macros.

(explanation_item): New struct.

(parse_explanation_item): New function.

(is_node_table): New function.

(test_query_expectations): New function.

(test_funcs): Add test_query_expectations.

Another attempt of fixing the linking/compilation of wc-queries-test.c for

sqlite amalgamation users.

* subversion/tests/libsvn_wc/wc-queries-test.c

(includes): Add svn_private_config.h

(test_parsable): Rename pool argument.

Add a raw test application to test preparing all our working copy queries on

Sqlite. The current version just parses all queries, but I intend to add

support to verify some aspects of the query plan in a later patch.

The fix in r1340998 was a direct result of writing this test.

* build.conf

(wc-queries-test): New test.

(__ALL_TESTS__): Add wc-queries-test.

* subversion/tests/libsvn_wc/wc-queries-test.c

New file.

  1. … 1 more file in changeset.