pub type PbType = Type;
Expand description
Alias for Type
.
Aliased Type§
enum PbType {
Show 251 variants
Unspecified = 0,
Add = 3,
Subtract = 4,
Multiply = 5,
Divide = 6,
Modulus = 7,
Equal = 8,
NotEqual = 9,
LessThan = 10,
LessThanOrEqual = 11,
GreaterThan = 12,
GreaterThanOrEqual = 13,
Greatest = 14,
Least = 15,
And = 21,
Or = 22,
Not = 23,
In = 24,
Some = 25,
All = 26,
BitwiseAnd = 31,
BitwiseOr = 32,
BitwiseXor = 33,
BitwiseNot = 34,
BitwiseShiftLeft = 35,
BitwiseShiftRight = 36,
Extract = 101,
DatePart = 102,
TumbleStart = 103,
MakeDate = 113,
MakeTime = 114,
MakeTimestamp = 115,
SecToTimestamptz = 104,
AtTimeZone = 105,
DateTrunc = 106,
CharToTimestamptz = 107,
CharToDate = 111,
CastWithTimeZone = 108,
AddWithTimeZone = 109,
SubtractWithTimeZone = 110,
MakeTimestamptz = 112,
Cast = 201,
Substr = 202,
Length = 203,
Like = 204,
ILike = 279,
SimilarToEscape = 284,
Upper = 205,
Lower = 206,
Trim = 207,
Replace = 208,
Position = 209,
Ltrim = 210,
Rtrim = 211,
Case = 212,
ConstantLookup = 624,
RoundDigit = 213,
Round = 214,
Ascii = 215,
Translate = 216,
Coalesce = 217,
ConcatWs = 218,
ConcatWsVariadic = 285,
Abs = 219,
SplitPart = 220,
Ceil = 221,
Floor = 222,
ToChar = 223,
Md5 = 224,
CharLength = 225,
Repeat = 226,
ConcatOp = 227,
Concat = 286,
ConcatVariadic = 287,
BoolOut = 228,
OctetLength = 229,
BitLength = 230,
Overlay = 231,
RegexpMatch = 232,
RegexpReplace = 280,
RegexpCount = 281,
RegexpSplitToArray = 282,
RegexpEq = 283,
Pow = 233,
Exp = 234,
Chr = 235,
StartsWith = 236,
Initcap = 237,
Lpad = 238,
Rpad = 239,
Reverse = 240,
Strpos = 241,
ToAscii = 242,
ToHex = 243,
QuoteIdent = 244,
Sin = 245,
Cos = 246,
Tan = 247,
Cot = 248,
Asin = 249,
Acos = 250,
Atan = 251,
Atan2 = 252,
Sind = 253,
Cosd = 254,
Cotd = 255,
Tand = 256,
Asind = 257,
Sqrt = 258,
Degrees = 259,
Radians = 260,
Cosh = 261,
Tanh = 262,
Coth = 263,
Asinh = 264,
Acosh = 265,
Atanh = 266,
Sinh = 267,
Acosd = 268,
Trunc = 271,
Ln = 272,
Log10 = 273,
Cbrt = 274,
Sign = 275,
Scale = 276,
MinScale = 277,
TrimScale = 278,
IsTrue = 301,
IsNotTrue = 302,
IsFalse = 303,
IsNotFalse = 304,
IsNull = 305,
IsNotNull = 306,
IsDistinctFrom = 307,
IsNotDistinctFrom = 308,
Encode = 310,
Decode = 311,
Sha1 = 312,
Sha224 = 313,
Sha256 = 314,
Sha384 = 315,
Sha512 = 316,
Left = 317,
Right = 318,
Format = 319,
FormatVariadic = 326,
PgwireSend = 320,
PgwireRecv = 321,
ConvertFrom = 322,
ConvertTo = 323,
Decrypt = 324,
Encrypt = 325,
InetAton = 328,
InetNtoa = 329,
QuoteLiteral = 330,
QuoteNullable = 331,
Neg = 401,
Field = 501,
Array = 521,
ArrayAccess = 522,
Row = 523,
ArrayToString = 524,
ArrayRangeAccess = 525,
ArrayCat = 531,
ArrayAppend = 532,
ArrayPrepend = 533,
FormatType = 534,
ArrayDistinct = 535,
ArrayLength = 536,
Cardinality = 537,
ArrayRemove = 538,
ArrayPositions = 539,
TrimArray = 540,
StringToArray = 541,
ArrayPosition = 542,
ArrayReplace = 543,
ArrayDims = 544,
ArrayTransform = 545,
ArrayMin = 546,
ArrayMax = 547,
ArraySum = 548,
ArraySort = 549,
ArrayContains = 550,
ArrayContained = 551,
HexToInt256 = 560,
JsonbAccess = 600,
JsonbAccessStr = 601,
JsonbExtractPath = 627,
JsonbExtractPathVariadic = 613,
JsonbExtractPathText = 628,
JsonbExtractPathTextVariadic = 614,
JsonbTypeof = 602,
JsonbArrayLength = 603,
IsJson = 604,
JsonbConcat = 605,
JsonbObject = 606,
JsonbPretty = 607,
JsonbContains = 608,
JsonbContained = 609,
JsonbExists = 610,
JsonbExistsAny = 611,
JsonbExistsAll = 612,
JsonbDeletePath = 615,
JsonbStripNulls = 616,
ToJsonb = 617,
JsonbBuildArray = 618,
JsonbBuildArrayVariadic = 625,
JsonbBuildObject = 619,
JsonbBuildObjectVariadic = 626,
JsonbPathExists = 620,
JsonbPathMatch = 621,
JsonbPathQueryArray = 622,
JsonbPathQueryFirst = 623,
JsonbPopulateRecord = 629,
JsonbToRecord = 630,
JsonbSet = 631,
JsonbPopulateMap = 632,
MapFromEntries = 700,
MapAccess = 701,
MapKeys = 702,
MapValues = 703,
MapEntries = 704,
MapFromKeyValues = 705,
MapLength = 706,
MapContains = 707,
MapCat = 708,
MapInsert = 709,
MapDelete = 710,
Vnode = 1_101,
TestPaidTier = 1_102,
VnodeUser = 1_103,
Proctime = 2_023,
PgSleep = 2_024,
PgSleepFor = 2_025,
PgSleepUntil = 2_026,
CastRegclass = 2_100,
PgGetIndexdef = 2_400,
ColDescription = 2_401,
PgGetViewdef = 2_402,
PgGetUserbyid = 2_403,
PgIndexesSize = 2_404,
PgRelationSize = 2_405,
PgGetSerialSequence = 2_406,
PgIndexColumnHasProperty = 2_410,
HasTablePrivilege = 2_407,
HasAnyColumnPrivilege = 2_408,
HasSchemaPrivilege = 2_409,
PgIsInRecovery = 2_411,
RwRecoveryStatus = 2_412,
RwEpochToTs = 2_413,
IcebergTransform = 2_201,
}
Variants§
Unspecified = 0
Used for InputRef
, Constant
, and UserDefinedFunction
.
Add = 3
arithmetics operators
Subtract = 4
Multiply = 5
Divide = 6
Modulus = 7
Equal = 8
comparison operators
NotEqual = 9
LessThan = 10
LessThanOrEqual = 11
GreaterThan = 12
GreaterThanOrEqual = 13
Greatest = 14
Least = 15
And = 21
logical operators
Or = 22
Not = 23
In = 24
Some = 25
All = 26
BitwiseAnd = 31
bitwise operators
BitwiseOr = 32
BitwiseXor = 33
BitwiseNot = 34
BitwiseShiftLeft = 35
BitwiseShiftRight = 36
Extract = 101
date/time functions
DatePart = 102
TumbleStart = 103
MakeDate = 113
MakeTime = 114
MakeTimestamp = 115
SecToTimestamptz = 104
From f64 to timestamp.
e.g. select to_timestamp(1672044740.0)
AtTimeZone = 105
DateTrunc = 106
CharToTimestamptz = 107
Parse text to timestamp by format string.
e.g. select to_timestamp('2022 08 21', 'YYYY MM DD')
CharToDate = 111
CastWithTimeZone = 108
Performs a cast with additional timezone information.
AddWithTimeZone = 109
SubtractWithTimeZone = 110
MakeTimestamptz = 112
Cast = 201
other functions
Substr = 202
Length = 203
Like = 204
ILike = 279
SimilarToEscape = 284
Upper = 205
Lower = 206
Trim = 207
Replace = 208
Position = 209
Ltrim = 210
Rtrim = 211
Case = 212
ConstantLookup = 624
Optimize case-when expression to constant lookup when arms are in a large scale with simple form
RoundDigit = 213
ROUND(numeric, integer) -> numeric
Round = 214
ROUND(numeric) -> numeric ROUND(double precision) -> double precision
Ascii = 215
Translate = 216
Coalesce = 217
ConcatWs = 218
ConcatWsVariadic = 285
Abs = 219
SplitPart = 220
Ceil = 221
Floor = 222
ToChar = 223
Md5 = 224
CharLength = 225
Repeat = 226
ConcatOp = 227
Concat = 286
ConcatVariadic = 287
BoolOut = 228
BOOL_OUT is different from CAST-bool-to-varchar in PostgreSQL.
OctetLength = 229
BitLength = 230
Overlay = 231
RegexpMatch = 232
RegexpReplace = 280
RegexpCount = 281
RegexpSplitToArray = 282
RegexpEq = 283
Pow = 233
Exp = 234
Chr = 235
StartsWith = 236
Initcap = 237
Lpad = 238
Rpad = 239
Reverse = 240
Strpos = 241
duplicated with POSITION
ToAscii = 242
ToHex = 243
QuoteIdent = 244
Sin = 245
Cos = 246
Tan = 247
Cot = 248
Asin = 249
Acos = 250
Atan = 251
Atan2 = 252
Sind = 253
Cosd = 254
Cotd = 255
Tand = 256
Asind = 257
Sqrt = 258
Degrees = 259
Radians = 260
Cosh = 261
Tanh = 262
Coth = 263
Asinh = 264
Acosh = 265
Atanh = 266
Sinh = 267
Acosd = 268
Trunc = 271
skips 268,269,270 so that acosd, atand, atan2d are close to others
Ln = 272
Log10 = 273
Cbrt = 274
Sign = 275
Scale = 276
MinScale = 277
TrimScale = 278
IsTrue = 301
Boolean comparison
IsNotTrue = 302
IsFalse = 303
IsNotFalse = 304
IsNull = 305
IsNotNull = 306
IsDistinctFrom = 307
IsNotDistinctFrom = 308
Encode = 310
string/bytea expressions
Decode = 311
Sha1 = 312
Sha224 = 313
Sha256 = 314
Sha384 = 315
Sha512 = 316
Left = 317
Right = 318
Format = 319
FormatVariadic = 326
PgwireSend = 320
PgwireRecv = 321
ConvertFrom = 322
ConvertTo = 323
Decrypt = 324
Encrypt = 325
InetAton = 328
InetNtoa = 329
QuoteLiteral = 330
QuoteNullable = 331
Neg = 401
Unary operators
Field = 501
Nested selection operators
Array = 521
Array expression.
ArrayAccess = 522
Row = 523
ArrayToString = 524
ArrayRangeAccess = 525
ArrayCat = 531
Array functions
ArrayAppend = 532
ArrayPrepend = 533
FormatType = 534
ArrayDistinct = 535
ArrayLength = 536
Cardinality = 537
ArrayRemove = 538
ArrayPositions = 539
TrimArray = 540
StringToArray = 541
ArrayPosition = 542
ArrayReplace = 543
ArrayDims = 544
ArrayTransform = 545
ArrayMin = 546
ArrayMax = 547
ArraySum = 548
ArraySort = 549
ArrayContains = 550
ArrayContained = 551
HexToInt256 = 560
Int256 functions
JsonbAccess = 600
jsonb -> int, jsonb -> text that returns jsonb
JsonbAccessStr = 601
jsonb ->> int, jsonb ->> text that returns text
JsonbExtractPath = 627
jsonb #> text[] -> jsonb
JsonbExtractPathVariadic = 613
JsonbExtractPathText = 628
jsonb #>> text[] -> text
JsonbExtractPathTextVariadic = 614
JsonbTypeof = 602
JsonbArrayLength = 603
IsJson = 604
JsonbConcat = 605
JsonbObject = 606
JsonbPretty = 607
JsonbContains = 608
jsonb @> jsonb
JsonbContained = 609
jsonb <@ jsonb
JsonbExists = 610
jsonb ? text
JsonbExistsAny = 611
jsonb ?| text[]
JsonbExistsAll = 612
jsonb ?& text[]
JsonbDeletePath = 615
see SUBTRACT for: jsonb - text -> jsonb jsonb - text[] -> jsonb jsonb - integer -> jsonb
jsonb #- text[] -> jsonb
JsonbStripNulls = 616
ToJsonb = 617
JsonbBuildArray = 618
JsonbBuildArrayVariadic = 625
JsonbBuildObject = 619
JsonbBuildObjectVariadic = 626
JsonbPathExists = 620
JsonbPathMatch = 621
JsonbPathQueryArray = 622
JsonbPathQueryFirst = 623
JsonbPopulateRecord = 629
JsonbToRecord = 630
JsonbSet = 631
JsonbPopulateMap = 632
MapFromEntries = 700
Map functions
MapAccess = 701
MapKeys = 702
MapValues = 703
MapEntries = 704
MapFromKeyValues = 705
MapLength = 706
MapContains = 707
MapCat = 708
MapInsert = 709
MapDelete = 710
Vnode = 1_101
§Non-pure functions below (> 1000)
Internal functions
TestPaidTier = 1_102
VnodeUser = 1_103
Proctime = 2_023
Non-deterministic functions
PgSleep = 2_024
PgSleepFor = 2_025
PgSleepUntil = 2_026
CastRegclass = 2_100
System administration functions
PgGetIndexdef = 2_400
System information functions
ColDescription = 2_401
PgGetViewdef = 2_402
PgGetUserbyid = 2_403
PgIndexesSize = 2_404
PgRelationSize = 2_405
PgGetSerialSequence = 2_406
PgIndexColumnHasProperty = 2_410
HasTablePrivilege = 2_407
HasAnyColumnPrivilege = 2_408
HasSchemaPrivilege = 2_409
PgIsInRecovery = 2_411
RwRecoveryStatus = 2_412
RwEpochToTs = 2_413
IcebergTransform = 2_201
EXTERNAL