github.com/cockroachdb/cockroachdb-parser@v0.23.3-0.20240213214944-911057d40c9a/pkg/sql/types/types.pb.go (about) 1 // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 // source: sql/types/types.proto 3 4 package types 5 6 import ( 7 fmt "fmt" 8 geopb "github.com/cockroachdb/cockroachdb-parser/pkg/geo/geopb" 9 github_com_cockroachdb_cockroach_pkg_geo_geopb "github.com/cockroachdb/cockroachdb-parser/pkg/geo/geopb" 10 _ "github.com/gogo/protobuf/gogoproto" 11 proto "github.com/gogo/protobuf/proto" 12 github_com_lib_pq_oid "github.com/lib/pq/oid" 13 io "io" 14 math "math" 15 math_bits "math/bits" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var _ = proto.Marshal 20 var _ = fmt.Errorf 21 var _ = math.Inf 22 23 // This is a compile-time assertion to ensure that this generated file 24 // is compatible with the proto package it is being compiled against. 25 // A compilation error at this line likely means your copy of the 26 // proto package needs to be updated. 27 const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package 28 29 // See the comment header for the T.Family method for more details. 30 type Family int32 31 32 const ( 33 // BoolFamily is the family of boolean true/false types. 34 // 35 // Canonical: types.Bool 36 // Oid : T_bool 37 // 38 // Examples: 39 // BOOL 40 // 41 BoolFamily Family = 0 42 // IntFamily is the family of signed integer types. 43 // 44 // Canonical: types.Int 45 // Oid : T_int8, T_int4, T_int2 46 // Width : 64, 32, 16 47 // 48 // Examples: 49 // INT 50 // INT8 51 // INT4 52 // 53 IntFamily Family = 1 54 // FloatFamily is the family of base-2 floating-point types (IEEE 754). 55 // 56 // Canonical: types.Float 57 // Oid : T_float8, T_float4 58 // Width : 64, 32 59 // 60 // Examples: 61 // FLOAT8 62 // FLOAT4 63 // 64 FloatFamily Family = 2 65 // DecimalFamily is the family of base-10 floating and fixed point types. 66 // 67 // Canonical : types.Decimal 68 // Oid : T_numeric 69 // Precision : max # decimal digits (0 = no specified limit) 70 // Width (Scale): # digits after decimal point (0 = no specified limit) 71 // 72 // Examples: 73 // DECIMAL 74 // DECIMAL(10) 75 // DECIMAL(10,3) 76 // 77 DecimalFamily Family = 3 78 // DateFamily is the family of date types that store only year/month/day with 79 // no time component. 80 // 81 // Canonical: types.Date 82 // Oid : T_date 83 // 84 // Examples: 85 // DATE 86 // 87 DateFamily Family = 4 88 // TimestampFamily is the family of date types that store a year/month/day 89 // date component, as well as an hour/minute/second time component. There is 90 // no timezone component (see TIMESTAMPTZ). Seconds can have varying precision 91 // (defaults to microsecond precision). Currently, only microsecond precision 92 // is supported. 93 // 94 // Canonical: types.Timestamp 95 // Oid : T_timestamp 96 // Precision: fractional seconds (3 = ms, 0,6 = us, 9 = ns, etc.) 97 // 98 // Examples: 99 // TIMESTAMP 100 // TIMESTAMP(6) 101 // 102 TimestampFamily Family = 5 103 // IntervalFamily is the family of types describing a duration of time. 104 // Currently, only microsecond precision is supported. 105 // 106 // Canonical: types.Interval 107 // Oid : T_interval 108 // 109 // Examples: 110 // INTERVAL 111 // 112 IntervalFamily Family = 6 113 // StringFamily is the family of types containing Unicode textual strings. 114 // This family includes types constructed by STRING, VARCHAR, CHAR, and "char" 115 // column type definitions (CHAR and "char" are distinct PG types). Note 116 // that while STRING and VARCHAR have no default width limit, CHAR has a 117 // default width of 1. 118 // TODO(andyk): "char" should have default width of 1 as well, but doesn't. 119 // 120 // Canonical: types.String 121 // Oid : T_text, T_varchar, T_bpchar, T_char 122 // Width : max # characters (0 = no specified limit) 123 // 124 // Examples: 125 // STRING 126 // TEXT 127 // VARCHAR(10) 128 // CHAR 129 // 130 StringFamily Family = 7 131 // BytesFamily is the family of types containing a list of raw byte values. 132 // 133 // Canonical: types.BYTES 134 // Oid : T_bytea 135 // 136 // Examples: 137 // BYTES 138 // 139 BytesFamily Family = 8 140 // TimestampTZFamily is the family of date types that store a year/month/day 141 // date component, as well as an hour/minute/second time component, along with 142 // a timezone. Seconds can have varying precision (defaults to microsecond 143 // precision). Currently, only microsecond precision is supported. 144 // 145 // Canonical: types.TimestampTZ 146 // Oid : T_timestamptz 147 // Precision: fractional seconds (3 = ms, 0,6 = us, 9 = ns, etc.) 148 // 149 // Examples: 150 // TIMESTAMPTZ 151 // TIMESTAMPTZ(6) 152 // 153 TimestampTZFamily Family = 9 154 // CollatedStringFamily is the family of types containing Unicode textual 155 // strings with an associated COLLATE value that specifies the locale used 156 // for various character-based operations such as sorting, pattern matching, 157 // and builtin functions like lower and upper. 158 // 159 // Oid : T_text, T_varchar, T_bpchar, T_char 160 // Width : max # characters (0 = no specified limit) 161 // Locale : name of locale (e.g. EN or DE) 162 // 163 // Examples: 164 // STRING COLLATE en 165 // VARCHAR(10) COLLATE de 166 // 167 CollatedStringFamily Family = 10 168 // OidFamily is the family of types containing Postgres Object ID (Oid) 169 // values. Oids are integer values that identify some object in the database, 170 // like a type, relation, or procedure. 171 // 172 // Canonical: types.Oid 173 // Oid : T_oid, T_regclass, T_regproc, T_regprocedure, T_regtype, 174 // T_regnamespace, T_regrole 175 // 176 // Examples: 177 // OID 178 // REGCLASS 179 // REGPROC 180 // 181 // TODO(andyk): Oids should be part of the IntFamily, since they are treated 182 // as equivalent to ints by PG. 183 OidFamily Family = 12 184 // UnknownFamily is a special type family that tags expressions that 185 // statically evaluate to NULL. An UnknownFamily expression *must* be NULL. 186 // But the inverse is not true, since other types allow NULL values as well. 187 // UnknownFamily types are not supported as a table column type, but can be 188 // transferred through DistSQL streams. 189 // 190 // Canonical: types.Unknown 191 // Oid : T_unknown 192 // 193 UnknownFamily Family = 13 194 // UuidFamily is the family of types containing universally unique 195 // identifiers. A UUID is a 128-bit quantity that is very unlikely to ever be 196 // generated again, and so can be relied on to be distinct from all other UUID 197 // values. 198 // 199 // Canonical: types.Uuid 200 // Oid : T_uuid 201 // 202 // Examples: 203 // UUID 204 // 205 UuidFamily Family = 14 206 // ArrayFamily is a family of non-scalar types that contain an ordered list of 207 // elements. The elements of an array must all share the same type. Elements 208 // can have have any type, including ARRAY. However, while the types package 209 // supports nested arrays, other parts of CRDB do not currently support them. 210 // Also, the length of array dimension(s) are ignored by PG and CRDB (e.g. 211 // an array of length 11 could be inserted into a column declared as INT[11]). 212 // 213 // Array OID values are special. Rather than having a single T_array OID, 214 // Postgres defines a separate OID for each possible array element type. 215 // Here are some examples: 216 // 217 // T__int8: array of int8 values 218 // T__text: array of text values 219 // 220 // Notice that each array OID has double underscores to distinguish it from 221 // the OID of the scalar type it contains. 222 // 223 // Oid : T__int, T__text, T__numeric, etc. 224 // ArrayContents: types.T of the array element type 225 // 226 // Examples: 227 // INT[] 228 // VARCHAR(10)[] COLLATE EN 229 // DECIMAL(10,1)[] 230 // TIMESTAMP[5] 231 // 232 ArrayFamily Family = 15 233 // INetFamily is the family of types containing IPv4 or IPv6 network address 234 // identifiers (e.g. 192.168.100.128/25 or FE80:CD00:0:CDE:1257:0:211E:729C). 235 // 236 // Canonical: types.INet 237 // Oid : T_inet 238 // 239 // Examples: 240 // INET 241 // 242 INetFamily Family = 16 243 // TimeFamily is the family of date types that store only hour/minute/second 244 // with no date component. There is no timezone component. Seconds can have 245 // varying precision (defaults to microsecond precision). Currently, only 246 // microsecond precision is supported. 247 // 248 // Canonical: types.Time 249 // Oid : T_time 250 // Precision: fractional seconds (3 = ms, 0,6 = us, 9 = ns, etc.) 251 // 252 // Examples: 253 // TIME 254 // TIME(6) 255 // 256 TimeFamily Family = 17 257 // JsonFamily is the family of types containing JavaScript Object Notation 258 // (JSON) values. Currently, CRDB only supports JSONB values, which are stored 259 // in a decomposed binary format. 260 // 261 // Canonical: types.Jsonb 262 // Oid : T_jsonb 263 // 264 // Examples: 265 // JSON 266 // JSONB 267 // 268 JsonFamily Family = 18 269 // TimeTZFamily is the family of date types that store only hour/minute/second 270 // and timestamp components, with no date component. Seconds can have 271 // varying precision (defaults to microsecond precision). Currently, only 272 // microsecond precision is supported. 273 // 274 // Canonical: types.TimeTZ 275 // Oid : T_timetz 276 // Precision: fractional seconds (3 = ms, 0,6 = us, 9 = ns, etc.) 277 // 278 // Examples: 279 // TIMETZ 280 // 281 TimeTZFamily Family = 19 282 // TupleFamily is a family of non-scalar structural types that describes the 283 // fields of a row or record. The fields can be of any type, including nested 284 // tuple and array types. Fields can also have optional labels. Currently, 285 // CRDB does not support tuple types as column types, but it is possible to 286 // construct tuples using the ROW function or tuple construction syntax. 287 // 288 // Oid : T_record 289 // TupleContents: []*types.T of each tuple field 290 // TupleLabels : []string of each tuple label 291 // 292 // Examples: 293 // (1, 'foo') 294 // ((1, 'foo') AS num, str) 295 // ROW(1, 'foo') 296 // (ROW(1, 'foo') AS num, str) 297 // 298 TupleFamily Family = 20 299 // BitFamily is the family of types containing ordered lists of bit values 300 // (0 or 1). Note that while VARBIT has no default width limit, BIT has a 301 // default width limit of 1. 302 // 303 // Canonical: types.VarBit 304 // Oid : T_varbit, T_bit 305 // Width : max # of bits (0 = no specified limit) 306 // 307 // Examples: 308 // VARBIT 309 // VARBIT(10) 310 // BIT 311 // BIT(10) 312 // 313 BitFamily Family = 21 314 // GeometryFamily is a family that supports the Geometry geospatial type, 315 // which is compatible with PostGIS's Geometry implementation. 316 // 317 // Canonical: types.Geometry 318 // Oid : oidext.T_geometry 319 // 320 // Examples: 321 // GEOMETRY 322 // GEOMETRY(LINESTRING) 323 // GEOMETRY(LINESTRING, SRID) 324 GeometryFamily Family = 22 325 // GeographyFamily is a family that supports the Geography geospatial type, 326 // which is compatible with PostGIS's Geography implementation. 327 // 328 // Canonical: types.Geography 329 // Oid : oidext.T_geography 330 // 331 // Examples: 332 // GEOGRAPHY 333 // GEOGRAPHY(LINESTRING) 334 // GEOGRAPHY(LINESTRING, SRID) 335 GeographyFamily Family = 23 336 // EnumFamily is a family that represents all ENUM types. ENUM types 337 // have data about the ENUM defined in a TypeDescriptor. The ID of 338 // the TypeDescriptor that backs this ENUM is stored in the StableTypeID 339 // field. It does not have a canonical form. 340 EnumFamily Family = 24 341 // Box2DFamily is a family representing the box2d type. This is compatible 342 // with PostGIS's box2d implementation. 343 // 344 // Canonical: types.Box2D 345 // Oid : oidext.T_box2d 346 // 347 // Examples: 348 // Box2D 349 Box2DFamily Family = 25 350 // VoidFamily is a family representing the void type. 351 // 352 // Canonical: types.Void 353 // Oid : T_void 354 // 355 // Examples: 356 // Void 357 VoidFamily Family = 26 358 // EncodedKeyFamily is a special type family used internally for inverted 359 // index keys, which do not fully encode an object. 360 EncodedKeyFamily Family = 27 361 // TSQueryFamily is a type family for the TSQuery type, which is the type 362 // of full text search queries. 363 // Canonical: types.TSQuery 364 // Oid : T_tsquery 365 TSQueryFamily Family = 28 366 // TSVectorFamily is a type family for the TSVector type, which is the type 367 // of full text search document representations. 368 // Canonical: types.TSVector 369 // Oid : T_tsvector 370 TSVectorFamily Family = 29 371 // PGLSNFamily is a type family for the pg_lsn type, which is the type 372 // representing PG LSN objects. 373 // Canonical: types.PGLSN 374 // Oid : T_pg_lsn 375 PGLSNFamily Family = 30 376 // RefCursorFamily is a type family for the refcursor type, which is the 377 // type representing PLpgSQL cursors. 378 // Canonical: types.RefCursor 379 // Oid : T_refcursor 380 RefCursorFamily Family = 31 381 // AnyFamily is a special type family used during static analysis as a 382 // wildcard type that matches any other type, including scalar, array, and 383 // tuple types. Execution-time values should never have this type. As an 384 // example of its use, many SQL builtin functions allow an input value to be 385 // of any type, and so use this type in their static definitions. 386 // 387 // Canonical: types.Any 388 // Oid : T_anyelement 389 // 390 AnyFamily Family = 100 391 ) 392 393 var Family_name = map[int32]string{ 394 0: "BoolFamily", 395 1: "IntFamily", 396 2: "FloatFamily", 397 3: "DecimalFamily", 398 4: "DateFamily", 399 5: "TimestampFamily", 400 6: "IntervalFamily", 401 7: "StringFamily", 402 8: "BytesFamily", 403 9: "TimestampTZFamily", 404 10: "CollatedStringFamily", 405 12: "OidFamily", 406 13: "UnknownFamily", 407 14: "UuidFamily", 408 15: "ArrayFamily", 409 16: "INetFamily", 410 17: "TimeFamily", 411 18: "JsonFamily", 412 19: "TimeTZFamily", 413 20: "TupleFamily", 414 21: "BitFamily", 415 22: "GeometryFamily", 416 23: "GeographyFamily", 417 24: "EnumFamily", 418 25: "Box2DFamily", 419 26: "VoidFamily", 420 27: "EncodedKeyFamily", 421 28: "TSQueryFamily", 422 29: "TSVectorFamily", 423 30: "PGLSNFamily", 424 31: "RefCursorFamily", 425 100: "AnyFamily", 426 } 427 428 var Family_value = map[string]int32{ 429 "BoolFamily": 0, 430 "IntFamily": 1, 431 "FloatFamily": 2, 432 "DecimalFamily": 3, 433 "DateFamily": 4, 434 "TimestampFamily": 5, 435 "IntervalFamily": 6, 436 "StringFamily": 7, 437 "BytesFamily": 8, 438 "TimestampTZFamily": 9, 439 "CollatedStringFamily": 10, 440 "OidFamily": 12, 441 "UnknownFamily": 13, 442 "UuidFamily": 14, 443 "ArrayFamily": 15, 444 "INetFamily": 16, 445 "TimeFamily": 17, 446 "JsonFamily": 18, 447 "TimeTZFamily": 19, 448 "TupleFamily": 20, 449 "BitFamily": 21, 450 "GeometryFamily": 22, 451 "GeographyFamily": 23, 452 "EnumFamily": 24, 453 "Box2DFamily": 25, 454 "VoidFamily": 26, 455 "EncodedKeyFamily": 27, 456 "TSQueryFamily": 28, 457 "TSVectorFamily": 29, 458 "PGLSNFamily": 30, 459 "RefCursorFamily": 31, 460 "AnyFamily": 100, 461 } 462 463 func (x Family) Enum() *Family { 464 p := new(Family) 465 *p = x 466 return p 467 } 468 469 func (x Family) String() string { 470 return proto.EnumName(Family_name, int32(x)) 471 } 472 473 func (x *Family) UnmarshalJSON(data []byte) error { 474 value, err := proto.UnmarshalJSONEnum(Family_value, data, "Family") 475 if err != nil { 476 return err 477 } 478 *x = Family(value) 479 return nil 480 } 481 482 func (Family) EnumDescriptor() ([]byte, []int) { 483 return fileDescriptor_bc7f16796a7f6725, []int{0} 484 } 485 486 // IntervalDurationType represents a duration that can be used 487 // when defining an Interval Duration Field. 488 // See https://www.postgresql.org/docs/current/datatype-datetime.html. 489 type IntervalDurationType int32 490 491 const ( 492 // UNSET defaults to SECOND during evaluation. 493 // This indicates no typmod. 494 IntervalDurationType_UNSET IntervalDurationType = 0 495 IntervalDurationType_YEAR IntervalDurationType = 1 496 IntervalDurationType_MONTH IntervalDurationType = 2 497 IntervalDurationType_DAY IntervalDurationType = 3 498 IntervalDurationType_HOUR IntervalDurationType = 4 499 IntervalDurationType_MINUTE IntervalDurationType = 5 500 // SECOND is the only unit where precision can be added. 501 IntervalDurationType_SECOND IntervalDurationType = 6 502 // MILLISECOND is not technically part of the SQL standard for intervals, but we 503 // provide it as a field to allow code to parse intervals with a default unit 504 // of milliseconds, which is useful for some internal use cases like 505 // statement_timeout. 506 IntervalDurationType_MILLISECOND IntervalDurationType = 7 507 ) 508 509 var IntervalDurationType_name = map[int32]string{ 510 0: "UNSET", 511 1: "YEAR", 512 2: "MONTH", 513 3: "DAY", 514 4: "HOUR", 515 5: "MINUTE", 516 6: "SECOND", 517 7: "MILLISECOND", 518 } 519 520 var IntervalDurationType_value = map[string]int32{ 521 "UNSET": 0, 522 "YEAR": 1, 523 "MONTH": 2, 524 "DAY": 3, 525 "HOUR": 4, 526 "MINUTE": 5, 527 "SECOND": 6, 528 "MILLISECOND": 7, 529 } 530 531 func (x IntervalDurationType) Enum() *IntervalDurationType { 532 p := new(IntervalDurationType) 533 *p = x 534 return p 535 } 536 537 func (x IntervalDurationType) String() string { 538 return proto.EnumName(IntervalDurationType_name, int32(x)) 539 } 540 541 func (x *IntervalDurationType) UnmarshalJSON(data []byte) error { 542 value, err := proto.UnmarshalJSONEnum(IntervalDurationType_value, data, "IntervalDurationType") 543 if err != nil { 544 return err 545 } 546 *x = IntervalDurationType(value) 547 return nil 548 } 549 550 func (IntervalDurationType) EnumDescriptor() ([]byte, []int) { 551 return fileDescriptor_bc7f16796a7f6725, []int{1} 552 } 553 554 // IntervalDurationField represents precisions in intervals which are 555 // outside of the regular time precision syntax. 556 // i.e. instead of INTERVAL(6), we can have INTERVAL SECOND(6), INTERVAL MONTH, etc. 557 // This is represented as a bitmask on the first 4 bits of precision in postgres. 558 type IntervalDurationField struct { 559 // DurationType is the unit of measurement in which durations 560 // should truncate themselves to. 561 // This (unlike precision) gets truncated downward. 562 DurationType IntervalDurationType `protobuf:"varint,1,opt,name=duration_type,json=durationType,enum=cockroach.sql.sem.types.IntervalDurationType" json:"duration_type"` 563 // FromDurationType is the left side of the "duration field". 564 // i.e. in the `DurationType_1 TO DurationType_2` syntax, this represents `DurationType_1`. 565 // Note this is ignored, see https://www.postgresql.org/message-id/20110510040219.GD5617%40tornado.gateway.2wire.net. 566 FromDurationType IntervalDurationType `protobuf:"varint,2,opt,name=from_duration_type,json=fromDurationType,enum=cockroach.sql.sem.types.IntervalDurationType" json:"from_duration_type"` 567 } 568 569 func (m *IntervalDurationField) Reset() { *m = IntervalDurationField{} } 570 func (m *IntervalDurationField) String() string { return proto.CompactTextString(m) } 571 func (*IntervalDurationField) ProtoMessage() {} 572 func (*IntervalDurationField) Descriptor() ([]byte, []int) { 573 return fileDescriptor_bc7f16796a7f6725, []int{0} 574 } 575 func (m *IntervalDurationField) XXX_Unmarshal(b []byte) error { 576 return m.Unmarshal(b) 577 } 578 func (m *IntervalDurationField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 579 b = b[:cap(b)] 580 n, err := m.MarshalToSizedBuffer(b) 581 if err != nil { 582 return nil, err 583 } 584 return b[:n], nil 585 } 586 func (m *IntervalDurationField) XXX_Merge(src proto.Message) { 587 xxx_messageInfo_IntervalDurationField.Merge(m, src) 588 } 589 func (m *IntervalDurationField) XXX_Size() int { 590 return m.Size() 591 } 592 func (m *IntervalDurationField) XXX_DiscardUnknown() { 593 xxx_messageInfo_IntervalDurationField.DiscardUnknown(m) 594 } 595 596 var xxx_messageInfo_IntervalDurationField proto.InternalMessageInfo 597 598 // GeoMetadata contains metadata associated with Geospatial data types. 599 type GeoMetadata struct { 600 SRID github_com_cockroachdb_cockroach_pkg_geo_geopb.SRID `protobuf:"varint,1,opt,name=srid,casttype=github.com/cockroachdb/cockroachdb-parser/pkg/geo/geopb.SRID" json:"srid"` 601 ShapeType geopb.ShapeType `protobuf:"varint,2,opt,name=shape_type,json=shapeType,enum=cockroach.geopb.ShapeType" json:"shape_type"` 602 } 603 604 func (m *GeoMetadata) Reset() { *m = GeoMetadata{} } 605 func (m *GeoMetadata) String() string { return proto.CompactTextString(m) } 606 func (*GeoMetadata) ProtoMessage() {} 607 func (*GeoMetadata) Descriptor() ([]byte, []int) { 608 return fileDescriptor_bc7f16796a7f6725, []int{1} 609 } 610 func (m *GeoMetadata) XXX_Unmarshal(b []byte) error { 611 return m.Unmarshal(b) 612 } 613 func (m *GeoMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 614 b = b[:cap(b)] 615 n, err := m.MarshalToSizedBuffer(b) 616 if err != nil { 617 return nil, err 618 } 619 return b[:n], nil 620 } 621 func (m *GeoMetadata) XXX_Merge(src proto.Message) { 622 xxx_messageInfo_GeoMetadata.Merge(m, src) 623 } 624 func (m *GeoMetadata) XXX_Size() int { 625 return m.Size() 626 } 627 func (m *GeoMetadata) XXX_DiscardUnknown() { 628 xxx_messageInfo_GeoMetadata.DiscardUnknown(m) 629 } 630 631 var xxx_messageInfo_GeoMetadata proto.InternalMessageInfo 632 633 // PersistentUserDefinedTypeMetadata contains user defined type metadata 634 // that will be serialized to disk, unlike other user defined type metadata 635 // that is only stored in memory once a type is resolved. 636 type PersistentUserDefinedTypeMetadata struct { 637 // ArrayTypeOID is the OID of the array type for this user defined type. It 638 // is only set for user defined types that aren't arrays. 639 ArrayTypeOID github_com_lib_pq_oid.Oid `protobuf:"varint,2,opt,name=array_type_oid,json=arrayTypeOid,customtype=github.com/lib/pq/oid.Oid" json:"array_type_oid"` 640 } 641 642 func (m *PersistentUserDefinedTypeMetadata) Reset() { *m = PersistentUserDefinedTypeMetadata{} } 643 func (m *PersistentUserDefinedTypeMetadata) String() string { return proto.CompactTextString(m) } 644 func (*PersistentUserDefinedTypeMetadata) ProtoMessage() {} 645 func (*PersistentUserDefinedTypeMetadata) Descriptor() ([]byte, []int) { 646 return fileDescriptor_bc7f16796a7f6725, []int{2} 647 } 648 func (m *PersistentUserDefinedTypeMetadata) XXX_Unmarshal(b []byte) error { 649 return m.Unmarshal(b) 650 } 651 func (m *PersistentUserDefinedTypeMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 652 b = b[:cap(b)] 653 n, err := m.MarshalToSizedBuffer(b) 654 if err != nil { 655 return nil, err 656 } 657 return b[:n], nil 658 } 659 func (m *PersistentUserDefinedTypeMetadata) XXX_Merge(src proto.Message) { 660 xxx_messageInfo_PersistentUserDefinedTypeMetadata.Merge(m, src) 661 } 662 func (m *PersistentUserDefinedTypeMetadata) XXX_Size() int { 663 return m.Size() 664 } 665 func (m *PersistentUserDefinedTypeMetadata) XXX_DiscardUnknown() { 666 xxx_messageInfo_PersistentUserDefinedTypeMetadata.DiscardUnknown(m) 667 } 668 669 var xxx_messageInfo_PersistentUserDefinedTypeMetadata proto.InternalMessageInfo 670 671 func (m *T) Reset() { *m = T{} } 672 func (*T) ProtoMessage() {} 673 func (*T) Descriptor() ([]byte, []int) { 674 return fileDescriptor_bc7f16796a7f6725, []int{3} 675 } 676 func (m *T) XXX_Unmarshal(b []byte) error { 677 return xxx_messageInfo_T.Unmarshal(m, b) 678 } 679 func (m *T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 680 return xxx_messageInfo_T.Marshal(b, m, deterministic) 681 } 682 func (m *T) XXX_Merge(src proto.Message) { 683 xxx_messageInfo_T.Merge(m, src) 684 } 685 func (m *T) XXX_Size() int { 686 return xxx_messageInfo_T.Size(m) 687 } 688 func (m *T) XXX_DiscardUnknown() { 689 xxx_messageInfo_T.DiscardUnknown(m) 690 } 691 692 var xxx_messageInfo_T proto.InternalMessageInfo 693 694 // InternalType is the protobuf encoding for SQL types. It is always wrapped by 695 // a T struct, and should never be used directly by outside packages. See the 696 // comment header for the T struct for more details. 697 type InternalType struct { 698 // Family specifies a group of types that are compatible with one another. 699 // See the header for the T.Family method for more details. 700 Family Family `protobuf:"varint,1,opt,name=family,enum=cockroach.sql.sem.types.Family" json:"family"` 701 // Width is the size or scale of the type, such as number of bits or 702 // characters. See the T.Width method for more details. 703 Width int32 `protobuf:"varint,2,opt,name=width" json:"width"` 704 // Precision is the accuracy of the data type. See the T.Precision method for 705 // more details. This field was also by FLOAT pre-2.1 (this was incorrect.) 706 Precision int32 `protobuf:"varint,3,opt,name=precision" json:"precision"` 707 // ArrayDimensions is deprecated in 19.2, since it was never used. It 708 // previously contained the length of each dimension in the array. A 709 // dimension of -1 meant that no bound was specified for that dimension. If 710 // arrayDimensions was nil, then the array had one unbounded dimension. 711 ArrayDimensions []int32 `protobuf:"varint,4,rep,name=array_dimensions,json=arrayDimensions" json:"array_dimensions,omitempty"` 712 // Locale identifies a specific geographical, political, or cultural region that 713 // impacts various character-based operations such as sorting, pattern matching, 714 // and builtin functions like lower and upper. See the T.Locale method for 715 // more details. 716 Locale *string `protobuf:"bytes,5,opt,name=locale" json:"locale,omitempty"` 717 // VisibleType is deprecated in 19.2, since it is now superseded by the Oid 718 // field. It previously contained an alias for any types where our internal 719 // representation is different than the user specification. Examples are INT4, 720 // FLOAT4, etc. Mostly for Postgres compatibility. 721 VisibleType int32 `protobuf:"varint,6,opt,name=visible_type,json=visibleType" json:"visible_type"` 722 // ArrayElemType is deprecated in 19.2, since it is now superseded by the 723 // ArrayContents field. It previously contained the type family of array 724 // elements. The other array fields (width/precision/locale/etc) were used 725 // to store the other attributes of the array's element type. 726 ArrayElemType *Family `protobuf:"varint,7,opt,name=array_elem_type,json=arrayElemType,enum=cockroach.sql.sem.types.Family" json:"array_elem_type,omitempty"` 727 // TupleContents returns a slice containing the type of each tuple field. This 728 // is nil for non-TUPLE types. 729 TupleContents []*T `protobuf:"bytes,8,rep,name=tuple_contents,json=tupleContents" json:"tuple_contents,omitempty"` 730 // TupleLabels returns a slice containing the labels of each tuple field. This 731 // is nil for non-TUPLE types, or if the TUPLE type does not specify labels. 732 TupleLabels []string `protobuf:"bytes,9,rep,name=tuple_labels,json=tupleLabels" json:"tuple_labels,omitempty"` 733 // Oid returns the type's Postgres Object ID. See the header for the T.Oid 734 // method for more details. For user-defined types, the OID value is an 735 // offset (oidext.CockroachPredefinedOIDMax) away from the stable_type_id 736 // field. This makes it easy to retrieve a type descriptor by OID. 737 Oid github_com_lib_pq_oid.Oid `protobuf:"varint,10,opt,name=oid,customtype=github.com/lib/pq/oid.Oid" json:"oid"` 738 // ArrayContents returns the type of array elements. This is nil for non-ARRAY 739 // types. 740 ArrayContents *T `protobuf:"bytes,11,opt,name=array_contents,json=arrayContents" json:"array_contents,omitempty"` 741 // TimePrecisionIsSet indicates whether the precision was explicitly set. 742 // It is currently in use for the TIME-related families and INTERVALs 743 // where a Precision of 0 indicated the default precision of 6 744 // in versions pre-20.1. 745 // The rules for Precision to use are as follows: 746 // * If Precision is > 0, then that is the precision. 747 // * If Precision is 0, it will default to 6 if TimePrecisionIsSet is false 748 // (for compatibility reasons). 749 // * Otherwise, Precision = 0 and TimePrecisionIsSet = true, so it is 750 // actually 0. 751 TimePrecisionIsSet bool `protobuf:"varint,12,opt,name=time_precision_is_set,json=timePrecisionIsSet" json:"time_precision_is_set"` 752 // IntervalDurationField is populated for intervals, representing extra 753 // typmod or precision data that may be required. 754 IntervalDurationField *IntervalDurationField `protobuf:"bytes,13,opt,name=interval_duration_field,json=intervalDurationField" json:"interval_duration_field,omitempty"` 755 // GeoMetadata is populated for geospatial types. 756 GeoMetadata *GeoMetadata `protobuf:"bytes,14,opt,name=geo_metadata,json=geoMetadata" json:"geo_metadata,omitempty"` 757 // UDTMetadata is populated for user defined types that are not arrays. 758 UDTMetadata *PersistentUserDefinedTypeMetadata `protobuf:"bytes,15,opt,name=udt_metadata,json=udtMetadata" json:"udt_metadata,omitempty"` 759 } 760 761 func (m *InternalType) Reset() { *m = InternalType{} } 762 func (m *InternalType) String() string { return proto.CompactTextString(m) } 763 func (*InternalType) ProtoMessage() {} 764 func (*InternalType) Descriptor() ([]byte, []int) { 765 return fileDescriptor_bc7f16796a7f6725, []int{4} 766 } 767 func (m *InternalType) XXX_Unmarshal(b []byte) error { 768 return m.Unmarshal(b) 769 } 770 func (m *InternalType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 771 b = b[:cap(b)] 772 n, err := m.MarshalToSizedBuffer(b) 773 if err != nil { 774 return nil, err 775 } 776 return b[:n], nil 777 } 778 func (m *InternalType) XXX_Merge(src proto.Message) { 779 xxx_messageInfo_InternalType.Merge(m, src) 780 } 781 func (m *InternalType) XXX_Size() int { 782 return m.Size() 783 } 784 func (m *InternalType) XXX_DiscardUnknown() { 785 xxx_messageInfo_InternalType.DiscardUnknown(m) 786 } 787 788 var xxx_messageInfo_InternalType proto.InternalMessageInfo 789 790 func init() { 791 proto.RegisterEnum("cockroach.parser.sql.sem.types.Family", Family_name, Family_value) 792 proto.RegisterEnum("cockroach.parser.sql.sem.types.IntervalDurationType", IntervalDurationType_name, IntervalDurationType_value) 793 proto.RegisterType((*IntervalDurationField)(nil), "cockroach.parser.sql.sem.types.IntervalDurationField") 794 proto.RegisterType((*GeoMetadata)(nil), "cockroach.parser.sql.sem.types.GeoMetadata") 795 proto.RegisterType((*PersistentUserDefinedTypeMetadata)(nil), "cockroach.parser.sql.sem.types.PersistentUserDefinedTypeMetadata") 796 proto.RegisterType((*T)(nil), "cockroach.parser.sql.sem.types.T") 797 proto.RegisterType((*InternalType)(nil), "cockroach.parser.sql.sem.types.InternalType") 798 } 799 800 func init() { proto.RegisterFile("sql/types/types.proto", fileDescriptor_bc7f16796a7f6725) } 801 802 var fileDescriptor_bc7f16796a7f6725 = []byte{ 803 // 1184 bytes of a gzipped FileDescriptorProto 804 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x8f, 0xdb, 0x44, 805 0x14, 0xb6, 0x37, 0x3f, 0x36, 0x99, 0xfc, 0x58, 0x77, 0xba, 0x69, 0xdd, 0x05, 0xe2, 0x34, 0x02, 806 0x11, 0x2a, 0x91, 0x88, 0x72, 0x40, 0xaa, 0x84, 0xd0, 0x66, 0x93, 0xa6, 0x29, 0xbb, 0xc9, 0xe2, 807 0x38, 0x85, 0xf6, 0x12, 0x39, 0xf1, 0x24, 0x3b, 0xaa, 0xed, 0x49, 0xed, 0x49, 0xcb, 0x1e, 0xe1, 808 0xd4, 0x63, 0x8f, 0x1c, 0xbb, 0xe2, 0xc0, 0xbf, 0xb2, 0xbd, 0xf5, 0xc0, 0xa1, 0xe2, 0x10, 0x41, 809 0x56, 0xdc, 0x39, 0x73, 0x42, 0x33, 0x1e, 0x3b, 0x5e, 0xd4, 0x2d, 0x2b, 0x2e, 0x91, 0xdf, 0x37, 810 0xef, 0x7d, 0xef, 0x7b, 0x6f, 0x9e, 0x9f, 0x03, 0x4a, 0xfe, 0x13, 0xbb, 0x41, 0x8f, 0xe7, 0xc8, 811 0x0f, 0x7e, 0xeb, 0x73, 0x8f, 0x50, 0x02, 0xaf, 0x4f, 0xc8, 0xe4, 0xb1, 0x47, 0xcc, 0xc9, 0x51, 812 0xdd, 0x7f, 0x62, 0xd7, 0x7d, 0xe4, 0xd4, 0xf9, 0xf1, 0xce, 0xf6, 0x8c, 0xcc, 0x08, 0xf7, 0x69, 813 0xb0, 0xa7, 0xc0, 0x7d, 0xa7, 0x34, 0x43, 0xa4, 0x31, 0x43, 0x64, 0x3e, 0x0e, 0x7e, 0x03, 0xb8, 814 0xfa, 0xab, 0x0c, 0x4a, 0x5d, 0x97, 0x22, 0xef, 0xa9, 0x69, 0xb7, 0x16, 0x9e, 0x49, 0x31, 0x71, 815 0xef, 0x62, 0x64, 0x5b, 0xf0, 0x3b, 0x50, 0xb0, 0x04, 0x30, 0x62, 0xc4, 0xaa, 0x5c, 0x91, 0x6b, 816 0xc5, 0xdb, 0x9f, 0xd6, 0x2f, 0xc8, 0x5b, 0xff, 0x37, 0x8d, 0x71, 0x3c, 0x47, 0xcd, 0xe4, 0xe9, 817 0x52, 0x93, 0xf4, 0xbc, 0x15, 0xc3, 0xa0, 0x09, 0xe0, 0xd4, 0x23, 0xce, 0xe8, 0x3c, 0xfd, 0xc6, 818 0xff, 0xa7, 0x57, 0x18, 0x5d, 0x1c, 0xaf, 0xfe, 0x22, 0x83, 0x5c, 0x07, 0x91, 0x03, 0x44, 0x4d, 819 0xcb, 0xa4, 0x26, 0xfc, 0x16, 0x24, 0x7d, 0x0f, 0x5b, 0xbc, 0x86, 0x54, 0x73, 0x8f, 0x45, 0xad, 820 0x96, 0x5a, 0x72, 0xa0, 0x77, 0x5b, 0x7f, 0x2f, 0xb5, 0xcf, 0x67, 0x98, 0x1e, 0x2d, 0xc6, 0xf5, 821 0x09, 0x71, 0x1a, 0x51, 0x7a, 0x6b, 0xbc, 0x7e, 0x6e, 0xcc, 0x1f, 0xcf, 0x1a, 0x51, 0x03, 0xeb, 822 0x2c, 0x4c, 0xe7, 0x84, 0xf0, 0x2b, 0x00, 0xfc, 0x23, 0x73, 0x8e, 0xe2, 0x35, 0xec, 0xc4, 0x6a, 823 0x10, 0x01, 0xcc, 0x25, 0x26, 0x38, 0xeb, 0x87, 0x40, 0xf5, 0x47, 0x19, 0xdc, 0x3c, 0x44, 0x9e, 824 0x8f, 0x7d, 0x8a, 0x5c, 0x3a, 0xf4, 0x91, 0xd7, 0x42, 0x53, 0xec, 0x22, 0x8b, 0x9d, 0xc6, 0xf4, 825 0x17, 0x4d, 0xcf, 0x33, 0x8f, 0x79, 0x9a, 0x11, 0xc1, 0x16, 0x4f, 0x55, 0x68, 0x7e, 0xc6, 0xe8, 826 0x7e, 0x5b, 0x6a, 0x37, 0x62, 0x15, 0xd8, 0x78, 0xdc, 0x98, 0x3f, 0x69, 0x10, 0x6c, 0xd5, 0xfb, 827 0xd8, 0x5a, 0x2d, 0xb5, 0xfc, 0x2e, 0x0b, 0x65, 0x7c, 0xfd, 0x6e, 0x4b, 0xcf, 0x9b, 0x91, 0x85, 828 0xad, 0xfb, 0xc9, 0x8c, 0xac, 0x6c, 0x54, 0x09, 0x90, 0x0d, 0x78, 0x08, 0x0a, 0x98, 0xf5, 0xd8, 829 0x35, 0xed, 0xf5, 0x85, 0xe7, 0x6e, 0x7f, 0xf4, 0xee, 0x1b, 0x71, 0x4d, 0x3b, 0x7e, 0xd1, 0x38, 830 0x86, 0xdd, 0x51, 0x9f, 0xbf, 0xd4, 0xa4, 0x9f, 0x5e, 0x6a, 0xd2, 0xf3, 0x13, 0x4d, 0x7a, 0x71, 831 0xa2, 0x49, 0x2f, 0x4f, 0x34, 0xe9, 0xaf, 0x13, 0x4d, 0xaa, 0xfe, 0xb0, 0x09, 0xf2, 0xf1, 0x70, 832 0xf8, 0x25, 0x48, 0x4f, 0x4d, 0x07, 0xdb, 0xc7, 0x62, 0xcc, 0xb4, 0x0b, 0xb3, 0xde, 0xe5, 0x6e, 833 0x22, 0x9f, 0x08, 0x82, 0x3b, 0x20, 0xf5, 0x0c, 0x5b, 0xf4, 0x88, 0xb7, 0x25, 0x25, 0x0e, 0x03, 834 0x08, 0x56, 0x41, 0x76, 0xee, 0xa1, 0x09, 0xf6, 0x31, 0x71, 0xd5, 0x44, 0xec, 0x7c, 0x0d, 0xc3, 835 0x4f, 0x80, 0x12, 0xf4, 0xd7, 0xc2, 0x0e, 0x72, 0x19, 0xe4, 0xab, 0xc9, 0x4a, 0xa2, 0x96, 0xd2, 836 0xb7, 0x38, 0xde, 0x8a, 0x60, 0x78, 0x0d, 0xa4, 0x6d, 0x32, 0x31, 0x6d, 0xa4, 0xa6, 0x2a, 0x72, 837 0x2d, 0xab, 0x0b, 0x0b, 0x7e, 0x0c, 0xf2, 0x4f, 0xb1, 0x8f, 0xc7, 0xb6, 0x98, 0x85, 0x74, 0x2c, 838 0x53, 0x4e, 0x9c, 0xf0, 0x52, 0x3b, 0x20, 0xe0, 0x1c, 0x21, 0x1b, 0x39, 0x81, 0xef, 0xe6, 0xa5, 839 0x6a, 0xd6, 0x0b, 0x3c, 0xae, 0x6d, 0x23, 0x87, 0x13, 0xed, 0x82, 0x22, 0x5d, 0xcc, 0x6d, 0x34, 840 0x9a, 0x10, 0x97, 0x0d, 0x8f, 0xaf, 0x66, 0x2a, 0x89, 0x5a, 0xee, 0xdc, 0xfc, 0x9d, 0xe7, 0x31, 841 0xf4, 0x02, 0x8f, 0xd8, 0x13, 0x01, 0xf0, 0x26, 0xc8, 0x07, 0x14, 0xb6, 0x39, 0x46, 0xb6, 0xaf, 842 0x66, 0x2b, 0x89, 0x5a, 0x56, 0xcf, 0x71, 0x6c, 0x9f, 0x43, 0xf0, 0x0e, 0x48, 0xb0, 0x79, 0x03, 843 0x7c, 0xde, 0x6a, 0x97, 0x99, 0xb7, 0x44, 0x1f, 0x5b, 0x3a, 0x0b, 0x62, 0x0a, 0x83, 0x52, 0x23, 844 0x85, 0x39, 0x3e, 0x53, 0xef, 0x54, 0xc8, 0x23, 0x22, 0x85, 0x5f, 0x80, 0x12, 0xc5, 0x0e, 0x1a, 845 0x45, 0x77, 0x35, 0xc2, 0xfe, 0xc8, 0x47, 0x54, 0xcd, 0x57, 0xe4, 0x5a, 0x46, 0xf4, 0x17, 0x32, 846 0x97, 0xc3, 0xd0, 0xa3, 0xeb, 0x0f, 0x10, 0x85, 0x53, 0x70, 0x1d, 0x8b, 0x95, 0xb1, 0xde, 0x34, 847 0x53, 0xb6, 0xda, 0xd4, 0x02, 0x17, 0x51, 0xbf, 0xf4, 0xaa, 0xe1, 0x0b, 0x51, 0x2f, 0xe1, 0xb7, 848 0xee, 0xc9, 0x0e, 0xc8, 0xcf, 0x10, 0x19, 0x39, 0xe2, 0x55, 0x55, 0x8b, 0x9c, 0xfc, 0xc3, 0x0b, 849 0xc9, 0x63, 0x6b, 0x49, 0xcf, 0xcd, 0x62, 0x3b, 0xca, 0x05, 0xf9, 0x85, 0x45, 0xd7, 0x44, 0x5b, 850 0x9c, 0xe8, 0xce, 0x85, 0x44, 0xff, 0xb9, 0x35, 0x9a, 0x5b, 0xab, 0xa5, 0x96, 0x1b, 0xb6, 0x8c, 851 0x75, 0xbe, 0x85, 0x45, 0x43, 0xe3, 0xd6, 0x9f, 0x49, 0x90, 0x0e, 0x06, 0x0b, 0x16, 0x01, 0x68, 852 0x12, 0x62, 0x07, 0x96, 0x22, 0xc1, 0x02, 0xc8, 0x76, 0x5d, 0x2a, 0x4c, 0x19, 0x6e, 0x81, 0xdc, 853 0x5d, 0x9b, 0x98, 0x21, 0xb0, 0x01, 0xaf, 0x80, 0x42, 0x0b, 0x4d, 0xb0, 0x63, 0x86, 0x21, 0x09, 854 0x46, 0xd1, 0x32, 0x29, 0x12, 0x76, 0x12, 0x5e, 0x05, 0x5b, 0x06, 0x76, 0x90, 0x4f, 0x4d, 0x67, 855 0x2e, 0xc0, 0x14, 0x84, 0xa0, 0x18, 0xf6, 0x56, 0x60, 0x69, 0xa8, 0x80, 0xfc, 0x80, 0x7a, 0xd8, 856 0x9d, 0x09, 0x64, 0x93, 0xa5, 0x6b, 0x1e, 0x53, 0xe4, 0x0b, 0x20, 0x03, 0x4b, 0xe0, 0x4a, 0xc4, 857 0x65, 0x3c, 0x12, 0x70, 0x16, 0xaa, 0x60, 0x7b, 0x8f, 0xd8, 0xb6, 0x49, 0x91, 0x75, 0x8e, 0x01, 858 0x30, 0xfd, 0x7d, 0x6c, 0x09, 0x33, 0xcf, 0xe4, 0x0e, 0xdd, 0xc7, 0x2e, 0x79, 0xe6, 0x0a, 0xa8, 859 0xc0, 0xe4, 0x0e, 0x17, 0x91, 0x4b, 0x91, 0xe5, 0xe4, 0x5b, 0x52, 0x00, 0x5b, 0xcc, 0xa1, 0xdb, 860 0x43, 0x61, 0xc9, 0x0a, 0xb3, 0x99, 0x06, 0x61, 0x5f, 0x61, 0xf6, 0x7d, 0x9f, 0x84, 0x84, 0x90, 861 0x95, 0xc1, 0xce, 0x23, 0x79, 0x57, 0x19, 0xa5, 0xc1, 0xde, 0x23, 0x01, 0x6c, 0x33, 0x55, 0x4d, 862 0x1c, 0x32, 0x96, 0x58, 0x33, 0x3a, 0x88, 0x38, 0x88, 0x7a, 0x61, 0xd6, 0x6b, 0xac, 0x6b, 0x1d, 863 0x44, 0x66, 0x9e, 0x39, 0x3f, 0x0a, 0xc1, 0xeb, 0x2c, 0x55, 0xdb, 0x5d, 0x38, 0xc2, 0x56, 0x79, 864 0x7f, 0xc8, 0xf7, 0xb7, 0x5b, 0x02, 0xb8, 0xc1, 0x1c, 0x1e, 0x90, 0xa8, 0x98, 0x1d, 0xb8, 0x0d, 865 0x94, 0xb6, 0x3b, 0x21, 0x16, 0xb2, 0xbe, 0x46, 0x21, 0xcd, 0x7b, 0xac, 0x0b, 0xc6, 0xe0, 0x9b, 866 0x05, 0x8a, 0xd2, 0xbd, 0xcf, 0x24, 0x18, 0x83, 0x07, 0x68, 0x42, 0x89, 0x27, 0xb0, 0x0f, 0x18, 867 0xfb, 0x61, 0x67, 0x7f, 0xd0, 0x13, 0x40, 0x99, 0x69, 0xd2, 0xd1, 0x74, 0x6f, 0xe1, 0xf9, 0x91, 868 0x97, 0xc6, 0x6a, 0xd9, 0x75, 0x43, 0x22, 0x6b, 0x27, 0xf9, 0xfc, 0xe7, 0xb2, 0x54, 0x4d, 0x66, 869 0x72, 0x4a, 0xae, 0x9a, 0xce, 0x9c, 0xca, 0xca, 0xa9, 0x5c, 0x4d, 0x67, 0x5e, 0xc9, 0xca, 0x2b, 870 0xf9, 0x96, 0x07, 0xb6, 0xdf, 0xf6, 0xed, 0x86, 0x59, 0x90, 0x1a, 0xf6, 0x06, 0x6d, 0x43, 0x91, 871 0x60, 0x06, 0x24, 0x1f, 0xb6, 0x77, 0x75, 0x45, 0x66, 0xe0, 0x41, 0xbf, 0x67, 0xdc, 0x53, 0x36, 872 0xe0, 0x26, 0x48, 0xb4, 0x76, 0x1f, 0x2a, 0x09, 0x76, 0x7a, 0xaf, 0x3f, 0xd4, 0x95, 0x24, 0x04, 873 0x20, 0x7d, 0xd0, 0xed, 0x0d, 0x8d, 0xb6, 0x92, 0x62, 0xcf, 0x83, 0xf6, 0x5e, 0xbf, 0xd7, 0x52, 874 0xd2, 0x4c, 0xf3, 0x41, 0x77, 0x7f, 0xbf, 0x2b, 0x80, 0xcd, 0xe6, 0xe1, 0xe9, 0x1f, 0x65, 0xe9, 875 0x74, 0x55, 0x96, 0x5f, 0xaf, 0xca, 0xf2, 0x9b, 0x55, 0x59, 0xfe, 0x7d, 0x55, 0x96, 0x5f, 0x9c, 876 0x95, 0xa5, 0xd7, 0x67, 0x65, 0xe9, 0xcd, 0x59, 0x59, 0x7a, 0x54, 0xbf, 0xd4, 0x37, 0x3f, 0xfa, 877 0xeb, 0xf5, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xed, 0x5f, 0xa0, 0x90, 0x86, 0x09, 0x00, 0x00, 878 } 879 880 func (m *IntervalDurationField) Marshal() (dAtA []byte, err error) { 881 size := m.Size() 882 dAtA = make([]byte, size) 883 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 884 if err != nil { 885 return nil, err 886 } 887 return dAtA[:n], nil 888 } 889 890 func (m *IntervalDurationField) MarshalTo(dAtA []byte) (int, error) { 891 size := m.Size() 892 return m.MarshalToSizedBuffer(dAtA[:size]) 893 } 894 895 func (m *IntervalDurationField) MarshalToSizedBuffer(dAtA []byte) (int, error) { 896 i := len(dAtA) 897 _ = i 898 var l int 899 _ = l 900 i = encodeVarintTypes(dAtA, i, uint64(m.FromDurationType)) 901 i-- 902 dAtA[i] = 0x10 903 i = encodeVarintTypes(dAtA, i, uint64(m.DurationType)) 904 i-- 905 dAtA[i] = 0x8 906 return len(dAtA) - i, nil 907 } 908 909 func (m *GeoMetadata) Marshal() (dAtA []byte, err error) { 910 size := m.Size() 911 dAtA = make([]byte, size) 912 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 913 if err != nil { 914 return nil, err 915 } 916 return dAtA[:n], nil 917 } 918 919 func (m *GeoMetadata) MarshalTo(dAtA []byte) (int, error) { 920 size := m.Size() 921 return m.MarshalToSizedBuffer(dAtA[:size]) 922 } 923 924 func (m *GeoMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error) { 925 i := len(dAtA) 926 _ = i 927 var l int 928 _ = l 929 i = encodeVarintTypes(dAtA, i, uint64(m.ShapeType)) 930 i-- 931 dAtA[i] = 0x10 932 i = encodeVarintTypes(dAtA, i, uint64(m.SRID)) 933 i-- 934 dAtA[i] = 0x8 935 return len(dAtA) - i, nil 936 } 937 938 func (m *PersistentUserDefinedTypeMetadata) Marshal() (dAtA []byte, err error) { 939 size := m.Size() 940 dAtA = make([]byte, size) 941 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 942 if err != nil { 943 return nil, err 944 } 945 return dAtA[:n], nil 946 } 947 948 func (m *PersistentUserDefinedTypeMetadata) MarshalTo(dAtA []byte) (int, error) { 949 size := m.Size() 950 return m.MarshalToSizedBuffer(dAtA[:size]) 951 } 952 953 func (m *PersistentUserDefinedTypeMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error) { 954 i := len(dAtA) 955 _ = i 956 var l int 957 _ = l 958 i = encodeVarintTypes(dAtA, i, uint64(m.ArrayTypeOID)) 959 i-- 960 dAtA[i] = 0x10 961 return len(dAtA) - i, nil 962 } 963 964 func (m *InternalType) Marshal() (dAtA []byte, err error) { 965 size := m.Size() 966 dAtA = make([]byte, size) 967 n, err := m.MarshalToSizedBuffer(dAtA[:size]) 968 if err != nil { 969 return nil, err 970 } 971 return dAtA[:n], nil 972 } 973 974 func (m *InternalType) MarshalTo(dAtA []byte) (int, error) { 975 size := m.Size() 976 return m.MarshalToSizedBuffer(dAtA[:size]) 977 } 978 979 func (m *InternalType) MarshalToSizedBuffer(dAtA []byte) (int, error) { 980 i := len(dAtA) 981 _ = i 982 var l int 983 _ = l 984 if m.UDTMetadata != nil { 985 { 986 size, err := m.UDTMetadata.MarshalToSizedBuffer(dAtA[:i]) 987 if err != nil { 988 return 0, err 989 } 990 i -= size 991 i = encodeVarintTypes(dAtA, i, uint64(size)) 992 } 993 i-- 994 dAtA[i] = 0x7a 995 } 996 if m.GeoMetadata != nil { 997 { 998 size, err := m.GeoMetadata.MarshalToSizedBuffer(dAtA[:i]) 999 if err != nil { 1000 return 0, err 1001 } 1002 i -= size 1003 i = encodeVarintTypes(dAtA, i, uint64(size)) 1004 } 1005 i-- 1006 dAtA[i] = 0x72 1007 } 1008 if m.IntervalDurationField != nil { 1009 { 1010 size, err := m.IntervalDurationField.MarshalToSizedBuffer(dAtA[:i]) 1011 if err != nil { 1012 return 0, err 1013 } 1014 i -= size 1015 i = encodeVarintTypes(dAtA, i, uint64(size)) 1016 } 1017 i-- 1018 dAtA[i] = 0x6a 1019 } 1020 i-- 1021 if m.TimePrecisionIsSet { 1022 dAtA[i] = 1 1023 } else { 1024 dAtA[i] = 0 1025 } 1026 i-- 1027 dAtA[i] = 0x60 1028 if m.ArrayContents != nil { 1029 { 1030 size, err := m.ArrayContents.MarshalToSizedBuffer(dAtA[:i]) 1031 if err != nil { 1032 return 0, err 1033 } 1034 i -= size 1035 i = encodeVarintTypes(dAtA, i, uint64(size)) 1036 } 1037 i-- 1038 dAtA[i] = 0x5a 1039 } 1040 i = encodeVarintTypes(dAtA, i, uint64(m.Oid)) 1041 i-- 1042 dAtA[i] = 0x50 1043 if len(m.TupleLabels) > 0 { 1044 for iNdEx := len(m.TupleLabels) - 1; iNdEx >= 0; iNdEx-- { 1045 i -= len(m.TupleLabels[iNdEx]) 1046 copy(dAtA[i:], m.TupleLabels[iNdEx]) 1047 i = encodeVarintTypes(dAtA, i, uint64(len(m.TupleLabels[iNdEx]))) 1048 i-- 1049 dAtA[i] = 0x4a 1050 } 1051 } 1052 if len(m.TupleContents) > 0 { 1053 for iNdEx := len(m.TupleContents) - 1; iNdEx >= 0; iNdEx-- { 1054 { 1055 size, err := m.TupleContents[iNdEx].MarshalToSizedBuffer(dAtA[:i]) 1056 if err != nil { 1057 return 0, err 1058 } 1059 i -= size 1060 i = encodeVarintTypes(dAtA, i, uint64(size)) 1061 } 1062 i-- 1063 dAtA[i] = 0x42 1064 } 1065 } 1066 if m.ArrayElemType != nil { 1067 i = encodeVarintTypes(dAtA, i, uint64(*m.ArrayElemType)) 1068 i-- 1069 dAtA[i] = 0x38 1070 } 1071 i = encodeVarintTypes(dAtA, i, uint64(m.VisibleType)) 1072 i-- 1073 dAtA[i] = 0x30 1074 if m.Locale != nil { 1075 i -= len(*m.Locale) 1076 copy(dAtA[i:], *m.Locale) 1077 i = encodeVarintTypes(dAtA, i, uint64(len(*m.Locale))) 1078 i-- 1079 dAtA[i] = 0x2a 1080 } 1081 if len(m.ArrayDimensions) > 0 { 1082 for iNdEx := len(m.ArrayDimensions) - 1; iNdEx >= 0; iNdEx-- { 1083 i = encodeVarintTypes(dAtA, i, uint64(m.ArrayDimensions[iNdEx])) 1084 i-- 1085 dAtA[i] = 0x20 1086 } 1087 } 1088 i = encodeVarintTypes(dAtA, i, uint64(m.Precision)) 1089 i-- 1090 dAtA[i] = 0x18 1091 i = encodeVarintTypes(dAtA, i, uint64(m.Width)) 1092 i-- 1093 dAtA[i] = 0x10 1094 i = encodeVarintTypes(dAtA, i, uint64(m.Family)) 1095 i-- 1096 dAtA[i] = 0x8 1097 return len(dAtA) - i, nil 1098 } 1099 1100 func encodeVarintTypes(dAtA []byte, offset int, v uint64) int { 1101 offset -= sovTypes(v) 1102 base := offset 1103 for v >= 1<<7 { 1104 dAtA[offset] = uint8(v&0x7f | 0x80) 1105 v >>= 7 1106 offset++ 1107 } 1108 dAtA[offset] = uint8(v) 1109 return base 1110 } 1111 func (m *IntervalDurationField) Size() (n int) { 1112 if m == nil { 1113 return 0 1114 } 1115 var l int 1116 _ = l 1117 n += 1 + sovTypes(uint64(m.DurationType)) 1118 n += 1 + sovTypes(uint64(m.FromDurationType)) 1119 return n 1120 } 1121 1122 func (m *GeoMetadata) Size() (n int) { 1123 if m == nil { 1124 return 0 1125 } 1126 var l int 1127 _ = l 1128 n += 1 + sovTypes(uint64(m.SRID)) 1129 n += 1 + sovTypes(uint64(m.ShapeType)) 1130 return n 1131 } 1132 1133 func (m *PersistentUserDefinedTypeMetadata) Size() (n int) { 1134 if m == nil { 1135 return 0 1136 } 1137 var l int 1138 _ = l 1139 n += 1 + sovTypes(uint64(m.ArrayTypeOID)) 1140 return n 1141 } 1142 1143 func (m *InternalType) Size() (n int) { 1144 if m == nil { 1145 return 0 1146 } 1147 var l int 1148 _ = l 1149 n += 1 + sovTypes(uint64(m.Family)) 1150 n += 1 + sovTypes(uint64(m.Width)) 1151 n += 1 + sovTypes(uint64(m.Precision)) 1152 if len(m.ArrayDimensions) > 0 { 1153 for _, e := range m.ArrayDimensions { 1154 n += 1 + sovTypes(uint64(e)) 1155 } 1156 } 1157 if m.Locale != nil { 1158 l = len(*m.Locale) 1159 n += 1 + l + sovTypes(uint64(l)) 1160 } 1161 n += 1 + sovTypes(uint64(m.VisibleType)) 1162 if m.ArrayElemType != nil { 1163 n += 1 + sovTypes(uint64(*m.ArrayElemType)) 1164 } 1165 if len(m.TupleContents) > 0 { 1166 for _, e := range m.TupleContents { 1167 l = e.Size() 1168 n += 1 + l + sovTypes(uint64(l)) 1169 } 1170 } 1171 if len(m.TupleLabels) > 0 { 1172 for _, s := range m.TupleLabels { 1173 l = len(s) 1174 n += 1 + l + sovTypes(uint64(l)) 1175 } 1176 } 1177 n += 1 + sovTypes(uint64(m.Oid)) 1178 if m.ArrayContents != nil { 1179 l = m.ArrayContents.Size() 1180 n += 1 + l + sovTypes(uint64(l)) 1181 } 1182 n += 2 1183 if m.IntervalDurationField != nil { 1184 l = m.IntervalDurationField.Size() 1185 n += 1 + l + sovTypes(uint64(l)) 1186 } 1187 if m.GeoMetadata != nil { 1188 l = m.GeoMetadata.Size() 1189 n += 1 + l + sovTypes(uint64(l)) 1190 } 1191 if m.UDTMetadata != nil { 1192 l = m.UDTMetadata.Size() 1193 n += 1 + l + sovTypes(uint64(l)) 1194 } 1195 return n 1196 } 1197 1198 func sovTypes(x uint64) (n int) { 1199 return (math_bits.Len64(x|1) + 6) / 7 1200 } 1201 func sozTypes(x uint64) (n int) { 1202 return sovTypes(uint64((x << 1) ^ uint64((int64(x) >> 63)))) 1203 } 1204 func (m *IntervalDurationField) Unmarshal(dAtA []byte) error { 1205 l := len(dAtA) 1206 iNdEx := 0 1207 for iNdEx < l { 1208 preIndex := iNdEx 1209 var wire uint64 1210 for shift := uint(0); ; shift += 7 { 1211 if shift >= 64 { 1212 return ErrIntOverflowTypes 1213 } 1214 if iNdEx >= l { 1215 return io.ErrUnexpectedEOF 1216 } 1217 b := dAtA[iNdEx] 1218 iNdEx++ 1219 wire |= uint64(b&0x7F) << shift 1220 if b < 0x80 { 1221 break 1222 } 1223 } 1224 fieldNum := int32(wire >> 3) 1225 wireType := int(wire & 0x7) 1226 if wireType == 4 { 1227 return fmt.Errorf("proto: IntervalDurationField: wiretype end group for non-group") 1228 } 1229 if fieldNum <= 0 { 1230 return fmt.Errorf("proto: IntervalDurationField: illegal tag %d (wire type %d)", fieldNum, wire) 1231 } 1232 switch fieldNum { 1233 case 1: 1234 if wireType != 0 { 1235 return fmt.Errorf("proto: wrong wireType = %d for field DurationType", wireType) 1236 } 1237 m.DurationType = 0 1238 for shift := uint(0); ; shift += 7 { 1239 if shift >= 64 { 1240 return ErrIntOverflowTypes 1241 } 1242 if iNdEx >= l { 1243 return io.ErrUnexpectedEOF 1244 } 1245 b := dAtA[iNdEx] 1246 iNdEx++ 1247 m.DurationType |= IntervalDurationType(b&0x7F) << shift 1248 if b < 0x80 { 1249 break 1250 } 1251 } 1252 case 2: 1253 if wireType != 0 { 1254 return fmt.Errorf("proto: wrong wireType = %d for field FromDurationType", wireType) 1255 } 1256 m.FromDurationType = 0 1257 for shift := uint(0); ; shift += 7 { 1258 if shift >= 64 { 1259 return ErrIntOverflowTypes 1260 } 1261 if iNdEx >= l { 1262 return io.ErrUnexpectedEOF 1263 } 1264 b := dAtA[iNdEx] 1265 iNdEx++ 1266 m.FromDurationType |= IntervalDurationType(b&0x7F) << shift 1267 if b < 0x80 { 1268 break 1269 } 1270 } 1271 default: 1272 iNdEx = preIndex 1273 skippy, err := skipTypes(dAtA[iNdEx:]) 1274 if err != nil { 1275 return err 1276 } 1277 if (skippy < 0) || (iNdEx+skippy) < 0 { 1278 return ErrInvalidLengthTypes 1279 } 1280 if (iNdEx + skippy) > l { 1281 return io.ErrUnexpectedEOF 1282 } 1283 iNdEx += skippy 1284 } 1285 } 1286 1287 if iNdEx > l { 1288 return io.ErrUnexpectedEOF 1289 } 1290 return nil 1291 } 1292 func (m *GeoMetadata) Unmarshal(dAtA []byte) error { 1293 l := len(dAtA) 1294 iNdEx := 0 1295 for iNdEx < l { 1296 preIndex := iNdEx 1297 var wire uint64 1298 for shift := uint(0); ; shift += 7 { 1299 if shift >= 64 { 1300 return ErrIntOverflowTypes 1301 } 1302 if iNdEx >= l { 1303 return io.ErrUnexpectedEOF 1304 } 1305 b := dAtA[iNdEx] 1306 iNdEx++ 1307 wire |= uint64(b&0x7F) << shift 1308 if b < 0x80 { 1309 break 1310 } 1311 } 1312 fieldNum := int32(wire >> 3) 1313 wireType := int(wire & 0x7) 1314 if wireType == 4 { 1315 return fmt.Errorf("proto: GeoMetadata: wiretype end group for non-group") 1316 } 1317 if fieldNum <= 0 { 1318 return fmt.Errorf("proto: GeoMetadata: illegal tag %d (wire type %d)", fieldNum, wire) 1319 } 1320 switch fieldNum { 1321 case 1: 1322 if wireType != 0 { 1323 return fmt.Errorf("proto: wrong wireType = %d for field SRID", wireType) 1324 } 1325 m.SRID = 0 1326 for shift := uint(0); ; shift += 7 { 1327 if shift >= 64 { 1328 return ErrIntOverflowTypes 1329 } 1330 if iNdEx >= l { 1331 return io.ErrUnexpectedEOF 1332 } 1333 b := dAtA[iNdEx] 1334 iNdEx++ 1335 m.SRID |= github_com_cockroachdb_cockroach_pkg_geo_geopb.SRID(b&0x7F) << shift 1336 if b < 0x80 { 1337 break 1338 } 1339 } 1340 case 2: 1341 if wireType != 0 { 1342 return fmt.Errorf("proto: wrong wireType = %d for field ShapeType", wireType) 1343 } 1344 m.ShapeType = 0 1345 for shift := uint(0); ; shift += 7 { 1346 if shift >= 64 { 1347 return ErrIntOverflowTypes 1348 } 1349 if iNdEx >= l { 1350 return io.ErrUnexpectedEOF 1351 } 1352 b := dAtA[iNdEx] 1353 iNdEx++ 1354 m.ShapeType |= geopb.ShapeType(b&0x7F) << shift 1355 if b < 0x80 { 1356 break 1357 } 1358 } 1359 default: 1360 iNdEx = preIndex 1361 skippy, err := skipTypes(dAtA[iNdEx:]) 1362 if err != nil { 1363 return err 1364 } 1365 if (skippy < 0) || (iNdEx+skippy) < 0 { 1366 return ErrInvalidLengthTypes 1367 } 1368 if (iNdEx + skippy) > l { 1369 return io.ErrUnexpectedEOF 1370 } 1371 iNdEx += skippy 1372 } 1373 } 1374 1375 if iNdEx > l { 1376 return io.ErrUnexpectedEOF 1377 } 1378 return nil 1379 } 1380 func (m *PersistentUserDefinedTypeMetadata) Unmarshal(dAtA []byte) error { 1381 l := len(dAtA) 1382 iNdEx := 0 1383 for iNdEx < l { 1384 preIndex := iNdEx 1385 var wire uint64 1386 for shift := uint(0); ; shift += 7 { 1387 if shift >= 64 { 1388 return ErrIntOverflowTypes 1389 } 1390 if iNdEx >= l { 1391 return io.ErrUnexpectedEOF 1392 } 1393 b := dAtA[iNdEx] 1394 iNdEx++ 1395 wire |= uint64(b&0x7F) << shift 1396 if b < 0x80 { 1397 break 1398 } 1399 } 1400 fieldNum := int32(wire >> 3) 1401 wireType := int(wire & 0x7) 1402 if wireType == 4 { 1403 return fmt.Errorf("proto: PersistentUserDefinedTypeMetadata: wiretype end group for non-group") 1404 } 1405 if fieldNum <= 0 { 1406 return fmt.Errorf("proto: PersistentUserDefinedTypeMetadata: illegal tag %d (wire type %d)", fieldNum, wire) 1407 } 1408 switch fieldNum { 1409 case 2: 1410 if wireType != 0 { 1411 return fmt.Errorf("proto: wrong wireType = %d for field ArrayTypeOID", wireType) 1412 } 1413 m.ArrayTypeOID = 0 1414 for shift := uint(0); ; shift += 7 { 1415 if shift >= 64 { 1416 return ErrIntOverflowTypes 1417 } 1418 if iNdEx >= l { 1419 return io.ErrUnexpectedEOF 1420 } 1421 b := dAtA[iNdEx] 1422 iNdEx++ 1423 m.ArrayTypeOID |= github_com_lib_pq_oid.Oid(b&0x7F) << shift 1424 if b < 0x80 { 1425 break 1426 } 1427 } 1428 default: 1429 iNdEx = preIndex 1430 skippy, err := skipTypes(dAtA[iNdEx:]) 1431 if err != nil { 1432 return err 1433 } 1434 if (skippy < 0) || (iNdEx+skippy) < 0 { 1435 return ErrInvalidLengthTypes 1436 } 1437 if (iNdEx + skippy) > l { 1438 return io.ErrUnexpectedEOF 1439 } 1440 iNdEx += skippy 1441 } 1442 } 1443 1444 if iNdEx > l { 1445 return io.ErrUnexpectedEOF 1446 } 1447 return nil 1448 } 1449 func (m *InternalType) Unmarshal(dAtA []byte) error { 1450 l := len(dAtA) 1451 iNdEx := 0 1452 for iNdEx < l { 1453 preIndex := iNdEx 1454 var wire uint64 1455 for shift := uint(0); ; shift += 7 { 1456 if shift >= 64 { 1457 return ErrIntOverflowTypes 1458 } 1459 if iNdEx >= l { 1460 return io.ErrUnexpectedEOF 1461 } 1462 b := dAtA[iNdEx] 1463 iNdEx++ 1464 wire |= uint64(b&0x7F) << shift 1465 if b < 0x80 { 1466 break 1467 } 1468 } 1469 fieldNum := int32(wire >> 3) 1470 wireType := int(wire & 0x7) 1471 if wireType == 4 { 1472 return fmt.Errorf("proto: InternalType: wiretype end group for non-group") 1473 } 1474 if fieldNum <= 0 { 1475 return fmt.Errorf("proto: InternalType: illegal tag %d (wire type %d)", fieldNum, wire) 1476 } 1477 switch fieldNum { 1478 case 1: 1479 if wireType != 0 { 1480 return fmt.Errorf("proto: wrong wireType = %d for field Family", wireType) 1481 } 1482 m.Family = 0 1483 for shift := uint(0); ; shift += 7 { 1484 if shift >= 64 { 1485 return ErrIntOverflowTypes 1486 } 1487 if iNdEx >= l { 1488 return io.ErrUnexpectedEOF 1489 } 1490 b := dAtA[iNdEx] 1491 iNdEx++ 1492 m.Family |= Family(b&0x7F) << shift 1493 if b < 0x80 { 1494 break 1495 } 1496 } 1497 case 2: 1498 if wireType != 0 { 1499 return fmt.Errorf("proto: wrong wireType = %d for field Width", wireType) 1500 } 1501 m.Width = 0 1502 for shift := uint(0); ; shift += 7 { 1503 if shift >= 64 { 1504 return ErrIntOverflowTypes 1505 } 1506 if iNdEx >= l { 1507 return io.ErrUnexpectedEOF 1508 } 1509 b := dAtA[iNdEx] 1510 iNdEx++ 1511 m.Width |= int32(b&0x7F) << shift 1512 if b < 0x80 { 1513 break 1514 } 1515 } 1516 case 3: 1517 if wireType != 0 { 1518 return fmt.Errorf("proto: wrong wireType = %d for field Precision", wireType) 1519 } 1520 m.Precision = 0 1521 for shift := uint(0); ; shift += 7 { 1522 if shift >= 64 { 1523 return ErrIntOverflowTypes 1524 } 1525 if iNdEx >= l { 1526 return io.ErrUnexpectedEOF 1527 } 1528 b := dAtA[iNdEx] 1529 iNdEx++ 1530 m.Precision |= int32(b&0x7F) << shift 1531 if b < 0x80 { 1532 break 1533 } 1534 } 1535 case 4: 1536 if wireType == 0 { 1537 var v int32 1538 for shift := uint(0); ; shift += 7 { 1539 if shift >= 64 { 1540 return ErrIntOverflowTypes 1541 } 1542 if iNdEx >= l { 1543 return io.ErrUnexpectedEOF 1544 } 1545 b := dAtA[iNdEx] 1546 iNdEx++ 1547 v |= int32(b&0x7F) << shift 1548 if b < 0x80 { 1549 break 1550 } 1551 } 1552 m.ArrayDimensions = append(m.ArrayDimensions, v) 1553 } else if wireType == 2 { 1554 var packedLen int 1555 for shift := uint(0); ; shift += 7 { 1556 if shift >= 64 { 1557 return ErrIntOverflowTypes 1558 } 1559 if iNdEx >= l { 1560 return io.ErrUnexpectedEOF 1561 } 1562 b := dAtA[iNdEx] 1563 iNdEx++ 1564 packedLen |= int(b&0x7F) << shift 1565 if b < 0x80 { 1566 break 1567 } 1568 } 1569 if packedLen < 0 { 1570 return ErrInvalidLengthTypes 1571 } 1572 postIndex := iNdEx + packedLen 1573 if postIndex < 0 { 1574 return ErrInvalidLengthTypes 1575 } 1576 if postIndex > l { 1577 return io.ErrUnexpectedEOF 1578 } 1579 var elementCount int 1580 var count int 1581 for _, integer := range dAtA[iNdEx:postIndex] { 1582 if integer < 128 { 1583 count++ 1584 } 1585 } 1586 elementCount = count 1587 if elementCount != 0 && len(m.ArrayDimensions) == 0 { 1588 m.ArrayDimensions = make([]int32, 0, elementCount) 1589 } 1590 for iNdEx < postIndex { 1591 var v int32 1592 for shift := uint(0); ; shift += 7 { 1593 if shift >= 64 { 1594 return ErrIntOverflowTypes 1595 } 1596 if iNdEx >= l { 1597 return io.ErrUnexpectedEOF 1598 } 1599 b := dAtA[iNdEx] 1600 iNdEx++ 1601 v |= int32(b&0x7F) << shift 1602 if b < 0x80 { 1603 break 1604 } 1605 } 1606 m.ArrayDimensions = append(m.ArrayDimensions, v) 1607 } 1608 } else { 1609 return fmt.Errorf("proto: wrong wireType = %d for field ArrayDimensions", wireType) 1610 } 1611 case 5: 1612 if wireType != 2 { 1613 return fmt.Errorf("proto: wrong wireType = %d for field Locale", wireType) 1614 } 1615 var stringLen uint64 1616 for shift := uint(0); ; shift += 7 { 1617 if shift >= 64 { 1618 return ErrIntOverflowTypes 1619 } 1620 if iNdEx >= l { 1621 return io.ErrUnexpectedEOF 1622 } 1623 b := dAtA[iNdEx] 1624 iNdEx++ 1625 stringLen |= uint64(b&0x7F) << shift 1626 if b < 0x80 { 1627 break 1628 } 1629 } 1630 intStringLen := int(stringLen) 1631 if intStringLen < 0 { 1632 return ErrInvalidLengthTypes 1633 } 1634 postIndex := iNdEx + intStringLen 1635 if postIndex < 0 { 1636 return ErrInvalidLengthTypes 1637 } 1638 if postIndex > l { 1639 return io.ErrUnexpectedEOF 1640 } 1641 s := string(dAtA[iNdEx:postIndex]) 1642 m.Locale = &s 1643 iNdEx = postIndex 1644 case 6: 1645 if wireType != 0 { 1646 return fmt.Errorf("proto: wrong wireType = %d for field VisibleType", wireType) 1647 } 1648 m.VisibleType = 0 1649 for shift := uint(0); ; shift += 7 { 1650 if shift >= 64 { 1651 return ErrIntOverflowTypes 1652 } 1653 if iNdEx >= l { 1654 return io.ErrUnexpectedEOF 1655 } 1656 b := dAtA[iNdEx] 1657 iNdEx++ 1658 m.VisibleType |= int32(b&0x7F) << shift 1659 if b < 0x80 { 1660 break 1661 } 1662 } 1663 case 7: 1664 if wireType != 0 { 1665 return fmt.Errorf("proto: wrong wireType = %d for field ArrayElemType", wireType) 1666 } 1667 var v Family 1668 for shift := uint(0); ; shift += 7 { 1669 if shift >= 64 { 1670 return ErrIntOverflowTypes 1671 } 1672 if iNdEx >= l { 1673 return io.ErrUnexpectedEOF 1674 } 1675 b := dAtA[iNdEx] 1676 iNdEx++ 1677 v |= Family(b&0x7F) << shift 1678 if b < 0x80 { 1679 break 1680 } 1681 } 1682 m.ArrayElemType = &v 1683 case 8: 1684 if wireType != 2 { 1685 return fmt.Errorf("proto: wrong wireType = %d for field TupleContents", wireType) 1686 } 1687 var msglen int 1688 for shift := uint(0); ; shift += 7 { 1689 if shift >= 64 { 1690 return ErrIntOverflowTypes 1691 } 1692 if iNdEx >= l { 1693 return io.ErrUnexpectedEOF 1694 } 1695 b := dAtA[iNdEx] 1696 iNdEx++ 1697 msglen |= int(b&0x7F) << shift 1698 if b < 0x80 { 1699 break 1700 } 1701 } 1702 if msglen < 0 { 1703 return ErrInvalidLengthTypes 1704 } 1705 postIndex := iNdEx + msglen 1706 if postIndex < 0 { 1707 return ErrInvalidLengthTypes 1708 } 1709 if postIndex > l { 1710 return io.ErrUnexpectedEOF 1711 } 1712 m.TupleContents = append(m.TupleContents, &T{}) 1713 if err := m.TupleContents[len(m.TupleContents)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1714 return err 1715 } 1716 iNdEx = postIndex 1717 case 9: 1718 if wireType != 2 { 1719 return fmt.Errorf("proto: wrong wireType = %d for field TupleLabels", wireType) 1720 } 1721 var stringLen uint64 1722 for shift := uint(0); ; shift += 7 { 1723 if shift >= 64 { 1724 return ErrIntOverflowTypes 1725 } 1726 if iNdEx >= l { 1727 return io.ErrUnexpectedEOF 1728 } 1729 b := dAtA[iNdEx] 1730 iNdEx++ 1731 stringLen |= uint64(b&0x7F) << shift 1732 if b < 0x80 { 1733 break 1734 } 1735 } 1736 intStringLen := int(stringLen) 1737 if intStringLen < 0 { 1738 return ErrInvalidLengthTypes 1739 } 1740 postIndex := iNdEx + intStringLen 1741 if postIndex < 0 { 1742 return ErrInvalidLengthTypes 1743 } 1744 if postIndex > l { 1745 return io.ErrUnexpectedEOF 1746 } 1747 m.TupleLabels = append(m.TupleLabels, string(dAtA[iNdEx:postIndex])) 1748 iNdEx = postIndex 1749 case 10: 1750 if wireType != 0 { 1751 return fmt.Errorf("proto: wrong wireType = %d for field Oid", wireType) 1752 } 1753 m.Oid = 0 1754 for shift := uint(0); ; shift += 7 { 1755 if shift >= 64 { 1756 return ErrIntOverflowTypes 1757 } 1758 if iNdEx >= l { 1759 return io.ErrUnexpectedEOF 1760 } 1761 b := dAtA[iNdEx] 1762 iNdEx++ 1763 m.Oid |= github_com_lib_pq_oid.Oid(b&0x7F) << shift 1764 if b < 0x80 { 1765 break 1766 } 1767 } 1768 case 11: 1769 if wireType != 2 { 1770 return fmt.Errorf("proto: wrong wireType = %d for field ArrayContents", wireType) 1771 } 1772 var msglen int 1773 for shift := uint(0); ; shift += 7 { 1774 if shift >= 64 { 1775 return ErrIntOverflowTypes 1776 } 1777 if iNdEx >= l { 1778 return io.ErrUnexpectedEOF 1779 } 1780 b := dAtA[iNdEx] 1781 iNdEx++ 1782 msglen |= int(b&0x7F) << shift 1783 if b < 0x80 { 1784 break 1785 } 1786 } 1787 if msglen < 0 { 1788 return ErrInvalidLengthTypes 1789 } 1790 postIndex := iNdEx + msglen 1791 if postIndex < 0 { 1792 return ErrInvalidLengthTypes 1793 } 1794 if postIndex > l { 1795 return io.ErrUnexpectedEOF 1796 } 1797 if m.ArrayContents == nil { 1798 m.ArrayContents = &T{} 1799 } 1800 if err := m.ArrayContents.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1801 return err 1802 } 1803 iNdEx = postIndex 1804 case 12: 1805 if wireType != 0 { 1806 return fmt.Errorf("proto: wrong wireType = %d for field TimePrecisionIsSet", wireType) 1807 } 1808 var v int 1809 for shift := uint(0); ; shift += 7 { 1810 if shift >= 64 { 1811 return ErrIntOverflowTypes 1812 } 1813 if iNdEx >= l { 1814 return io.ErrUnexpectedEOF 1815 } 1816 b := dAtA[iNdEx] 1817 iNdEx++ 1818 v |= int(b&0x7F) << shift 1819 if b < 0x80 { 1820 break 1821 } 1822 } 1823 m.TimePrecisionIsSet = bool(v != 0) 1824 case 13: 1825 if wireType != 2 { 1826 return fmt.Errorf("proto: wrong wireType = %d for field IntervalDurationField", wireType) 1827 } 1828 var msglen int 1829 for shift := uint(0); ; shift += 7 { 1830 if shift >= 64 { 1831 return ErrIntOverflowTypes 1832 } 1833 if iNdEx >= l { 1834 return io.ErrUnexpectedEOF 1835 } 1836 b := dAtA[iNdEx] 1837 iNdEx++ 1838 msglen |= int(b&0x7F) << shift 1839 if b < 0x80 { 1840 break 1841 } 1842 } 1843 if msglen < 0 { 1844 return ErrInvalidLengthTypes 1845 } 1846 postIndex := iNdEx + msglen 1847 if postIndex < 0 { 1848 return ErrInvalidLengthTypes 1849 } 1850 if postIndex > l { 1851 return io.ErrUnexpectedEOF 1852 } 1853 if m.IntervalDurationField == nil { 1854 m.IntervalDurationField = &IntervalDurationField{} 1855 } 1856 if err := m.IntervalDurationField.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1857 return err 1858 } 1859 iNdEx = postIndex 1860 case 14: 1861 if wireType != 2 { 1862 return fmt.Errorf("proto: wrong wireType = %d for field GeoMetadata", wireType) 1863 } 1864 var msglen int 1865 for shift := uint(0); ; shift += 7 { 1866 if shift >= 64 { 1867 return ErrIntOverflowTypes 1868 } 1869 if iNdEx >= l { 1870 return io.ErrUnexpectedEOF 1871 } 1872 b := dAtA[iNdEx] 1873 iNdEx++ 1874 msglen |= int(b&0x7F) << shift 1875 if b < 0x80 { 1876 break 1877 } 1878 } 1879 if msglen < 0 { 1880 return ErrInvalidLengthTypes 1881 } 1882 postIndex := iNdEx + msglen 1883 if postIndex < 0 { 1884 return ErrInvalidLengthTypes 1885 } 1886 if postIndex > l { 1887 return io.ErrUnexpectedEOF 1888 } 1889 if m.GeoMetadata == nil { 1890 m.GeoMetadata = &GeoMetadata{} 1891 } 1892 if err := m.GeoMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1893 return err 1894 } 1895 iNdEx = postIndex 1896 case 15: 1897 if wireType != 2 { 1898 return fmt.Errorf("proto: wrong wireType = %d for field UDTMetadata", wireType) 1899 } 1900 var msglen int 1901 for shift := uint(0); ; shift += 7 { 1902 if shift >= 64 { 1903 return ErrIntOverflowTypes 1904 } 1905 if iNdEx >= l { 1906 return io.ErrUnexpectedEOF 1907 } 1908 b := dAtA[iNdEx] 1909 iNdEx++ 1910 msglen |= int(b&0x7F) << shift 1911 if b < 0x80 { 1912 break 1913 } 1914 } 1915 if msglen < 0 { 1916 return ErrInvalidLengthTypes 1917 } 1918 postIndex := iNdEx + msglen 1919 if postIndex < 0 { 1920 return ErrInvalidLengthTypes 1921 } 1922 if postIndex > l { 1923 return io.ErrUnexpectedEOF 1924 } 1925 if m.UDTMetadata == nil { 1926 m.UDTMetadata = &PersistentUserDefinedTypeMetadata{} 1927 } 1928 if err := m.UDTMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 1929 return err 1930 } 1931 iNdEx = postIndex 1932 default: 1933 iNdEx = preIndex 1934 skippy, err := skipTypes(dAtA[iNdEx:]) 1935 if err != nil { 1936 return err 1937 } 1938 if (skippy < 0) || (iNdEx+skippy) < 0 { 1939 return ErrInvalidLengthTypes 1940 } 1941 if (iNdEx + skippy) > l { 1942 return io.ErrUnexpectedEOF 1943 } 1944 iNdEx += skippy 1945 } 1946 } 1947 1948 if iNdEx > l { 1949 return io.ErrUnexpectedEOF 1950 } 1951 return nil 1952 } 1953 func skipTypes(dAtA []byte) (n int, err error) { 1954 l := len(dAtA) 1955 iNdEx := 0 1956 depth := 0 1957 for iNdEx < l { 1958 var wire uint64 1959 for shift := uint(0); ; shift += 7 { 1960 if shift >= 64 { 1961 return 0, ErrIntOverflowTypes 1962 } 1963 if iNdEx >= l { 1964 return 0, io.ErrUnexpectedEOF 1965 } 1966 b := dAtA[iNdEx] 1967 iNdEx++ 1968 wire |= (uint64(b) & 0x7F) << shift 1969 if b < 0x80 { 1970 break 1971 } 1972 } 1973 wireType := int(wire & 0x7) 1974 switch wireType { 1975 case 0: 1976 for shift := uint(0); ; shift += 7 { 1977 if shift >= 64 { 1978 return 0, ErrIntOverflowTypes 1979 } 1980 if iNdEx >= l { 1981 return 0, io.ErrUnexpectedEOF 1982 } 1983 iNdEx++ 1984 if dAtA[iNdEx-1] < 0x80 { 1985 break 1986 } 1987 } 1988 case 1: 1989 iNdEx += 8 1990 case 2: 1991 var length int 1992 for shift := uint(0); ; shift += 7 { 1993 if shift >= 64 { 1994 return 0, ErrIntOverflowTypes 1995 } 1996 if iNdEx >= l { 1997 return 0, io.ErrUnexpectedEOF 1998 } 1999 b := dAtA[iNdEx] 2000 iNdEx++ 2001 length |= (int(b) & 0x7F) << shift 2002 if b < 0x80 { 2003 break 2004 } 2005 } 2006 if length < 0 { 2007 return 0, ErrInvalidLengthTypes 2008 } 2009 iNdEx += length 2010 case 3: 2011 depth++ 2012 case 4: 2013 if depth == 0 { 2014 return 0, ErrUnexpectedEndOfGroupTypes 2015 } 2016 depth-- 2017 case 5: 2018 iNdEx += 4 2019 default: 2020 return 0, fmt.Errorf("proto: illegal wireType %d", wireType) 2021 } 2022 if iNdEx < 0 { 2023 return 0, ErrInvalidLengthTypes 2024 } 2025 if depth == 0 { 2026 return iNdEx, nil 2027 } 2028 } 2029 return 0, io.ErrUnexpectedEOF 2030 } 2031 2032 var ( 2033 ErrInvalidLengthTypes = fmt.Errorf("proto: negative length found during unmarshaling") 2034 ErrIntOverflowTypes = fmt.Errorf("proto: integer overflow") 2035 ErrUnexpectedEndOfGroupTypes = fmt.Errorf("proto: unexpected end of group") 2036 ) 2037