mirror of https://gitee.com/bigwinds/arangodb
removed outdated file
This commit is contained in:
parent
1328142509
commit
48526109b5
101
LES-TODOS
101
LES-TODOS
|
@ -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<TOKEN>
|
||||
- Rename OperationCursor->getMoreMptr => getMoreTokens, "returns" std::vector<TOKEN>&
|
||||
- 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<std::string> 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.
|
Loading…
Reference in New Issue