Jason Volk
533d129322
ircd::db: Enable histogram interface; partial data tally.
2018-09-25 22:18:37 -07:00
Jason Volk
e5a96aab93
ircd::db: Deinline stats ctor; zero-init histogram; implement Reset().
2018-09-25 21:20:02 -07:00
Jason Volk
4e3efb73d3
ircd::db: Use cfmd rather than live-files way to get column family metadata.
2018-09-24 23:10:27 -07:00
Jason Volk
2f3c461664
ircd::db: Place linkage for db comparators so they have one address.
2018-09-24 22:00:21 -07:00
Jason Volk
e0bed2dc3e
ircd::db: Add sst dump writer; move sst tool.
2018-09-22 15:04:38 -07:00
Jason Volk
99ff78f5c7
ircd::db: Create an sst utility space; move fileinfo into sst.
2018-09-22 13:28:44 -07:00
Jason Volk
f7da7d9be8
ircd::db: Support SST dump tooling.
2018-09-21 17:33:34 -07:00
Jason Volk
7834c86360
ircd::db: Add support for direct SST file ingestion.
2018-09-21 15:08:57 -07:00
Jason Volk
ae36485d13
ircd::db: Add back the target level to range compact.
2018-09-20 23:30:51 -07:00
Jason Volk
7676bd0944
ircd::db: Add a fileinfo wrapping interface.
2018-09-20 15:57:15 -07:00
Jason Volk
f80aaa7904
ircd::db: Add util to get file list for specific column.
2018-09-20 15:56:46 -07:00
Jason Volk
c1a2e44ce0
ircd::db: Mask interruption; noexcept in filter overrides.
2018-09-19 17:16:08 -07:00
Jason Volk
7427ec991c
ircd::db: Add closure on manual compaction arguments.
2018-09-19 17:16:08 -07:00
Jason Volk
9afac08e40
ircd::db: Simplify compaction callback argument requirements w/ struct.
2018-09-19 17:16:07 -07:00
Jason Volk
1faa7e5fdd
ircd::db: Update and add various README's.
2018-09-19 16:11:21 -07:00
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