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"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document provides reference documentation for the \u003ccode\u003eTypeAnnotationCode\u003c/code\u003e enum within the Google Cloud Spanner v1 API, which is used to specify SQL types for Cloud Spanner values.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eTypeAnnotationCode\u003c/code\u003e enum includes \u003ccode\u003ePgJsonb\u003c/code\u003e for PostgreSQL JSONB types, \u003ccode\u003ePgNumeric\u003c/code\u003e for PostgreSQL NUMERIC types, and \u003ccode\u003eUnspecified\u003c/code\u003e for when no specific type is indicated.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ePgJsonb\u003c/code\u003e and \u003ccode\u003ePgNumeric\u003c/code\u003e fields within the \u003ccode\u003eTypeAnnotationCode\u003c/code\u003e are always needed for JSON and NUMERIC types respectively when clients are interacting with PostgreSQL-enabled Spanner databases.\u003c/p\u003e\n"],["\u003cp\u003eThis page also lists the version history of the API, with the latest beta version being 5.0.0-beta05, and going as far back as version 3.5.0.\u003c/p\u003e\n"]]],[],null,[]]