Package dev.frostlake.values


package dev.frostlake.values
  • Class
    Description
    The APPROXIMATE family's runtime carrier is a Java double, and these are the rules that follow from it.
    Runtime value of the SQL BINARY type: an immutable byte sequence.
    A value as a CLIENT reads it — the text a driver hands back from getString.
    A whole number read from a scaled NUMBER — 3.00 out of a NUMBER(10,2) — which keeps the DECIMAL kind inside a VARIANT.
    The ONE carrier an exact NUMBER(p, s) column holds, whatever path a value arrives by.
    A JSON double node that remembers it came from a SQL FLOAT — TO_VARIANT of a FLOAT column, a computed double, a ::FLOAT cast — rather than from JSON text.
    Runtime value of the GEOGRAPHY / GEOMETRY types: the GeoJSON model ({"coordinates": …, "type": "Point"} with sorted keys, Snowflake's default output form) plus the KIND — geography (spherical, SRID 4326) or geometry (planar, SRID configurable, default 0).
    NaN and the infinities as SQL sees them — how their words are spelled, and how they compare.
    The statistics a DERIVED relation — a subquery, a CTE, a view — still carries of the one catalog table beneath it, so that a query over the relation is planned from them as a query over the table would be.
    How getString renders a temporal cell, per DECLARED type — measured against a real account's driver, which is the thing a caller compares Frostlake to:
    A JSON string node that remembers the TYPED value it was rendered from.
    A VECTOR living inside a VARIANT: an array of its ELEMENTS, still knowing it is a vector.
    The VARIANT undefined element — the third null of Snowflake's semi-structured layer, alongside SQL NULL and the JSON null.
    The closed interval of values an exact-numeric expression can take, as the account's planner reasons about it: a stored column's interval is its statistics (the least and greatest value in the whole table, whatever a WHERE keeps), a literal's is itself, and arithmetic widens it by interval rules.
    A VARIANT converted to BOOLEAN — by ::BOOLEAN, CAST or TO_BOOLEAN — on the account's terms: it converts only when it holds a boolean.
    Renders a semi-structured value the way Snowflake displays one: indented by JSON_INDENT spaces, compact at zero.
    The VARIANT JSON null (NULL_VALUE) versus SQL NULL boundary.
    The JSON TEXT of a semi-structured value in the account's own spelling, which differs from the engine's canonical text in exactly one place — the DOUBLE family.
    How two VARIANT values order and compare, live-verified member by member.
    The canonical JSON text a VARIANT stores.
    The VARIANT undefined boundary — where a SQL NULL becomes an UndefinedNode and where the sentinel must be told apart from a JSON null.
    Runtime value of the SQL semi-structured family (VARIANT / OBJECT / ARRAY): canonical JSON text plus a lazily parsed tree.
    Runtime value of Snowflake's VECTOR(FLOAT|INT, n) type: a fixed-length list of 32-BIT elements plus the element type.
    Snowflake's XML-in-VARIANT model.