fdb-record-layer
fdb-record-layer copied to clipboard
A record-oriented store built on FoundationDB
Let's assume we have the following schema: ```sql create type as struct nested(a bigint, b bigint) create table t2(id bigint, col1 nested, primary key(id)) insert into t2 values (1, null),...
This code in `ExistsValue` looks extremely incorrect: ``` // TODO this is sus private static Value encapsulateInternal(@Nonnull final List
But does not. Investigate why and make it inherit those properties if appropriate.
Currently it is possible to request optimizing illegal logical plans. For example, if a plan contains ambiguous correlations, i.e. an expression that has multiple correlations sharing the same name. We...
In particular, it looks like ungrouped aggregate indexes may leave data behind because it does a range clear on the index subspace. Similarly, TimeWindowLeaderboard stores data in the secondary index...
If a RecordMetaData has an ungrouped RecordCountKey, and the RecordCountKey is removed, data will be left behind by checkVersion. The code that clears existing data https://github.com/FoundationDB/fdb-record-layer/blob/b74cbc2e7abd93697740917ad5d41afadcef3737/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStore.java#L4845 Uses: ``` context.clear(getSubspace().range(Tuple.from(RECORD_COUNT_KEY))); ```...
When we create an `Enum` type in SQL, the DDL starts assigning the enumeration values with numbers starting from `0` https://github.com/FoundationDB/fdb-record-layer/blob/5a659363cf42c602936a3d2fb6a67a2c9d7b8528/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/visitors/DdlVisitor.java#L187-L190 which could have unexpected side-effects considering how proto3 attributes...
It would be nice to rewrite this class, and make consistent reasoning about the nullability of certain attributes that guide the actual behavior of it. Plus fixing some incorrect casting...
There are several shortcomings for `NormalizedResidualPredicateProperty`. - it's using the simplified API for all expressions but then only really cares about plans - compilation does not fail when new plan...
There are some scenarios during meta-data roll out that are complicated by the fact that today, one must have a record type defined for every single element in the union...