Cloud Spanner V1 API - Module Google::Cloud::Spanner::V1::TypeCode (v1.3.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".

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.