1
0
Fork 0
Commit Graph

794 Commits

Author SHA1 Message Date
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