If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then struct_type
provides type information for the struct's fields.
public TypeAnnotationCode TypeAnnotation { get; set; }
The [TypeAnnotationCode][google.spanner.v1.TypeAnnotationCode] that disambiguates SQL type that Spanner will
use to represent values of this type during query processing. This is
necessary for some type codes because a single [TypeCode][google.spanner.v1.TypeCode] can be mapped
to different SQL types depending on the SQL dialect. [type_annotation][google.spanner.v1.Type.type_annotation]
typically is not needed to process the content of a value (it doesn't
affect serialization) and clients can ignore it on the read path.
[[["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 webpage details the \u003ccode\u003eType\u003c/code\u003e class within the Google.Cloud.Spanner.V1 namespace, used to represent the type of a Cloud Spanner value.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eType\u003c/code\u003e class offers properties like \u003ccode\u003eArrayElementType\u003c/code\u003e, \u003ccode\u003eCode\u003c/code\u003e, \u003ccode\u003eStructType\u003c/code\u003e, and \u003ccode\u003eTypeAnnotation\u003c/code\u003e, which provide detailed information about the type of Spanner values.\u003c/p\u003e\n"],["\u003cp\u003eThe webpage shows the available version history for \u003ccode\u003eType\u003c/code\u003e, including the latest beta version (5.0.0-beta05) and stable versions ranging from 3.5.0 to 4.6.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eType\u003c/code\u003e implements interfaces such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, providing capabilities for message handling, equality comparison, deep cloning, and buffer management.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eType\u003c/code\u003e class has 2 constructors, one is empty, and the other receives a \u003ccode\u003eType\u003c/code\u003e as a parameter.\u003c/p\u003e\n"]]],[],null,[]]