Package dev.frostlake.values
package dev.frostlake.values
-
ClassDescriptionThe 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.00out 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::FLOATcast — 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.HowgetStringrenders 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 VARIANTundefinedelement — 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 VARIANTundefinedboundary — where a SQL NULL becomes anUndefinedNodeand 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'sVECTOR(FLOAT|INT, n)type: a fixed-length list of 32-BIT elements plus the element type.Snowflake's XML-in-VARIANT model.