Reference documentation and code samples for the Cloud Spanner V1 API module Google::Cloud::Spanner::V1::TypeCode.
TypeCode is used as part of Type to
indicate the type of a Cloud Spanner value.
Each legal value of a type can be encoded to or decoded from a JSON
value, using the encodings described below. All Cloud Spanner values can
be null, regardless of type; nulls are always encoded as a JSON
null.
Constants
TYPE_CODE_UNSPECIFIED
value: 0
Not specified.
BOOL
value: 1
Encoded as JSON true or false.
INT64
value: 2
Encoded as string, in decimal format.
FLOAT64
value: 3
Encoded as number, or the strings "NaN", "Infinity", or
"-Infinity".
FLOAT32
value: 15
Encoded as number, or the strings "NaN", "Infinity", or
"-Infinity".
TIMESTAMP
value: 4
Encoded as string in RFC 3339 timestamp format. The time zone
must be present, and must be "Z".
If the schema has the column option
allow_commit_timestamp=true, the placeholder string
"spanner.commit_timestamp()" can be used to instruct the system
to insert the commit timestamp associated with the transaction
commit.
DATE
value: 5
Encoded as string in RFC 3339 date format.
STRING
value: 6
Encoded as string.
BYTES
value: 7
Encoded as a base64-encoded string, as described in RFC 4648,
section 4.
ARRAY
value: 8
Encoded as list, where the list elements are represented
according to
array_element_type.
STRUCT
value: 9
Encoded as list, where list element i is represented according
to [struct_type.fields[i]][google.spanner.v1.StructType.fields].
NUMERIC
value: 10
Encoded as string, in decimal format or scientific notation format.
Decimal format:
[+-]Digits[.[Digits]] or
[+-][Digits].Digits
Scientific notation:
[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits] or
[+-][Digits].Digits[ExponentIndicator[+-]Digits]
(ExponentIndicator is "e" or "E")
JSON
value: 11
Encoded as a JSON-formatted string as described in RFC 7159. The
following rules are applied when parsing JSON input:
- Whitespace characters are not preserved.
- If a JSON object has duplicate keys, only the first key is preserved.
- Members of a JSON object are not guaranteed to have their order preserved.
- JSON array elements will have their order preserved.
PROTO
value: 13
Encoded as a base64-encoded string, as described in RFC 4648,
section 4.
ENUM
value: 14
Encoded as string, in decimal format.
INTERVAL
value: 16
Encoded as string, in ISO8601 duration format -
P[n]Y[n]M[n]DT[n]H[n]M[n[.fraction]]S
where n is an integer.
For example, P1Y2M3DT4H5M6.5S represents time duration of 1 year, 2
months, 3 days, 4 hours, 5 minutes, and 6.5 seconds.
UUID
value: 17
Encoded as string, in lower-case hexa-decimal format, as described
in RFC 9562, section 4.