0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-30 17:34:04 +01:00
Commit graph

690 commits

Author SHA1 Message Date
Jason Volk
cd74a39330 ircd::db: Move the write mutex to a global and lock for compaction points too. 2018-08-26 20:46:59 -07:00
Jason Volk
0b98144cfe ircd::db: Minor cleanup; assertions. 2018-08-24 10:59:22 -07:00
Jason Volk
84f4cbd359 ircd::db: Serialize entry to rdb's write impl to circumvent pthread deadlock. 2018-08-24 03:40:37 -07:00
Jason Volk
c94b6f02ca ircd::db: Options package; no DIO writes 2018-08-24 03:40:25 -07:00
Jason Volk
1450678b83 ircd::db: Plug remaining filesystem operations into ircd::fs / AIO. 2018-08-24 00:40:35 -07:00
Jason Volk
6f2eeaec67 ircd::db: Full dressing on the environment. 2018-08-23 23:08:41 -07:00
Jason Volk
ec0670262e ircd::db: Give some env callbacks handlers. 2018-08-23 18:57:24 -07:00
Jason Volk
bbcddbcf5b ircd::db: Use our fs::size() for file sizing env callback. 2018-08-23 05:37:32 -07:00
Jason Volk
29d4ec71d5 ircd::db: Update env exception handlers to propagate to rocksdb. 2018-08-23 04:20:16 -07:00
Jason Volk
f630c28439 ircd::db: Add error_to_status conversion for rocksdb::Status. 2018-08-23 04:19:32 -07:00
Jason Volk
585f6c97c3 ircd::db: Minor cleanup. 2018-08-23 04:16:49 -07:00
Jason Volk
671170afb4 ircd::db: Use an ircd::assertive so failure happens in optimized mode here. 2018-08-23 02:19:28 -07:00
Jason Volk
824e3305a4 ircd::db: Implement WaitForJoin() to wait on all ctx pool joins. 2018-08-23 02:16:44 -07:00
Jason Volk
d01430e64a ircd::db: Replace default sleep() callback with ctx::sleep(). 2018-08-23 02:14:50 -07:00
Jason Volk
5239e49f4f ircd::db: Improve opts related for random_access_file; minor cleanup. 2018-08-23 01:54:58 -07:00
Jason Volk
7698759d04 ircd::db: Integrate env::sequential_file with AIO. 2018-08-23 01:54:18 -07:00
Jason Volk
b753637385 ircd::db: request pool conf item set callback. 2018-08-22 14:37:52 -07:00
Jason Volk
b964f9520f ircd::db: max_open_files must NOT be 0 or files are open/close too often. 2018-08-22 13:13:03 -07:00
Jason Volk
de973740e3 ircd::db: Additional db env debug log. 2018-08-22 12:56:17 -07:00
Jason Volk
23d0c7384d ircd::db: Catch everything here because there's nowhere else to go. 2018-08-21 08:49:11 -07:00
Jason Volk
b3ff44d0fb ircd::db: Fix the cache insert misapprehensions. 2018-08-21 00:49:40 -07:00
Jason Volk
6d3eb3ae85 fixup! ircd::db: Fix cache iteration interpretation. 2018-08-21 00:42:13 -07:00
Jason Volk
ca0dcd36e4 ircd::db: Supply fs::uuid in this env callback. 2018-08-21 00:21:06 -07:00
Jason Volk
1f8a756f23 ircd::db: Comment / minor cleanup. 2018-08-21 00:20:54 -07:00
Jason Volk
0f021e09d4 ircd::db: Fix cache iteration interpretation. 2018-08-21 00:20:30 -07:00
Jason Volk
11f266aa37 ircd::db: Fix exclusion and lock option required for cache iteration. 2018-08-21 00:19:53 -07:00
Jason Volk
d4c51a2d45 ircd::db: Disable interruption for rocksdb entry surface. 2018-08-19 20:11:41 -07:00
Jason Volk
c7080bf144 ircd::db: Disable interruption for these env surfaces. 2018-08-19 20:11:40 -07:00
Jason Volk
d4b98e04e9 ircd::db: Minor cleanup. 2018-08-19 18:35:42 -07:00
Jason Volk
0dd075ab78 ircd::db: Checkin some options related. 2018-08-19 01:16:49 -07:00
Jason Volk
b8936261b5 ircd::db: Add some exception handlers on these envs. 2018-08-19 01:14:54 -07:00
Jason Volk
e620965d4c ircd::db: Make request pool size a conf item. 2018-08-18 22:10:39 -07:00
Jason Volk
ff4e20d948 ircd::db: Minor commentary on interruption. 2018-08-18 21:02:42 -07:00
Jason Volk
c2c68e386d ircd::db: Fix these missing retvals. 2018-08-18 20:59:42 -07:00
Jason Volk
9165c71afd ircd::db: Concurrent row seek. 2018-08-18 20:59:28 -07:00
Jason Volk
89e920fdd4 ircd::db: Add column cache check util. 2018-08-18 20:40:23 -07:00
Jason Volk
65b18ae7a6 ircd::db: Concurrent row requests. 2018-08-18 19:30:25 -07:00
Jason Volk
1b7e3af966 ircd::db: Simplify internal seek stack; minor cleanup. 2018-08-18 18:41:22 -07:00
Jason Volk
e2c17d2595 ircd::db: Add some arbitrary sanity checks on port structures. 2018-08-18 18:20:38 -07:00
Jason Volk
8537cca439 ircd::db: Improvements to cache interface. 2018-08-18 17:59:31 -07:00
Jason Volk
9cee6a40c9 construct: Interruption point after command. 2018-08-17 14:26:44 -07:00
Jason Volk
bf429e0c9e ircd::db: Mask interruption for compaction operations. 2018-08-17 14:13:27 -07:00
Jason Volk
eca3a5b85b ircd::db: No need for adopt_lock here. 2018-08-17 13:38:32 -07:00
Jason Volk
850fd0238a ircd::db: Remove offload shenanigans. 2018-08-17 12:51:49 -07:00
Jason Volk
31ff4f68cb ircd::db: Plug env::random_access_file into AIO. 2018-08-17 12:51:48 -07:00
Jason Volk
6db0659c06 ircd::db: Enable port; minimal context pool state. 2018-08-17 12:51:48 -07:00
Jason Volk
26a856acb8 ircd::db: Appropriately case these reflections. 2018-08-17 12:51:48 -07:00
Jason Volk
928e40ada0 ircd::db: Minor cleanup; add additional env log msg. 2018-08-17 12:51:48 -07:00
Jason Volk
a98bd357df construct/ircd: Add -pitrecdb option to allow point-in-time recovery. 2018-07-06 17:09:33 -07:00
Jason Volk
3ba3ef46af ircd::db: Fix SST file creation on open; disable sst mgr to remove extra thread spawn. 2018-07-04 16:47:11 -07:00
Jason Volk
5ab8b9bdae ircd::db: Add init warning for no compression; minor reorg inits. 2018-06-12 01:00:15 -07:00
Jason Volk
960553f279 ircd::db: Checkpoint skeleton state structure for env. 2018-06-09 13:40:21 -07:00
Jason Volk
4ce6b69f69 ircd::db: Additional env debug messages. 2018-06-02 09:18:01 -07:00
Jason Volk
fd41a3b9c1 ircd::db: Add db env debug log msg to WaitForJoin. 2018-06-01 12:36:46 -07:00
Jason Volk
7e25d99cc6 ircd::db: Convert rocksdb::port from pthread to ircd::ctx. 2018-06-01 12:36:46 -07:00
Jason Volk
d56c856573 ircd::db: Reorg to group all thread related env callbacks together. 2018-06-01 06:23:39 -07:00
Jason Volk
7461de8b3d ircd::db: Condition to check database from ircd::checkdb via -checkdb command line option. 2018-05-31 12:47:37 -07:00
Jason Volk
73fc596cb6 ircd::db: Add experimental port linktime override suite. 2018-05-30 04:59:04 -07:00
Jason Volk
3e6fdbd93d ircd::db: Use #defines rather than comments for excessive log calls. 2018-05-29 02:52:47 -07:00
Jason Volk
4dd0b6c7b2 ircd::db: Minor syntax cleanups. 2018-05-29 01:42:04 -07:00
Jason Volk
d4c2ec6b22 ircd::db: Fix iterator invalidation from a cache-missing seek. 2018-05-25 06:21:03 -07:00
Jason Volk
2564b28743 ircd::db: Properly maintain db::gopts as iterator state. 2018-05-25 03:07:30 -07:00
Jason Volk
ff21175036 ircd::db: Integrate checkpointing with database name and path schema. 2018-05-24 20:52:49 -07:00
Jason Volk
4ce29f1d22 ircd::db: Add cache clear interface w/ console cmd. 2018-05-24 01:18:58 -07:00
Jason Volk
7bfe9e94a1 ircd::db: Default to no checksums on all reads; add conf item; adjust opts. 2018-05-23 18:45:27 -07:00
Jason Volk
5708d9c36b ircd::db: Consolidate various stats interfaces into header. 2018-05-23 17:04:02 -07:00
Jason Volk
77755a2ab4 ircd::db: Add interface to rocksdb iostats w/ console cmd. 2018-05-23 16:57:49 -07:00
Jason Volk
1c20df652b ircd::db: Elaborate interface to the rocksdb perf_context. 2018-05-23 16:27:44 -07:00
Jason Volk
8b15512849 ircd::db: Add database's unique id string interface. 2018-05-22 17:01:01 -07:00
Jason Volk
9d5afc8e87 ircd::db: Add separate check(database); Add log notice when checking on open. 2018-05-22 16:52:34 -07:00
Jason Volk
1afba986b3 ircd::db: Support additional rdb comparator features. 2018-05-21 19:52:18 -07:00
Jason Volk
c2b45aacc3 ircd::db: Use better column count in row ctor. 2018-05-19 23:13:54 -07:00
Jason Volk
296eff7c5d ircd::db: Removed unused cell features. 2018-05-19 18:49:06 -07:00
Jason Volk
ab4f2b362f ircd::db: Decrease temp default row cache size. 2018-05-19 18:49:05 -07:00
Jason Volk
47b28d9295 ircd::db: Add cache key remover. 2018-05-19 18:49:04 -07:00
Jason Volk
9e0acde5cf ircd::db: Add cache entry iteration (experimental). 2018-05-19 18:49:04 -07:00
Jason Volk
8f40fd574a ircd::db: Interface to test if cache entry exists. 2018-05-19 18:49:04 -07:00
Jason Volk
f97c9fff99 ircd::db: Add interface to database & column caches. 2018-05-19 18:49:04 -07:00
Jason Volk
507b8e4f1c ircd::db: Minor cleanup. 2018-05-19 18:49:04 -07:00
Jason Volk
9388e65250 ircd::db: Fix constness of colname vector values. 2018-05-19 18:49:02 -07:00
Jason Volk
508baeb4a5 ircd::db: Move vector of colptrs to stack. 2018-05-19 18:49:02 -07:00
Jason Volk
f160963c02 ircd::db: Split column compact range and files operations for interface. 2018-05-10 17:06:35 -07:00
Jason Volk
f34ebec1cf ircd::db: Add convenience read(column) nothrow overloads. 2018-05-04 20:43:05 -07:00
Jason Volk
e6fe7805c1 ircd::db: Minor simplify db::read(column). 2018-05-04 20:43:04 -07:00
Jason Volk
9af649f739 ircd::db: Consolidate write(column) overloads. 2018-04-30 07:18:06 -07:00
Jason Volk
a734798100 ircd::db: Minor cleanup. 2018-04-26 17:52:24 -07:00
Jason Volk
8083a5d71c ircd::db: Add WAL fflush; move table flushes to "sort()"; adjust interfaces. 2018-04-26 17:19:29 -07:00
Jason Volk
93ca1448d1 ircd::db: Verify SST checksums on db open. 2018-04-26 16:48:35 -07:00
Jason Volk
94439a334e ircd::db: Cleanup/Simplify db open ptr construction. 2018-04-26 16:39:59 -07:00
Jason Volk
173093e45a ircd::db: Fix default description to include default column. 2018-04-26 16:22:16 -07:00
Jason Volk
f866c9a4de ircd::db: Flush here does not mean what one might think it means. 2018-04-22 15:08:26 -07:00
Jason Volk
ebea2e2385 ircd::db: Explicitly involve SST files in column compaction. 2018-04-20 17:03:20 -07:00
Jason Volk
6de7fb7b8c ircd::db: Adjust destruction sequence for rocksdb DB::Close() call. 2018-04-20 17:03:20 -07:00
Jason Volk
f3b0fa3b4e ircd::db: Additional option tweaks. 2018-04-20 17:03:20 -07:00
Jason Volk
e3b2bcf19d ircd::db: Maintain SST file manager instance. 2018-04-20 15:45:57 -07:00
Jason Volk
532f987bd6 ircd::db: Move column compact()/flush() to more consistent place. 2018-04-20 15:22:50 -07:00
Jason Volk
666e509c97 ircd::db: Expose setoptions interface. 2018-04-20 15:22:50 -07:00
Jason Volk
f805344604 ircd::db: Options package for file growth, count and compaction related. 2018-04-20 15:22:50 -07:00
Jason Volk
e6a80082c8 ircd::db: Assertion for non-empty key seek. 2018-04-17 20:30:06 -07:00
Jason Volk
b95a588bc4 ircd::db: Comment/improve descriptor/column options. 2018-04-17 15:28:08 -07:00
Jason Volk
330fe74035 ircd::db: Add file_count and bytes aggregator for all columns in db. 2018-04-17 14:13:36 -07:00
Jason Volk
e009d6763e ircd::db: Fix issues with txn interface. 2018-04-16 15:20:08 -07:00
Jason Volk
7b54dba291 ircd::db: Expose an interface for some counters; add ticker command. 2018-04-15 16:43:09 -07:00
Jason Volk
0c78bf7a9b ircd::db: Add compaction interface. 2018-04-15 02:42:57 -07:00
Jason Volk
f7f2194745 ircd::db: Reenable the histogram collection. 2018-04-15 00:36:33 -07:00
Jason Volk
0a3259afae ircd::db: Custom table opts; table cache; introduce the bloom filter. 2018-04-14 23:10:09 -07:00
Jason Volk
3f72b7ce19 ircd::db: Update gopts; add seqnum option; fix missing readahead. 2018-04-13 22:46:31 -07:00
Jason Volk
bd4a16fab1 ircd::db: Tweak sundry open options. 2018-04-12 23:07:46 -07:00
Jason Volk
b5dd434e7c ircd::db: Adjust db open and close log messages for where waiting happens. 2018-04-12 23:07:46 -07:00
Jason Volk
ae528af7cd ircd::db: Reduce the offloading to a wieldy statement. 2018-04-12 23:07:46 -07:00
Jason Volk
455ff99b93 ircd::db: Error reporting and fallbacks for db property queries. 2018-04-12 23:07:45 -07:00
Jason Volk
28d4ebfba2 ircd::db: Improve the db::has() query: no value read when using iterator. 2018-04-09 16:57:13 -07:00
Jason Volk
dc5a1554f6 ircd::db: Fallback wo/ user equality comparator. 2018-04-09 16:50:50 -07:00
Jason Volk
1268d90fb0 ircd::db: RocksDB to 5.12.2. 2018-04-09 15:57:05 -07:00
Jason Volk
e160205959 ircd::db: Mark sundry db open options related. 2018-04-09 15:56:14 -07:00
Jason Volk
3e27f5be06 ircd::db: Fix/tweak db fsck log messages. 2018-04-09 11:52:06 -07:00
Jason Volk
343a1f38a3 ircd::db: Improve dbopts string manipulation related. 2018-04-09 11:51:36 -07:00
Jason Volk
23b1a7e032 ircd::db: Workaround issue querying the filtration after db reopen. 2018-04-08 22:11:29 -07:00
Jason Volk
2bce600a60 ircd::db: Wrap interface to get db's file list. 2018-04-03 11:44:57 -07:00
Jason Volk
1dc2daa5e9 ircd::db: Wrap interface to toggle file deletions. 2018-04-03 11:30:37 -07:00
Jason Volk
cfb80085a8 ircd::db: Support map-based property retrieval. 2018-04-03 11:14:47 -07:00
Jason Volk
0bf6742ac9 ircd::db: Typedef / minor reorg property related interface. 2018-04-03 11:01:28 -07:00
Jason Volk
b5060a5e46 ircd::db: Create specific DB dir manually to avoid rocksdb error log msg. 2018-04-02 17:19:01 -07:00
Jason Volk
14b7a088ee ircd::db: Minor cleanup. 2018-04-02 17:18:56 -07:00
Jason Volk
7657fde5db ircd::db: Add function to get single txn into closure by seqnum. 2018-03-27 21:44:01 -07:00
Jason Volk
1e99077169 ircd::db: Fix erroneous param in debug log. 2018-03-24 14:55:53 -07:00
Jason Volk
83bdb7161c ircd::db: Add interface to iterate the database's txn log. 2018-03-22 20:52:14 -07:00
Jason Volk
2671f4eb90 ircd::db: Add txn ctor claiming a rocksdb::WriteBatch. 2018-03-22 20:52:14 -07:00
Jason Volk
d40b18633f ircd::db: Move txn::handler struct to db/database headers. 2018-03-22 20:47:46 -07:00
Jason Volk
fcbc2bf650 ircd::db: Add database checkpointing feature. 2018-03-22 20:08:50 -07:00
Jason Volk
421f2f5220 ircd::db: Util to flush all columns in db. 2018-03-22 19:55:15 -07:00
Jason Volk
cbfb105765 ircd::db: Minor cleanup; interface const consistency on our side. 2018-03-22 19:39:14 -07:00
Jason Volk
23f294df86 ircd::db: Timers on has() and commit paths. 2018-03-13 22:44:13 -07:00
Jason Volk
baa7a80b68 ircd: Various fixes; bump default db LRU cache sizes. 2018-03-02 08:02:20 -08:00
Jason Volk
57ed24f868 ircd::db: Reenable the background work cancel for shutdown sequence. 2018-02-05 21:24:36 -08:00
Jason Volk
5cf77cf87c ircd::db: Don't silently refuse seek() when no snapshot. 2018-02-05 21:24:36 -08:00
Jason Volk
06816f9e33 ircd::db: Allow gopts parameter to the cell::seek(). 2018-02-05 21:24:36 -08:00
Jason Volk
be624ca7f6 Update Copyrastafaris. 2018-02-05 21:24:34 -08:00
Jason Volk
d53eef4ab6 ircd: Eliminate the raw_buffer concept. 2018-02-05 18:54:55 -08:00
Jason Volk
365fabe638 ircd::db: Rename iov to txn (since iov should really be a rocksdb::SliceParts). 2018-01-30 09:58:36 -08:00
Jason Volk
b926e6b42d ircd::db: Add nothrow overloads to the column viewer. 2018-01-27 10:07:08 -08:00
Jason Volk
b34608fba2 ircd::db: Update arguments to ircd::buffer; fix error. 2018-01-26 10:29:36 -08:00
Jason Volk
c06dd2e9df ircd::db: Split internal db header. 2018-01-23 16:35:28 -08:00
Jason Volk
1a90a91a7b ircd::db: Suppress this noise for now. 2018-01-23 15:07:05 -08:00
Jason Volk
054c50edcc ircd::db: Split up / reorg database/env related. 2018-01-18 17:59:22 -08:00
Jason Volk
c9b89ec6ef ircd::db: Plan on not sending any exceptions through RocksDB... 2018-01-18 03:55:28 -08:00
Jason Volk
09e32dce56 ircd::db: Move this out of the ptr's destructor. 2018-01-17 21:44:56 -08:00
Jason Volk
ce89a705c0 ircd::db: Add remaining environment stubs. 2018-01-17 21:38:17 -08:00
Jason Volk
8f3483391e ircd: Minor log suppressions via comment. 2018-01-17 21:38:17 -08:00
Jason Volk
169f5aef84 ircd::db: Add data() participant for rocksdb::Slice. 2018-01-17 21:38:17 -08:00
Jason Volk
87f0f3bc5a ircd::db: Add additional environment stubs for writable_file; minor cleanup. 2018-01-17 21:38:17 -08:00
Jason Volk
48c798de3f ircd::db: Add size() participant for rocksdb::Slice. 2018-01-17 21:38:17 -08:00
Jason Volk
625dc73978 ircd::db: Skeleton stubs for basic environment. 2018-01-17 21:38:17 -08:00
Jason Volk
79447c504a ircd::db: Reorg internal headers to directory. 2018-01-17 21:38:17 -08:00
Jason Volk
e4f6b64fec ircd::db: Update copyrights; use doxygen comments; minor cleanup. 2018-01-17 21:38:17 -08:00
Jason Volk
51d729fa3a ircd::db: Use off-stack buffer here for logging. 2018-01-11 22:29:00 -08:00
Jason Volk
01feeaab6e ircd::db: Provide len to elide the strlen(buf) on string_view{buf}. 2017-12-28 13:32:44 -07:00
Jason Volk
1ddf0f546a ircd: Update various comments / documentation. 2017-12-12 14:59:40 -07:00
Jason Volk
f928630747 ircd::db: Checkpoint current experimentals here. 2017-11-30 11:23:47 -08:00
Jason Volk
1c4d519db7 ircd::db: Use log::NOTICE facility rather than log::WARNING here. 2017-11-30 11:23:47 -08:00
Jason Volk
a046a56d0d ircd: Wrap the std::terminate() handler and add some related toys. 2017-11-30 11:23:46 -08:00
Jason Volk
f81a9d8da9 ircd::db: Remove cruft from moving query out of db. 2017-11-30 11:23:46 -08:00
Jason Volk
5b61e1d01f ircd::net/db: Hard debug log quiet for now; minor cleanup. 2017-11-30 11:23:44 -08:00
Jason Volk
87c6f91530 ircd::db: Improve column find by name from linear to logn; can still be O(1) with more work. 2017-11-30 11:23:44 -08:00
Jason Volk
bc5f429681 ircd::db: Fix a rocksdb api misuse. 2017-11-30 11:23:41 -08:00
Jason Volk
417e8ecad0 ircd::db: Fix comment; suppress a very verbose seek log message here. 2017-11-30 11:23:40 -08:00
Jason Volk
3c0d5bd5d6 ircd::db: Fix empty row seek; fix potential coherence issue on offload. 2017-10-17 00:47:30 -07:00
Jason Volk
5ca5f4b405 ircd::db: Improve formatting for seek debug messages. 2017-10-15 21:19:34 -07:00
Jason Volk
db43edb212 ircd: Various labels to help de-virtualization on recommendation of -Wsuggest-final-types. 2017-10-11 18:18:18 -07:00
Jason Volk
ec89d0ca25 ircd::db: I don't think this warning matters... 2017-10-03 04:27:13 -07:00
Jason Volk
3d754bffba ircd::db: Give RocksDB its own logging facility. 2017-10-03 04:17:11 -07:00
Jason Volk
ade7a138c4 ircd::db: Simplify the db::row using vector_view<cell>. 2017-10-03 04:17:09 -07:00
Jason Volk
dc1281a17c ircd::db: Fix iov related. 2017-10-03 04:17:08 -07:00
Jason Volk
f8d6e2dddc ircd::db: Update docs. 2017-10-03 04:17:08 -07:00
Jason Volk
dacff8eb9f ircd::db: Rename where to query. 2017-10-03 04:17:08 -07:00
Jason Volk
d4508e157f ircd:Ⓜ️ Deduplicate user related in m::user. Update various resource related. 2017-09-24 20:48:53 -07:00
Jason Volk
196d158398 ircd::db: Improve debug log messages. 2017-09-24 18:16:45 -07:00
Jason Volk
2a579390be ircd::db: Minor cleanup. 2017-09-24 18:16:45 -07:00
Jason Volk
0b1c37c585 ircd::db: Fix reverse iteration; cleanup seek; add ORDERED flag (prelim). 2017-09-24 18:16:44 -07:00
Jason Volk
c138c53449 ircd::db: Log snapshot sequence numbers. 2017-09-24 18:16:44 -07:00
Jason Volk
dd7c1adb05 ircd::db: Add timer to row seek. 2017-09-24 18:16:44 -07:00
Jason Volk
d7c59f4e49 ircd::db: Improve seek() stack. 2017-09-24 18:16:44 -07:00
Jason Volk
4077307ab5 ircd::db: Minor cleanup. 2017-09-24 18:16:43 -07:00
Jason Volk
1a35514653 ircd::db: Fixes for reverse iteration. 2017-09-24 18:16:43 -07:00
Jason Volk
10eabc5e40 ircd::db: Remove this from row constructor. 2017-09-24 18:16:43 -07:00
Jason Volk
c4b34b9e66 ircd::db: cell constructor branch on empty key. 2017-09-24 18:16:43 -07:00
Jason Volk
b29224aa3a ircd::db: Cleanup comparator related. 2017-09-24 18:16:43 -07:00
Jason Volk
56074325a1 ircd::db: Use extern const comparators and expose them in headers. 2017-09-24 18:16:41 -07:00
Jason Volk
69eab27209 ircd::db: Complete reverse iterations. 2017-09-24 18:16:41 -07:00
Jason Volk
dae391a578 ircd::db: Refactor opts to not store ilists; cleanup index/column relationship; cleanup where. 2017-09-24 18:16:41 -07:00
Jason Volk
f7708f47f6 ircd::db: Test valid-equal to index on cell load. 2017-09-24 18:16:40 -07:00
Jason Volk
fc753f7440 ircd::db: Add constant time seek to column in row by index number. 2017-09-24 18:16:40 -07:00
Jason Volk
46588d0ae8 ircd::db: Public functions to get the descriptor for a column. 2017-09-24 18:16:39 -07:00
Jason Volk
0d393c58dd ircd::db: Various cleanup / movements. 2017-09-24 18:16:38 -07:00
Jason Volk
68b0356203 ircd: Simplify some info log messages. 2017-09-24 18:16:37 -07:00
Jason Volk
5e137c676f ircd::db: Use vector for descriptors. 2017-09-24 18:16:37 -07:00
Jason Volk
c50461c4c6 ircd::db: Rename txn to iov. 2017-09-24 18:16:37 -07:00
Jason Volk
fb026f58a7 ircd::db: Add features to txn. 2017-09-24 18:16:37 -07:00
Jason Volk
d7e9c9182a ircd::db: Add txn class to compose a transaction in stages. 2017-09-24 18:16:37 -07:00
Jason Volk
b27a2a6423 ircd::db: Support constant-time column lookup by id; various cleanup/fixes. 2017-09-24 18:16:37 -07:00
Jason Volk
5261f9dd25 ircd::db: row cleanup / fixes. 2017-09-24 18:16:36 -07:00
Jason Volk
7d61dc4441 ircd::db: Reflect with string_view. 2017-09-24 18:16:36 -07:00
Jason Volk
276a902a62 ircd::db: Improve valid checking and valid() suite. 2017-09-24 18:16:36 -07:00
Jason Volk
1f8fb24e8d ircd: Update various comments. 2017-09-24 18:16:36 -07:00
Jason Volk
ccbd507c35 ircd::db: Fix issues with cell. 2017-09-24 18:16:35 -07:00
Jason Volk
eaca7429b6 ircd::json: Simplify grammar / various cleanup. 2017-09-24 18:16:35 -07:00
Jason Volk
ca9ea5ac0c ircd::db: Simplify/fix seek(row). 2017-09-24 18:16:34 -07:00
Jason Volk
a89a8dfa5f ircd::db: Add preliminary cursor and where clause query. 2017-09-08 03:47:52 -07:00
Jason Volk
d219858e73 ircd::db: Improve commitment stack. 2017-09-08 03:47:52 -07:00
Jason Volk
682686bcae ircd::db: Employ c++1z extensions to namespacing. 2017-09-08 03:47:52 -07:00
Jason Volk
5f25d90fd2 ircd::db: Add index interface. 2017-09-08 03:47:52 -07:00
Jason Volk
1e7c0daed2 ircd::db: Improve opts, snapshot, and conversions for column::iterator. 2017-09-08 03:47:51 -07:00
Jason Volk
cbdd176819 ircd::db: Remove unnecessary shared_ptr for column instance. 2017-09-08 03:47:50 -07:00
Jason Volk
e46faaf882 ircd::db: Support prefix indexing. 2017-09-08 03:47:50 -07:00
Jason Volk
69917f153f ircd::db: Add json::tuple related and utils to row. 2017-09-08 03:47:50 -07:00
Jason Volk
0ca1ebba61 ircd::db: Fix valid condition bugs and minor cleanup. 2017-09-08 03:47:49 -07:00
Jason Volk
19c5e6c83b ircd::db: Add generalized database delta interface. 2017-09-08 03:47:49 -07:00
Jason Volk
f729fd0917 ircd::db: Expose enum class pos. 2017-09-08 03:47:49 -07:00
Jason Volk
e583c0885d ircd::db: Improve seek() interface suite. 2017-09-08 03:47:49 -07:00
Jason Volk
62a68d8931 ircd::db: Use pointers in the delta tuple for more flexible semantics. 2017-09-08 03:47:49 -07:00
Jason Volk
ca608402f5 ircd::db: Various improvements to DB subsystem. 2017-08-23 15:52:15 -06:00
Jason Volk
9f12672567 ircd::db: Fix seek offload procedure. 2017-08-23 15:52:15 -06:00
Jason Volk
e09f272592 ircd::db: Improve/comment DB subsystem; Add version identification. 2017-08-23 15:38:51 -06:00
Jason Volk
4f095024ee ircd::db: Update pure-virtual requirement in database::stats. 2017-08-23 15:19:35 -06:00
Jason Volk
e7844a0771 ircd::db: Database system developments. 2017-04-04 16:10:29 -07:00
Jason Volk
a2625b9f4b fixup! ircd::db: Develop object-store out of db system. 2017-03-30 18:18:28 -07:00
Jason Volk
16c1326d40 ircd::db: Develop object-store out of db system. 2017-03-30 16:04:20 -07:00
Jason Volk
a366731a4b ircd::db: Support column families. 2017-03-30 16:04:19 -07:00
Jason Volk
0c42835fa3 ircd::db: Integrate rocksdb::Logger with our logger. 2017-03-30 16:04:19 -07:00
Jason Volk
1f6d83b5b1 ircd::db: additional support: stats, callbacks and merge operator. 2017-03-30 16:04:18 -07:00
Jason Volk
0d09170507 ircd::db: Leverage the RocksDB WriteBatch with an initializer_list. 2017-03-30 16:04:18 -07:00
Jason Volk
42ce334528 ircd::db: throw not_found for now in this case. 2017-03-20 04:25:01 -07:00
Jason Volk
c9ddf4f6ab ircd: Add lex_cast wrapper interface; various cleanup. 2017-03-14 15:03:15 -07:00
Jason Volk
b592b69b86 What is the Matrix? Control. 2017-03-10 17:51:18 -08:00
Jason Volk
bbd73746c3 ircd::ctx: Abstract the db::work subsystem into ctx::ole OffLoad Engine (OLE). 2016-09-27 17:28:24 -07:00
Jason Volk
33cc4c19d7 ircd::db: Add standard iteration + caching/options improvements. 2016-09-27 17:27:48 -07:00
Jason Volk
acd5593aac ircd::db: Develop basic key/value API. 2016-09-27 17:27:48 -07:00
Jason Volk
3083bb8e62 ircd::db: Add logging mask for db subsys and improve handle opening messages. 2016-09-27 17:27:48 -07:00
Jason Volk
34eae9a829 ircd::db: Develop options system for database. 2016-09-27 17:27:48 -07:00
Jason Volk
5df4bf6da2 ircd::db: Add database interface. Support RocksDB. 2016-09-27 02:20:42 -07:00