1
0
Fork 0
Commit Graph

164 Commits

Author SHA1 Message Date
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
Simon 828f1d423c S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
Jan 167dfcdf7f
Feature/index only scans (#5005) 2018-04-03 17:34:28 +02:00
Jan 5105e2b3c0
Remove "atLeast" from the internal query APIs (#4848) 2018-03-21 09:10:28 +01:00
Jan aad64bfdd7
fixed issue #4843: Query-Result has more Docs than the Collection itself (#4855) 2018-03-15 10:52:38 +01:00
Jan 67e7e4181e
Bug fix/remove v8 executor (#4756) 2018-03-13 10:41:02 +01:00
Jan 3cf03cfb21
Feature/cleanup internal (#4680) 2018-02-27 14:53:31 +01:00
Dan Larkin 96dbc693db Speed up condition normalization (DNF conversion) (#4574) 2018-02-13 22:13:52 +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 d113b755a0
fixed issue #4199: Internal failure: JavaScript exception in file 'arangosh.js' at 98,7: ArangoError 4: Expecting type String (#4202) 2018-01-05 14:51:26 +01:00
Jan Christoph Uhde c8300db459 Improve error handling and tracing of getSome (#4123) 2018-01-03 16:01:36 +01:00
Jan 9c76613e63
fix premature unlock (#3802)
* fix some deadlocks found by evil lock manager (tm)

* fix duplicate lock

* fix indentation

* ensure proper lock dependencies

* fix lock acquisition

* removed useless comment

* do not lock twice

* create either a V8 transaction context or a standalone transaction context, depending on if we are called from within V8 or not

* AQL micro optimizations

* use explicit constructor

* only use V8DealerFeature's ConditionLocker for acquiring a free V8 context

entering and exiting the selected context is then done later on without having to hold the ConditionLocker

* remove some recursive locks

* Disable custom deadlock detection when Thread Sanitizer is enabled

* Changing ifdef's

* grr

* broke gcc

* Using atomic for ApplicationServer::_server

* fix premature unlock

* add some asserts

* honor collection locking in cluster

* yet one more lock fix

* removed assertion

* some more bugfixes

* Fixing assert

(cherry picked from commit 1155df173bfb67303077fbe04ee8d909517bfd21)
2017-12-13 13:27:42 +01:00
Jan b4f6ee9273 Feature/improved index api for unique constraints and replication (#3715) 2017-11-16 21:02:01 +01:00
Jan bef52d7dc3
Bug fix/cleanup after cppcheck (#3639) 2017-11-10 13:53:28 +01:00
Jan 0561bf45ce Bug fix/isrestore (#3283)
* Make isRestore work in the cluster.

This covers sharded collections with default sharding and non-default
sharding.

* always use locally generate revision ids for storing and looking up documents
2017-10-03 11:53:49 +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
Jan 0a71b54e1f fix out-of-bounds attribute accessor calls (#3273) 2017-09-18 14:01:06 +02:00
jsteemann 5677baf561 fixed some MSVC warnings 2017-08-30 13:11:55 +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
Jan 80730cd5f4 fixed issue #2928 (#2934) 2017-08-03 13:39:01 +02:00
Max Neunhöffer b5798af00e Bug fix/tune hash join (#2828)
* Tune hash joins by avoiding many AqlItemBlock allocations in IndexBlock.

* Fix condition for copying register values.

* Fix case of half-full or empty AqlItemBlock.
2017-08-02 22:27:26 +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
Simon Grätzer 53ece582a8 optimized all index iterator 2017-05-31 11:34:32 +02:00
jsteemann a7b3839e6c renamed "getMore" to "next" 2017-05-23 08:53:13 +02:00
jsteemann d3f32799c6 fixed assertion failure 2017-04-18 14:54:29 +02:00
jsteemann d76f9f67ff fix crash 2017-04-06 12:49:45 +02:00
Simon Grätzer 6435e3b2bc Fixing windows build 2017-04-06 11:15:49 +02:00
Michael Hackstein e64cadde7d Added a toAqlValue in ManagedDocumentResult that should be called from outside. This figures out if we have to copy the content into the AqlValue or if we could just point to the raw data. 2017-04-05 15:32:45 +02:00
Michael Hackstein 8daa3820c7 Fixed initialisation of Member variable in IndexBlock 2017-04-05 09:33:50 +02:00
Michael Hackstein e56c20b99a Finally fixed undefined behaviour in IndexNode. Missed one part in the comit before 2017-04-04 19:08:21 +02:00
Michael Hackstein c928072bae Fixed IndexBlock. It now directly writes into the AQL register and does not rely on slices staying active 2017-04-04 16:57:54 +02:00
jsteemann d0df1952e8 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-02-24 17:51:59 +01:00
jsteemann f5c8932744 initial version of query execution plan cache, still very rough 2017-02-21 11:58:38 +01:00
Michael Hackstein 91f303e963 Removed readRevision from LogicalCollection. You only get readDocument with a token. Moved it's logic into MMFilesCollection. removed the ignoreWal parameter from readDocumentConditional. It was always true anyways... 2017-02-17 17:29:49 +01:00
jsteemann d49c5c3fc0 simplified internal APIs a bit 2017-02-15 12:42:07 +01:00
jsteemann 7e690a0c61 renaming 2017-02-13 15:18:40 +01:00
jsteemann eb73dbf960 renaming 2017-02-13 13:30:57 +01:00
jsteemann b76eeee92e reuse more AqlItemBlocks 2017-02-08 00:59:06 +01:00
jsteemann 59b3967273 Merge branch 'reuse-itemblocks' of https://github.com/arangodb/arangodb into engine-api 2017-02-07 20:25:48 +01:00
jsteemann a3509aa041 centralize access to AqlItemBlocks memory management 2017-02-06 23:33:43 +01:00
Michael Hackstein 5e4b9e42b3 Fixed minor bugs in usage of callback-based index-api. Remove unused old next and nextBabies index iterator functions. 2017-02-03 13:22:06 +01:00
jsteemann 37b7a18040 Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-01-31 13:55:55 +01:00
jsteemann 3c2a466c48 use block collector for IndexBlock 2017-01-31 12:16:53 +01:00
Michael Hackstein 78b83eefc4 Renamed => getMoreMptr in OpCursor to getMoreTokens, Removed default Parameter 2017-01-25 10:46:37 +01:00
Michael Hackstein 2133b1448c Moved index API to return DocumentIdentifierTokens which are independent of the underlying storage engine. The agreement is, that the Engine gives a uint64_t sized identifier which allows to fetch any document back again. For MMFiles Engine this identifier is the revision. 2017-01-24 18:19:25 +01:00
jsteemann e3bcb90916 remove revisions cache 2017-01-24 10:48:07 +01:00