From 48526109b5865ef3dc5134044b275f0c9782b980 Mon Sep 17 00:00:00 2001 From: jsteemann Date: Wed, 26 Apr 2017 13:31:08 +0200 Subject: [PATCH] removed outdated file --- LES-TODOS | 101 ------------------------------------------------------ 1 file changed, 101 deletions(-) delete mode 100644 LES-TODOS diff --git a/LES-TODOS b/LES-TODOS deleted file mode 100644 index 258f5fc18e..0000000000 --- a/LES-TODOS +++ /dev/null @@ -1,101 +0,0 @@ -done ----- -- create new branch -- factor out transactions from LogfileManager -- concept "collection locks" - - 3 states: READ / WRITE / EXCLUSIVE for locks -- index implementations => moved & renamed to StorageEngine -- move engine files into MMFiles directory -- split IndexElement -- rename *IndexElement to MMFiles* -- move fulltext & geoindex & skiplist helper code into MMFiles -- rename "RocksDBIndex" to "PersistentIndex" -- Delete OperationCursor->getMore. Replace by getMoreTokens -- remove ReadCache -- Index API -- Indexes always return std::vector -- Rename OperationCursor->getMoreMptr => getMoreTokens, "returns" std::vector& -- GeoIndex hands out TRI_revision instead of Tokens -- FulltextIndex hands out TRI_revision instead of Tokens -- trx::InvokeOnAllElements : uses SimpleIndexLookupElements => Has to use Tokens instead? -- remove TransactionState include from Transaction.h -MMFiles reference removals from files: -* arangod/V8Server/v8-query.cpp -- StorageEngine specific IndexFactory: - - create indexes from VPack - - enhance/validate given VPack index definitions (set default values, reject illegal ones) -- Implement new IndexIterator API next(callback, limit) - - Primary - - Hash - - Skiplist - - Persistent - - Geo - - Fulltext -- index API -- StorageEngine specific AQL functions - - Register for specific function names => branches to StorageEngine impl - - Storage Engine can implement these functions with specific code and interna - - e.g.: Geo, Fulltext -- Replace Usage of new callback-based IndexIterator -- move engine-specific parts of transaction.cpp into engine -- Logical => Physical - - keyGenerator - - dropIndex(p) => phys->dropIndex(p, true) -- DML API -- DDL API -- StorageEngineAPI readDocument requires 2 functions: - - void readDocument(TOKEN id, VPackBuilder& result) => Collects the document and inserts it asis into result. Does NOT clear result. - - void readDocument(TOKEN id, std::vector const& attributePath, VPackBuilder& result) => Collects the document and writes only the value at the given attributePath (e.g. `a.b.c`) into result. Does NOT clear result. -in progress - ------------ -- check for illegal includes -- fix includes during API conversion - -to do ------ -- rename TRI_df_marker_* to something storage-engine specific -- applyForTickRange has to be moved to MMFilesCollection (used in replication-dump) -- add new serialization RW lock to LogicalCollection. all DML ops must acquire it in read mode, the explicit lock command must acquire it in write mode. -- AqlValue needs a (lazy evaluated) type TOKEN that handles collection ID and TOKEN inplace. - - slice() => looksup the value in the Database - - We need to keep in mind the cluster. If a DBServer creates this token-type it has to be translated BEFORE the register is teleported to coordinator -- Remove temporary wrapper LogCol::readDocument() -- InitialySyncer.cpp knows details of StorageEngine MMFiles - -MMFiles are known to the following files: -* arangod/Replication/InitialSyncer.cpp -* arangod/RestHandler/RestExportHandler.cpp -* arangod/RestHandler/RestWalHandler.cpp -* arangod/RestHandler/RestReplicationHandler.cpp -* arangod/RestServer/arangod.cpp -* arangod/StorageEngine/EngineSelectorFeature.cpp -* arangod/Utils/CollectionExport.cpp -* arangod/Utils/CollectionKeys.cpp -* arangod/V8Server/v8-replication.cpp -* arangod/V8Server/v8-collection.cpp -* arangod/V8Server/v8-vocbase.cpp -* arangod/VocBase/replication-dump.cpp -* arangod/VocBase/vocbase.cpp - -- IndexFactory needs a function to stringifyIndexes and rename idxFoo => IdxZirkusBar - -- Implement new IndexIterator API nextExtra(callback, limit) - - Geo - -- OperationOptions - - recovoryMarker -- re-enable RocksDB storage engine (e.g arangod.cpp) -- implement RocksDB storage engine - -Questions ---------- -* For GeoIndex `ignoreNull: true` and `constraint: false` are only set in Cluster mode. Is that art or can it go away? - -OpenIssues Hacki ----------------- -* HashIndex Lookup into a still local buffer, could be replaced by callback as well. -* SingleServerTraverser API does NOT takeover responsibility for slice data. getMore() hopes slices to not go away - * This API can be improved if we make better use of those callbacks. -* ShortestPathBlock does assume that slices do not walk away. -* EdgeCollectionInfos in ShortestPath could share one conditionBuilder.