Module: Google::Cloud::Spanner::V1::TypeCode

Defined in:
proto_docs/google/spanner/v1/type.rb

Overview

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.

Constant Summary collapse

TYPE_CODE_UNSPECIFIED =

Not specified.

0
BOOL =

Encoded as JSON true or false.

1
INT64 =

Encoded as string, in decimal format.

2
FLOAT64 =

Encoded as number, or the strings "NaN", "Infinity", or "-Infinity".

3
FLOAT32 =

Encoded as number, or the strings "NaN", "Infinity", or "-Infinity".

15
TIMESTAMP =

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.

4
DATE =

Encoded as string in RFC 3339 date format.

5
STRING =

Encoded as string.

6
BYTES =

Encoded as a base64-encoded string, as described in RFC 4648, section 4.

7
ARRAY =

Encoded as list, where the list elements are represented according to array_element_type.

8
STRUCT =

Encoded as list, where list element i is represented according to [struct_type.fields[i]][google.spanner.v1.StructType.fields].

9
NUMERIC =

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

10
JSON =

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.
11
PROTO =

Encoded as a base64-encoded string, as described in RFC 4648, section 4.

13
ENUM =

Encoded as string, in decimal format.

14
INTERVAL =

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.

16