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

322 commits

Author SHA1 Message Date
Jason Volk
53651ad808 ircd::db: Move database::descriptor out to db::descriptor. 2018-09-19 15:38:37 -07:00
Jason Volk
b979426f7a ircd::db: Update event-listener related. 2018-09-18 18:37:46 -07:00
Jason Volk
fc09ba81af ircd::db: Add compaction callback interface. 2018-09-18 15:07:09 -07:00
Jason Volk
176e70d2c7 ircd::db: Add table block_size setting to column descriptor. 2018-09-17 21:26:55 -07:00
Jason Volk
66edb4a7fb ircd::db: Add custom cache stats ticker. 2018-09-05 03:13:05 -07:00
Jason Volk
a5d014d10a ircd::db: Use our cache wrapping for block and compressed column caches. 2018-09-02 17:53:24 -07:00
Jason Volk
084d434c59 ircd::db: Add internal cache wrapper interface; add comment. 2018-09-02 17:53:24 -07:00
Jason Volk
62426ab210 ircd::db: Add column prefetch. 2018-09-01 07:15:03 -07:00
Jason Volk
ff7d2514a0 ircd::db: Remove the cache prefetch/fetch interface. 2018-09-01 07:15:03 -07:00
Jason Volk
3833aa70cb ircd::db: Additional trivial vtable placements. 2018-08-28 15:44:03 -07:00
Jason Volk
a4e4424ede ircd: Improve main control flow for termination condition during init. 2018-08-28 15:04:23 -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
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
6d3eb3ae85 fixup! ircd::db: Fix cache iteration interpretation. 2018-08-21 00:42:13 -07:00
Jason Volk
0f021e09d4 ircd::db: Fix cache iteration interpretation. 2018-08-21 00:20:30 -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
1b7e3af966 ircd::db: Simplify internal seek stack; minor cleanup. 2018-08-18 18:41:22 -07:00
Jason Volk
8537cca439 ircd::db: Improvements to cache interface. 2018-08-18 17:59:31 -07:00
Jason Volk
5326f434d9 ircd::db: No need to start pools with more than 0 ctxs. 2018-08-17 12:51:50 -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
960553f279 ircd::db: Checkpoint skeleton state structure for env. 2018-06-09 13:40:21 -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
73fc596cb6 ircd::db: Add experimental port linktime override suite. 2018-05-30 04:59:04 -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
1efe069a56 ircd::db: Remove the row tuple template constructor. 2018-05-20 01:48:47 -07:00
Jason Volk
208a0198c0 ircd::json: Add specific extern undefined number. 2018-05-19 22:55:03 -07:00
Jason Volk
df348bccaf ircd::db: Condition to not assign cell with null column pointer. 2018-05-19 22:55:03 -07:00
Jason Volk
fdadd57f6f ircd::db: Fix row from tuple template. 2018-05-19 22:55:02 -07:00
Jason Volk
296eff7c5d ircd::db: Removed unused cell features. 2018-05-19 18:49:06 -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
58ffceec4c ircd::db: Simplify row columns from tuple transform. 2018-05-19 18:49:03 -07:00
Jason Volk
9388e65250 ircd::db: Fix constness of colname vector values. 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
9af649f739 ircd::db: Consolidate write(column) overloads. 2018-04-30 07:18:06 -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
6de7fb7b8c ircd::db: Adjust destruction sequence for rocksdb DB::Close() call. 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
e764747e17 ircd::db: Use actual gt operator for reverse integer less. 2018-04-18 00:25:02 -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
12957038f7 ircd::db: Create template for integer comparators. 2018-04-17 13:42:30 -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
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
54e3719097 ircd::json: Consolidate authority for value defined() semantics. 2018-04-11 23:40:31 -07:00
Jason Volk
1268d90fb0 ircd::db: RocksDB to 5.12.2. 2018-04-09 15:57:05 -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
7657fde5db ircd::db: Add function to get single txn into closure by seqnum. 2018-03-27 21:44:01 -07:00
Jason Volk
301b1d684b ircd::db: Adjust txn seq_closure to take seqnum reference. 2018-03-27 21:44:01 -07:00
Jason Volk
d3c5845ee4 ircd::db: Support different db::op types in txn::append(tuple). 2018-03-24 23:29:46 -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
046029725a ircd::db: Explicit bool cast for column. 2018-03-10 23:04:58 -08:00
Jason Volk
28c7826032 ircd::db: Add txn::append optimization allowing tuple to make direct column deltas. 2018-03-09 19:41:16 -08:00
Jason Volk
2b05df12e3 ircd::db: minor cleanup: move this here. 2018-02-07 23:15:17 -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
610d4ad9da ircd: Minor comment cleanup. 2018-01-25 12:15:40 -08:00
Jason Volk
755783ade8 ircd::db: cleanup: database::column section to column.h; rocksdb fwdecls to file. 2018-01-23 16:35:28 -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
d436861aed ircd::db: Update comment. 2018-01-18 03:55:28 -08:00
Jason Volk
ce89a705c0 ircd::db: Add remaining environment stubs. 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
94b5bc75d3 ircd::db: Update README; remove old cruft. 2017-12-03 13:34:42 -08:00
Jason Volk
4793e4906c ircd:Ⓜ️ Checkpoint matrix top-half / modules. 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
43e35786ce ircd: Move subsystem 'index header' into subsystem directories. 2017-10-19 01:38:03 -07:00
Jason Volk
0d2430fc32 ircd::db: Add iov append for json::tuple. 2017-10-15 21:13:44 -07:00
Jason Volk
d7406d47cc ircd::db: Better hack handling for not-found integer values. 2017-10-03 04:27:14 -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
ec18d81d56 ircd::db: These can be public. 2017-10-03 04:17:07 -07:00
Jason Volk
b2f7e360a1 ircd::db: Allow empty query to index through cursor. 2017-10-03 04:17:07 -07:00
Jason Volk
50eda73d7d ircd::db: Consistent row validity tests for cursor. 2017-09-24 18:16:45 -07:00
Jason Volk
a65a033c3b ircd::db: Add reverse long int comparator; fix reverse string comparator; cleanup. 2017-09-24 18:16:44 -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
1a35514653 ircd::db: Fixes for reverse iteration. 2017-09-24 18:16:43 -07:00
Jason Volk
703121f867 ircd::db: Add reverse string_view comparator. 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
fc753f7440 ircd::db: Add constant time seek to column in row by index number. 2017-09-24 18:16:40 -07:00
Jason Volk
59f9a51404 ircd::db: Cleanup json::tuple assignment related. 2017-09-24 18:16:40 -07:00
Jason Volk
234a34086f ircd::db: Improve where semantics. 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
44f3d2cd27 ircd::json: Recursive tuple members. 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
676baec73d ircd::db: Better cursor comparison. 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
92548464d3 ircd::db: Enumerate all deltas. 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
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
c58836ed56 ircd::db: Move set() for json::tuple; check for undefined. 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
8e9a25aa96 ircd::db: Default init invalid row values. 2017-09-24 18:16:35 -07:00
Jason Volk
12c7999172 ircd::db: Include a difference_type for distance. 2017-09-24 18:16:35 -07:00
Jason Volk
79cb0b0fd3 ircd::db: Move items out of delta.h 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
6c9ad5e513 ircd::db: Remove cruft. 2017-09-24 18:16:34 -07:00
Jason Volk
54d6793f59 Update various documentation and comments. 2017-09-24 18:16:33 -07:00
Jason Volk
6f29784573 ircd: Fix json::member alias. 2017-09-24 18:16:33 -07:00
Jason Volk
aa6cd82fbc ircd::db: Rename file tuple.h to json.h 2017-09-24 18:16:33 -07:00
Jason Volk
a89a8dfa5f ircd::db: Add preliminary cursor and where clause query. 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
0ffaa0d3d6 ircd::db: Add preliminary tuple specific interface. 2017-09-08 03:47:52 -07:00
Jason Volk
d99b927c4a ircd::db: Allow empty delta value with default argument param. 2017-09-08 03:47:51 -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
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
d9a4f06bf6 ircd: Employ namespace scope extensions from c++1z/gnu++14.
This is not a move to c++17. If the compiler happens to have support
for c++17 namespace scope resolution, they have been kind enough to
backport it to gnu++14. This limits our support for really old c++14
compilers, but that was limited anyway. GCC 6.1 and clang 3.6 tested.
2017-09-08 03:47:46 -07:00
Jason Volk
f7c1e43ae9 ircd::db: Abort the object. 2017-09-08 03:45:09 -07:00
Jason Volk
d9f13ee3f1 fixup! ircd::db: Various improvements to DB subsystem. 2017-08-23 15:52:15 -06:00
Jason Volk
ca608402f5 ircd::db: Various improvements to DB subsystem. 2017-08-23 15:52:15 -06:00
Jason Volk
9bbe7b8b4d ircd::db: Add schema_error exception; use for bad column names. 2017-08-23 15:52:15 -06:00
Jason Volk
88201f4e32 ircd::db: Additional comments and explanations. 2017-08-23 15:52:14 -06:00
Jason Volk
e09f272592 ircd::db: Improve/comment DB subsystem; Add version identification. 2017-08-23 15:38:51 -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