Reference documentation and code samples for the Google Cloud Spanner v1 API enum TypeAnnotationCode.
TypeAnnotationCode is used as a part of [Type][google.spanner.v1.Type] to
disambiguate SQL types that should be used for a given Cloud Spanner value.
Disambiguation is needed because the same Cloud Spanner type can be mapped to
different SQL types depending on SQL dialect. TypeAnnotationCode doesn't
affect the way value is serialized.
PostgreSQL compatible JSONB type. This annotation needs to be applied to
[Type][google.spanner.v1.Type] instances having [JSON][google.spanner.v1.TypeCode.JSON]
type code to specify that values of this type should be treated as
PostgreSQL JSONB values. Currently this annotation is always needed for
[JSON][google.spanner.v1.TypeCode.JSON] when a client interacts with PostgreSQL-enabled
Spanner databases.
PgNumeric
PostgreSQL compatible NUMERIC type. This annotation needs to be applied to
[Type][google.spanner.v1.Type] instances having [NUMERIC][google.spanner.v1.TypeCode.NUMERIC]
type code to specify that values of this type should be treated as
PostgreSQL NUMERIC values. Currently this annotation is always needed for
[NUMERIC][google.spanner.v1.TypeCode.NUMERIC] when a client interacts with PostgreSQL-enabled
Spanner databases.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-04-17 UTC."],[[["The latest version of the Google Cloud Spanner V1 API, which is in beta, is 5.0.0-beta05, while version 4.2.0 is also available in the list, alongside other versions ranging from 3.5.0 to 4.6.0."],["`TypeAnnotationCode` is an enum used in the Google Cloud Spanner v1 API to differentiate SQL types for Cloud Spanner values, particularly for mapping to different SQL types based on the SQL dialect."],["The `TypeAnnotationCode` enum has three fields: `PgJsonb`, `PgNumeric`, and `Unspecified`, where `PgJsonb` is for PostgreSQL compatible JSONB type, and `PgNumeric` is for PostgreSQL compatible NUMERIC type."],["`PgJsonb` and `PgNumeric` are specifically needed when interacting with PostgreSQL-enabled Spanner databases, ensuring values of these types are treated as PostgreSQL JSONB or NUMERIC, respectively."]]],[]]