#[repr(i32)]pub enum Type {
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,
}
Expand description
TODO: move this into FunctionCall
.
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
Implementations§
source§impl Type
impl Type
sourcepub fn as_str_name(&self) -> &'static str
pub fn as_str_name(&self) -> &'static str
String value of the enum field names used in the ProtoBuf definition.
The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.
sourcepub fn from_str_name(value: &str) -> Option<Self>
pub fn from_str_name(value: &str) -> Option<Self>
Creates an enum from field names used in the ProtoBuf definition.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Type
impl<'de> Deserialize<'de> for Type
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
source§impl Ord for Type
impl Ord for Type
source§impl PartialOrd for Type
impl PartialOrd for Type
impl Copy for Type
impl Eq for Type
impl StructuralPartialEq for Type
Auto Trait Implementations§
impl Freeze for Type
impl RefUnwindSafe for Type
impl Send for Type
impl Sync for Type
impl Unpin for Type
impl UnwindSafe for Type
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request