Jan Christoph Uhde
3467031cb9
remove transferMarkers from StorageEngine.h
2017-02-21 16:00:37 +01:00
jsteemann
d27360fd04
minor adjustments
2017-02-21 15:49:47 +01:00
Jan Christoph Uhde
ebbfeaead9
add high-level documentation for some features of MMFilesEngine
2017-02-21 15:44:50 +01:00
Michael Hackstein
fbdbfdcb6d
Moved primaryIndex knowledge out of Logical Collection. Also moved logic for close into MMFiles
2017-02-21 14:12:07 +01:00
jsteemann
ed3a230939
some final cleanup
2017-02-21 13:04:24 +01:00
jsteemann
f5c8932744
initial version of query execution plan cache, still very rough
2017-02-21 11:58:38 +01:00
Jan Christoph Uhde
6e1f77be24
remove ditches from interface. the ditches concept needs fixing!!
2017-02-21 10:53:51 +01:00
Jan Christoph Uhde
fe1ed3aa4a
re add conversion functions
...
after checking with hacki who deleted them last time
2017-02-21 10:18:26 +01:00
Jan Christoph Uhde
0f86801645
remove updateStats from LogicalCollection interface
2017-02-21 10:06:51 +01:00
Jan Christoph Uhde
cf970ed230
Squashed commit of the following:
...
commit 2644735fe06806ec8ffb78ceb2ede04037258952
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Tue Feb 21 09:10:55 2017 +0100
failed ammend
commit c2b8604df5a60fd00e57b4f088fe8a2624d9ac3b
Author: Jan Christoph Uhde <Jan@UhdeJC.com>
Date: Mon Feb 20 12:49:58 2017 +0100
move - maxTick to Physical - RACE!
2017-02-21 09:19:49 +01:00
Jan Christoph Uhde
071137adf6
move doCompact into PhysicalColletion
2017-02-20 10:53:11 +01:00
Jan Christoph Uhde
f3a1f128ee
remove isFullyCollected from LogicalCollection
2017-02-20 10:28:28 +01:00
Jan Christoph Uhde
40a1345f76
Merge branch 'engine-api' of github.com:arangodb/arangodb into obi-engine-api
...
* 'engine-api' of github.com:arangodb/arangodb:
Moved logic for drop index into MMFilesCollection
2017-02-20 09:50:17 +01:00
Michael Hackstein
17effdc065
Moved logic for drop index into MMFilesCollection
2017-02-20 09:06:41 +01:00
Jan Christoph Uhde
21cb8e3217
Merge branch 'engine-api' of github.com:arangodb/arangodb into obi-engine-api
...
* 'engine-api' of github.com:arangodb/arangodb:
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...
Moved pre-commit document modifications out of logical-collection into the physical collection. They are only relevant when actually writing to disc.
Moved useSecondaryIndexes check from Logical to MMFiles collection
Some cleanup in Logical collection imports
Moved index filling into the MMFiles collection
changelog
grunt build
css
ui: queries now using cursors api - issue #2065
remove crosscompile hack - it doesn't work anymore
updated CHANGELOG
add changlog entry for stacktrace log messages
clean up write lockers a bit
fix too early closing of sockets
Moved restoreIndex to Physical collection.
Fix a shell script used during build.
Lower log level to debug in shutdown message.
fix spelling
Moved saveIndex logic into the physical collection
fix potential deadlock
Conflicts:
arangod/MMFiles/MMFilesCollection.cpp
arangod/MMFiles/MMFilesCollection.h
arangod/VocBase/LogicalCollection.cpp
2017-02-18 19:10:45 +01:00
Jan Christoph Uhde
2d5e74f7f6
move journaize() to PhysicalCollection
...
MMFilesCollection ctor might be buggy
2017-02-17 20:06:47 +01:00
Michael Hackstein
92f52b13d3
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-17 17:29:53 +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
Michael Hackstein
b84b05244f
Moved pre-commit document modifications out of logical-collection into the physical collection. They are only relevant when actually writing to disc.
2017-02-17 16:07:02 +01:00
jsteemann
c652a313da
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-17 14:03:59 +01:00
Michael Hackstein
5366f09ec8
Moved useSecondaryIndexes check from Logical to MMFiles collection
2017-02-17 13:33:00 +01:00
Michael Hackstein
e396446a17
Some cleanup in Logical collection imports
2017-02-17 13:16:22 +01:00
Michael Hackstein
c543dd06a4
Moved index filling into the MMFiles collection
2017-02-17 12:56:54 +01:00
jsteemann
3e7432ccd6
clean up write lockers a bit
2017-02-16 15:44:45 +01:00
Michael Hackstein
f0fbe78b2d
Moved restoreIndex to Physical collection.
2017-02-16 15:01:00 +01:00
Jan Christoph Uhde
b34d4356bc
remove dead code
2017-02-16 13:14:27 +01:00
Michael Hackstein
a3aae2e43b
Moved saveIndex logic into the physical collection
2017-02-16 12:53:05 +01:00
jsteemann
089ff78d2d
moved collection lock state into its own struct
2017-02-16 10:27:14 +01:00
jsteemann
fbd7f5d265
simplfied APIs
2017-02-16 10:00:46 +01:00
Michael Hackstein
94fbfaa453
Moved the entire logic of open() to the Physical collection. It is different for each StorageEngine.
2017-02-15 16:26:55 +01:00
Michael Hackstein
c3ff82f4e1
Moved version management to MMFiles collection. Logical does not need to know it. Removed PhysicalCollection inclode from logicical collection. Now we should rebuild less code whan changing sth in storage engine.
2017-02-15 15:48:33 +01:00
jsteemann
7ff2e19abb
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-15 12:46:06 +01:00
jsteemann
45eb3eb1fd
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
2017-02-15 12:42:19 +01:00
jsteemann
d49c5c3fc0
simplified internal APIs a bit
2017-02-15 12:42:07 +01:00
Michael Hackstein
cc999641a5
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-15 12:36:53 +01:00
Jan Christoph Uhde
be89cac445
move path from logical to physical
2017-02-15 11:43:38 +01:00
jsteemann
112d07f6c2
protect all properties of TransactionState
2017-02-15 11:37:35 +01:00
Michael Hackstein
d49cbffc46
Moved revision handling from Logical to MMFiles collection. That is only relevant for MMFiles.
2017-02-15 11:26:58 +01:00
jsteemann
c69eb0a7d5
protect some properties
2017-02-15 11:14:56 +01:00
jsteemann
ffa5e2aa54
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
2017-02-15 10:26:11 +01:00
jsteemann
df3a3eff9f
refactoring
2017-02-15 10:26:05 +01:00
Michael Hackstein
9e41a7a6bb
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-15 10:09:55 +01:00
Michael Hackstein
089816a353
Moved Rollback Operation and InsertIntoIndexes from Logical to MMFilesCollection. This is marker/index specific code.
2017-02-15 10:09:51 +01:00
jsteemann
328ff8a09e
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-15 00:09:42 +01:00
Jan Christoph Uhde
ce3b1ff9b5
Merge branch 'obi-storage' into devel
...
* obi-storage:
move compation locking / figures out of logical collection
Conflicts:
arangod/MMFiles/MMFilesCollection.h
arangod/VocBase/LogicalCollection.h
2017-02-14 16:14:25 +01:00
Michael Hackstein
50368b9985
Moved CollectionRead/WriteLocker to MMFiles. Also moved cleanupIndexes to MMFilesCollection
2017-02-14 15:12:36 +01:00
Michael Hackstein
dffd9fc807
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-14 14:08:56 +01:00
Michael Hackstein
d5e14a95f4
Moved truncate logic from Transaction::Methods to MMFilesCollection. It can do optimizations if close to the DB layer
2017-02-14 13:50:29 +01:00
jsteemann
0909ffe69b
moved helper functions into their own file
2017-02-14 13:44:54 +01:00
jsteemann
8a2e353f3d
move encoding functions into their own file
2017-02-14 12:57:15 +01:00
Michael Hackstein
c6830fb999
Moved more internal logic from Logical to Physical collection
2017-02-14 12:38:09 +01:00
jsteemann
cbe8ee1172
renamed feature
2017-02-14 12:35:54 +01:00
jsteemann
80be198a39
moved helper classes into their own file
2017-02-14 12:35:34 +01:00
Jan Christoph Uhde
071d147c5f
move compation locking / figures out of logical collection
2017-02-14 12:34:46 +01:00
Michael Hackstein
6605a01410
Moved lookupDocument form LogicalCollection into MMFilesCollection. It is SE specific.
2017-02-14 11:37:45 +01:00
Michael Hackstein
32bd15d098
Renamed collection->update() to update the properties of a collection to collection->updateProperties(). There is another update() which is used for the stored Documents.
2017-02-14 10:32:24 +01:00
Michael Hackstein
c8757efc8e
Moved engine specific logic of Document Remove from Logical To Physical Collection
2017-02-14 10:20:32 +01:00
Michael Hackstein
03e77aee4a
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-13 17:58:56 +01:00
Michael Hackstein
2824c349bb
Moved EngineSpecific logic of update() from LogicalCollection to MMFilesCollection.
2017-02-13 17:45:33 +01:00
jsteemann
9efc1c7b61
moved transaction status into its own file
2017-02-13 17:28:02 +01:00
jsteemann
72fa7ac85d
move _hasOperations flag into engine
2017-02-13 17:07:49 +01:00
jsteemann
2532627a80
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
2017-02-13 16:54:13 +01:00
jsteemann
a184697072
move RocksDB-specific transactions into engine
2017-02-13 16:53:58 +01:00
Michael Hackstein
c42b358987
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-13 16:27:41 +01:00
Michael Hackstein
91a0d30122
Moved the engine specific parts of remove from LogicalCollection to Physical Collection.
2017-02-13 16:17:26 +01:00
jsteemann
1ce4d4a97e
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-13 15:29:59 +01:00
jsteemann
92f61416ca
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
2017-02-13 15:25:17 +01:00
jsteemann
7e690a0c61
renaming
2017-02-13 15:18:40 +01:00
Michael Hackstein
e0bdc5c122
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-13 14:58:54 +01:00
Michael Hackstein
0c30c290c6
Moved parts of LogicalCollection->insert() into the PhysicalCollectioN
2017-02-13 14:38:22 +01:00
jsteemann
16189aa969
moved TransactionHints.h
2017-02-13 14:36:27 +01:00
jsteemann
eb73dbf960
renaming
2017-02-13 13:30:57 +01:00
Jan Christoph Uhde
27309d1de0
Merge branch 'devel' of github.com:arangodb/arangodb into devel
...
* 'devel' of github.com:arangodb/arangodb: (47 commits)
arangoexport: continue documentation
arangoexport: documentation continued
arangoexport: config for client package
arangoexport: refix xml attribute escaping
arangoexport: Documentation
README_maintainers: mention pythons webserver to view generated documentation
arangoexport: Documentation
arangoexport: start documentation
arangoexport: switch to LOG_TOPIC
arangoexport: xgmml encode attribute values
arangoexport: remove unnecessary xmlns declaration
arangoexport: added stats http, written size
arangoexport: take --xgmml-label-attribute into account
arangoexport: xgmml set label attribute
arangoexport: error msgs improvements, dont create file if collection or graph are 404
added arangoexport to Documentation/CMakeLists
updated ReleaseNotes and added NewFeatures32
arangoexport: added manpage
arangoexport: mention in CHANGELOG
arangoexport: inital work on test
...
2017-02-13 12:59:58 +01:00
jsteemann
f09ec85127
renaming
2017-02-13 12:27:26 +01:00
Jan Christoph Uhde
163b3d45bf
remove fullyCollected and friends from LogicalCollection
2017-02-13 11:47:22 +01:00
jsteemann
8b273b5eaf
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-13 08:37:41 +01:00
Michael Hackstein
5c7b971122
Removed the old slice based skiplist iterator and renamed SkiplistIterator2 => SkiplistIterator
2017-02-12 12:59:14 +01:00
Michael Hackstein
9be60be0b9
Removed AnyDirectionEdgeIndexIterator. Not used anymore, internally there is no ANY
2017-02-12 12:44:25 +01:00
Michael Hackstein
07154391a2
Removed iteratorForSlice on Indexes and adapted index scan on transaction, because it can now only be used for ANY or ALL scans.
2017-02-10 15:47:24 +01:00
Jan Christoph Uhde
929390cee1
move index marker creation to storage engine
...
remove MMFilesLogfileManager from LogicalCollection
fix marker type
2017-02-10 15:14:34 +01:00
Jan Christoph Uhde
9131cde18b
Merge branch 'devel' of github.com:arangodb/arangodb into devel
...
* 'devel' of github.com:arangodb/arangodb:
fix another merge conflict
fix compile error after merge
remove logging for non-topics
Destroy all traverser engines when AQL is shut down.
2017-02-10 10:58:07 +01:00
Jan Christoph Uhde
7a66b0772a
clean up headers
2017-02-10 10:57:51 +01:00
jsteemann
103ceec2f5
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-10 09:43:23 +01:00
jsteemann
23ed96b7a7
fix compile error after merge
2017-02-10 09:36:49 +01:00
jsteemann
0850e8293a
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2017-02-10 09:34:55 +01:00
jsteemann
d024a6d00a
remove logging for non-topics
2017-02-10 09:32:50 +01:00
jsteemann
c314b9fdd3
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-10 09:12:28 +01:00
Jan Christoph Uhde
714dd3ee3a
rebase database-management
2017-02-09 18:47:20 +01:00
jsteemann
ab21b0b1ff
move functionality into engine
2017-02-09 14:50:41 +01:00
Michael Hackstein
5dfd652d64
Merge branch 'devel' of github.com:arangodb/arangodb into engine-api
2017-02-08 15:57:30 +01:00
Michael Hackstein
dfc9f29e69
Moved FunctionDefinitions to an AqlFunctionFeature. This now has a defined startup ordering
2017-02-08 15:45:59 +01:00
Michael Hackstein
7cec7a4628
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-08 12:54:26 +01:00
Michael Hackstein
d47298d518
Removed JS_NEAR, JS_FULLTEXT, JS_WITHIN entirely. They have been replaced by simple queries
2017-02-08 12:54:10 +01:00
Max Neunhoeffer
bde48d524d
Change undocumented behaviour in case of invalid rev in JS document ops.
...
An invalid rev should lead to a 1200 ("conflict") error rather than a
1239 ("illegal document revision") error. This is more intuitive and
in line with the corresponding change in the HTTP API. No tests needed
adjustment.
2017-02-08 10:59:04 +01:00
jsteemann
1555b0a453
move engine-specific things out of public API
2017-02-07 17:36:53 +01:00
jsteemann
5bc2a3680c
move some MMFiles-specific things into MMFiles directory
2017-02-07 16:38:04 +01:00
jsteemann
072183a964
make ctor explicit
2017-02-07 14:48:08 +01:00
jsteemann
2c9e220f03
refactoring
2017-02-07 14:36:03 +01:00
jsteemann
d468fffdcb
fix problems with rollback
2017-02-07 13:04:27 +01:00
jsteemann
4fccb56f93
make TransactionState a class and privatize some of its internals
2017-02-07 11:58:34 +01:00
jsteemann
4a7c3734e0
remove friend class declaration
2017-02-07 11:45:50 +01:00
jsteemann
3b1e3fac52
make TransactionCollection more engine-specific
2017-02-07 11:24:58 +01:00
Michael Hackstein
44647f2392
Moved Fulltext and geo functions into MMFiles StorageEngine and allowed the engines to register specific functions.
2017-02-06 17:44:17 +01:00
Michael Hackstein
63f0e52e49
Fixed a bug in primaryindex. In some cases it reported that it could not find more documents although there were more.
2017-02-03 16:15:41 +01:00
Michael Hackstein
eab6907678
Removed wrong assertion
2017-02-03 13:46:14 +01:00
Michael Hackstein
7083671116
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-03 13:22: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
f9105e8393
mark the geo index as sorted
2017-02-03 11:48:05 +01:00
jsteemann
f7edf28599
mark the geo index as sorted
2017-02-03 11:42:19 +01:00
Michael Hackstein
2a3eae88bc
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-01 17:34:42 +01:00
Michael Hackstein
d920788a7f
The new index-callback API returns if it has more elements or not
2017-02-01 17:33:52 +01:00
jsteemann
4f1d588e0d
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-02-01 17:13:46 +01:00
jsteemann
0156c5aec7
make database deletion more deterministic
2017-02-01 16:44:41 +01:00
Michael Hackstein
2153999a26
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-02-01 16:09:25 +01:00
Michael Hackstein
0c3cada5b8
Added a new callback based option for IndexIterators to hand out DocumentTokens. This feature is not yet used anywhere
2017-02-01 16:07:37 +01:00
jsteemann
126f9a21fe
fix index ids
2017-02-01 10:39:21 +01:00
jsteemann
4d06ac7648
use std::string
2017-01-31 14:57:05 +01:00
jsteemann
8b62579789
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-01-31 10:04:56 +01:00
jsteemann
6598828449
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-01-31 00:33:42 +01:00
jsteemann
d96ce9af37
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-01-30 12:53:10 +01:00
jsteemann
cea0ecabad
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
2017-01-30 09:03:55 +01:00
Michael Hackstein
55e0f63fec
Moved major Index-creation out of LogicalCollection into the StorageEngine Specific IndexFactory.
2017-01-29 15:08:26 +01:00
Michael Hackstein
819ef4ae2c
Fixed failing index-creation tests after moving to IndexFactory.
2017-01-28 22:46:49 +01:00
Michael Hackstein
72b8945254
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-01-28 21:20:16 +01:00
Michael Hackstein
0027bc54c8
Create a StorageEngine-specific IndexFactory. Moved EnhanceIndexJson v8 -> IndexFactory.
2017-01-28 21:19:50 +01:00
jsteemann
09851cdf75
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-01-27 16:37:32 +01:00
jsteemann
0cb7d416d0
moved transaction collections into their own files
2017-01-26 16:51:57 +01:00
jsteemann
6a4842b229
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
2017-01-25 16:30:33 +01:00
jsteemann
de41509d9d
factored out TransactionState
2017-01-25 15:55:01 +01:00
Michael Hackstein
00448bfc26
Transaction::invokeOnAllElements now works with a callback taken DocumentIdentifierTokens instead of IndexElements.
2017-01-25 15:03:08 +01:00
jsteemann
3a61217438
Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api
2017-01-25 13:29:13 +01:00
Michael Hackstein
786ab413f8
Merge branch 'engine-api' of github.com:arangodb/arangodb into engine-api
2017-01-25 13:20:24 +01:00
Michael Hackstein
ce6d3b3492
The Fulltext index now return DocumentIdentifierTokens instead of revisions. Removed one inderection rid <-> Index_doc which were a typedef.
2017-01-25 13:20:15 +01:00
jsteemann
d7b131852c
factored out transaction hints
2017-01-25 13:12:09 +01:00
jsteemann
00b1632ece
factored out AccessMode from transaction.h
2017-01-25 11:57:21 +01:00
Michael Hackstein
883e95989f
The GeoIndex now returns DocumentIdentifierTokens instead of revision ids.
2017-01-25 11:13:30 +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
603a0ae8ee
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
2017-01-24 12:46:57 +01:00
jsteemann
e3bcb90916
remove revisions cache
2017-01-24 10:48:07 +01:00
jsteemann
d4d5d1f39f
fixed some tests
2017-01-23 16:55:41 +01:00
jsteemann
a8ebdbeeee
renaming
2017-01-23 15:40:20 +01:00
jsteemann
c4d2ff3dce
renaming
2017-01-23 15:36:11 +01:00
jsteemann
0a582d0f9a
adjust include guards
2017-01-23 14:23:39 +01:00
jsteemann
7fedb4e956
moved files into engine directory
2017-01-23 13:52:57 +01:00