This commit is contained in:
King_DuckZ 2020-02-17 22:17:06 +01:00
commit 4bc0157dcd
3020 changed files with 129849 additions and 76185 deletions

29
TODO
View file

@ -1,11 +1,13 @@
Features
--------
complete XQuery Fulltext support
Complete XQuery Fulltext support
XQueryP support
Grouping support
XSLT 2.0 support
Higher order functions
XQuery 1.1 Grouping support
Complete XSLT 2.0 support
Support pre-parsed modules
Improve exceptions heirachy, and implement XQuery 1.1 try/catch
Implement EXSLT math functions
Optimization
@ -13,10 +15,12 @@ Optimization
Hash map implementation of distinct-values()
nested loop elimination (group recognition, join recognition)
variable inlining
common sub-expression extraction
faster modifiable data model
Document projection for recursive functions
pull event execution
Remove and free unused global variables
Better static typing esp. for higher order functions
Infrastructure
@ -27,10 +31,11 @@ string pool that returns numeric identifier
support for UTF-8 execution?
extract basic schema types from Xerces-C
abstract schema type access (no direct access to Xerces objects)
Build without code that needs a source version of Xerces-C?
Improve MAPM concurrency
Windows -- re-enable warning 4996 (xqilla_config.h) and address the "unsafe" warnings
for use of strcat, strcpy, etc
Write query plans to byte code, and execute the byte code in a virtual machine
Save out parsed query to disk
QA
@ -41,4 +46,16 @@ fix XQTS bugs
new test suite
test XQuery Fulltext
Fix ATDoubleOrDerivedImpl and ATFloatOrDerivedImpl to use double and float types
Make xs:decimal infinite length
Fix numeric output methods to use variable size buffers
Fix module import to work correctly, including:
- using the correct static context
- returning known schema types
- checking import circularities correctly
Query Prepare Optimization
--------------------------
Rewrite DatatypeLookup to be cheaper and more efficient - maybe write our own primitive type handling?
DocumentCacheImpl is expensive to create, maybe don't always create a scanner? Maybe handle primitive schema types ourselves?