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; null
s 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.