* added SEARCH keyword
* fixes jslint errors
* add incompatibility notice
* remove VIEW keyword (does not work yet!!)
* add initial support for SEARCH keyword to optimizer rules
* replace FILTER with SEARCH keyword in tests
* removed VIEW keyword, make shell_server_aql tests pass again in single server
* cleanup
* handle SEARCH clause for views
* make SEARCH a non-keyword
* fixed an issue with duplicate variables
* fixed 3 tests
* fix SEARCH statement support for views
* minor refactoring
* fix integration tests
* optimize SEARCH conditions a bit more
* fix jslint error
* fixed wrong comments and typo in class name
* fix documentation
* adjust recovery tests to use SEARCH instead of FILTER
* fix another failing test
* Add ArangoSearch as top-level chapter in Manual and AQL docs
* Update SUMMARY.md
* `Views/README.md` already has content, so we shouldn't remove it. It acts as intro page to ArangoSearch, which is okay-ish. The actual ArangoSearch page appears as sub-chapter called _Usage_.
* Change ArangoSearch chapter names for Manual and AQL book
* Fix links
* extend filter checking
* extend IResearchViewNode tests
* distinguish scorer and filter arangosearch functions
* initial implementation
* add some tests for the recently added aql functions
* more tests
* force phrase function to use context-wise analyzer
* more tests
* ensure exists function uses analyzer from context
* fix query execution tests
* allow to override context analyzer in phrase function
* modify EXISTS signature to accept optional analyzer, fix tests
* more tests
* even moar tests
* more tests
* update documentation
* add testing scorer
* fixes after review
* attempt to fix msvc compilation issues
* add extra check
* add another check
* 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
* Fixing subqueries in aql profiler
* Adding additional testsuite
* Fix AQL profiling example name, add API example
Also use different query for explain and profiling with SLEEP() for
non-zero runtimes.
* New/updated examples for query explain/profiling
* Fix runtime calculation
query = "FOR doc IN @@collection FILTER doc.value > @value RETURN doc";
bind = { value: 42, "@collection": "mycollection" };
options = { examples: 10, anonymize: true };
require("@arangodb/aql/explainer").debugDump("/tmp/query-debug-info", query, bind, options);
Entitled users can send the generated file to the ArangoDB support to facilitate
reproduction and debugging.
The data from the generated file can be restored and analyzed via the *inspectDump*
function:
require("@arangodb/aql/explainer").inspectDump("/tmp/query-debug-info");
Next steps after DC2DC and Cluster doc improvements:
- We refactor replication sections and make more intuitive separation between Master/Slave and the new Active Failover in 3.3
- We create corresponding sections for Master/Slave and Active Failover in the Administration and Deployment chapters, as well as in the Scalability chapter, where these "modes" are introduced
- We touch and improve the "Architecture" chapter as well, where some architecture info have to be placed
- We reorg the TOC having in more "logical" order:
-- Deployment
-- Administration
-- Security
-- Monitoring
-- Troubleshooting
- We adds parts in the TOC
- We add toc per pages, using page-toc plugin
- We also put close together "Scalability" and "Architecture" chapters, preliminary steps of further improvements / aggregation
- We improve swagger
Internal Ref:
- https://github.com/arangodb/planning/issues/1692
- https://github.com/arangodb/planning/issues/1655
- https://github.com/arangodb/planning/issues/1858
- https://github.com/arangodb/planning/issues/973 (partial fix)
- https://github.com/arangodb/planning/issues/1498 (partial fix)
* Add WITH to graph traversal syntax
* State clearer what where whitespace is ignored in conf files
* Add cross-references between POSITION() and CONTAINS()
* Mention GeoJSON in the description of the useLonLat option
* Troubleshooting: unexpected long running queries
Add remark that collection literals are inferior to FOR constructs and should not be used accidentally instead of variable names
* Add storage engine comparison table, replace hint to note that users might want to pick RocksDB for an installation
* CSS: No margin extra margin after last paragraph in callouts / hint boxes
* Correct custom search IDs, sitemap and edit URLs
* deploy versions through shell script from central places
* shellcheckify
* shellcheck, indent
* move all configs into one file
* add settings
* one more char that may occur in ids
* add per book version, its not yet the right ids.
* Update VERSIONS
Created new CSE for Devel Cookbook, replaced all IDs by Devel CSE IDs, adjusted prio to 0.3