1
0
Fork 0
Commit Graph

483 Commits

Author SHA1 Message Date
Jan bb09e357dc
Bug fix/aql micro optimizations (#7287) 2018-11-13 11:54:07 +01:00
Jan 1973022d00
Bug fix/refactor find emplace (#7197) 2018-11-02 17:18:47 +01:00
Jan 412b5671a3
fix release-3.4 issue 109 (#7031) 2018-10-23 22:59:24 +02:00
Dan Larkin-York 9952cfbc95 Fix issues with ArangoSearch link permissions in cluster mode (#6925) 2018-10-16 20:42:11 +02:00
Jan c06f2d77da
Feature/velocypack update (#6678) 2018-10-02 14:04:14 +02:00
Jan 6f10211f09
this moves aql::Query* out of the call parameter to any aql::Function (#6485) 2018-09-13 23:37:46 +02:00
Jan faac94a5c9
forward-ported from 3.4 branch feature-3.4/aql-extensions-080908 (#6462) 2018-09-12 13:58:20 +02:00
Vasiliy 5329f34771 issue 465.2.2: remove redudnant heap allocations and simplify API (#6349)
* issue 465.2.2: remove redudnant heap allocations and simplify API

* address merge issue

* address more merge issues

* address more merge issues

* address review comments

* do not deallocate non-allocated instances
2018-09-05 13:37:37 +03:00
Jan 5f0403ed1c
Bug fix/add aql collection count cache (#6227) 2018-08-23 16:05:51 +02:00
Jan d2c2f21c85
remove unnecessary parameter validation (#6210)
the validation has already been done before, so it does not need
to be repeated for each function call invocation
2018-08-21 13:51:28 +02:00
Jan 7cb1da12cf
make AQL functions construction easier (#6195) 2018-08-20 11:56:38 +02:00
jsteemann 9141855b16 some adjustments to the docs for `REGEX_MATCHES` 2018-08-14 11:04:48 +02:00
jsteemann 1573f83693 small fixes for RegexMatches 2018-08-08 18:12:45 +02:00
jsteemann c1006b9c13 Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/add-aql-function-regexmatches 2018-08-08 17:55:41 +02:00
Shivam Dave b8bf25b2d2 Regex Matches implementation- having trouble finding matches in an input string using the ICU regex matcher 2018-08-07 09:35:02 -07:00
Jan b278d6874a
allow master & slave to work in parallel for RocksDB WAL tailing (#6059) 2018-08-03 13:37:53 +02:00
shivamdave24 d4c6431ee5 Regex Split Implementation (unfinished) (#5991) 2018-08-01 12:09:36 +02:00
jsteemann 2256bad159 fix REGEX_SPLIT 2018-07-26 01:20:11 +02:00
jsteemann 66f174fbe3 Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/add-aql-function-regexsplit 2018-07-26 01:20:06 +02:00
Shivam Dave 917c069c19 Regex Split implementation (unfinished) 2018-07-25 12:00:42 -07:00
shivamdave24 7db28da251 Levenshtein Distance function implementation with documentation and i… (#5922) 2018-07-25 12:48:58 +02:00
Jan 21064144c8
Bug fix/replication improvements (#5962) 2018-07-25 09:04:50 +02:00
Jan a5bb50b0bf
remove methods from VelocyPackHelper that are also in VPackSlice (#5946) 2018-07-25 09:01:29 +02:00
jsteemann a6af188757 use nullptr instead of NULL 2018-07-20 19:50:07 +02:00
jsteemann 425050a8e7 Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/add-aql-function-levenshteindistance 2018-07-19 10:54:30 +02:00
Shivam Dave 644adc47f1 Levenshtein Distance function implementation with documentation and integration tests 2018-07-18 13:24:14 -07:00
Jan 7fb985d573
Bug fix/fix codescan issues (#5872) 2018-07-16 10:58:14 +02:00
shivamdave24 c45a1b6ac1 Soundex function implementation with integration tests and minor bug fixes to feature/add-aql-tobase64-tohex-encodeuricomponent-uuid branch (#5851) 2018-07-13 17:47:25 +02:00
jsteemann 208914e3d7 fixed test failures 2018-07-04 23:55:55 +02:00
Simon b8e140493a Remove redundant geo code, remove WITHIN_RECTANGLE (#5757) 2018-07-04 20:21:00 +02:00
Jan b88fde9659
added key generators "uuid" and "padded" (#5740) 2018-07-03 15:23:47 +02:00
jsteemann b1002075b3 Merge branch 'feature/add-distinct-aggregator' of https://github.com/arangodb/arangodb into devel 2018-06-28 19:03:16 +02:00
Simon 4387fabacf Converting Pregel AQL function to c++ and fixing a bug (#5620) 2018-06-28 10:46:16 +02:00
Kaveh Vahedipour 137085c902 Feature/make the boolean true again (#5646) 2018-06-27 08:49:51 +02:00
jsteemann 2610af55f8 Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/add-distinct-aggregator 2018-06-26 20:16:46 +02:00
Simon 52f44596ba Adding MultiPolygon support, fixing some outstanding bugs (#5613)
* Adding MultiPolygon support, fixing some outstanding bugs

* removing dead code

* Adding MultiPolygon tests

* Added multi-polygon docs

* adjust the docs

* fixing remaining occurrences of geo1 / geo2, added note into UpgradingChanges34.md

* some clarification

* Improve Geo docs, reformatting

* Release notes: responses are JSON, reformatting

* Update release notes: /_api/aqlfunction has an isNewlyCreated attribute now

* Update Geo.md
2018-06-22 10:03:27 +02:00
jsteemann 2712f9ce14 Merge branch 'devel' of https://github.com/arangodb/arangodb into feature/add-distinct-aggregator 2018-06-14 00:46:22 +02:00
Jan Christoph Uhde f81e42af36 Add optimizer rule that replaces js function calls (NEAR/WITHIN/FULLTEXT) with pure AQL (#5529) 2018-06-12 13:48:31 +02:00
jsteemann f5d7053bb1 fix call/apply 2018-05-29 22:07:37 +02:00
Jan e6dcff8360
Bug fix/cleanup 2805 (#5477) 2018-05-29 10:16:48 +02:00
jsteemann e5ee8e0573 added new aggregators 2018-05-28 08:48:01 +02:00
Jan 8e6d5df129
fixed minor several compiler complaints (#5406) 2018-05-23 11:50:00 +02:00
Vasiliy 27f7f4a0aa issue 389.9: return TRI_vocbase_t& from Query::vocbase() (#5420)
* issue 389.9: return TRI_vocbase_t& from Query::vocbase()

* backport: use view name instead of view id in error messages
2018-05-22 19:03:14 +03:00
Wilfried Goesgens 7b8fce07a4 aql current_user in cpp, test (#5302) 2018-05-19 21:26:53 +02:00
Jan 379e848919
clean up AQL functions a little bit (#5401) 2018-05-19 21:15:14 +02:00
Jan df23ed092e
Bug fix/cleanup 1705 (#5376) 2018-05-18 09:21:50 +02:00
Wilfried Goesgens eed1235893 Feature/aql date trunc 2 (#5295) 2018-05-16 17:33:27 +02:00
Wilfried Goesgens e1a8db0eb6 Feature/aql format date (#5294) 2018-05-16 14:05:55 +02:00
Jan 1c1d8f2528
fix AQL ZIP function with duplicate attribute names (#5336) 2018-05-14 12:59:18 +02:00
Simon 828f1d423c S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
Wilfried Goesgens ba278a64c9 add native implementation of the FAIL aql function (#5232) 2018-04-30 18:35:14 +02:00
Wilfried Goesgens 2b1ba8c524 fix windows warnings (#5115) 2018-04-17 11:44:45 +02:00
Wilfried Goesgens 2a12e0a02f Fix windows portability (#5113) 2018-04-16 17:20:26 +02:00
Wilfried Goesgens ac2a8721e6 Feature/aql native call apply (#5100) 2018-04-13 16:07:06 +02:00
Wilfried Goesgens a07a0fe990 Bug fix/date function portability (#4972)
* fix casts to use defined bit width
* adjust regex so it also works on elderly compiler infrastructure
* optimized regex
* work around MSVC bit shortage
* howto manipulate logging of the SUT
* improve regexp readability
2018-03-27 16:32:54 +02:00
Michael Hackstein 589f5911cb
Fixed uninitialized value in date subtract/add function. (#4964) 2018-03-26 17:17:53 +02:00
Wilfried Goesgens a16d4b0109 Feature/cpp aql reverse (#4911) 2018-03-23 09:54:37 +01:00
Jan a6e4946346
fix compile warnings in date functions with g++7 (#4930) 2018-03-22 17:41:53 +01:00
Manuel B 215777736e Move AQL Date Functions => CPP 2018-03-22 15:22:24 +01:00
Andrey Abramov 01d9baf359 remove TRI_ERROR_ARANGO_VIEW_NOT_FOUND, rename TRI_ERROR_ARANGO_COLLECTION_NOT_FOUND to TRI_ERROR_ARNANGO_DATA_SOURCE_NOT_FOUND 2018-03-17 19:36:14 +03:00
Vasiliy 148bdb7158 issue 344.6: remove some redundant functions (#4842) 2018-03-15 11:03:35 +01:00
Wilfried Goesgens 87edf275e3 implement SPLIT Aql-Function in C++ (#4786) 2018-03-09 09:12:30 +01:00
Simon 345fc3c0b7 Refactor Authentication Layer (devel) (#4592)
* Cherry Picking LDAP changes

* Adding missing merges

* Fixing remaining mentions of FeatureCacheFeature

* Fix jslint

* Fixing some failed tests

* Fixing cluster authentication issue, red tests

* Fixing ldap testsuite, adding trace logging

* Fixint ldap tesuite setup and LDAP recognition

(cherry picked from commit 686d28a779)

* Fixing wrong assert

* Adding changelog entry, making requested changes from code review

* Fixing dump_authentication, fix typos

* improvements found during code review

* oops

* more use of sessionstorage

* fix tests

* Fixing broken handling, disallowing adding of local users when disabled

* Fixing testInvalidGrants

* Removing undefined auth level externally

* Fixing previous commit

* added tests for ldap search mode

* intentionally removed `after` methods from tests

because they are executed before the tests start
no cleanup is performed right now after the authentication tests
however, a cleanup is done at start of every test

* ldap tests all modes

* forward port changes from 3.3

* added generated files

* forward port missing changes for web UI

* added generated files

* added generated files
2018-02-28 13:24:28 +01:00
Jan 3cf03cfb21
Feature/cleanup internal (#4680) 2018-02-27 14:53:31 +01:00
Jan Christoph Uhde 586a66ebbf Fix: #4583 - adds AQL ASSERT and WARN (#4584) 2018-02-26 14:25:24 +01:00
Wilfried Goesgens bda5c79bce Implement FIND_FIRST and FIND_LAST in c++ (#4608) 2018-02-19 10:41:21 +01:00
Wilfried Goesgens 101a9893a4 migrate r/l-trim, split trim so we can reuse that code. (#4578) 2018-02-16 14:10:00 +01:00
Jan d82a9e94cf
remove old, potentially unsafe ScopeGuard implementation (#4576)
use TRI_DEFER instead so there are less variants
2018-02-13 18:13:02 +01:00
Jan b2b6c06cbf
Feature/efficiency (#3736) 2018-01-05 16:51:31 +01:00
Jan 2a93560473
added AQL function `IS_KEY` (#4158) 2018-01-05 14:50:57 +01:00
Jan 7018d003cc
added `SORTED` and `SORTED_UNIQUE` AQL functions (#4157) 2018-01-05 14:50:27 +01:00
Heiko 5ff201bea7 Feature/translate translate function now in c++ (#4102) 2018-01-03 21:09:21 +01:00
Heiko 65d22c6066 Feature/sha512 aql cpp (#4181) 2018-01-02 14:31:01 +01:00
Jan 282be208cc
remove TRI_usleep and TRI_sleep, and use std::this_thread::sleep_for … (#3817) 2017-12-06 18:43:49 +01:00
Simon Grätzer ec80ee39fd Fulltext Index Cursor (#3807) 2017-12-06 14:29:57 +01:00
Simon Grätzer f2472dc267 Resolving externals before using them with VelocyPackHelper::VPackHash (#3891) 2017-12-06 10:33:43 +01:00
Jan b4f6ee9273 Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
Jan 7eaaeaf392 fix some compile warnings (#3720) 2017-11-16 18:18:28 +01:00
Jan 7613bc4314 Bug fix/fixes 0211 (#3568)
* remove some non-unused V8 persistents

* do not throw that many bogus assertions

* do not rely on server role being defined

* slightly better debug output for V8 context debugging

* fix collection ids in inventory response

* simplify bootstrap a bit

* slightly better error handling

* make elapsed time a queryable value

* use less memory for stub collections

* added assertions that will always make sense

* added assertions

* do not garbage-collect while waiting

* less copying of parameters

* do not show "load indexes into memory" buttons for mmfiles engine

  as all indexes are in memory anyway

* when a collection is truncated via the web interface, flush the WAL and rotate all active journals

this will make close all open journals on leader and followers and make them subject to compaction opportunities

* fix invalid server id values being passed from web interface to backend

* introduce afterTruncate method for indexes

* added test case for issue #3447

* updated CHANGELOG

* don't warn about replicationFactor for system collections

* check that the queries actually use the geo index and not some other index

* properly report error in web interface

* fix some internals checks that made truncate fail for bigger collections in maintainer mode

* also run a compact() operation after a serious truncate

in order to make iteration over the truncated range much faster
when the collection is next accessed

* increase default maximum number of V8 contexts to at least 16
2017-11-09 12:48:15 +01:00
Manuel B edba1e57ce Feature/cpp aql left trim right (#3004) (#3506)
* Feature/cpp left trim right (#3004)

* aql char length null returns now 0

* cpp aql trim and tests

* Update CHANGELOG
2017-10-26 20:21:41 +02:00
Manuel B 7d4b319c58 cpp aql substring, fixed v8 substring (#3489) 2017-10-23 17:12:45 +02:00
Manuel B be8c648620 cpp aql collections() and test (#3331)
* cpp aql collections() and test

* remview fixes

* fixed jslint

* fix for new ExecContext / auth api
2017-10-23 11:42:34 +02:00
Manuel B cf0578242f Feature/devel cpp aql matches (#3329)
* matches function header

* aql matches() C++ definition

* cpp aql matches() implementation

* review fixes

* test for v8 / cpp

* aql cpp matches matches behavior of js matches, more tests

* fix cpp matches()

* final fixes
2017-10-23 08:25:55 +02:00
Jan 2525a3a1bd Feature/mmfiles hash lookup performance (#3265)
* speed up full collection scans in mmfiles engine

* some API cleanup
2017-09-26 14:48:06 +02:00
Simon Grätzer ffc465433a No access collections Improvements (#3190)
* consolidated EdgeDocumentToken

* optimizing cluster traversal

* adding skip collection checks

* API cleanup

* copying AQLValue to avoid use-after-free bugs

* Fixing rocksdb SingleServerEdgeCursor

* Fixing a collection resolving issue
2017-09-07 14:55:07 +02:00
Frank Celler 6d08d4f4aa Bug fix/scheduler delete (#3077)
* removed delete call

* cleanup

* lower cpu activity of log thread too

* fix log messages

* do not enter threads into unordered_set, as it is unneeded

* do not compile in calls to disabled plan cache

* moved AQL regex cache from thread local variables to a class of its own

* more sensible thread creation and destruction
2017-08-25 12:00:17 +02:00
m0ppers 930dd8aad2 MSVC is pendantic (but right) (#3047) 2017-08-17 21:25:34 +02:00
Manuel B 9c268ec815 aql char length null returns now 0 (#2973)
* aql char length null returns now 0

* Update CHANGELOG
2017-08-08 09:33:31 +02:00
Jan 60e6237149 do not throw OOM errors in case something else has happened (#2938) 2017-08-03 22:48:12 +02:00
Manuel B 9917a8d471 aql upper lower cpp (#2936)
* initial aql upper lower

* aql upper lower test for cpp and v8
2017-08-03 21:10:13 +02:00
Manuel B f0a24218e3 Feature/cpp aql char length (#2883)
* redirect aql char_length to length

* aql function CHAR_LENGTH in C++, fixed test

* adding table

* fix crlf

* docu table

* remove alternative fact

* docu

* fix string length calculation for aql length
2017-08-01 15:39:25 +02:00
Frank Celler a5a25754ed Feature/reduce extraction to projection (#2792)
* reduce extractions to projections

* recycle string buffers in SocketTask

* micro optimizations for mmfiles indexes

* added special lookup function for _key

* moved function into the correct file

* speed up key buffer allocations a bit

* added noexcept specifier

* correctly name variable

* explicitly move bounds

* fix and speedup from/toPersistent functions

* reuse string from ManagedDocumentResult for multiple lookups

* use move-assign

* a bit less work for single server

* speedup AQL function HASH

* single fetch optimization

* performance optimization for the case when no documents need to be returned

* make reduce-extraction-to-projection a RocksDB-only optimizer rule

* cppcheck

* try to fix compile error on MacOS

* bug fix for MacOSX

* missing namespace (in Windows compile)
2017-07-14 08:40:29 +02:00
Frank Celler 40d73d5a8b Revert "[WIP] Feature/reduce extraction to projection (#2735)"
This reverts commit 5bfcff30cd.
2017-07-12 12:52:14 +02:00
Jan 5bfcff30cd [WIP] Feature/reduce extraction to projection (#2735)
* reduce extractions to projections

* recycle string buffers in SocketTask

* micro optimizations for mmfiles indexes

* added special lookup function for _key

* moved function into the correct file

* speed up key buffer allocations a bit

* added noexcept specifier

* correctly name variable

* explicitly move bounds

* fix and speedup from/toPersistent functions

* reuse string from ManagedDocumentResult for multiple lookups

* use move-assign

* a bit less work for single server

* speedup AQL function HASH

* single fetch optimization

* performance optimization for the case when no documents need to be returned

* make reduce-extraction-to-projection a RocksDB-only optimizer rule
2017-07-12 11:22:29 +02:00
jsteemann bf209397cd fixed shutdown issues 2017-06-08 12:30:43 +02:00
Simon Grätzer f101e21328 Geo index update, renaming 2017-05-11 13:19:51 +02:00
jsteemann 81dcfbbe3d pass trx into numberDocuments 2017-03-31 11:33:16 +02:00
Jan Christoph Uhde b83ae2ab82 refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
jsteemann 3d0beb3a23 implement SLEEP() in C++ 2017-03-28 09:45:53 +02:00
Simon Grätzer f9e4f4b43d Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2017-03-14 16:39:41 +01:00