* Add Start/End subquery node skeleton
* Added a test query that triggers complex interna in the future and needs to proof that our work is side-effect free.
* Add template function to statically assert size of type
* Add Start/End subquery node skeleton
* Add Start/End subquery node creation to ExecutionNode
* Cleanup SubqueryEndNode
* Add test file
* Add isEqualTo to ExecutionNode
* Subquery nodes cleanup
* Update ExecutionNode tests
* Updates to testing code
* More updates
* Add optimizer rule
* Fix optimizer rule
* Fix optimizer rule (again)
* Add a public function to get plan from query
* Fix register planning
* Add test for splicing subquery nodes
* add static asserts for sizes of SubqueryStartNode and SubqueryEndNode
* Add comment about statically asserted size
* Fix isEqualTo virtual and override dance.
* Fix isEqualTo, remove static_assert_size
* Remove a TODO; the plan owns the ExecutionNodes
* Only add stealPlan to Query when testing
* Remove another static_assert_size
* Disabled subquery splice rule by default
* temporarily modified test
* Fixed windows compile
* Fixed unused variable warning
* forward-port AQL optimizations from 3.3
* fix restrict-to-single-shard rule
* added tests for specific cases
* ModificationNodes now can know if they are restricted or not
* OptimizerRule now updates the ModificationNode instead of setting ownName on remote node.
* The DBServerEngine container now only sends a subset of snippets (those which are relevant) It is able to restrict any part of the query to a certain shard or even a list of shards
* ExecutionEngine CreateBlocks in ClusterMode now returns Result instead of throwing.
* Adapted Coordinator side to a bitter mapping of RemoteNode => QuerySnippets. This is still ongoing work.
* Fixed Coordinator enginecontainer test and finisehd implementation of EngineInfoContainerDBServer. Seems to work so far, need to adapt test to prove it.
* Adapted test for modification nodes and restrict to shard.
* restrictTo can now be de-/serialized on Modification Nodes
* Fixed Community Compile Error
* Added a test for Indexes/EnumerateCollection nodes
* EnumerateCollection and IndexNode now have options to be restricted to a single shard, opt rule not yet updated
* DBServer part of planning now checks Enumerate and IndexNodes for single shard optimization
* Added tests for simple single shard optimization on IndexNodes
* Adapted optimzierrule for SingleShard optimierung on IndexNodes
* Fixed an issue with externally restricted shard ids in combination with shard_id based optimization
* Added a test for multiple single shard optimizations on the same collection
* Removed collection/Shard duplicate check of optimize to single shard rules
* Updated Explainer to handle optimize to single shard
* Let more tests pass an optimized AQL variant
* Temporarily disabled a tests that can only be solved after some work in transaction
* do not use V8 variant of AQL functions in early optimization stage when a C++ variant is available
* additionally, simplify AQL function definitions and aliases
* warn when more than 90% of max mappings are in use
* added C++ variant of replication catchup
* added `--log.role` option
* updated CHANGELOG
* removed non-existing scheduler.threads option from config
* removed useless __FILE__, __LINE__ invocations
* updated CHANGELOG
* allow a priority V8 context
* remove TRI_CORE_MEM_ZONE
* try to fix Windows errors & warnings
* cleanup
* removed memory zones altogether
* exclude system collections from collection tests
* Added a first test for remove-filter-covered-by-traverser rule.
* initial try at adding the functions
* Initial try at fixing all cases
* Fixing optimizer rule order
* Changing rule
* excluding quantifier ANY
* Fixing assertion error
* quick fix for some failed traverser cases
* Fixing quantifier related tests
* Adding upper limit for scannedIndex in cluster
* Fixing the mmfiles asserts
* Allow the coordinator to do condition checking on edges again. Used in enterprise.
* Fix naming of optimizer rules (#2739)
* Add testcase to demonstrate #2499
- In subqueries inserts get pushed to the DB-Servers
- these create documents documents on each DB-Server that don't respect the shard-key
- subsequent deletes will fail to detect the shard correctly and will also fail.
* fix for #2499
commit 3952bf2009
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 19 11:00:52 2016 +0100
remove debug code
commit 004da0c614
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 19 10:52:42 2016 +0100
only do not use geoindex in inner loop if we want to sort
commit 32e1c7eac4
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 19 09:16:09 2016 +0100
manually cloning fixes the issue
commit 75823fe879
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 16 15:19:10 2016 +0100
another try to fix the plan
commit 2a404cfabe
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Dec 14 12:21:21 2016 +0100
add dump of ExectionPlan.
Index Node seems to be created!
commit 0f8b496c57
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Dec 14 10:46:24 2016 +0100
add debugging info for geoindex
commit 3d17672feb
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 17:03:01 2016 +0100
better tests
commit 615b85e5f5
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 16:09:00 2016 +0100
add tests - sort && filter and add check for IndexNodes
commit e5fcdb7386
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 15:53:44 2016 +0100
partial rewrite - now we start at endnodes
and work upward towards singleton node
commit 7d93fe0bdd
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 11:48:40 2016 +0100
add link to geo-index doc to sourcefile to clarify goals
commit aac38c8a00
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 11:42:49 2016 +0100
move collection acccesspath check to identify section
so we can compare nodes
commit b8cc674219
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 13 10:59:02 2016 +0100
prepare to fix filter-sort
commit 783a9aff89
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 16:24:52 2016 +0100
check if nodes are really sorted
commit 1d5e28d969
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 15:36:43 2016 +0100
fix geo-index for cluster case
commit 634eeabc0b
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 13:46:20 2016 +0100
add cluster to .gitignore
commit ae33a790fb
Merge: 1acfd6527099a1
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 13:31:54 2016 +0100
Merge branch 'devel' into obi-geo-index
* devel:
Clarify the default value of req.body
fix VS warning
moveShard jobs running
cppcheck
cppcheck
commit 1acfd65467
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 13:30:38 2016 +0100
work on geo-index in cluster
commit 32d0bdc846
Merge: b660672ad4ba24
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 12 09:15:36 2016 +0100
Merge branch 'devel' of github.com:arangodb/arangodb into obi-geo-index
* 'devel' of github.com:arangodb/arangodb: (132 commits)
try to fix travis build
Generate unique Swagger operationIds
Add support for Swagger tags
Add swagger route to Foxx API
Require at least one arg in route def
ported velocypack compatibility fix from arangodb/velocypack
use bulk allocator for index elements
fix memleak
fix test in cluster
remove unused code
fixed resilience
Update zwagger
Readd satellite node
Fix link
Document OAuth1
Nicer OAuth2 docs
properly start the tarball
fix VS compile errors
clones method in Jobs more useful
we don't need the dpkg-shlibdeps workaround anymore.
...
commit b6606727ee
Author: jsteemann <jan@arangodb.com>
Date: Thu Dec 8 11:13:10 2016 +0100
fixes
commit 5416755049
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Dec 7 15:06:44 2016 +0100
avoid use of geo-index-rule in cases where it could yield an invalid result
commit 3e24624c6e
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 6 15:56:22 2016 +0100
back to performance
commit a941808ea8
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 6 10:29:38 2016 +0100
remove debug code for performance testing
commit 2bae135b84
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 6 10:12:12 2016 +0100
add test case
commit 71be8c215a
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Dec 6 10:00:11 2016 +0100
node replacement is now working
commit d1a3e4482d
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 20:18:31 2016 +0100
condition replace should be almost working
commit 275e36b603
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 19:49:10 2016 +0100
add pointer that needs to be replaced with true
in sort or filter condition
commit 6b93b9d2eb
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 19:38:01 2016 +0100
bring functions in correct order
commit 5aabbb0ac0
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 16:21:21 2016 +0100
fix const-ness so the condition can be modiefied
commit c84223d598
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 15:31:50 2016 +0100
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
commit b0b660eb85
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 15:19:06 2016 +0100
add iterative preorder walk for and conditions
commit 5dcf61c9ba
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 14:00:14 2016 +0100
now work to a certain degree with binaray/naray-and in FILTER/SORT
condition
commit 9b4e01eb3b
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 13:17:01 2016 +0100
move geoIndexRule to a positon before inexes have been touched by
optimizer
commit 9d04b37e58
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Dec 5 12:46:23 2016 +0100
within queries are now working
commit d858b9aa71
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 16:15:23 2016 +0100
further implement within
commit 72d4790c68
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 12:22:07 2016 +0100
remove boost::optional and make use of nodetype
commit e0220be12d
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 11:53:31 2016 +0100
stronger split between identification of candidates and application of geo index rule
commit f27a22db06
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 11:20:09 2016 +0100
fix debug code
commit fab9af483e
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 11:00:39 2016 +0100
add extra log topic for development
commit 56b6be851c
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Fri Dec 2 10:44:42 2016 +0100
add functions providing capability to check ast for parts of geoindex
rules
commit 08ef943c83
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Thu Dec 1 23:01:50 2016 +0100
fix tests
commit 56614ac8c8
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Thu Dec 1 16:30:09 2016 +0100
switch unittests to chai and add failing test for FILTER condition
commit 8bb719c615
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Thu Dec 1 15:59:10 2016 +0100
add first tests for geoindex
commit e619ef3e4e
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Thu Dec 1 12:21:51 2016 +0100
now inspect sort and filter nodes
commit 5dbf5e14e3
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Thu Dec 1 10:03:24 2016 +0100
refactor geoOptimization into smaller fucntions
this prepares the creation of the within rules
commit 2110736d36
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Nov 30 16:50:02 2016 +0100
fix logical error in nextBabies
commit 972af3af4c
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Nov 30 15:44:46 2016 +0100
add within to geoindex iterator
commit 80c89d5f97
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Nov 30 15:25:11 2016 +0100
geo condition is now build with a extra parameter for within
commit 8bafcdfe92
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Wed Nov 30 14:10:16 2016 +0100
GeoIndexIterator now takes parameters via ConditionNode
commit 86c21eb733
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Nov 29 14:13:35 2016 +0100
make use of geo index cursor api
commit 5b3be69e10
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Nov 29 11:48:32 2016 +0100
WIP first working version of geoindex via aql