Cloud Spanner V1 API - Module Google::Cloud::Spanner::V1::TypeCode (v0.11.0)

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".

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.