1
0
Fork 0
Commit Graph

31 Commits

Author SHA1 Message Date
Tobias Gödderz ad6fc92655 [3.5] Fix constrained sort in the cluster (#10098)
* Backport of #10047

* Backport of #10057
2019-10-16 19:33:33 +03:00
Luschgy b7b84beebf Feature/aql blocks by line (#6553)
* Fixed hidden merge conflict

* Added BlockFetcher, added a minimal test for SingleRowFetcher

* move RegInfo in types.h

* fix getSomeLogic

* Added the AqlItemMatrix implementation. Not yet tested!

* Fixed nr called => Waiting ratio in AllBlocksFetcherMock

* fix compiling

* add RegInfo to produceRow

* BlockFetcherHelper now returns a matrix

* pass RegInfo as requested into AqlItemRow ctor

I would still keep it out as the ItemRow should be a thin view.

* allow to change the AqlItemRows cheaper / remove _sourceRow member

* implement copyRow for AqlItemRow

* organize cleanup for outputblock used in getsome / shrink if necessary

* Added tests for SingleRowFetcher, cleanup in AqlItemRow

* start mocking

* Added test helpers, began work on a more complex test for SingleRowFetcher

* Re-added RegInfo again to AqlItemRow

* helper, added test case for FilterExecutor

* merge fixed compile

* Removed trx name where it is actually not used

* Made some functions TEST_VIRTUAL for mocking.

* implemented Sort executor

* Fixed the BlockFetcherHelper API, to always return a matrix if it is not waiting

* Implemented a SortExecutor test with data

* disable borken test

* Fixed test on SortExecutor. Green now, needs some more testing

* change a bit how the AqlItemRow is used in a test

* Added another test for the SingleRowFetcher

* Added more tests for SingleRowFetcher

* fix getRegisterInfo

* Moved RegInfo into ExecutorInfos. Also now use the FilterExecutor implementation in production code instead of FilterBlock. Starting integration testing.

* add more asserts

* Fixed undefined behaviour in TestCode.

* Do not shrink an empty output block

* switch to block pointers in AqlItemRow

* return blocks in the row fetcher

* Updated grammar.cpp

* Updated (fixed) tests to verify returnBlock

* Improved const-ness

* Changed BlockFetcher constructor in order to make it mockable

* Implemented BlockFetcherMock and rewrote some tests with it

* Updated a comment

* Updated comments

* init commit - EnumerateListExecutor, including EnumerateListExecutorInfos

* add potential fix for ItemMatrix

* Replaced fakeit with BlockFetcherMock in another GIVEN block

* Replaced the last fakeit mocks with BlockFetcherMock and removed fakeit

* Updated function definition

* included missing arary included

* Renamed AqlItemRow to InputAqlItemRow

* Split AqlItemRow into Input~ and Output~ classes

* EnumerateListExecutor + Tests

* Added tests for AqlItemRows

* Added test file for AqlItemRows...

* Made the ostream operator for AqlItemBlocks available to Logger and Catch info

* build error

* Added a second test for AqlItemRows. Need to make input space invalid now, sth. acidential referencing will show up

* Introduce a block ID in the InputAqlItemRow

* Copy output values correctly, avoid InputAqlItemRow pointers

* Added a test for registerClearout

* Fixed tests

* Added a test for adding new values

* Added a test for an incomplete row write to not count as produced.

* Fixed getSome and a test

* Added a test for larger AQL values in AqlItemRows

* Fixed compile error in hidden merge conflict

* Added tests for Filter counter in FilterExecutor

* OutputAqlItemRow now takes responsibility of the block

* Handed responsibility of blocks in ExecutionBlockImpl to OutputAqlItemRow

* EnumerateListExecutor should be close to its finish. Tests need to be fixed, not ready yet.

* better swap

* OutputAqlItemRow now takes ExecutorInfos

- added several assert
- implemented a more strict and safe produced() logic

* enum list test

* Added a more specific error message

* Removed OutputAqlItemRow.changeRow()

* fix invalid block freeing

* changed order of input/output registers

* Fixed a test

* Fixed matrix width in test

* fix failure tests

* finished enumlist tests

* Implemented AllRowsFetcher and tests for it

* Bugfix in skipSome stub

* insert sort and enumerate list executors

into exectuion nodes' create functions

* fixed singlerowfetcherhelper, added tests

* small fixes

* add missing Infos

* restore accidentally deleted scorer

* make it compile

* fix executor info creation / usage

* make use of output var in EnumarateListNode

* Added Executor::Stats and FilterStats

* Extended FilterExecutor tests with stats, added node tracing to getSome

* Fixed Sort-&EnumerateList- Executor to use the new return type with stats

* Fixed compile error in tests

* Changed *ExecutorInfo constructors and classes to contain the necessary register informations

* Made an ExecutorInfo construction more readable

* Updated comments

* Fixed checks in OutputAqlItemRow::setValue()

* Add comparison method to SortRegister. Forbid construction without one.

* Implemented ExecutionBlockImpl::initializeCursor

* more mocking inside ExecutionBlockImplTest

* Minor changes

* Avoid AqlValueGuard destroying the value copied into the output block

* Disabled failure tests that do not apply to the new Sort implementation

* further mocking of test modules

* Removed constexpr for compatibility with outdated gcc versions

* add some failure tests - getsome works differently

therefor we do not test the old behavior

* fix sort node

* clean up alq item matrix

* Removed the transaction methods from read-only access to AqlValues (get and at) and repliced by CollectionNameResolver where necessary. Still left: some calls extract VPackOptions from the Transaction. Compare needs a BuilderLeaser only.

* textexecutionhelper, execimpl test

* Eliminated FilterBlock

* Eliminated the EnumerateListBlock

* first successful running test of executorblockimpl

* Eliminated SortBlock

* fixed testexecutor helper

* Made the ExecutorInfos private to the executors again.

* Implement and use AqlItemBlockShell (#6562)

* Added AqlItemBlockShell

* Minor changes

* Mostly replaced AqlItemBlock with ~Shell.

Current state:
- arangod compiles
- OutputAqlItemRow has yet to be changed
- catch tests have yet to be fixed

* Use AqlItemBlockShell in OutputAqlItemRow

* Added registersToKeep to AqlItemBlockShell

* Removed ExecutorInfos from OutputAqlItemRow

* Split AqlItemBlockShell into Input~ and Output~

* Changed tests so they compile again - they're still not yet working.

* Fixed tests

* fixed building, modified impl test

* Removed now superfluous BlockFetcherMock functions

* more execimpl testing

* Removed block IDs

* more impl testing

* Reduced dependencies of BlockFetcher construction

* Bugfix, cleared documentation

* Removed debug-output

* Adressed minor code review remarks

* Moved method definitions into .cpp files to avoid includes

* Added assertions

* Added comments

* Addressed several more review comments

* Added missing includes

* more testing, not finalized yet

* added missing header file

* added a test for execution block impl

* removed old comment

* Improved lookup algorithm to identify correct block/row combination in AqlItemMatrix

* added test for ExecutionBlockImpl

* move utility to the right position

* Bugfix and a TODO note

* Bugfix: use a uniform ResourceMonitor in tests

* Made OutputAqlItemRow::setValue clone by default and copy on move

* Replaced the getRow lookup with a binary search

*  enumerate tests

* Disable emplacing of AqlValues in ItemBlock

* Reenabled std::enable_if will warn until oskar is using c++17 as standard.

* Add helper function to create a shared pointer of an unordered_map<RegisterId>

* CalculationExecutor (#6570)

* add CalculationExecutor skeleton

* first shot of CalculationExecutor

* fix minor bugs

* handle references

* use new shared pointers

* commit to share work

* fix failure test

* reformat with clang-format

* add test for CalculationExecutor

* fix CalcualtionExecutor test

* clean up

* Removes unused code

* clean up includes

* fix/remove comments

* add changes requrested by hacki

* ReturnExecutor (#7932)

* add skeleton to CMakeLists.txt

* build most parts of the ReturnExecutor

* This commit removes ReturnBlock and adds some debug messages

removed inheritRegisters functionality

* finish ReturnExecutor

* add test for return executor

* remove unused code

* add stats and clean up includes

* verify result in ReturnExecutorTest and move *Stats to "Aql/Stats.h"

* Fixed algorithm to find correct row in a MultiRow Input

* fix full count and failure tests (#7969)

* fix full count and failure tests

* fix filter test

* WIP: fixes

* fixed

* NoResultsExecutor (#7953)

* add NoResultsExecutor

* clean up

* some review changes

* fix test

* fix

* fix WAIT -> DONE

* remove unused code (#7995)

* create skeleton for SingletonExecutor (#7957)

* create skeleton for SingletonExecutor

* WIP: continue implementation

* WIP: add fetcher skel

* WIP: add inject function to ConstFetcher

* rename SingletonExecutor to IdExecutor

* WIP: replace singleton node

* WIP: More Debugging on IdExecutor

* WIP: IdExecutor

* WIP: add failure tests

* make iresarch test work but not pass

* WIP: add ConstFetcherHelper

* fix test

* fix tests

* fix iresearch tests

* fix wording

* add review changes

* add review change to SingleRowFetcher as well

* fix test

* fix error when increasing index

* temporarily remove fold-expression

* clean up

* Fix gcc compile error

* Feature/aql limit executor (#7982)

* limit executor

* removed not needed tri assert

* rm _invariable in limitnode

* find out if we are in a subquery

* queryDepth in limit infos

* added missing queryDepth

* finalizing limit executor

* added more tests, fixed a condition

* add assert to test

* added missing fullcount check

* typo

* minor changes, fixed test

* test

* wrong check

* fixed tests

* false merge

* remove basic blocks

* remove basic block includes

* include sort order

* removed not needed basic blocks

* removed not needed basic blocks

* fix test

* Feature/remove input output shells (#8090)

* Added template parameters to allow for block pass-through to be chosen at compile time

* Adapted the tests to match the new template parameters

* Adapted ConstFetcher and IdExecutor to match the new templated fetcher

* Implemented pass-through, fixed SingleRowFetcherTest

* Fixed implicit merge conflicts

* Fix assumptions that are violated by block pass-through

* Added 2 regression tests

* Fixed test expected data

* Fix nullptr dereference

* Fix handling of non-invalidated input variables

* Fix nullptr dereference

* Fix handling of non-invalidated input variables

* Fixed compile error

* Fixed a useless and leaking allocation

* Try a less implicit fix

* Allow IdExecutor and ConstFetcher to be used with pass-through

* Performance patches from @mchacki

* Fixed merge conflicts, and bugs in ConstFetcher

* Fixed atMost pass-through, and blocks that call their parents too often

* Removed InputAqlItemBlockShell (except from tests)

* Removed OutputAqlItemBlockShell (except for tests)

* Moved implementations of OutputAqlItemRow methods in the header

* Moved SingleRowFetcher::fetchRow to the header to allow inlining

* Reenabled returnInheritedResults optimization

* Enable passThrough for ReturnExecutor with inherited results

* Specialized CalculationExecutor to avoid unneccessary conditional jumps

* Made tests compile again (but are currently broken)

* Fixed ReturnExecutor test

* Move created InputRows out of AqlItemMatrix

* Limit- and EnumerateList Executors no longer fetch from upstream after DONE

* Added comments

* Added experimental AqlItemBlock optimizations

* Removed _numEntries, added comments

* Allow executors to pass an "atMost"-limit to the SingleRowFetcher (for LIMIT)

* Let the LimitExecutor pass atMost upstream

* Bugfix for FullCount

* Feature/aql enumeratecollection executor (#8028)

* initial commit

* enum coll executor

* buildable version of enumeratecollectionexecutor

* wrong usage of outVariable

* Added template parameters to allow for block pass-through to be chosen at compile time

* Adapted the tests to match the new template parameters

* Adapted ConstFetcher and IdExecutor to match the new templated fetcher

* more fixes, still some tests failing

* Implemented pass-through, fixed SingleRowFetcherTest

* Fixed implicit merge conflicts

* adding missing set value (remember optimize todo), optimized constructor

* removed old enumerate collection blocks

* Fix assumptions that are violated by block pass-through

* Added 2 regression tests

* Fixed test expected data

* Fix nullptr dereference

* Fix handling of non-invalidated input variables

* Fix nullptr dereference

* Fix handling of non-invalidated input variables

* Fixed compile error

* Fixed a useless and leaking allocation

* added broken uncompilable executor test

* Try a less implicit fix

* fix mocking

* enumerate collection executor test

* remove class, use only static function.

* clean up test after merging with main branch

* Allow IdExecutor and ConstFetcher to be used with pass-through

* Performance patches from @mchacki

* Fixed merge conflicts, and bugs in ConstFetcher

* Fixed atMost pass-through, and blocks that call their parents too often

* Removed InputAqlItemBlockShell (except from tests)

* Removed OutputAqlItemBlockShell (except for tests)

* Moved implementations of OutputAqlItemRow methods in the header

* Moved SingleRowFetcher::fetchRow to the header to allow inlining

* Reenabled returnInheritedResults optimization

* Enable passThrough for ReturnExecutor with inherited results

* Specialized CalculationExecutor to avoid unneccessary conditional jumps

* Made tests compile again (but are currently broken)

* Fixed ReturnExecutor test

* Limit- and EnumerateList Executors no longer fetch from upstream after DONE

* Removed an assertion which seems to be incorrect during bootstrap.

* Inlined AQL ItemMatrix and removed unused elements in other Executors

* Now inline + Move in AqlItemMatrix, seems to be overall best performing

* Bugfix: Do not returnInheritedResults on DBServers

* Fixed LIMIT test, and made it more thorough.

* Fixed createion of NoResultBlock creation in IResearch Nodes. Also relaxed an assertion

* Reactivated failure point, now identical with anotherone in OutputRow, need to unified

* Bug fix: do not mutate the offset in the LimitExecutor (#8109)

* Introduced test

* Fixed LimitExecutor to not mutate its infos, so it works correctly in subqueries

* Fixed crashes in CatchTests

* Fixed non-maintainer build

* try to fix subqueries

* Fix isInSubQuery for non-singleton nodes.

* remove useless while true

* Feature/aql blocks by line dan sort (#8143)

* Add SortNode::SorterType to SortExecutorInfoss.

* prepare imple of sort executor

* WIP: add some code for dan sort

* WIP: working at pushRows

* WIP - try to add Dan's heap-sort

* re add missing test

* 2 fixes

* fix

* Dan's tests are working

* remove unused variable

* remove SortBlock.cpp from CMakeLists.txt

* remove hack and provide an extra method to set the _baseIndex

* Simplified ContrainedSortExecutor.

* fix forgotten variable

* update doc

* Assert that we do not use functions that might return wrong results.

Preconditions or invariants the functions rely on are broken. Therefore
the functions can not be used. This is asserted in maintainer mode.

* add function to restore row invariant

* do not emplace and pop_back if not necessary

* Use clear registers in case we can move the rows.

* WIndows opst zirkus

* Actually destroy AqlItemValue

* Feature/traversal executor by line (#8000)

* Added stubs for TraversalExecutor, no implementation, not compiled in yet

* Included production code of TraversalExecutor and made it compile. Now implement

* Implemented production code for trivial tests, if no row is reaching the traverser.

* Fixed TraversalExecutor code to pull all rows from above and added tests. No traversal yet, this is next

* Intermediate blind commit might not work

* Fixed compile issue in test code

* Created a shared place for Mocks in tests and moved the StorageEngineMock there, also started a shared place for mock servers, most test will need the same server in order to work.

* Fixed travesalExecutor tests. Now able to create tests with actual input.

* Added successful test in TraversalExecutor, that Traverser as started with correct start vertices (by inputRegister)

* Further test cases

* Added stubs for TraversalExecutor, no implementation, not compiled in yet

* Included production code of TraversalExecutor and made it compile. Now implement

* Implemented production code for trivial tests, if no row is reaching the traverser.

* Fixed TraversalExecutor code to pull all rows from above and added tests. No traversal yet, this is next

* Intermediate blind commit might not work

* Fixed compile issue in test code

* Created a shared place for Mocks in tests and moved the StorageEngineMock there, also started a shared place for mock servers, most test will need the same server in order to work.

* Fixed travesalExecutor tests. Now able to create tests with actual input.

* Added successful test in TraversalExecutor, that Traverser as started with correct start vertices (by inputRegister)

* Fixed leftovers from rebase

* Refixed mocks in different folder

* Fixed Mock import

* Fixed Calculators Exector Test to use the unified mocked server.

* Implemented logic for the TraversalExecutor. Also added tests for it. Not fully complete though

* Added validation of result values

* Added usage of constant register in traversal executor

* Included filter variables in traersal executor. Added test for const input. And moved MMDR into base traverser class for simplicity

* Added ostream operators on AQLValue and AqlInputRow. Not 100% done yet but good enough

* Added a shutdownable ExecutionBlock. Some blocks need to implement a specific shutdown still. I added this class to make it easier to eliminate them when the time is due.

* Removed ostream operator for INPUT row again, does for some reason not compile on Linux0o

* Fixed initialization order

* Removed classwrapper for shutdown.

* Applied review changes

* Refixed failing tests, API is not subject to change

* Fixed CatchTest (wrong usage of string literal in test case)

* Feature/shortest path executor (#8042)

* Added stubs for TraversalExecutor, no implementation, not compiled in yet

* Included production code of TraversalExecutor and made it compile. Now implement

* Implemented production code for trivial tests, if no row is reaching the traverser.

* Fixed TraversalExecutor code to pull all rows from above and added tests. No traversal yet, this is next

* Intermediate blind commit might not work

* Fixed compile issue in test code

* Created a shared place for Mocks in tests and moved the StorageEngineMock there, also started a shared place for mock servers, most test will need the same server in order to work.

* Fixed travesalExecutor tests. Now able to create tests with actual input.

* Added successful test in TraversalExecutor, that Traverser as started with correct start vertices (by inputRegister)

* Further test cases

* Added stubs for TraversalExecutor, no implementation, not compiled in yet

* Included production code of TraversalExecutor and made it compile. Now implement

* Implemented production code for trivial tests, if no row is reaching the traverser.

* Fixed TraversalExecutor code to pull all rows from above and added tests. No traversal yet, this is next

* Intermediate blind commit might not work

* Fixed compile issue in test code

* Created a shared place for Mocks in tests and moved the StorageEngineMock there, also started a shared place for mock servers, most test will need the same server in order to work.

* Fixed travesalExecutor tests. Now able to create tests with actual input.

* Added successful test in TraversalExecutor, that Traverser as started with correct start vertices (by inputRegister)

* Fixed leftovers from rebase

* Refixed mocks in different folder

* Fixed Mock import

* Fixed Calculators Exector Test to use the unified mocked server.

* Implemented logic for the TraversalExecutor. Also added tests for it. Not fully complete though

* Added validation of result values

* Added usage of constant register in traversal executor

* Included filter variables in traersal executor. Added test for const input. And moved MMDR into base traverser class for simplicity

* Added ostream operators on AQLValue and AqlInputRow. Not 100% done yet but good enough

* Added a shutdownable ExecutionBlock. Some blocks need to implement a specific shutdown still. I added this class to make it easier to eliminate them when the time is due.

* Removed ostream operator for INPUT row again, does for some reason not compile on Linux0o

* Fixed initialization order

* First draft of shortest path executor

* Fixed logic bugs, Local AQL tests succeed

* Added first version of ShortestPathExecutor tests. Edge output tests are missing yet.

* Added EDGE output tests

* Replaced TraversalStats with NoStats, they have never been tracked...

* Removed obsolete ShortestPathBlock.

* Removed classwrapper for shutdown.

* Applied review changes

* Refixed failing tests, API is not subject to change

* windows macro opst circus

* Clear registers per block, not per row (#8164)

* Fixed compilation under linux again...
2019-02-14 19:13:08 +01:00
Dan Larkin-York efb8364d99 Optimize memory usage in AQL by using constrained heap sort when reasonable (#7990) 2019-01-31 22:46:57 +01:00
Jan 9ce9312239
speed up containers that contain ExecutionNodes' variables (#7937) 2019-01-14 13:38:56 +01:00
Frank Celler ac9f375fb5 big reformat 2018-12-26 00:54:03 +01:00
Jan 0d48677619
Bug fix/aql optimizer improvements 2308 (#6241) 2018-08-24 13:42:22 +02:00
Andrey Abramov e117a97fb4
Feature/arangosearch scatter node (#5536)
* remove collection dependency from scatter

* simplify `createBlock` API

* remove useless IResearchViewScatter node

* some fixes

* code cleanup

* scatter arangosearch view

* cleanup

* fix compilation errors

* fix test issues

* store shared_ptr rather than raw pointer in IResearchViewNode

* refactor ScatterBlock

* refactor DistributeBlock

* ensure no leaks during execution node cloning

* some fixes

* code cleanup

* remove vocbase from `DistributeNode`

* add missing ifdef

* fixes after review
2018-06-06 20:42:53 +03:00
Simon 35992ad67b Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
jsteemann ba81e7aa82 remove unnecessary casts 2018-05-11 17:54:36 +02:00
jsteemann 27e985d5d0 safer casts for ExecutionNode types 2018-05-10 20:08:37 +02:00
Jan 9c0460acff
Feature/aql optimizations (#5237) 2018-05-03 16:55:58 +02:00
Wilfried Goesgens 730820d7fb Bug fix/fix mac wincompile (#4798) 2018-03-09 15:08:28 +01:00
Andrey Abramov f6c184df33 Factory method for execution block (#4729) 2018-03-05 15:02:30 +01:00
Jan 5abf0c1185 Bug fix/fixes 1511 (#3711) 2017-11-16 14:18:51 +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
Jan Christoph Uhde 5234ac3621 Squashed commit of the following:
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: 1acfd65 27099a1
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: b660672 ad4ba24
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
2016-12-19 11:06:32 +01:00
jsteemann 5f06a5c025 Merge branch 'devel' of https://github.com/arangodb/arangodb into readcache 2016-08-23 12:13:08 +02:00
Jan Steemann b296468a18 more optimizations 2016-08-22 17:36:04 +02:00
jsteemann 1cfee8059a remove TRI_json_t remainders 2016-08-18 16:13:52 +02:00
Jan Steemann a0ff5e9dc3 remove unused JsonHelper includes 2016-07-18 13:52:08 +02:00
jsteemann 4a7c9f0f68 simplified bloated comments 2016-04-09 11:27:30 +02:00
Michael Hackstein f32750e1ac Removed obsolete toJson from AQL Nodes 2016-02-16 10:29:38 +01:00
Michael Hackstein f767636f14 Added a toVelocyPack serialisation to all Aql Nodes and their dependencies. Right now in parallel to toJson. 2016-02-16 00:04:32 +01:00
Jan Steemann 9046e1831b clang-format 2016-01-27 13:43:46 +01:00
jsteemann 431900f17a changed namespace from triagens to arangodb 2016-01-17 00:44:53 +01:00
Jan Steemann 687d6133f0 comments reformatting 2016-01-11 09:52:39 +01:00
jsteemann 50c0e18d53 removed useless con|destructor comments 2016-01-07 21:19:53 +01:00
Jan Steemann 3ad20c0cae auto-generated headers 2016-01-06 18:41:51 +01:00
Jan Steemann a3b026d9d1 removed useless sections from code, unified include guards 2016-01-06 14:15:22 +01:00
Jan Steemann f422576ee0 clang-format 2016-01-05 17:43:24 +01:00
Jan Steemann 50fa5a2138 added SortNode file 2015-09-30 15:42:48 +02:00