mirror of https://gitee.com/bigwinds/arangodb
22 Commits
Author | SHA1 | Message | Date |
---|---|---|---|
|
f4e6538edd |
Bug fix/internal issue #647 (#10292) (#10334)
* Bug fix/internal issue #647 (#10292) * extend replication tests * ensure proper replication order * fix tests * address review comments * address test failures * extend dump tests * fix analyzers tests * more fixes * extend tests * enhance tests * adjust tests * use enum instead of flags (part 1) * cleanup * use enum instead of flags (part 2) * get rid of flags for views * get rid of flags for collections * completely get rid of collection flags * fix replication test * refactor index flags * fix tests and move AnalyzerPool out of class scope * fix tests * adjust log levels * add tests * remove debug logging * remove noexcept from `equalAanalyzer` * extend cluster tests * fix cluster tests * add tests for views and smart graphs * address jslint errors # Conflicts: # arangod/Cluster/ClusterMethods.cpp # arangod/Cluster/v8-cluster.cpp # arangod/IResearch/IResearchAnalyzerFeature.cpp # arangod/IResearch/IResearchAnalyzerFeature.h # arangod/IResearch/IResearchLinkMeta.cpp # arangod/RestHandler/RestAnalyzerHandler.cpp # arangod/StorageEngine/PhysicalCollection.cpp # arangod/VocBase/Methods/Indexes.cpp # tests/IResearch/IResearchAnalyzerFeature-test.cpp # tests/IResearch/IResearchFeature-test.cpp # tests/IResearch/IResearchLinkHelper-test.cpp # tests/IResearch/IResearchLinkMeta-test.cpp # tests/IResearch/IResearchQueryOptimization-test.cpp # tests/IResearch/IResearchViewDBServer-test.cpp # tests/IResearch/IResearchViewSort-test.cpp # tests/V8Server/v8-analyzers-test.cpp # tests/VocBase/LogicalDataSource-test.cpp * Update CHANGELOG * Update CHANGELOG |
|
|
328f46e3d6 |
This merges hotbackup and atomic-db-creation into 3.5. (#9968)
* Squashed commit of feature-3.5/hotbackup_devel. This puts hotbackup into 3.5. * Port atomic-database-creation-2 to 3.5. * Remove some wrongly ported code. * Fix compilation. * Fix a manual merge error. * Remove a feature from the mocks which does not exist in 3.5. * Add some code which was forgotten in manual merge. * Fix a problem introduced in a manual merge. * reuse function * Address some whitespace issues that came up in review * aardvark should not create the frontend collection * create _frontend collection from c++ * recheckAndUpdate Callback in CollectionWatcher * Wrong author ;) * rm outdated todo * Update lib/Basics/VelocyPackHelper.h Co-Authored-By: Michael Hackstein <michael@arangodb.com> * use logger unique id, use startup logger * not needed * optimized vector shardid method * do not create _modules collection lazy anymre * Formatting. * Assert instead of if/TRI_ASSERT(false) * Don't use exceptions as control structure * Re-add READ_LOCKER that got lost in translation * Fix audit log in case database creation fails early. * legacy sharding * Add CHANGELOG entry. * Retry database cancellation indefinitely * Do not use exceptions in UpgradeTask * DropCollection is a FAST_LANE action and should not need much time or else retry. * Remove superflous addition of LdapFeature Proudly brought to you by ASAN tests * Fixed check for distributShardsLike sharding on _system database * Fixed compile issue on tests * Removed assertion that seems to be not correct yet on devel. * Sort out google cloud storage as remote. (#9918) * Add successful method to ClusterCommResult. * Improve error forwarding for cluster internal communication. * Feature/hotbackup list retries (#9924) * retry hot backup listing for 2 minutes in cluster before giving up * Enable api by default. * fix broken list of non existing id (#9957) * Fix compilation after manual merge. * Fix another compilation problem. * Yet more fixes for compilation. * More compilation fixes. |
|
|
85814c05f1 |
Bug fix 3.5/internal issue #633 (#9902)
* Fix for internal issue #633 (#9884) * Made ANALYZER BOOST and MIN_MATCH non deterministic to prevent premature calls * Returned Deterministic flag. Added context function implementation for cons arguments calls. * Fixed filter volatility detection * Added assertion * Fixed formatting. Removed redundant checks. * Applied review suggestion Co-Authored-By: Jan <jsteemann@users.noreply.github.com> * Added CHANGELOG record * Update CHANGELOG |
|
|
e64080e207
|
Merge 3.5.1 back to 3.5 (#9713)
* Bug fix 3.5/make arangosh reconnect (#9615) * make arangosh reconnect * added CHANGELOG entry * fix lagging AgencyCallbacks (#9620) * fix lagging AgencyCallbacks * optimizations, discussed with @mchacki * fix wording * updated CHANGELOG * fix yet another undefined behavior (#9629) * [3.5.1] Fail the FailedLeader Job if the new leader fails. (#9628) * Fail the FailedLeader Job if the new leader fails. * Updated changelog. * In case of timeout do not rollback. * Fixed catch tests. * Changed wording. * DELETED rollback. * reduce wait timeouts as a mitigation for notifying waiters without ho… (#9619) * reduce wait timeouts as a mitigation for notifying waiters without holding the required mutex this is a quick mitigation only, which reduces maximum wait time from 1 second to 100 milliseconds without changing other behavior. the main problem of notifying pending writers without successfully acquiring the required mutex still needs proper addressing. * adjust timing-dependent test * [3.5.1] Fast Controlled Leaderchange (#9634) * First draft of keeping in sync during controlled leader change. * Test if server is actually the leader in plan. * Updated changelog. * Added oldLeader check for set-the-leader request. * Small fixes. * Removed LOG_DEVEL. * less copying, more moving! 🚚 (#9645) * attempt to fix load_balancing tests in slow test environments (#9626) * Bug fix/fix swagger datatype (#9045) (#9602) * Bug fix/fix swagger datatype (#9045) * remove http so https arangos will work * verify that query parameters are proper swagger data types, fix offending documentation files * return the actual type - not the list of available ones * check formats * there is no uint64 in swagger * Fresh Swagger * Port TakeoverShardLeadership from devel to 3.5.1 (#9659) * Create TakeoverShardLeader job. * Add TakeoverShardLeadership to Action factory. * Add log message at level debug. * Sort out LOG_TOPIC ids. * Fix unit tests. * CHANGELOG. * Bug fix 3.5/hide mmfiles specific info in web ui (#9668) * attempt to fix load_balancing tests in slow test environments (#9626) * Bug fix/fix swagger datatype (#9045) (#9602) * Bug fix/fix swagger datatype (#9045) * remove http so https arangos will work * verify that query parameters are proper swagger data types, fix offending documentation files * return the actual type - not the list of available ones * check formats * there is no uint64 in swagger * Fresh Swagger * hide MMFiles-specific information when we don't need it * Ported ResignLeadership to 3.5 (#9656) * attempt to fix load_balancing tests in slow test environments (#9626) * Bug fix/fix swagger datatype (#9045) (#9602) * Bug fix/fix swagger datatype (#9045) * remove http so https arangos will work * verify that query parameters are proper swagger data types, fix offending documentation files * return the actual type - not the list of available ones * check formats * there is no uint64 in swagger * Fresh Swagger * Ported ResignLeadership to 3.5 * Add the actual http route. * Aardvark: Add k Shortest Paths example graph to UI (#9491) (#9661) * Aardvark: Add k Shortest Paths example graph to UI (#9491) * Add example graph to UI * Add kShortestPathsGraph to examples.js * Update example-graph.js * Update aardvark.js * Regenerate UI * add the ability to have cluster special examples (#9613) (#9663) * add the ability to have cluster special examples * Update get_cluster_health.md * fix abort condition, fix negative filtering for cluster tests * Test if job fails with unmet assertion * Remove cluster test example * germanize * better skip reasons * removing superfluous semicolons * Revert skip reasons, too noisy * various replication improvements: (#9675) * attempt to fix load_balancing tests in slow test environments (#9626) * Bug fix/fix swagger datatype (#9045) (#9602) * Bug fix/fix swagger datatype (#9045) * remove http so https arangos will work * verify that query parameters are proper swagger data types, fix offending documentation files * return the actual type - not the list of available ones * check formats * there is no uint64 in swagger * Fresh Swagger * various replication improvements: - better debuggability (more log details) - shorter minimum wait delay in active failover - fixed too early pruning of WAL files on leaders * Bug fix 3.5/fix rocksdb return code (#9692) * attempt to fix load_balancing tests in slow test environments (#9626) * Bug fix/fix swagger datatype (#9045) (#9602) * Bug fix/fix swagger datatype (#9045) * remove http so https arangos will work * verify that query parameters are proper swagger data types, fix offending documentation files * return the actual type - not the list of available ones * check formats * there is no uint64 in swagger * Fresh Swagger * fix return codes for concurrent writes to same documents * [3.5] Feature/rebootid notice changes, backport of #9523 (#9684) * Feature/rebootid notice changes, backport of #9523 * Fixed error code to not re-use an old one * Bug fix 3.5/issue 9679 (#9682) * attempt to fix load_balancing tests in slow test environments (#9626) * Bug fix/fix swagger datatype (#9045) (#9602) * Bug fix/fix swagger datatype (#9045) * remove http so https arangos will work * verify that query parameters are proper swagger data types, fix offending documentation files * return the actual type - not the list of available ones * check formats * there is no uint64 in swagger * Fresh Swagger * fixed issue #9679 * bug-fix/issue-#9660 (#9704) (#9707) * bug-fix/issue-#9660 (#9704) * fix issue * Update tests/js/common/aql/aql-view-arangosearch-cluster.inc Co-Authored-By: Jan <jsteemann@users.noreply.github.com> * Update tests/js/common/aql/aql-view-arangosearch-noncluster.js Co-Authored-By: Jan <jsteemann@users.noreply.github.com> * fix cluster tests * Update CHANGELOG * [3.5] agency node fixes (#9698) * node fixes port from 3.4 * fixed change log * update rocksdb statistics to deliver sums from column family instead of single value from default family. (#9706) * Feature 3.5/geo functions (#9710) * Add support for WGS84 on distances (#9672) * Add area calculations (#9693) * Update CHANGELOG |
|
|
be88d8d499 |
bug-fix/internal-issue-#609 (#9464) (#9520)
* allow to access last operation tick of the transaction * modify IResearchLink to rely on last commtted tick * get rid of writing arangosearch markers to WAL * further implementation * local changes in iresearch * add recovery states * properly handle link creation during recovery * adjust test cases * properly handle nested transactions * ungreylist recovery tests * add more recovery tests * do not use transaction to pass recovery tick * do not store recoveryTick in MMFilesRecoveryState * adjust tests * fix mmfiles * cleanup * add context validity check * fix tests * fix more tests * ensure subscription is not being released during commit * address review comment * final cleanup * fix crash * fix tests * address test failures * address review comments * address review comments * properly set recovery tick even if no recovery happened # Conflicts: # arangod/IResearch/IResearchLink.cpp |
|
|
420326be25
|
Bug fix/internal issue #414 (#9428)
* add more tests * and more... * address msvc build issue |
|
|
b70d7372ef |
Bug fix/internal issue #586 (#9401)
* Removet lazy creation ob analyzers collection. Test fixes (added explicit creation of analyzers collection for test enviroments) * Fixed test runs. Removed cluster tests for analyzer DDL * Analyzers collection name moved to tests common * Disbaled load_library in normalize calls * Legacy code cleanup * added db analyzers collection checks in analyzer creation test to cover functions removed from gtest * Reverted analyzer properties comparsion to non-utf8 as that must be binary equal |
|
|
40cce2cee0
|
bug-fix/internal-issue-#565.1 (#9257)
* validate analyzer properties, do not return `null` for identity analyzer properties * fix some tests * Fixed tests for new analyzer parameters validation. Added explicit test for analyzer parameter validation * update iresearch, fix analyzer tests * fix more tests * fix tests * store analyzer properties as vpack * more compilation fixes * Updated iresearch * Tests compilation fixed * Test run fixes * Test run fixes * Fix test run * Fixed all IresearchTests * Fixed V8Analyzers tests * Added ngram and delimeter analyzers vpack config * Added ngram and stem analyzers vpack parsers. Added tests * Fixed internal issue #593 Fixed build issue * Fixed tests * Fixed Gtest tests * Changed test run to fix Mac failure * Mac tests debugging * Fixed jslint errors * test tracing added * Taken account for VPackSlice operator== false negatives |
|
|
cf7cf0131b | Try to fix corruption error (#9258) | |
|
d5ecdd143a | Convert unit tests to googletest framework (#9034) | |
|
fb85af85c6 |
auto-locate directory to IResearch test resources (#8899)
alternatively, pick up the directory from environment variable `IRESEARCH_TEST_RESOURCE_DIR` |
|
|
c6d3f8e052
|
Bug fix/pass on error messages (#8690) | |
|
2b594bdab5 | Reduce # of memcpy from storage engine layer (#8685) | |
|
d1416bed74 |
AQL by line: IResearch blocks as executors (#8387)
* Added RemoteExecutor skeleton * Moved RemoteBlock implementations to ExecutionBlockImpl<RemoteExecutor> * Remove unnecessary include to avoid unused function warnings * Fixed gcc compile error * Moved Scatter/Distribute block implementations to their new Executor versions * Applied clang-format * Added factory, infos and a skeleton for the unordered view executor * Removed assert based on wrong assumption * Added members from IResearchViewBlockBase to IResearchViewExecutor * Moved more code into the ViewExecutor, hopefully enough to produce a working version now * Added missing reset code, made produceRow work mostly correct * Removed superfluous parentheses to get more useful output from Catch * Ported fix 923b6e81ac723d1fe37f8e7bf1ab81149f3a08ef Original commit message was: Fixed a race condition in RemoteBlock which was triggered during shutdown overtaking getSome. * Applied review comments * Inject input row instead of an item block + pos into the expression context, plus fixed some tests * Adapted test. Search tests are now green. * Do not ask upstream when already DONE * Removed `limit` from next() * Simplified code that could handle producing more than one document * Minor readability change * Solved two TODOs noted in the review * Removed leftover references to DistributeNode members in the DistributeBlock * Reverted removal of "exhausted" * WIP: Implemented variant with scorers * Fixed compile errors of the last commit * Fixed some asserts and calculations * Fixed violated assertions * Moved files from IResearch/ to Aql/ * Replaced recursive call with a loop * Worked on a few TODOs * Removed IResearchViewBlock * Set input registers correctly * Eliminated dependency to the Node in the Executor * Don't misuse the volatility variables for initialization * Extended a TODO note * Removed obsolete includes * Removed an obsolete include from the tests * Added missing include * Read PKs in batches * Fixed merge conflict * Fixed merge conflict * Restrict prefetching of PKs to the number of rows in the current output block * Fixed merge * Fix IResearch ASan errors * Revert "Restrict prefetching of PKs to the number of rows in the current output block" This reverts commit |
|
|
3a3c360765 | issue 526.5: add analyzer retrieval functionality (#8592) | |
|
930b09cd93
|
[3.4] bug-fix/issue-#8294 (#8430) (#8585)
* [3.4] bug-fix/issue-#8294 (#8430) * fix invalid optimizations for multi-valued attributes * fix broken optimizations for multivalued attributes * adjust tests * add `IN_RANGE` function * add tests * add some shallow integration tests * fix optimization for IN operator # Conflicts: # arangod/IResearch/IResearchFeature.cpp # arangod/IResearch/IResearchViewOptimizerRules.cpp # tests/IResearch/IResearchFilterBoolean-test.cpp * fix compilation errors * fix another compilation issue * address compilation errors * fix tests |
|
|
778417cdf0 | issue 526.4.1: add analyzer removal and feature validation functionality (#8575) | |
|
405b60c2b7 |
issue 526.3: update analyzer feature to store analyzer definitions in per-vocbase system collections (#8452)
* issue 526.3: update analyzer feature to store analyzer definitions in per-vocbase system collections * address merge issues * address another merge issue |
|
|
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... |
|
|
98b024d787 | issue 466.6: remove unused code, remove hardcoded view meta values (#8130) | |
|
360b9f456c
|
reformat arangosearch sources (#7941) | |
|
d4a010baf9
|
Bug fix/internal issue #316 (#7911)
* allow using scorers outside ArangoSearch view context Signed-off-by: Andrey Abramov <andrey@arangodb.com> * ensure query is properly optimized after replacement of scorer functions * do not apply `handleViewsRule` to queries without views * simplify optimization rule for ArangoSearch views * show ArangoSearch view scorers in query explanation * fix tests * fix tests * add stub for scorer related tests * reformat * check variable depth in `ViewExpressionContext::getVariableValue` * add some tests * address js test failures * address jslint errors * ensure `IResearchViewNode` exposes variables used in scorers * ensure scorers with expressions are deduplicated * fix deduplication for indexed access * more tests * partially address review comments * address review comments * simplify code * remove irrelevant, commented out code * ensure array comparisons are properly handled * update changelog & loki |