Michael Hackstein
3eaf53c0c9
Merge branch 'devel' of github.com:arangodb/arangodb into devel
2017-01-23 10:01:23 +01:00
Michael Hackstein
36e398f3f4
Fixed a bug with sort optimization in indexes. Also adapted tests.
2017-01-23 09:45:22 +01:00
jsteemann
3ba821d3f2
remove arbitrary and useless enum number values and let the compiler determine them
2017-01-19 16:20:46 +01:00
Max Neunhoeffer
d038ba61e7
Implement attributePath access for SortElementVector and in GatherBlock.
...
Note: This is not yet used anywhere, so the changes should be entirely
neutral. We are going to use this in the optimizer rules
scatterInClusterRule
and
distributeInClusterRule
to make the GatherNode do a merge sort, if an index delivers sorted
streams of documents.
2017-01-18 15:32:59 +01:00
jsteemann
0d14b52b69
fixed issue #2234
2017-01-02 09:19:15 +01:00
jsteemann
8856caf875
micro optimizations for geo index
2016-12-20 15:53:49 +01:00
Jan Christoph Uhde
9ecd4665c7
distinguish between less and less equal in geoindex filter conditions
2016-12-20 12:15:58 +01:00
Jan Christoph Uhde
822200ae2c
now use traverseAndModify to remove the condition in filter expressions
2016-12-19 14:32:11 +01:00
Jan Christoph Uhde
e83ac6e8b9
delete ast node instead of replacing it with true
...
in some cases.
2016-12-19 12:30:47 +01:00
Jan Christoph Uhde
49fba88487
add missing line
2016-12-19 11:33:45 +01:00
Jan Christoph Uhde
3952bf2009
remove debug code
2016-12-19 11:00:52 +01:00
Jan Christoph Uhde
004da0c614
only do not use geoindex in inner loop if we want to sort
2016-12-19 10:52:42 +01:00
Jan Christoph Uhde
32e1c7eac4
manually cloning fixes the issue
2016-12-19 10:02:02 +01:00
Jan Christoph Uhde
75823fe879
another try to fix the plan
2016-12-16 15:19:10 +01:00
Jan Christoph Uhde
2a404cfabe
add dump of ExectionPlan.
...
Index Node seems to be created!
2016-12-14 12:21:21 +01:00
Jan Christoph Uhde
0f8b496c57
add debugging info for geoindex
2016-12-14 10:46:24 +01:00
Jan Christoph Uhde
3d17672feb
better tests
2016-12-13 17:03:01 +01:00
Jan Christoph Uhde
e5fcdb7386
partial rewrite - now we start at endnodes
...
and work upward towards singleton node
2016-12-13 15:53:44 +01:00
Jan Christoph Uhde
7d93fe0bdd
add link to geo-index doc to sourcefile to clarify goals
2016-12-13 13:20:48 +01:00
Jan Christoph Uhde
aac38c8a00
move collection acccesspath check to identify section
...
so we can compare nodes
2016-12-13 11:42:49 +01:00
Jan Christoph Uhde
b8cc674219
prepare to fix filter-sort
2016-12-13 10:59:02 +01:00
Jan Christoph Uhde
1d5e28d969
fix geo-index for cluster case
2016-12-12 15:36:43 +01:00
Jan Christoph Uhde
1acfd65467
work on geo-index in cluster
2016-12-12 13:30:38 +01:00
jsteemann
b6606727ee
fixes
2016-12-08 11:13:10 +01:00
Jan Christoph Uhde
5416755049
avoid use of geo-index-rule in cases where it could yield an invalid result
2016-12-07 15:06:44 +01:00
Jan Christoph Uhde
3e24624c6e
back to performance
2016-12-06 15:56:22 +01:00
Jan Christoph Uhde
a941808ea8
remove debug code for performance testing
2016-12-06 10:29:38 +01:00
Jan Christoph Uhde
71be8c215a
node replacement is now working
2016-12-06 10:00:11 +01:00
Jan Christoph Uhde
d1a3e4482d
condition replace should be almost working
2016-12-05 20:18:31 +01:00
Jan Christoph Uhde
275e36b603
add pointer that needs to be replaced with true
...
in sort or filter condition
2016-12-05 19:49:10 +01:00
Jan Christoph Uhde
6b93b9d2eb
bring functions in correct order
2016-12-05 19:38:01 +01:00
Jan Christoph Uhde
5aabbb0ac0
fix const-ness so the condition can be modiefied
2016-12-05 16:21:21 +01:00
Jan Christoph Uhde
c84223d598
Add information if AstNode has been found in subexpression
...
this information can be used in rewriting the condition and deciding
if a sort node can be deleted or not
2016-12-05 15:31:50 +01:00
Jan Christoph Uhde
b0b660eb85
add iterative preorder walk for and conditions
2016-12-05 15:19:06 +01:00
Jan Christoph Uhde
5dcf61c9ba
now work to a certain degree with binaray/naray-and in FILTER/SORT
...
condition
2016-12-05 14:00:14 +01:00
Jan Christoph Uhde
9b4e01eb3b
move geoIndexRule to a positon before inexes have been touched by
...
optimizer
2016-12-05 13:17:01 +01:00
Jan Christoph Uhde
9d04b37e58
within queries are now working
2016-12-05 12:46:23 +01:00
Jan Christoph Uhde
d858b9aa71
further implement within
2016-12-02 16:15:23 +01:00
Jan Christoph Uhde
72d4790c68
remove boost::optional and make use of nodetype
2016-12-02 12:22:07 +01:00
Jan Christoph Uhde
e0220be12d
stronger split between identification of candidates and application of geo index rule
2016-12-02 11:53:31 +01:00
Jan Christoph Uhde
f27a22db06
fix debug code
2016-12-02 11:20:09 +01:00
Jan Christoph Uhde
56b6be851c
add functions providing capability to check ast for parts of geoindex
...
rules
2016-12-02 10:44:42 +01:00
Jan Christoph Uhde
56614ac8c8
switch unittests to chai and add failing test for FILTER condition
2016-12-01 16:30:09 +01:00
Jan Christoph Uhde
8bb719c615
add first tests for geoindex
2016-12-01 15:59:10 +01:00
Jan Christoph Uhde
e619ef3e4e
now inspect sort and filter nodes
2016-12-01 12:21:51 +01:00
Jan Christoph Uhde
5dbf5e14e3
refactor geoOptimization into smaller fucntions
...
this prepares the creation of the within rules
2016-12-01 10:28:40 +01:00
Jan Christoph Uhde
80c89d5f97
geo condition is now build with a extra parameter for within
2016-11-30 15:25:11 +01:00
Jan Christoph Uhde
8bafcdfe92
GeoIndexIterator now takes parameters via ConditionNode
2016-11-30 14:10:16 +01:00
Jan Christoph Uhde
5b3be69e10
WIP first working version of geoindex via aql
2016-11-29 11:48:32 +01:00
Jan Christoph Uhde
4a1105a2e9
prepare merge with devel
2016-11-28 16:02:44 +01:00