Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
67a6754
feat(core): inline xsd:decimal encoding primitives
bplatz Jun 13, 2026
751ea0a
fix(binary-index): wire inline decimal decode in decode_value_v3
bplatz Jun 13, 2026
76ee0ed
feat(core,index): decimal encoding policy derived from root version
bplatz Jun 13, 2026
7028e17
feat(indexer): resolver emits inline decimals under InlineWhenFits
bplatz Jun 13, 2026
bac5560
feat(query): encode decimal query constants under the root's policy
bplatz Jun 13, 2026
b93bde9
feat(query): materialize inline decimals at all decode sites
bplatz Jun 13, 2026
d5475e0
feat(query): exclude inline decimals from o_key-order pushdown
bplatz Jun 13, 2026
ef09dcc
feat(indexer,core): enable inline decimals on full reindex (v3 roots)
bplatz Jun 13, 2026
6fcf026
fix(indexer): classify inline decimals as DECIMAL in rebuild stats
bplatz Jun 13, 2026
6be5df4
fix(query): key overlay translation cache on decimal policy
bplatz Jun 13, 2026
67887a7
feat(import): write inline decimals on bulk import (v3 roots)
bplatz Jun 13, 2026
e0279b7
style: rustfmt inline-decimal additions
bplatz Jun 13, 2026
68003de
docs,test: note CommitResolver is non-production; cover decimal fold-…
bplatz Jun 13, 2026
0576ce1
feat(core): order-preserving inline decimal codec
bplatz Jun 13, 2026
b23c64f
feat(query): admit inline decimals to range / ORDER BY pushdown
bplatz Jun 13, 2026
c94833e
style(core): digit separators in decimal property-test literal
bplatz Jun 13, 2026
f6ca7f2
feat(query): admit inline decimals to numeric MIN/MAX fast path
bplatz Jun 13, 2026
3a5e4cc
feat(query): range-scan pushdown for uniform inline-decimal predicates
bplatz Jun 13, 2026
c5058ab
feat(query): generalize range pushdown to integer and double predicates
bplatz Jun 14, 2026
bd30abf
fix(query): close range-pushdown gaps from review
bplatz Jun 14, 2026
efb340d
test,docs: integer-base cross-type novelty guard; refresh uniform-o_t…
bplatz Jun 14, 2026
d5a2527
docs: refresh otype_unsupported_numeric comment after numeric general…
bplatz Jun 14, 2026
3b08b59
Merge branch 'fix/decimal-exactness' into feature/inline-decimal-enco…
bplatz Jun 16, 2026
07eec3e
Merge branch 'main' into feature/inline-decimal-encoding
bplatz Jun 16, 2026
93e2209
Merge remote-tracking branch 'origin/main' into feature/inline-decima…
bplatz Jun 23, 2026
2f2295e
chore: reconcile IndexRoot test literals after main merge
bplatz Jun 23, 2026
1b6e057
fix(import): don't block the runtime worker on parsed-chunk recv
bplatz Jun 23, 2026
7f13c54
Merge remote-tracking branch 'origin/main' into feature/inline-decima…
bplatz Jun 30, 2026
7be8837
test: align decimal exactness test with canonical inline encoding
bplatz Jun 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions fluree-db-api/src/import.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3629,6 +3629,7 @@ where
numbig_pool: Arc::new(SharedNumBigPool::new()),
vector_pool: Arc::new(SharedVectorArenaPool::new()),
ns_alloc: Arc::clone(&shared_alloc),
decimal_encoding: IMPORT_DECIMAL_ENCODING,
});

// Pre-insert rdf:type so we know the predicate ID before Phase A begins.
Expand Down Expand Up @@ -5112,6 +5113,13 @@ struct IndexUploadResult {
has_annotations: bool,
}

/// Decimal-encoding policy for a fresh bulk import. Like a full reindex, a new
/// import adopts the inline-decimal (v3) format. This is the single source for
/// BOTH the spool object resolution ([`SpoolConfig::decimal_encoding`]) and the
/// written root version — they must agree or decimal identity would split.
const IMPORT_DECIMAL_ENCODING: fluree_db_core::DecimalEncoding =
fluree_db_core::DecimalEncoding::InlineWhenFits;

#[allow(clippy::too_many_arguments)]
async fn build_and_upload<S>(
storage: &S,
Expand Down Expand Up @@ -5896,6 +5904,9 @@ where
// and stays out of the bootstrap path.
had_annotation_arena: false,
ns_split_mode: input.ns_split_mode,
// Same source as the spool object resolution (SpoolConfig): the root
// version must match how the import encoded decimals.
decimal_encoding: IMPORT_DECIMAL_ENCODING,
};

// Encode and upload FIR6 root.
Expand Down
Loading
Loading