Uses of Class
dev.frostlake.types.DataType
Packages that use DataType
Package
Description
-
Uses of DataType in dev.frostlake.executor
Fields in dev.frostlake.executor declared as DataTypeModifier and TypeFieldDescriptionstatic final DataTypeDeclarationTypes.WHOLE_NUMBERThe type a whole number gives an untyped declaration.Methods in dev.frostlake.executor that return DataTypeModifier and TypeMethodDescriptionstatic DataTypeAnonymousBlockResult.columnType(DataType type) The type the result column declares for a value oftype: a text at VARCHAR's full width and a binary at BINARY's, whatever width was written (live-verified: a VARCHAR(10) reads VARCHAR(16777216) and a BINARY(10) BINARY(8388608)); any other type as it is.ProceduralExecutor.declaredReturnOfNextBlock()The declared RETURNS type the block about to run judges its direct RETURNs against: only the procedure's OWN block, entered at the depth its body started from, and only for a scalar RETURNS type; null for every other block.StarColumn.getDataType()ProceduralExecutor.getDeclaredVariableType(String name) The declared type recorded for a variable, or null when its declaration carried none.ProceduralExecutor.getReturnedDeclaredType()The declared RETURNS type the executed RETURN converted its value to, or null when it kept its own.ProceduralExecutor.getReturnedResultType()The type the executed RETURN's result column declares (live-verified): the declared RETURNS type when the value converted to it, else the static type of the expression the RETURN names (seeProceduralExecutor.staticTypeOfReturn(dev.frostlake.executor.procedural.ReturnStatement, java.lang.Object)) — a text or a binary one at the column's full width either way, seeAnonymousBlockResult.columnType(dev.frostlake.types.DataType)— else null, which leaves the column to the nominal VARCHAR.DeclaredReturnFrame.getType()The declared RETURNS type, or null for a table-returning or untyped body.ExpressionEvaluator.inferStaticType(Expression expression) The typeexpressionis statically KNOWN to produce in this table context, or null when it cannot be determined.ProceduralExecutor.inferUntypedDeclarationType(BaseExpression initialiser) The type an UNTYPED declaration takes from its initialiser (live-verified): an integer literal makes a NUMBER(38,0), a decimal literal a FLOAT, and a NAME hands over its own type when that is a whole-number NUMBER — a FOR counter's NUMBER(9,0) — or FLOAT when it carries a scale (a NUMBER(10,4) holding 1.7777 makes a FLOAT).static DataTypeDeclarationTypes.ofExpression(Expression expression, Map<String, DataType> typesInScope, QueryExecutor queryExecutor) static DataTypeDeclarationTypes.ofInitialiser(FrostlakeParser.ExpressionContext initialiser, Map<String, DataType> typesInScope, QueryExecutor queryExecutor) SQLCommandVisitor.parseDataType(FrostlakeParser.DataTypeNameContext ctx, FrostlakeParser.TypeParametersContext typeParams) ExpressionEvaluator.spelledNumber(Expression expression) The NUMBERexpressionspells when it is a bare string literal, or a column carrying one out of a derived relation — what a projected column hands on so a conditional over it folds as live folds the literal (see TableColumn#getSpelledNumber); null for anything else.static DataTypeDeclarationTypes.staticType(Expression expression, Map<String, DataType> typesInScope, QueryExecutor queryExecutor) The static type an expression carries over the declared types in scope, as SQL types it — before any widening a declaration applies.ProceduralExecutor.typeOfSqlInitialiser(Expression sqlInitialiser) The type an untyped declaration takes from an initialiserProceduralExecutor.inferUntypedDeclarationType(dev.frostlake.executor.procedural.BaseExpression)does not type directly — seeDeclarationTypes— over the declared types in scope.Methods in dev.frostlake.executor with parameters of type DataTypeModifier and TypeMethodDescriptionProceduralExecutor.coerceArgument(Object value, DataType type) A CALL argument under its parameter's declared type.ProceduralExecutor.coerceToType(Object value, DataType type) Apply a DECLARED type to a value, exactly as the::cast would — live converts at every assignment (a TZ initialiser assigned to a baretimestampbecomes the session mapping's NTZ, assigned to adateit truncates, a scalar assigned to an OBJECT is TO_OBJECT's own refusal and to an ARRAY it wraps), and the declared WIDTH is enforced: a too-long string is refused with the truncation sentence, never silently kept.static DataTypeAnonymousBlockResult.columnType(DataType type) The type the result column declares for a value oftype: a text at VARCHAR's full width and a binary at BINARY's, whatever width was written (live-verified: a VARCHAR(10) reads VARCHAR(16777216) and a BINARY(10) BINARY(8388608)); any other type as it is.voidProceduralExecutor.declareVariableType(String name, DataType type) static ResultSetThe result of a block whose RETURN producedvalue.static StringSystemTypeOfDescription.of(DataType declared, String typeText, ValueRange range, boolean predicate) The description for an argument ofdeclaredtype whose values lie inrange.ProceduralExecutor.pushDeclaredReturn(DataType returnsType, Set<String> parameterNames) Start a procedure body under its declared RETURNS type (null for a table-returning body), and hand back the caller's frame to put back when the body is done.static voidColumnTypeFamilies.rejectIncompatible(DataType targetType, DataType sourceType) Refuse a column-listed CTAS's source column whose family the declared column does not take, with the sentence a CTAS gives:CREATE TABLE t (n NUMBER) AS SELECT 1 = 1is "incompatible types: [BOOLEAN] and [NUMBER(38,0)]" (live-verified).static voidColumnTypeFamilies.rejectMismatch(TableColumn target, DataType sourceType) Refuse a value written totargetwhose static type the column's family does not take, with the write's sentence,Expression type does not match column data type, expecting NUMBER(38,0) but got BOOLEAN for column N.Method parameters in dev.frostlake.executor with type arguments of type DataTypeModifier and TypeMethodDescriptionstatic DataTypeDeclarationTypes.ofExpression(Expression expression, Map<String, DataType> typesInScope, QueryExecutor queryExecutor) static DataTypeDeclarationTypes.ofInitialiser(FrostlakeParser.ExpressionContext initialiser, Map<String, DataType> typesInScope, QueryExecutor queryExecutor) voidExpressionEvaluator.setOutputAliasTypes(Map<String, DataType> types) The static types of the query's SELECT output aliases, so a bare alias in a predicate is typed from the expression it names.static DataTypeDeclarationTypes.staticType(Expression expression, Map<String, DataType> typesInScope, QueryExecutor queryExecutor) The static type an expression carries over the declared types in scope, as SQL types it — before any widening a declaration applies.Constructors in dev.frostlake.executor with parameters of type DataTypeModifierConstructorDescriptionDeclaredReturnFrame(DataType type, int blockDepth, int compoundDepth, Set<String> parameterNames) StarColumn(String expression, String outputName, String sourceName, DataType dataType) StarColumn(String expression, String outputName, String sourceName, DataType dataType, boolean nullable) StarColumn(String expression, String outputName, String sourceName, DataType dataType, boolean nullable, boolean nullabilityKnown) -
Uses of DataType in dev.frostlake.executor.commands
Methods in dev.frostlake.executor.commands that return DataTypeModifier and TypeMethodDescriptionstatic DataTypeDataTypeParser.parse(FrostlakeParser.DataTypeNameContext ctx, FrostlakeParser.TypeParametersContext typeParams) static DataTypeDataTypeParser.parse(FrostlakeParser.DataTypeNameContext ctx, FrostlakeParser.TypeParametersContext typeParams, int bareStringDefault) DataTypeParser.parse(dev.frostlake.parser.FrostlakeParser.DataTypeNameContext, dev.frostlake.parser.FrostlakeParser.TypeParametersContext)with the bare-VARCHAR default the CONTEXT implies —DataTypeParser.CAST_STRING_DEFAULTfor a cast target,DDL_STRING_DEFAULTfor a column definition.ColumnDefinitionParser.parseDataType(FrostlakeParser.DataTypeNameContext ctx) ColumnDefinitionParser.parseDataType(FrostlakeParser.DataTypeNameContext ctx, FrostlakeParser.TypeParametersContext typeParams) -
Uses of DataType in dev.frostlake.executor.expressions
Methods in dev.frostlake.executor.expressions that return DataTypeModifier and TypeMethodDescriptionstatic DataTypeRoutineReturnTypeOracle.bodyType(String expressionText, Table parameters, FunctionRegistry functionRegistry, Catalog catalog) The statically-known type ofexpressionText, or null (undetermined never guesses).static DataTypeThe type the body reads this parameter at.CastExpression.getDeclaredTarget()The parsed target type when its PARAMETERS matter (a structured type, or aVECTOR(t, n)), or null when the plain target-type text says everything.ExpressionEvaluatorVisitor.inferStaticType(Expression expr) The statically-known type ofexprin this table context, or null when undetermined — the projection-time entry point that gives a derived relation's columns their declared types.static DataTypeBinaryOperationTypes.resultOf(BinaryOperator operator, DataType left, DataType right) The result type ofleft operator right, or null when it cannot be determined.ExpressionEvaluatorVisitor.spelledNumber(Expression expr) The NUMBERexprspells when it is a bare string literal, or a column that carries one out of a derived relation, else null — see TableColumn#getSpelledNumber.Methods in dev.frostlake.executor.expressions with parameters of type DataTypeModifier and TypeMethodDescriptionstatic booleanExpressionEvaluatorVisitor.castMatrixRefuses(DataType source, DataType target) Whether the plain cast refuses outright to carry asourcevalue into a SCALARtarget: the matrix's conversion verdict, the pairsExpressionEvaluatorVisitor.rejectUncastableSource(dev.frostlake.executor.expressions.CastExpression)refuses while a statement compiles.static DataTypeThe type the body reads this parameter at.static booleanBinaryOperationTypes.isArithmeticOperand(DataType type) Whether a family may stand beside an arithmetic operator: a number, a text or a VARIANT it converts, or a temporal value the measured temporal table then judges.static booleanBinaryOperationTypes.isLogicalOperand(DataType type) Whether a family may stand beside a logical operator.static Objectstatic StringBinaryOperationTypes.refusalFor(BinaryOperator operator, DataType left, DataType right) The refusal an operand pair earns, or null when the pair is legal or unjudged.static DataTypeBinaryOperationTypes.resultOf(BinaryOperator operator, DataType left, DataType right) The result type ofleft operator right, or null when it cannot be determined.Method parameters in dev.frostlake.executor.expressions with type arguments of type DataTypeModifier and TypeMethodDescriptionvoidExpressionEvaluatorVisitor.setOutputAliasTypes(Map<String, DataType> types) Constructors in dev.frostlake.executor.expressions with parameters of type DataTypeModifierConstructorDescriptionCastExpression(Expression expression, String targetType, boolean tryMode, DataType declaredTarget, CastFieldsModifier fieldsModifier) -
Uses of DataType in dev.frostlake.executor.procedural
Methods in dev.frostlake.executor.procedural that return DataTypeModifier and TypeMethodDescriptionDeclareStatement.getDeclaredType()The variable's declared type, or null when the declaration didn't carry one.SetStatement.getDeclaredType()Constructors in dev.frostlake.executor.procedural with parameters of type DataTypeModifierConstructorDescriptionDeclareStatement(String variableName, Object defaultValue, DataType declaredType) SetStatement(String variableName, BaseExpression expression, DataType declaredType) A LET inside a compound body: an assignment that also declares the name's type. -
Uses of DataType in dev.frostlake.functions
Methods in dev.frostlake.functions that return DataTypeMethods in dev.frostlake.functions with parameters of type DataTypeModifier and TypeMethodDescriptionBuiltInFunction.temporalRejection(int position, int argumentCount, DataType temporal) The refusal this position gives a declared temporal argument of typetemporal.Constructors in dev.frostlake.functions with parameters of type DataTypeModifierConstructorDescriptionprotectedAggregateFunction(String name, DataType returnType) Names the aggregate and fixes its declared result type.protectedBuiltInFunction(String name, DataType returnType) protectedNumericArgumentFunction(String name, DataType returnType) protectedStructuredArgumentFunction(String name, DataType returnType) protectedTextArgumentFunction(String name, DataType returnType) protectedVariantAccessorFunction(String name, DataType returnType) -
Uses of DataType in dev.frostlake.functions.aggregate
Methods in dev.frostlake.functions.aggregate with parameters of type DataTypeModifier and TypeMethodDescriptionvoidApproxTopKStateAccumulator.setDeclaredArgumentType(DataType declaredType) voidDeclaredArgumentAccumulator.setDeclaredArgumentType(DataType declared) Constructors in dev.frostlake.functions.aggregate with parameters of type DataType -
Uses of DataType in dev.frostlake.functions.scalar.conversion
Methods in dev.frostlake.functions.scalar.conversion that return DataTypeModifier and TypeMethodDescriptionToTimestamp.getReturnType()The BARE spelling is re-resolved on every call, because the session's TIMESTAMP_TYPE_MAPPING can change between statements and the registry builds each function ONCE at startup — a type decided in the constructor would be frozen at whatever the mapping was before any session existed.TryToTimestamp.getReturnType()The BARE spelling follows the session's TIMESTAMP_TYPE_MAPPING, re-resolved on every call as TO_TIMESTAMP's is: the registry builds each function once, before any session exists.Methods in dev.frostlake.functions.scalar.conversion with parameters of type DataTypeModifier and TypeMethodDescriptionTimeFunction.temporalRejection(int position, int argumentCount, DataType temporal) A TIME is refused on its way to the TIMESTAMP_LTZ overload; a DATE and a timestamp are read. -
Uses of DataType in dev.frostlake.jdbc
Methods in dev.frostlake.jdbc with parameters of type DataType -
Uses of DataType in dev.frostlake.metastore.model
Methods in dev.frostlake.metastore.model that return DataTypeModifier and TypeMethodDescriptionParameter.getDataType()TableColumn.getDataType()Function.getReturnType()Procedure.getReturnType()TableColumn.getSpelledNumber()The NUMBER this column's values spell when a derived relation projects a bare string literal as it —(SELECT '12.5' AS t, …)— or projects another such column; null for every other column.Methods in dev.frostlake.metastore.model with parameters of type DataTypeModifier and TypeMethodDescriptionvoidvoidTable.alterColumnType(String columnName, DataType newDataType) voidTableColumn.setSpelledNumber(DataType spelledNumber) Method parameters in dev.frostlake.metastore.model with type arguments of type DataTypeModifier and TypeMethodDescriptionvoidSchema.dropFunctionBySignature(String name, List<DataType> argumentTypes) voidSchema.dropProcedureBySignature(String name, List<DataType> argumentTypes) Schema.getFunctionBySignature(String name, List<DataType> argumentTypes) Schema.getProcedureBySignature(String name, List<DataType> argumentTypes) Constructors in dev.frostlake.metastore.model with parameters of type DataTypeModifierConstructorDescriptionFunction(String name, List<Parameter> parameters, DataType returnType, String body, boolean isTableFunction) Function(String name, List<Parameter> parameters, DataType returnType, String body, boolean isTableFunction, String language) Function(String name, List<Parameter> parameters, DataType returnType, String body, boolean isTableFunction, String language, String handler, String runtimeVersion) Function(String name, List<Parameter> parameters, DataType returnType, List<Parameter> returnColumns, String body, boolean isTableFunction, String language, String handler, String runtimeVersion) Procedure(String name, List<Parameter> parameters, DataType returnType, String body, String language) Procedure(String name, List<Parameter> parameters, DataType returnType, String body, String language, String handler, String runtimeVersion, List<String> packages) TableColumn(String name, DataType dataType, boolean nullable, Object defaultValue, boolean primaryKey, boolean unique, boolean autoIncrement) TableColumn(String name, DataType dataType, boolean nullable, Object defaultValue, boolean primaryKey, boolean unique, boolean autoIncrement, long identityStart, long identityIncrement) -
Uses of DataType in dev.frostlake.storage
Methods in dev.frostlake.storage that return DataTypeModifier and TypeMethodDescriptionColumn.getDataType()ResultSetColumn.getDataType()ResultSetColumn.getSpelledNumber()The NUMBER this column's values spell, or null — see TableColumn#getSpelledNumber.ResultSetColumn.getStaticType()The type this column is statically KNOWN to produce, or null when a projection could not tell — in which caseResultSetColumn.getDataType()is a placeholder that no type rule may read.Constructors in dev.frostlake.storage with parameters of type DataTypeModifierConstructorDescriptionResultSetColumn(String name, DataType dataType) ResultSetColumn(String name, DataType dataType, String tableName) ResultSetColumn(String name, DataType dataType, String tableName, DataType staticType) ResultSetColumn(String name, DataType dataType, String tableName, DataType staticType, boolean nullable) ResultSetColumn(String name, DataType dataType, String tableName, DataType staticType, boolean nullable, boolean nullabilityKnown) ResultSetColumn(String name, DataType dataType, String tableName, DataType staticType, boolean nullable, boolean nullabilityKnown, ValueRange valueRange) ResultSetColumn(String name, DataType dataType, String tableName, DataType staticType, boolean nullable, boolean nullabilityKnown, ValueRange valueRange, DataType spelledNumber) -
Uses of DataType in dev.frostlake.types
Subclasses of DataType in dev.frostlake.typesModifier and TypeClassDescriptionclassclassThe BINARY family.classclassclassThe FILE column type: a reference to a file on a stage.classThe GEOGRAPHY column type: spherical (lon/lat, SRID 4326) geospatial values carried asGeoValue.classThe GEOMETRY column type: planar (cartesian, default SRID 0) geospatial values carried asGeoValue.classA VARCHAR the plan carries with no length of its own — the KEY and PATH columns of FLATTEN and the VALUE column of SPLIT_TO_TABLE — which SYSTEM$TYPEOF spells as the bare wordVARCHARwhile a table built over it declares the full-width VARCHAR(16777216) (live-verified).classThe structuredMAP(keyType, valueType)type.classclassclassclassA STRUCTURED array type —ARRAY(INT)— as opposed to the plain semi-structuredArrayType.classA STRUCTURED object type —OBJECT(x VARCHAR, y NUMBER)— as opposed to the plain semi-structuredObjectType.classSnowflake's UUID type: a 128-bit value held and shown as its canonical lower-case text,1b4e28ba-2fa1-11d2-883f-0016d3cca427.classclassSnowflake'sVECTOR(element_type, dimension)type; values areVectorValue.Methods in dev.frostlake.types that return DataTypeModifier and TypeMethodDescriptionstatic DataTypeThe type two branches — or two set-operation ARMS — fold to, or null when they cannot be combined.static DataTypeDeclaredTypeFold.foldBranches(List<DataType> branchTypes) static DataTypeDeclaredTypeFold.foldBranches(List<DataType> branchTypes, List<DataType> literalMeasurements) The branch fold, told which branches were written as STRING LITERALS and what each measures as a number.static DataTypeStringResultWidths.forFunction(String funcName, List<DataType> argTypes) The width the named function's string result is declared at, or null when the arguments do not determine one and the caller should keep what the registry declares.ArrayType.getCommonType(DataType other) BinaryType.getCommonType(DataType other) BooleanType.getCommonType(DataType other) abstract DataTypeDataType.getCommonType(DataType other) DateTimeType.getCommonType(DataType other) FileType.getCommonType(DataType other) GeographyType.getCommonType(DataType other) GeometryType.getCommonType(DataType other) MapType.getCommonType(DataType other) NumericType.getCommonType(DataType other) ObjectType.getCommonType(DataType other) StringType.getCommonType(DataType other) VariantType.getCommonType(DataType other) VectorType.getCommonType(DataType other) StructuredField.getDataType()ArrayType.getElementType()MapType.getKeyType()MapType.getValueType()static DataTypeDeclaredTypeFold.stringContribution(DataType nonString) What a VARCHAR branch contributes when it sits beside exactly one OTHER family: it joins that family rather than dragging everything to text.Methods in dev.frostlake.types with parameters of type DataTypeModifier and TypeMethodDescriptionstatic Stringstatic StringSqlTypeNames.columnMetadata(DataType type) The canonical name a COLUMN's metadata prints, which stops a string at the width a column can declare.static DataTypeThe type two branches — or two set-operation ARMS — fold to, or null when they cannot be combined.static StringA type as Snowflake spells it in an argument-type / cast error message.static StringStructuredTypes.familyName(DataType type) Snowflake's family label for a structured type, used verbatim in its cast error messages.ArrayType.getCommonType(DataType other) BinaryType.getCommonType(DataType other) BooleanType.getCommonType(DataType other) abstract DataTypeDataType.getCommonType(DataType other) DateTimeType.getCommonType(DataType other) FileType.getCommonType(DataType other) GeographyType.getCommonType(DataType other) GeometryType.getCommonType(DataType other) MapType.getCommonType(DataType other) NumericType.getCommonType(DataType other) ObjectType.getCommonType(DataType other) StringType.getCommonType(DataType other) VariantType.getCommonType(DataType other) VectorType.getCommonType(DataType other) static StringSqlTypeNames.internalName(DataType type) The INTERNAL name Snowflake uses for a type where it does not spell the SQL one: TEXT for the string family, FIXED for the exact numerics, REAL for the approximate ones, and the SQL name for everything else — never with parameters.static booleanNumericType.isApproximate(DataType type) Whether a type is one of the APPROXIMATE numeric spellings, which carry no precision and scale.booleanArrayType.isCompatible(DataType other) booleanBinaryType.isCompatible(DataType other) booleanBooleanType.isCompatible(DataType other) abstract booleanDataType.isCompatible(DataType other) booleanDateTimeType.isCompatible(DataType other) booleanFileType.isCompatible(DataType other) booleanGeographyType.isCompatible(DataType other) booleanGeometryType.isCompatible(DataType other) booleanMapType.isCompatible(DataType other) booleanNumericType.isCompatible(DataType other) booleanObjectType.isCompatible(DataType other) booleanStringType.isCompatible(DataType other) booleanStructuredObjectType.isCompatible(DataType other) booleanVariantType.isCompatible(DataType other) booleanVectorType.isCompatible(DataType other) static booleanWhethertypeis GEOGRAPHY or GEOMETRY.static booleanStructuredTypes.isStructured(DataType type) Whethertypeis one of the STRUCTURED types (a declared shape, not plain OBJECT/ARRAY/VARIANT).static booleanStructuredTypes.isStructuredObjectFamily(DataType type) Whethertypeis in Snowflake'sSTRUCTURED_OBJECTfamily (structured OBJECT or MAP).static IntegerThe length of a column of the given type.static StringSqlTypeNames.refusalSpelling(DataType type) A type as a refusal sentence spells it: the canonical name, except that a bare BINARY is always BINARY(67108864), whatever width the engine holds one at (live-verified in the CALL argument and declared-RETURNS sentences).static StringRenders one column's descriptor.static StringThe same for a column declared with a collation: live adds it after every other fact —{"type":"TEXT",...,"fixed":false,"collation":"en-ci"}— and a column without one, or with the empty specification, has no such key.static StringSqlTypeNames.routineType(DataType type) A ROUTINE's type as the account spells it - in a signature, in a RETURNS clause and in a DESCRIBE row alike.static booleanStructuredTypes.sameBindingShape(DataType source, DataType target) Whether two types match for UDF ARGUMENT BINDING: the same structured layout and the same leaf type FAMILIES, ignoring length/precision.static booleanDeclaredTypeFold.sameDeclaredType(DataType left, DataType right) Whether two declared types are the SAME type — the family and its parameters.static booleanSqlTypeNames.sameFamily(DataType left, DataType right) Whether two types belong to the same FAMILY, which is what a policy attachment is judged on: the parameters are ignored — a VARCHAR(5) policy argument takes a VARCHAR(20) column — while the timestamp variants stay distinct from each other, and NUMBER never matches FLOAT (live-verified).static DataTypeDeclaredTypeFold.stringContribution(DataType nonString) What a VARCHAR branch contributes when it sits beside exactly one OTHER family: it joins that family rather than dragging everything to text.Method parameters in dev.frostlake.types with type arguments of type DataTypeModifier and TypeMethodDescriptionstatic DataTypeDeclaredTypeFold.foldBranches(List<DataType> branchTypes) static DataTypeDeclaredTypeFold.foldBranches(List<DataType> branchTypes, List<DataType> literalMeasurements) The branch fold, told which branches were written as STRING LITERALS and what each measures as a number.static DataTypeStringResultWidths.forFunction(String funcName, List<DataType> argTypes) The width the named function's string result is declared at, or null when the arguments do not determine one and the caller should keep what the registry declares.Constructors in dev.frostlake.types with parameters of type DataTypeModifierConstructorDescriptionStructuredArrayType(DataType elementType) StructuredField(String name, DataType dataType, boolean notNull) -
Uses of DataType in dev.frostlake.values
Methods in dev.frostlake.values with parameters of type DataTypeModifier and TypeMethodDescriptionstatic booleanVariantJsonText.isSemiStructured(DataType declared) Whether a column's declared type is one whose cells a client reads as JSON text.static StringThe text a client sees for one value.static StringvalueasgetStringshould report it for a column ofdeclared, or null when the value is null.static StringVariantJsonText.unwrappedDoubleText(Object value, DataType declared) The client text of a DOUBLE read out of a semi-structured value, or null whenvalueis not one.static StringThe TRANSPORT text of a temporal cell:TemporalText.render(java.lang.Object, dev.frostlake.types.DataType)'s shape with nothing cut from the fraction of a second.static ObjectThe value a JSON wire should carry for a column ofdeclared: a temporal cell as its transport text, and anything else UNTOUCHED.