risingwave_pb::expr::expr_node

Type Alias PbType

source
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