function

package
v0.0.0-debug-20260702 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 2, 2026 License: Apache-2.0 Imports: 106 Imported by: 0

Documentation

Index

Constants

View Source
const (
	XCALL_L2DISTANCE_F32    = 0
	XCALL_L2DISTANCE_F64    = 1
	XCALL_L2DISTANCE_SQ_F32 = 2
	XCALL_L2DISTANCE_SQ_F64 = 3
)
View Source
const (
	MoTableRowsSizeForceUpdateVarName    = "mo_table_stats.force_update"
	MoTableRowSizeUseOldImplVarName      = "mo_table_stats.use_old_impl"
	MoTableRowSizeResetUpdateTimeVarName = "mo_table_stats.reset_update_time"
)
View Source
const (
	Distinct     = 0x8000000000000000
	DistinctMask = 0x7FFFFFFFFFFFFFFF
)
View Source
const (
	EQUAL              = 0 // =
	NOT_EQUAL          = 1 // <>
	GREAT_THAN         = 2 // >
	GREAT_EQUAL        = 3 // >=
	LESS_THAN          = 4 // <
	LESS_EQUAL         = 5 // <=
	BETWEEN            = 6
	UNARY_PLUS         = 7  // UNARY_PLUS +
	UNARY_MINUS        = 8  // UNARY_MINUS -
	UNARY_TILDE        = 9  // UNARY_TILDE ~
	PLUS               = 10 // +
	MINUS              = 11 // -
	MULTI              = 12 // *
	DIV                = 13 // /
	INTEGER_DIV        = 14 // Div
	MOD                = 15 // %
	CONCAT             = 16 // ||
	AND                = 17
	OR                 = 18
	XOR                = 19
	NOT                = 20
	CAST               = 21
	BIT_CAST           = 22
	IS                 = 23
	ISNOT              = 24
	ISNULL             = 25
	ISNOTNULL          = 26
	ISTRUE             = 27
	ISNOTTRUE          = 28
	ISFALSE            = 29
	ISNOTFALSE         = 30
	ISEMPTY            = 31
	NOT_IN_ROWS        = 32
	OP_BIT_AND         = 33 // &
	OP_BIT_OR          = 34 // |
	OP_BIT_XOR         = 35 // ^
	OP_BIT_SHIFT_LEFT  = 36 // <<
	OP_BIT_SHIFT_RIGHT = 37 // >>

	ABS               = 38
	ACOS              = 39
	ADDDATE           = 40
	ADDTIME           = 41
	AES_DECRYPT       = 42
	AES_ENCRYPT       = 43
	ANY_VALUE         = 44
	APPROX_COUNT      = 45
	ARRAY_AGG         = 46
	ARRAY_APPEND      = 47
	ARRAY_CAT         = 48
	ARRAY_CONTAINS    = 49
	ARRAY_POSITION    = 50
	ARRAY_SIZE        = 51
	ASCII             = 52
	ASIN              = 53
	ASSERT            = 54
	ATAN              = 55
	ATAN2             = 56
	AVG               = 57
	AVG_TW_CACHE      = 58
	AVG_TW_RESULT     = 59
	BASE64_DECODE     = 60
	BASE64_ENCODE     = 61
	BIT_AND           = 62
	BIT_LENGTH        = 63
	BIT_NOT           = 64
	BIT_OR            = 65
	BIT_XOR           = 66
	BITAGG_AND        = 67
	BITAGG_OR         = 68
	BOOLAGG_AND       = 69
	BOOLAGG_OR        = 70
	CASE              = 71
	CEIL              = 72
	CHR               = 73
	COALESCE          = 74
	FIELD             = 75
	CONCAT_WS         = 76
	CONTAINS          = 77
	CORR              = 78
	COS               = 79
	COT               = 80
	CRC32             = 81
	COUNT             = 82
	COUNT_IF          = 83
	COVAR_POP         = 84
	COVAR_SAMPLE      = 85
	CONVERT_TZ        = 86
	CUME_DIST         = 87
	CURRENT_DATE      = 88
	CURRENT_TIMESTAMP = 89
	DATE_FROM_PARTS   = 90
	DATE_PART         = 91
	DATEADD           = 92
	DATEDIFF          = 93
	TIMEDIFF          = 94
	TIMESTAMPDIFF     = 95
	DENSE_RANK        = 96
	MO_WIN_DIVISOR    = 97
	EMPTY             = 98
	ENDSWITH          = 99
	EXP               = 100
	FINDINSET         = 101
	FIRST_VALUE       = 102
	FLOOR             = 103
	GREATEST          = 104
	GROUPING          = 105
	HASH              = 106
	HASH_AGG          = 107
	HEX_DECODE        = 108
	HEX_ENCODE        = 109
	HEX               = 110
	UNHEX             = 111
	MD5               = 112
	IFF               = 113
	IFNULL            = 114
	ILIKE             = 115
	ILIKE_ALL         = 116
	ILIKE_ANY         = 117
	IN                = 118
	LAG               = 119
	LAST_VALUE        = 120
	LEAD              = 121
	LEAST             = 122
	LEFT              = 123
	LENGTH            = 124
	LENGTH_UTF8       = 125
	LIKE              = 126
	LIKE_ALL          = 127
	LIKE_ANY          = 128
	LN                = 129
	NOT_IN            = 130
	LOG               = 131
	LOG2              = 132
	LOG10             = 133
	LOWER             = 134
	LPAD              = 135
	LTRIM             = 136
	MAX               = 137
	MEDIAN            = 138
	MIN               = 139
	MODE              = 140
	MONTH             = 141
	NORMAL            = 142
	NTH_VALUE         = 143
	NTILE             = 144
	NULLIF            = 145
	PERCENT_RANK      = 146
	PI                = 147
	POSITION          = 148
	POW               = 149
	PREFIX_EQ         = 150
	PREFIX_IN         = 151
	PREFIX_BETWEEN    = 152
	RADIAN            = 153
	RANDOM            = 154
	RANK              = 155
	REGEXP            = 156
	REGEXP_INSTR      = 157
	REGEXP_LIKE       = 158
	REGEXP_REPLACE    = 159
	REGEXP_SUBSTR     = 160
	REG_MATCH         = 161
	NOT_REG_MATCH     = 162
	REPEAT            = 163
	REPLACE           = 164
	REVERSE           = 165
	RIGHT             = 166
	ROUND             = 167
	ROW_NUMBER        = 168
	RPAD              = 169
	RTRIM             = 170
	SIGN              = 171
	SIN               = 172
	SINH              = 173
	SPACE             = 174
	SPLIT             = 175
	SPLIT_PART        = 176
	SQRT              = 177
	STARCOUNT         = 178
	STARTSWITH        = 179
	STDDEV_POP        = 180
	STDDEV_SAMPLE     = 181
	SUBSTR            = 182
	SUM               = 183
	SYSDATE           = 184
	GROUP_CONCAT      = 185
	TAN               = 186
	TO_DATE           = 187
	STR_TO_DATE       = 188
	TO_INTERVAL       = 189
	TRANSLATE         = 190
	TRIM              = 191
	UNIFORM           = 192
	SHA1              = 193
	SHA2              = 194
	UTC_TIMESTAMP     = 195
	UNIX_TIMESTAMP    = 196
	FROM_UNIXTIME     = 197
	UPPER             = 198
	VAR_POP           = 199
	VAR_SAMPLE        = 200

	// Date and Time functions
	LAST_DAY = 201
	MAKEDATE = 202

	DATE            = 203
	TIME            = 204
	DAY             = 205
	DAYOFYEAR       = 206
	INTERVAL        = 207
	EXTRACT         = 208
	OCT             = 209
	SUBSTRING       = 210
	ENCODE          = 211
	DECODE          = 212
	TO_BASE64       = 213
	FROM_BASE64     = 214
	SUBSTRING_INDEX = 215
	WEEK            = 216
	WEEKDAY         = 217
	YEAR            = 218
	HOUR            = 219
	MINUTE          = 220
	SECOND          = 221
	TO_DAYS         = 222
	TO_SECONDS      = 223

	DATE_ADD              = 224
	DATE_SUB              = 225
	APPROX_COUNT_DISTINCT = 226

	LOAD_FILE = 227
	SAVE_FILE = 228

	// information functions
	// Reference to : https://dev.mysql.com/doc/refman/8.0/en/information-functions.html
	DATABASE             = 229
	USER                 = 230
	CONNECTION_ID        = 231
	CHARSET              = 232
	CONVERT              = 233
	CURRENT_ROLE         = 234
	FOUND_ROWS           = 235
	ICULIBVERSION        = 236
	LAST_INSERT_ID       = 237
	LAST_QUERY_ID        = 238
	LAST_UUID            = 239
	ROLES_GRAPHML        = 240
	ROW_COUNT            = 241
	VERSION              = 242
	COLLATION            = 243
	CURRENT_ACCOUNT_ID   = 244
	CURRENT_ACCOUNT_NAME = 245
	CURRENT_ROLE_ID      = 246
	CURRENT_ROLE_NAME    = 247
	CURRENT_USER_ID      = 248
	CURRENT_USER_NAME    = 249

	TIMESTAMP            = 250
	DATE_FORMAT          = 251
	JSON_EXTRACT         = 252
	JSON_EXTRACT_STRING  = 253
	JSON_EXTRACT_FLOAT64 = 254
	JSON_QUOTE           = 255
	JSON_UNQUOTE         = 256
	JSON_ROW             = 257

	JQ       = 258
	TRY_JQ   = 259
	WASM     = 260
	TRY_WASM = 261
	FORMAT   = 262
	SLEEP    = 263
	INSTR    = 264
	LOCATE   = 265

	UUID           = 266
	SERIAL         = 267
	SERIAL_FULL    = 268
	SERIAL_EXTRACT = 269
	BIN            = 270

	ENABLE_FAULT_INJECTION  = 271
	DISABLE_FAULT_INJECTION = 272
	ADD_FAULT_POINT         = 273 // Add a fault point
	REMOVE_FAULT_POINT      = 274 // Remove
	TRIGGER_FAULT_POINT     = 275 // Trigger.
	MO_WIN_TRUNCATE         = 276

	MO_MEMORY_USAGE                = 277 // Dump memory usage
	MO_ENABLE_MEMORY_USAGE_DETAIL  = 278
	MO_DISABLE_MEMORY_USAGE_DETAIL = 279

	// MO_CTL is used to check some internal status, and issue some ctl commands to the service.
	// see builtin.ctl.ctl.go to get detail.
	MO_CTL = 280

	MO_SHOW_VISIBLE_BIN      = 281 // parse type/onUpdate/default []byte to visible string
	MO_SHOW_VISIBLE_BIN_ENUM = 282 //  parse type/onUpdate/default []byte to visible string for enum
	MO_SHOW_COL_UNIQUE       = 283 // show column whether unique key

	MO_TABLE_ROWS    = 284 // table rows
	MO_TABLE_SIZE    = 285 // table size
	MO_TABLE_COL_MAX = 286 // table column max value
	MO_TABLE_COL_MIN = 287 // table column min value

	MO_LOG_DATE    = 288 // parse date from string, like __mo_filepath
	PURGE_LOG      = 289 // purge mo internal log, like rawlog, statement_info, metric
	MO_ADMIN_NAME  = 290 // get mo admin name of account
	MO_CU          = 291
	MO_CU_V1       = 292
	MO_EXPLAIN_PHY = 293

	GIT_VERSION   = 294
	BUILD_VERSION = 295

	// be used: insert into t1 values(1,1) on duplicate key update a=values(a)+a+1
	VALUES                        = 296
	BINARY                        = 297
	INTERNAL_CHAR_LENGTH          = 298
	INTERNAL_CHAR_SIZE            = 299
	INTERNAL_NUMERIC_PRECISION    = 300
	INTERNAL_NUMERIC_SCALE        = 301
	INTERNAL_DATETIME_SCALE       = 302
	INTERNAL_COLUMN_CHARACTER_SET = 303
	INTERNAL_AUTO_INCREMENT       = 304

	// be used: enum
	CAST_INDEX_TO_VALUE       = 305
	CAST_VALUE_TO_INDEX       = 306
	CAST_INDEX_VALUE_TO_INDEX = 307

	// be used: show snapshots
	CAST_NANO_TO_TIMESTAMP = 308
	// be used: show pitr
	CAST_RANGE_VALUE_UNIT = 309

	// Sequence function
	NEXTVAL = 310
	SETVAL  = 311
	CURRVAL = 312
	LASTVAL = 313

	// Array Function
	SUMMATION         = 314
	L1_NORM           = 315 // L1_NORMALIZATION
	L2_NORM           = 316 // L2 NORMALIZATION
	INNER_PRODUCT     = 317
	COSINE_SIMILARITY = 318
	VECTOR_DIMS       = 319 // VECTOR DIMENSIONS
	NORMALIZE_L2      = 320 // NORMALIZE L2
	L2_DISTANCE       = 321 // L2_DISTANCE
	L2_DISTANCE_SQ    = 322 // L2_DISTANCE_SQ
	COSINE_DISTANCE   = 323 // COSINE_DISTANCE
	CLUSTER_CENTERS   = 324 // CLUSTER_CENTERS
	SUB_VECTOR        = 325 // SUB_VECTOR

	PYTHON_UDF = 326

	// observation function
	MO_CPU      = 327
	MO_MEMORY   = 328
	MO_CPU_DUMP = 329

	// bitmap function
	BITMAP_BIT_POSITION  = 330
	BITMAP_BUCKET_NUMBER = 331
	BITMAP_COUNT         = 332
	BITMAP_CONSTRUCT_AGG = 333
	BITMAP_OR_AGG        = 334

	// fulltext function
	FULLTEXT_MATCH       = 335
	FULLTEXT_MATCH_SCORE = 336

	JSON_SET     = 337
	JSON_INSERT  = 338
	JSON_REPLACE = 339

	// fault inject function
	FAULT_INJECT = 340

	L2_DISTANCE_XC    = 341
	L2_DISTANCE_SQ_XC = 342

	TS_TO_TIME = 343
	STRCMP     = 344

	STARLARK     = 345
	TRY_STARLARK = 346

	LLM_CHAT      = 347
	LLM_EMBEDDING = 348

	// hash partition function
	HASH_PARTITION = 349

	// mo_tuple_expr function
	MO_TUPLE_EXPR = 350

	// function `current_time`, `curtime`
	CURRENT_TIME = 351

	// function `truncate`
	TRUNCATE = 352

	// function `char`
	CHAR = 353

	// function `insert`
	INSERT = 354

	// function `ord`
	ORD = 355

	// function `quote`
	QUOTE = 356

	// function `soundex`
	SOUNDEX = 357

	// function `degrees`
	DEGREES = 358

	// function `radians`
	RADIANS = 359

	// function `dayofweek`
	DAYOFWEEK = 360

	// function `microsecond`
	MICROSECOND = 361

	// function `quarter`
	QUARTER = 362

	// function `time_format`
	TIME_FORMAT = 363

	// function `timestampadd`
	TIMESTAMPADD = 364

	// function `json_array`
	JSON_ARRAY = 365

	// function `json_object`
	JSON_OBJECT = 366

	// function `conv`
	CONV = 367

	// function `dayname`
	DAYNAME = 368

	// function `dayofmonth`
	DAYOFMONTH = 369

	// function `from_days`
	FROM_DAYS = 370

	// function `get_format`
	GET_FORMAT = 371

	// function `localtime`
	LOCALTIME = 372

	// function `maketime`
	MAKETIME = 373

	// function `monthname`
	MONTHNAME = 374

	// function `period_add`
	PERIOD_ADD = 375

	// function `period_diff`
	PERIOD_DIFF = 376

	// function `sec_to_time`
	SEC_TO_TIME = 377

	// function `subtime`
	SUBTIME = 378

	// function `time_to_sec`
	TIME_TO_SEC = 379

	// function `utc_date`
	UTC_DATE = 380

	// function `utc_time`
	UTC_TIME = 381

	// function `weekofyear`
	WEEKOFYEAR = 382

	// function `yearweek`
	YEARWEEK = 383

	// function `elt`
	ELT = 384

	// function `export_set`
	EXPORT_SET = 385

	// function `make_set`
	MAKE_SET = 386

	// function `compress`
	COMPRESS = 387

	// function `uncompress`
	UNCOMPRESS = 388

	// function `uncompressed_length`
	UNCOMPRESSED_LENGTH = 389

	// function `random_bytes`
	RANDOM_BYTES = 390

	// function `validate_password_strength`
	VALIDATE_PASSWORD_STRENGTH = 391

	// function `inet6_aton`
	INET6_ATON = 392

	// function `inet6_ntoa`
	INET6_NTOA = 393

	// function `inet_aton`
	INET_ATON = 394

	// function `inet_ntoa`
	INET_NTOA = 395

	// function `is_ipv4`
	IS_IPV4 = 396

	// function `is_ipv6`
	IS_IPV6 = 397

	// function `is_ipv4_compat`
	IS_IPV4_COMPAT = 398

	// function `is_ipv4_mapped`
	IS_IPV4_MAPPED = 399

	// function `json_arrayagg`
	JSON_ARRAYAGG = 400

	// function `json_objectagg`
	JSON_OBJECTAGG = 401

	// function `mo_feature_registry_upsert`
	MO_FEATURE_REGISTRY_UPSERT = 402

	// function `mo_feature_limit_upsert`
	MO_FEATURE_LIMIT_UPSERT = 403

	IN_RANGE        = 404
	PREFIX_IN_RANGE = 405
	NULL_SAFE_EQUAL = 406

	CAST_INDEX_TO_SET_VALUE       = 407
	CAST_SET_VALUE_TO_INDEX       = 408
	CAST_SET_INDEX_VALUE_TO_INDEX = 409

	VECF32_FROM_BASE64       = 410
	VECF64_FROM_BASE64       = 411
	CAST_GEOMETRY_TO_SUBTYPE = 412
	ST_ASTEXT                = 413
	ST_GEOMFROMTEXT          = 414
	ST_GEOMETRYTYPE          = 415
	ST_X                     = 416
	ST_Y                     = 417
	ST_NUMGEOMETRIES         = 418
	ST_GEOMETRYN             = 419
	ST_ISEMPTY               = 420
	ST_DISTANCE              = 421
	ST_SRID                  = 422
	ST_LENGTH                = 423
	ST_AREA                  = 424
	ST_CONTAINS              = 425
	ST_WITHIN                = 426
	ST_STARTPOINT            = 427
	ST_ENDPOINT              = 428
	ST_POINTN                = 429
	ST_EXTERIORRING          = 430
	ST_NUMINTERIORRINGS      = 431
	ST_INTERIORRINGN         = 432
	ST_NUMPOINTS             = 433
	ST_ISCLOSED              = 434
	ST_ISCOLLECTION          = 435
	ST_DIMENSION             = 436
	ST_ISSIMPLE              = 437
	ST_ISRING                = 438
	ST_ENVELOPE              = 439
	ST_CENTROID              = 440
	ST_BOUNDARY              = 441
	ST_ISVALID               = 442
	ST_POINTONSURFACE        = 443
	ST_INTERSECTS            = 444
	ST_DISJOINT              = 445
	ST_TOUCHES               = 446
	ST_CROSSES               = 447
	ST_OVERLAPS              = 448
	ST_EQUALS                = 449
	ST_COVERS                = 450
	ST_COVEREDBY             = 451
	JSON_LENGTH              = 452
	HLL_ADD_AGG              = 453
	HLL_MERGE_AGG            = 454
	HLL_CARDINALITY          = 455
	JSON_TYPE                = 456
	JSON_VALID               = 457
	JSON_KEYS                = 458
	JSON_PRETTY              = 459
	JSON_SCHEMA_VALID        = 460
	JSON_SCHEMA_VALID_REPORT = 461
	JSON_VALUE               = 462

	// GIS binary I/O
	ST_ASWKB       = 463
	ST_GEOMFROMWKB = 464

	// GIS typed text constructors
	ST_POINTFROMTEXT    = 465
	ST_LINEFROMTEXT     = 466
	ST_POLYFROMTEXT     = 467
	ST_MPOINTFROMTEXT   = 468
	ST_MLINEFROMTEXT    = 469
	ST_MPOLYFROMTEXT    = 470
	ST_GEOMCOLLFROMTEXT = 471

	// GIS typed WKB constructors
	ST_POINTFROMWKB    = 472
	ST_LINEFROMWKB     = 473
	ST_POLYFROMWKB     = 474
	ST_MPOINTFROMWKB   = 475
	ST_MLINEFROMWKB    = 476
	ST_MPOLYFROMWKB    = 477
	ST_GEOMCOLLFROMWKB = 478

	// GIS point/misc
	ST_LONGITUDE       = 479
	ST_LATITUDE        = 480
	ST_SWAPXY          = 481
	ST_VALIDATE        = 482
	ST_MAKEENVELOPE    = 483
	ST_DISTANCE_SPHERE = 484

	// GIS GeoHash
	ST_GEOHASH          = 485
	ST_LATFROMGEOHASH   = 486
	ST_LONGFROMGEOHASH  = 487
	ST_POINTFROMGEOHASH = 488

	// GIS MBR (minimum bounding rectangle) predicates
	MBRCONTAINS   = 489
	MBRCOVEREDBY  = 490
	MBRCOVERS     = 491
	MBRDISJOINT   = 492
	MBREQUALS     = 493
	MBRINTERSECTS = 494
	MBROVERLAPS   = 495
	MBRTOUCHES    = 496
	MBRWITHIN     = 497

	// GIS GeoJSON
	ST_ASGEOJSON       = 498
	ST_GEOMFROMGEOJSON = 499

	// GIS constructive operations
	ST_CONVEXHULL = 500
	ST_SIMPLIFY   = 501
	ST_COLLECT    = 502

	// GIS linear referencing
	ST_LINEINTERPOLATEPOINT  = 503
	ST_LINEINTERPOLATEPOINTS = 504
	ST_POINTATDISTANCE       = 505

	// GIS discrete curve distances
	ST_FRECHETDISTANCE   = 506
	ST_HAUSDORFFDISTANCE = 507

	// GIS Boolean overlay operations
	ST_UNION         = 508
	ST_INTERSECTION  = 509
	ST_DIFFERENCE    = 510
	ST_SYMDIFFERENCE = 511

	// GIS buffer
	ST_BUFFER = 512

	// merged from upstream/main (renumbered to avoid colliding with the GIS block above)
	CAST_JSON_TO_ARRAY = 513

	BIT_COUNT   = 514
	IS_UUID     = 515
	UUID_TO_BIN = 516
	BIN_TO_UUID = 517

	NAME_CONST        = 518
	GET_LOCK          = 519
	RELEASE_LOCK      = 520
	IS_FREE_LOCK      = 521
	IS_USED_LOCK      = 522
	RELEASE_ALL_LOCKS = 523

	// S2 geometry (github.com/golang/geo/s2) cell functions. A CellId is a
	// BIGINT UNSIGNED (uint64). See docs/design/s2h3_funcs.md.
	S2_CELLID               = 524
	S2_CELLID_LEVEL         = 525
	S2_CELLID_CENTER        = 526
	S2_CELLID_AREA          = 527
	S2_CELLID_PARENT        = 528
	S2_CELLID_EDGENEIGHBORS = 529
	S2_CELLID_ALLNEIGHBORS  = 530
	S2_CELLID_ARENEIGHBORS  = 531

	// H3 hierarchical hexagonal index (github.com/uber/h3-go) functions. An
	// H3Index is a BIGINT UNSIGNED (uint64). See docs/design/s2h3_funcs.md.
	H3_H3INDEX              = 532
	H3_H3INDEX_RESOLUTION   = 533
	H3_H3INDEX_CENTER       = 534
	H3_H3INDEX_BOUNDARY     = 535
	H3_H3INDEX_PARENT       = 536
	H3_H3INDEX_NEIGHBORS    = 537
	H3_H3INDEX_ARENEIGHBORS = 538

	// GIS numeric point constructors: ST_Point(x, y) -> GEOMETRY (POINT),
	// ST_Point32(x, y) -> GEOMETRY32 (POINT), where x is longitude/X and y is
	// latitude/Y.
	ST_POINT   = 539
	ST_POINT32 = 540

	// function `cast_strict`
	CAST_STRICT = 541

	// FUNCTION_END_NUMBER is not a function, just a flag to record the max number of function.
	// TODO: every one should put the new function id in front of this one if you want to make a new function.
	FUNCTION_END_NUMBER = 542
)

All function IDs

View Source
const ADZeroDays = 366

The number of days in the year 0000 AD

View Source
const ADZeroSeconds = 31622400

Seconds in 0000 AD

View Source
const (
	AllColumns = "*"
)
View Source
const (
	DefaultEscapeChar = '\\'
)
View Source
const (
	DefaultStackSize = 10 << 20 // 10MB
)
View Source
const (
	MaxAllowedValue = 8000
)
View Source
const SecondsIn24Hours = 86400

24-hour seconds

Variables

View Source
var (
	// WeekdayNames lists names of weekdays, which are used in builtin function `date_format`.
	WeekdayNames = []string{
		"Monday",
		"Tuesday",
		"Wednesday",
		"Thursday",
		"Friday",
		"Saturday",
		"Sunday",
	}

	// MonthNames lists names of months, which are used in builtin function `date_format`.
	MonthNames = []string{
		"January",
		"February",
		"March",
		"April",
		"May",
		"June",
		"July",
		"August",
		"September",
		"October",
		"November",
		"December",
	}

	// AbbrevWeekdayName lists Abbreviation of week names, which are used int builtin function 'date_format'
	AbbrevWeekdayName = []string{
		"Sun",
		"Mon",
		"Tue",
		"Wed",
		"Thu",
		"Fri",
		"Sat",
	}
)
View Source
var AggAvgTwCacheOverloadID = encodeOverloadID(AVG_TW_CACHE, 0)
View Source
var AggAvgTwResultOverloadID = encodeOverloadID(AVG_TW_RESULT, 0)
View Source
var AggSumOverloadID = encodeOverloadID(SUM, 0)
View Source
var AndFunctionEncodedID = encodeOverloadID(AND, 0)
View Source
var AndFunctionName = "and"
View Source
var BitOpsReturnType = func(typs []types.Type) types.Type {
	if typs[0].Oid == types.T_binary || typs[0].Oid == types.T_varbinary {
		return typs[0]
	}
	return types.T_uint64.ToType()
}
View Source
var CastFunctionEncodeID = encodeOverloadID(CAST, 0)
View Source
var EncodeOverloadID = encodeOverloadID
View Source
var EqualFunctionEncodedID = encodeOverloadID(EQUAL, 0)
View Source
var EqualFunctionName = "="
View Source
var GetFunctionIdByName = getFunctionIdByName
View Source
var GroupConcatFunctionID = encodeOverloadID(GROUP_CONCAT, 0)
View Source
var InFunctionEncodedID = encodeOverloadID(IN, 0)
View Source
var InFunctionName = "in"
View Source
var L2DistanceFunctionEncodedID = encodeOverloadID(L2_DISTANCE, 0)
View Source
var MaxInt64digits = numOfDigits(math.MaxInt64) // 19
View Source
var MaxUint64digits = numOfDigits(math.MaxUint64) // 20
View Source
var MoTableRowsSizeForceUpdate atomic.Bool
View Source
var MoTableRowsSizeUseOldImpl atomic.Bool
View Source
var NullSafeEqualFunctionEncodedID = encodeOverloadID(NULL_SAFE_EQUAL, 0)
View Source
var NullSafeEqualFunctionName = "<=>"
View Source
var PrefixEqualFunctionEncodedID = encodeOverloadID(PREFIX_EQ, 0)
View Source
var PrefixEqualFunctionName = "prefix_eq"
View Source
var PrefixInFunctionEncodedID = encodeOverloadID(PREFIX_IN, 0)
View Source
var PrefixInFunctionName = "prefix_in"
View Source
var ScaleTable = [...]uint64{
	1,
	10,
	100,
	1000,
	10000,
	100000,
	1000000,
	10000000,
	100000000,
	1000000000,
	10000000000,
	100000000000,
	1000000000000,
	10000000000000,
	100000000000000,
	1000000000000000,
	10000000000000000,
	100000000000000000,
	1000000000000000000,
	10000000000000000000,
}

ScaleTable is a lookup array for digits

View Source
var SerialFullFunctionEncodeID = encodeOverloadID(SERIAL_FULL, 0)
View Source
var SerialFullFunctionName = "serial_full"
View Source
var SerialFunctionEncodeID = encodeOverloadID(SERIAL, 0)
View Source
var SerialFunctionName = "serial"

Functions

func AESDecrypt

func AESDecrypt(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

AESDecrypt: AES_DECRYPT(crypt_str, key_str) - Decrypts an encrypted string using AES decryption

func AESEncrypt

func AESEncrypt(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

AESEncrypt: AES_ENCRYPT(str, key_str) - Encrypts a string using AES encryption

func AbbrDayOfMonth added in v0.8.0

func AbbrDayOfMonth(day int) string

AbbrDayOfMonth: Get the abbreviation of month of day

func AbsArray added in v1.1.0

func AbsArray[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func AbsDecimal64 added in v1.2.0

func AbsDecimal64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func AbsDecimal128 added in v0.8.0

func AbsDecimal128(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func AbsDecimal256

func AbsDecimal256(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func AbsFloat64 added in v0.8.0

func AbsFloat64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func AbsInt64 added in v0.8.0

func AbsInt64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func AbsUInt64 added in v0.8.0

func AbsUInt64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func AddFaultPoint added in v0.8.0

func AddFaultPoint(
	ivecs []*vector.Vector,
	result vector.FunctionResultWrapper,
	proc *process.Process,
	length int,
	selectList *FunctionSelectList,
) (err error)

func AddTime

func AddTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

AddTime: ADDTIME(expr1, expr2) - Adds expr2 (time) to expr1 (time or datetime) expr1 can be TIME, DATETIME, or TIMESTAMP expr2 is a TIME expression (can include days like '1 1:1:1.000002') Returns TIME if expr1 is TIME, DATETIME if expr1 is DATETIME/TIMESTAMP

func AsciiInt added in v0.8.0

func AsciiInt[T types.Ints](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func AsciiString added in v0.8.0

func AsciiString(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func AsciiUint added in v0.8.0

func AsciiUint[T types.UInts](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Bin added in v0.8.0

func BinFloat added in v0.8.0

func BinFloat[T constraints.Float](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Binary added in v0.8.0

func Binary(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BitCast added in v1.0.0

func BitCast(
	parameters []*vector.Vector,
	result vector.FunctionResultWrapper,
	proc *process.Process,
	length int, selectList *FunctionSelectList,
) error

func BitCountBinaryString

func BitCountBinaryString(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BitCountDecimal64

func BitCountDecimal64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BitCountDecimal128

func BitCountDecimal128(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BitCountDecimal256

func BitCountDecimal256(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BitCountFloat

func BitCountFloat[T constraints.Float](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BitCountInteger

func BitCountInteger[T constraints.Unsigned | constraints.Signed](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BitCountNonBinaryString

func BitCountNonBinaryString(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BitLengthFunc added in v0.8.0

func BitLengthFunc(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BitmapBitPosition added in v1.2.0

func BitmapBitPosition(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BitmapBucketNumber added in v1.2.0

func BitmapBucketNumber(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BitmapCount added in v1.2.0

func BitmapCount(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func BuildVersion added in v0.8.0

func BuildVersion(_ []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func CalcToSeconds added in v0.8.0

func CalcToSeconds(ctx context.Context, datetimes []types.Datetime, ns *nulls.Nulls) ([]int64, error)

CalcToSeconds: CalcToDays is used to return a day number (the number of days since year 0)

func CastGeometryToSubtype

func CastGeometryToSubtype(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

CastGeometryToSubtype validates a geometry value against a column's subtype constraint and normalizes the stored bytes to bare WKB. The first argument is the column subtype name (e.g. "POINT", or empty for a generic GEOMETRY column); SRID is enforced at bind time from the value/column types, not here, because the WKB payload does not carry an SRID.

func CastIndexToValue added in v1.0.0

func CastIndexToValue(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

enum("a","b","c") -> CastIndexToValue(1) -> "a" CastIndexToValue returns enum type index according to the value

func CastIndexValueToIndex added in v1.0.0

func CastIndexValueToIndex(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

enum("a","b","c") -> CastIndexValueToIndex(1) -> 1 CastIndexValueToIndex returns enum type index according to the index value

func CastJsonToArray

func CastJsonToArray(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func CastNanoToTimestamp added in v1.2.0

func CastNanoToTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

CastNanoToTimestamp returns timestamp string according to the nano

func CastRangeValueUnit

func CastRangeValueUnit(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

CastRangeValueUnit returns the value in hour unit according to the range value and unit

func CastSetIndexToValue

func CastSetIndexToValue(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

set("a","b","c") -> CastSetIndexToValue(3) -> "a,b"

func CastSetIndexValueToIndex

func CastSetIndexValueToIndex(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

set("a","b","c") -> CastSetIndexValueToIndex(3) -> 3

func CastSetValueToIndex

func CastSetValueToIndex(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

set("a","b","c") -> CastSetValueToIndex("a,b") -> 3

func CastValueToIndex added in v1.0.0

func CastValueToIndex(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

enum("a","b","c") -> CastValueToIndex("a") -> 1 CastValueToIndex returns enum type index according to the value

func CeilDecimal64 added in v0.8.0

func CeilDecimal64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func CeilDecimal128 added in v0.8.0

func CeilDecimal128(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func CeilDecimal256

func CeilDecimal256(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func CeilFloat64 added in v0.8.0

func CeilFloat64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func CeilInt64 added in v0.8.0

func CeilInt64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func CeilStr added in v0.8.0

func CeilStr(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func CeilUint64 added in v0.8.0

func CeilUint64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func Charset added in v0.8.0

func Charset(_ []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func CoalesceGeneral added in v0.8.0

func CoalesceGeneral[T NormalType](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func CoalesceStr added in v0.8.0

func CoalesceStr(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func Collation added in v0.8.0

func Collation(_ []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Compress

func Compress(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

Compress: COMPRESS(string) - Compresses a string using zlib compression MySQL format: 4-byte length (little-endian) + compressed data

func ConcatWs added in v0.8.0

func ConcatWs(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func ConnectionID added in v0.8.0

func ConnectionID(_ []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Conv

func Conv(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

Conv: CONV(N, from_base, to_base) - Converts numbers between different number bases N can be a string or numeric type from_base and to_base must be integers between 2 and 36 Returns a string representation of N in to_base

func ConvertJsonBytes

func ConvertJsonBytes(inBytes []byte) ([]byte, error)

func ConvertTz added in v1.0.0

func ConvertTz(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func CosineDistanceArray added in v1.1.0

func CosineDistanceArray[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func CosineSimilarityArray added in v1.1.0

func CosineSimilarityArray[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func CurrentDate added in v0.8.0

func CurrentDate(_ []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Currval added in v0.8.0

func Currval(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func DateAdd added in v0.8.0

func DateAdd(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func DateFSP added in v0.8.0

func DateFSP(date string) (fsp int)

DateFSP gets fsp from date string.

func DateFormat added in v0.8.0

func DateFormat(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func DateIntAdd

func DateIntAdd(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func DateIntSub

func DateIntSub(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func DateStringAdd added in v0.8.0

func DateStringAdd(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func DateStringSub added in v0.8.0

func DateStringSub(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func DateStringToDate added in v0.8.0

func DateStringToDate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DateStringToDate can still speed up if vec is const. but we will do the constant fold. so it does not matter.

func DateStringToMonth added in v0.8.0

func DateStringToMonth(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

TODO: I will support template soon.

func DateStringToTime added in v0.8.0

func DateStringToTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DateStringToTimestamp added in v0.8.0

func DateStringToTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DateStringToYear added in v0.8.0

func DateStringToYear(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DateSub added in v0.8.0

func DateSub(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func DateTimeDiff added in v0.8.0

func DateTimeDiff(intervalUnit string, t1 types.Datetime, t2 types.Datetime) int64

DateTimeDiff returns t2 - t1 where t1 and t2 are datetime expressions. The unit for the result is given by the unit argument. The values for interval unit are "QUARTER","YEAR","MONTH", "DAY", "HOUR", "SECOND", "MICROSECOND"

func DateToDate added in v0.8.0

func DateToDate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DateToDay added in v0.8.0

func DateToDay(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DateToDayName

func DateToDayName(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DateToDayName returns the weekday name for date (e.g., "Sunday", "Monday", ...)

func DateToDayOfWeek

func DateToDayOfWeek(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DateToDayOfWeek returns the weekday index for date (1 = Sunday, 2 = Monday, ..., 7 = Saturday)

func DateToMonth added in v0.8.0

func DateToMonth(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DateToMonthName

func DateToMonthName(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DateToMonthName returns the month name for date (e.g., "January", "February", ...)

func DateToQuarter

func DateToQuarter(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DateToQuarter returns the quarter of the year for date (1-4)

func DateToTime added in v0.8.0

func DateToTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DateToTimestamp added in v0.8.0

func DateToTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DateToWeek added in v0.8.0

func DateToWeek(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DateToWeekOfYear

func DateToWeekOfYear(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DateToWeekOfYear returns the calendar week of the date as a number in the range from 1 to 53. WEEKOFYEAR(date) is equivalent to WEEK(date, 3) which uses ISO 8601 week calculation. WEEKOFYEAR always returns the week number for the year that the date belongs to.

func DateToWeekday added in v0.8.0

func DateToWeekday(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DateToYear added in v0.8.0

func DateToYear(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DatetimeAdd added in v0.8.0

func DatetimeAdd(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func DatetimeSub added in v0.8.0

func DatetimeSub(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func DatetimeToDate added in v0.8.0

func DatetimeToDate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DatetimeToDay added in v0.8.0

func DatetimeToDay(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DatetimeToDayName

func DatetimeToDayName(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DatetimeToDayName returns the weekday name for datetime (e.g., "Sunday", "Monday", ...)

func DatetimeToDayOfWeek

func DatetimeToDayOfWeek(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DatetimeToDayOfWeek returns the weekday index for datetime (1 = Sunday, 2 = Monday, ..., 7 = Saturday)

func DatetimeToHour added in v0.8.0

func DatetimeToHour(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DatetimeToMicrosecond

func DatetimeToMicrosecond(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DatetimeToMicrosecond returns the microseconds from datetime (0-999999)

func DatetimeToMinute added in v0.8.0

func DatetimeToMinute(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DatetimeToMonth added in v0.8.0

func DatetimeToMonth(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DatetimeToMonthName

func DatetimeToMonthName(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DatetimeToMonthName returns the month name for datetime (e.g., "January", "February", ...)

func DatetimeToQuarter

func DatetimeToQuarter(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DatetimeToQuarter returns the quarter of the year for datetime (1-4)

func DatetimeToSecond added in v0.8.0

func DatetimeToSecond(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DatetimeToTime added in v0.8.0

func DatetimeToTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DatetimeToTimestamp added in v0.8.0

func DatetimeToTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DatetimeToWeek added in v0.8.0

func DatetimeToWeek(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DatetimeToWeekOfYear

func DatetimeToWeekOfYear(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

DatetimeToWeekOfYear returns the calendar week of the datetime as a number in the range from 1 to 53.

func DatetimeToWeekday added in v0.8.0

func DatetimeToWeekday(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DatetimeToYear added in v0.8.0

func DatetimeToYear(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DayOfYear added in v0.8.0

func DayOfYear(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Decimal128ToTime added in v0.8.0

func Decimal128ToTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Decode added in v1.1.0

func Decode(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func DecodeOverloadID

func DecodeOverloadID(overloadID int64) (fid int32, oIndex int32)

func DeduceNotNullable added in v0.7.0

func DeduceNotNullable(overloadID int64, args []*plan.Expr) bool

DeduceNotNullable helps optimization sometimes. deduce notNullable for function for example, create table t1(c1 int not null, c2 int, c3 int not null ,c4 int); sql select c1+1, abs(c2), cast(c3 as varchar(10)) from t1 where c1=c3; we can deduce that c1+1, cast c3 and c1=c3 is notNullable, abs(c2) is nullable.

func DisableFaultInjection added in v0.8.0

func DisableFaultInjection(
	_ []*vector.Vector,
	result vector.FunctionResultWrapper,
	proc *process.Process,
	length int,
	selectList *FunctionSelectList,
) error

func Divisor

func Divisor(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func Elt

func Elt(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) error

Elt: ELT(N, str1, str2, str3, ...) - Returns str1 if N = 1, str2 if N = 2, and so on. Returns NULL if N is less than 1, greater than the number of strings, or NULL.

func Empty added in v0.8.0

func Empty(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func EnableFaultInjection added in v0.8.0

func EnableFaultInjection(
	_ []*vector.Vector,
	result vector.FunctionResultWrapper,
	proc *process.Process,
	length int,
	selectList *FunctionSelectList,
) error

func Encode added in v1.1.0

func Encode(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func EndsWith added in v0.8.0

func EndsWith(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func ExportSet

func ExportSet(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

ExportSet: EXPORT_SET(bits, on, off[, separator[, number_of_bits]]) - Returns a string such that for every bit set in the value bits, you get an on string and for every bit not set, you get an off string.

func ExtractFromDate added in v0.8.0

func ExtractFromDate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func ExtractFromDatetime added in v0.8.0

func ExtractFromDatetime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func ExtractFromTime added in v0.8.0

func ExtractFromTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func ExtractFromTimestamp

func ExtractFromTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func ExtractFromVarchar added in v0.8.0

func ExtractFromVarchar(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FaultInject

func FaultInject(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, _ *FunctionSelectList) (err error)

func FieldNumber added in v0.8.0

func FieldNumber[T number](ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func FieldString added in v0.8.0

func FieldString(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func FillSpaceNumber added in v0.8.0

func FillSpaceNumber[T types.BuiltinNumber](v T) (string, error)

func FindInSet added in v0.8.0

func FindInSet(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FloorDecimal64 added in v0.8.0

func FloorDecimal64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FloorDecimal128 added in v0.8.0

func FloorDecimal128(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FloorDecimal256

func FloorDecimal256(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FloorFloat64 added in v0.8.0

func FloorFloat64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FloorInt64 added in v0.8.0

func FloorInt64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FloorStr added in v0.8.0

func FloorStr(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FloorUInt64 added in v0.8.0

func FloorUInt64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FormatCastErrorForInsertValue added in v0.8.0

func FormatCastErrorForInsertValue(ctx context.Context, originStr string, typ types.Type, extraInfo string) error

func FormatInt2BufByWidth added in v1.1.1

func FormatInt2BufByWidth(num, n int, buf *bytes.Buffer)

func FormatIntByWidth added in v0.8.0

func FormatIntByWidth(num, n int) string

FormatIntByWidth: Formatintwidthn is used to format ints with width parameter n. Insufficient numbers are filled with 0.

func FormatWith2Args added in v0.8.0

func FormatWith2Args(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func FormatWith3Args added in v0.8.0

func FormatWith3Args(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func FoundRows added in v0.8.0

func FoundRows(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func FromBase64 added in v1.2.0

func FromBase64(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func FromUnixTimeDecimal256

func FromUnixTimeDecimal256(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FromUnixTimeDecimal256Format

func FromUnixTimeDecimal256Format(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FromUnixTimeFloat64 added in v0.8.0

func FromUnixTimeFloat64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FromUnixTimeFloat64Format added in v0.8.0

func FromUnixTimeFloat64Format(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FromUnixTimeInt64 added in v0.8.0

func FromUnixTimeInt64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FromUnixTimeInt64Format added in v0.8.0

func FromUnixTimeInt64Format(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FromUnixTimeUint64 added in v0.8.0

func FromUnixTimeUint64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func FromUnixTimeUint64Format added in v0.8.0

func FromUnixTimeUint64Format(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func GeometryPayloadToText

func GeometryPayloadToText(payload []byte) (string, error)

func GetAggFunctionNameByID added in v1.0.0

func GetAggFunctionNameByID(overloadID int64) string

func GetForceUpdateVariable

func GetForceUpdateVariable(proc *process.Process) bool

func GetFormat

func GetFormat(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

GetFormat returns a format string based on the type and locale. GET_FORMAT({DATE|TIME|DATETIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})

func GetFunctionById added in v0.8.0

func GetFunctionById(ctx context.Context, overloadID int64) (f overload, err error)

func GetFunctionByIdWithoutError added in v0.8.0

func GetFunctionByIdWithoutError(overloadID int64) (f overload, exists bool)

func GetFunctionIsAggregateByName

func GetFunctionIsAggregateByName(name string) bool

func GetFunctionIsWinFunByName added in v0.8.0

func GetFunctionIsWinFunByName(name string) bool

func GetFunctionIsWinOrderFunById added in v1.0.0

func GetFunctionIsWinOrderFunById(overloadID int64) bool

func GetFunctionIsWinOrderFunByName added in v0.8.0

func GetFunctionIsWinOrderFunByName(name string) bool

func GetFunctionIsWinValueFunByName

func GetFunctionIsWinValueFunByName(name string) bool

func GetFunctionIsZonemappableById added in v1.1.0

func GetFunctionIsZonemappableById(ctx context.Context, overloadID int64) (bool, error)

func GetLock

func GetLock(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func GetResetUpdateTimeVariable

func GetResetUpdateTimeVariable(proc *process.Process) bool

func GetUseOldImplVariable

func GetUseOldImplVariable(proc *process.Process) bool

func GitVersion added in v0.8.0

func GitVersion(_ []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func GroupingFunc

func GroupingFunc(parameters []*vector.Vector,
	result vector.FunctionResultWrapper,
	_ *process.Process,
	length int,
	selectList *FunctionSelectList) error

func H3H3Index

func H3H3Index(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

H3H3Index converts a POINT(longitude latitude) to an H3Index at the default resolution (15, the finest).

func H3H3IndexAreNeighbors

func H3H3IndexAreNeighbors(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

H3H3IndexAreNeighbors reports whether two H3Index cells are neighbours.

func H3H3IndexBoundary

func H3H3IndexBoundary(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

H3H3IndexBoundary returns the boundary vertices of an H3Index cell as a MULTIPOINT of POINT(longitude latitude).

func H3H3IndexCenter

func H3H3IndexCenter(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

H3H3IndexCenter returns the center of an H3Index cell as a POINT(longitude latitude).

func H3H3IndexNeighbors

func H3H3IndexNeighbors(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

H3H3IndexNeighbors returns the immediate neighbours (the grid disk of radius 1 excluding the cell itself) as a JSON array of uint64.

func H3H3IndexParent

func H3H3IndexParent(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

H3H3IndexParent returns the immediate parent (one resolution coarser).

func H3H3IndexParentAtRes

func H3H3IndexParentAtRes(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

H3H3IndexParentAtRes returns the ancestor at the given (coarser) resolution.

func H3H3IndexResolution

func H3H3IndexResolution(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

H3H3IndexResolution returns the resolution (0..15) of an H3Index.

func H3H3IndexWithRes

func H3H3IndexWithRes(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

H3H3IndexWithRes converts a POINT(longitude latitude) to an H3Index at the given resolution (0..15).

func HexArray added in v1.2.0

func HexArray(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func HexFloat32 added in v1.2.1

func HexFloat32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func HexFloat64 added in v1.2.1

func HexFloat64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func HexInt64 added in v0.8.0

func HexInt64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func HexString added in v0.8.0

func HexString(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

HexString returns a hexadecimal string representation of a string. See https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_hex

func HexUint64 added in v1.2.0

func HexUint64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func HllCardinality

func HllCardinality(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func ICULIBVersion added in v0.8.0

func ICULIBVersion(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func IfTypeCastSupported added in v0.8.0

func IfTypeCastSupported(sourceType, targetType types.T) bool

func Inet6Aton

func Inet6Aton(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

Inet6Aton converts an IPv6 or IPv4 address string to a binary representation. IPv4 addresses return 4 bytes, IPv6 addresses return 16 bytes. Invalid addresses return NULL.

func Inet6Ntoa

func Inet6Ntoa(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

Inet6Ntoa converts a binary representation of an IPv6 or IPv4 address to a string. Input can be 4 bytes (IPv4) or 16 bytes (IPv6). Invalid input returns NULL.

func InetAton

func InetAton(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

InetAton converts an IPv4 address string to an unsigned integer. Returns NULL for invalid addresses. Formula: a.b.c.d = a*256^3 + b*256^2 + c*256 + d

func InetNtoa

func InetNtoa(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

InetNtoa converts an unsigned integer to an IPv4 address string. Returns NULL for invalid input. Supports uint64, uint32, int64, int32 types.

func InnerProductArray added in v1.1.0

func InnerProductArray[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Insert

func Insert(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func Instr added in v0.8.0

func Instr(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func Int64ToTime added in v0.8.0

func Int64ToTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func IntSingle added in v0.8.0

func IntSingle[T types.Ints](val T, start int) uint8

func IsFreeLock

func IsFreeLock(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func IsIPv4

func IsIPv4(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

IsIPv4 returns 1 if the argument is a valid IPv4 address, 0 otherwise. Returns NULL if the input is NULL.

func IsIPv4Compat

func IsIPv4Compat(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

IsIPv4Compat returns 1 if the argument is a valid IPv4-compatible IPv6 address, 0 otherwise. Returns NULL if the input is NULL. The input should be a binary representation from INET6_ATON (16 bytes for IPv6).

func IsIPv4Mapped

func IsIPv4Mapped(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

IsIPv4Mapped returns 1 if the argument is a valid IPv4-mapped IPv6 address, 0 otherwise. Returns NULL if the input is NULL. The input should be a binary representation from INET6_ATON (16 bytes for IPv6). IPv4-mapped addresses have the format ::ffff:a.b.c.d

func IsIPv6

func IsIPv6(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

IsIPv6 returns 1 if the argument is a valid IPv6 address, 0 otherwise. Returns NULL if the input is NULL.

func IsUsedLock

func IsUsedLock(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func JsonKeys

func JsonKeys(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

JSON_KEYS

func JsonLength

func JsonLength(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

JSON_LENGTH

func JsonPretty

func JsonPretty(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

JSON_PRETTY

func JsonQuote added in v0.8.0

func JsonQuote(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func JsonSchemaValid

func JsonSchemaValid(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

JSON_SCHEMA_VALID

func JsonSchemaValidationReport

func JsonSchemaValidationReport(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

JSON_SCHEMA_VALIDATION_REPORT

func JsonUnquote added in v0.8.0

func JsonUnquote(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func JsonValid

func JsonValid(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

JSON_VALID

func JsonValue

func JsonValue(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

JSON_VALUE(json_doc, path) → VARCHAR Equivalent to JSON_UNQUOTE(JSON_EXTRACT(json_doc, path)).

func L1NormArray added in v1.1.0

func L1NormArray[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func L2DistanceArray added in v1.1.0

func L2DistanceArray[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func L2DistanceSqArray

func L2DistanceSqArray[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func L2NormArray added in v1.1.0

func L2NormArray[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func LastDay added in v1.2.2

func LastDay(
	ivecs []*vector.Vector,
	result vector.FunctionResultWrapper,
	_ *process.Process,
	length int,
	selectList *FunctionSelectList,
) error

func LastInsertID added in v0.8.0

func LastInsertID(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func LastQueryID added in v0.8.0

func LastQueryID(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func LastQueryIDWithoutParam added in v0.8.0

func LastQueryIDWithoutParam(_ []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TODO: may support soon.

func Lastval added in v0.8.0

func Lastval(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func Left added in v0.8.0

func Left(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func Length added in v0.8.0

func Length(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func LengthUTF8 added in v0.8.0

func LengthUTF8(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func LoadFile added in v0.8.0

func LoadFile(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

Too confused.

func LoadFileDatalink(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

LoadFileDatalink reads a file from the file service and returns the content as a blob.

func Locate2Args added in v1.0.1

func Locate2Args(str string, subStr string) int64

evalate LOCATE(substr, str)

func Locate3Args added in v1.0.1

func Locate3Args(str string, subStr string, pos int64) int64

evalate LOCATE(substr, str, pos)

func Ltrim added in v0.8.0

func Ltrim(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MBRContains

func MBRContains(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MBRCoveredBy

func MBRCoveredBy(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MBRCovers

func MBRCovers(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MBRDisjoint

func MBRDisjoint(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MBREquals

func MBREquals(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MBRIntersects

func MBRIntersects(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MBROverlaps

func MBROverlaps(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MBRTouches

func MBRTouches(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MBRWithin

func MBRWithin(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MakeDateString added in v1.2.2

func MakeDateString(
	ivecs []*vector.Vector,
	result vector.FunctionResultWrapper,
	_ *process.Process,
	length int,
	selectList *FunctionSelectList,
) error

func MakeSet

func MakeSet(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

MakeSet: MAKE_SET(bits, str1, str2, ...) - Returns a set value (a string containing substrings separated by ',' characters) consisting of the strings that have the corresponding bit in bits set.

func MakeTime

func MakeTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) error

MakeTime: MAKETIME(hour, minute, second) - Returns a time value calculated from the hour, minute, and second arguments.

func Md5 added in v1.2.0

func Md5(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MoCPU added in v1.1.0

func MoCPU(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MoCPUDump added in v1.1.0

func MoCPUDump(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MoCtl

func MoCtl(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, _ *FunctionSelectList) (err error)

func MoDisableMemUsageDetail added in v0.8.0

func MoDisableMemUsageDetail(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MoEnableMemUsageDetail added in v0.8.0

func MoEnableMemUsageDetail(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MoFeatureLimitUpsert

func MoFeatureLimitUpsert(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, _ *FunctionSelectList) error

func MoFeatureRegistryUpsert

func MoFeatureRegistryUpsert(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, _ *FunctionSelectList) error

func MoMemUsage added in v0.8.0

func MoMemUsage(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MoMemory added in v1.1.0

func MoMemory(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func MoTableColMax added in v0.8.0

func MoTableColMax(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

MoTableColMax return the max value of the column

func MoTableColMin added in v0.8.0

func MoTableColMin(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

MoTableColMax return the max value of the column

func MoTableRows added in v0.8.0

func MoTableRows(
	iVecs []*vector.Vector,
	result vector.FunctionResultWrapper,
	proc *process.Process,
	length int,
	selectList *FunctionSelectList,
) (err error)

func MoTableRowsNew

func MoTableRowsNew(
	iVecs []*vector.Vector,
	result vector.FunctionResultWrapper,
	proc *process.Process,
	length int,
	selectList *FunctionSelectList,
) (err error)

func MoTableRowsOld

func MoTableRowsOld(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func MoTableSize added in v0.8.0

func MoTableSize(
	iVecs []*vector.Vector,
	result vector.FunctionResultWrapper,
	proc *process.Process,
	length int,
	selectList *FunctionSelectList,
) (err error)

func MoTableSizeNew

func MoTableSizeNew(
	iVecs []*vector.Vector,
	result vector.FunctionResultWrapper,
	proc *process.Process,
	length int,
	selectList *FunctionSelectList,
) (err error)

func MoTableSizeOld

func MoTableSizeOld(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func MoTableSizeRowsHelper

func MoTableSizeRowsHelper(
	iVecs []*vector.Vector,
	result vector.FunctionResultWrapper,
	proc *process.Process,
	length int,
	selectList *FunctionSelectList,
	executor *atomic.Pointer[GetMoTableSizeRowsFuncType],
) (err error)

func MoTupleExpr

func MoTupleExpr(params []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

MoTupleExpr decodes a tuple bytes representation and returns a human-readable string. It uses DecodeTuple to decode the bytes and SQLStrings to format the output.

func NewCast added in v0.8.0

func NewCast(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func NewStrictCast

func NewStrictCast(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Nextval added in v0.8.0

func Nextval(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func NormalizeL2Array added in v1.1.0

func NormalizeL2Array[T types.RealNumbers](parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Oct added in v0.8.0

func OctDate

func OctDate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func OctDatetime

func OctDatetime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func OctFloat added in v0.8.0

func OctFloat[T constraints.Float](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func OctString

func OctString(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

OctString handles OCT function for string types (varchar, char, text) It tries to parse the string as DATE or DATETIME, then converts to octal

func Ord

func Ord(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func OrdString

func OrdString(val []byte) int64

OrdString calculates the ORD value for a string For single-byte characters: returns the byte value (same as ASCII) For multibyte characters: returns (byte1) + (byte2 * 256) + (byte3 * 256²) + ...

func OverflowForNumericToNumeric added in v0.8.0

func OverflowForNumericToNumeric[T1, T2 constraints.Integer | constraints.Float](ctx context.Context,
	xs []T1, nsp *nulls.Nulls) error

func PeriodAdd

func PeriodAdd(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) error

PeriodAdd: PERIOD_ADD(P, N) - Adds N months to period P (in the format YYMM or YYYYMM). Returns a value in the format YYYYMM.

func PeriodDiff

func PeriodDiff(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) error

PeriodDiff: PERIOD_DIFF(P1, P2) - Returns the number of months between periods P1 and P2. P1 and P2 should be in the format YYMM or YYYYMM.

func Pi added in v0.8.0

func Pi(_ []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Power added in v0.8.0

func Power(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func PrefixBetween added in v1.1.1

func PrefixBetween(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func PrefixEq added in v1.1.0

func PrefixEq(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func PrefixInRange

func PrefixInRange(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Quote

func Quote(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func QuoteString

func QuoteString(str string) string

QuoteString quotes a string for use in SQL statements Escapes single quotes by doubling them, backslashes, and control characters

func RandomBytes

func RandomBytes(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

RandomBytes: RANDOM_BYTES(len) - Returns a binary string of len random bytes Uses crypto/rand for cryptographically secure random bytes Handles both int64 and uint64 parameter types

func ReadFromFile added in v0.8.0

func ReadFromFile(Filepath string, fs fileservice.FileService) (io.ReadCloser, error)

func ReadFromFileOffsetSize

func ReadFromFileOffsetSize(Filepath string, fs fileservice.FileService, offset, size int64) (io.ReadCloser, error)

func ReleaseAllLocks

func ReleaseAllLocks(_ []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func ReleaseLock

func ReleaseLock(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func ReleaseUserLevelLocks

func ReleaseUserLevelLocks(proc *process.Process)

func RemoveFaultPoint added in v0.8.0

func RemoveFaultPoint(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func Replace added in v0.8.0

func Replace(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func ReturnFirstArgType

func ReturnFirstArgType(typs []types.Type) types.Type

func Reverse added in v0.8.0

func Reverse(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error
func Right(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func RolesGraphml added in v0.8.0

func RolesGraphml(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func RoundDecimal64 added in v0.8.0

func RoundDecimal64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func RoundDecimal128 added in v0.8.0

func RoundDecimal128(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func RoundDecimal256

func RoundDecimal256(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func RoundFloat64 added in v0.8.0

func RoundFloat64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func RoundInt64 added in v0.8.0

func RoundInt64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func RoundUint64 added in v0.8.0

func RoundUint64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func RowCount added in v0.8.0

func RowCount(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Rtrim added in v0.8.0

func Rtrim(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func RunFunctionDirectly added in v0.8.0

func RunFunctionDirectly(proc *process.Process, overloadID int64, inputs []*vector.Vector, length int) (*vector.Vector, error)

RunFunctionDirectly runs a function directly without any protections. It is dangerous and should be used only when you are sure that the overloadID is correct and the inputs are valid.

func S2CellId

func S2CellId(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

S2CellId converts a POINT(longitude latitude) to the S2 leaf CellId.

func S2CellIdAllNeighbors

func S2CellIdAllNeighbors(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

S2CellIdAllNeighbors returns all neighbours (edge + vertex adjacent) at this cell's level as a JSON array of uint64.

func S2CellIdAreNeighbors

func S2CellIdAreNeighbors(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

S2CellIdAreNeighbors reports whether two CellIds are neighbours, evaluated at the level of the first cell.

func S2CellIdArea

func S2CellIdArea(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

S2CellIdArea returns the approximate area of a CellId in square metres.

func S2CellIdCenter

func S2CellIdCenter(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

S2CellIdCenter returns the center of a CellId as a POINT(longitude latitude).

func S2CellIdEdgeNeighbors

func S2CellIdEdgeNeighbors(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

S2CellIdEdgeNeighbors returns the 4 edge-adjacent neighbours at this cell's level as a JSON array of uint64.

func S2CellIdLevel

func S2CellIdLevel(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

S2CellIdLevel returns the level (0..30) of a CellId.

func S2CellIdParent

func S2CellIdParent(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

S2CellIdParent returns the ancestor CellId at the given (coarser) level.

func SHA1Func added in v1.2.0

func SHA1Func(
	parameters []*vector.Vector,
	result vector.FunctionResultWrapper,
	proc *process.Process,
	length int,
	selectList *FunctionSelectList,
) error

func SecToTime

func SecToTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) error

SecToTime: SEC_TO_TIME(seconds) - Returns the seconds argument, converted to hours, minutes, and seconds, as a TIME value.

func SerialHelper added in v1.2.0

func SerialHelper(v *vector.Vector, bitMap *nulls.Nulls, ps []*types.Packer, isFull bool)

SerialHelper is unified function used in builtInSerial and BuiltInSerialFull To use it inside builtInSerial, pass the bitMap pointer and set isFull false To use it inside BuiltInSerialFull, pass the bitMap as nil and set isFull to true

func SetTargetScaleFromSource

func SetTargetScaleFromSource(source, target *types.Type)

func Setval added in v0.8.0

func Setval(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func SignDecimal64

func SignDecimal64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func SignDecimal128

func SignDecimal128(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func SignDecimal256

func SignDecimal256(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func SignFloat64

func SignFloat64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func SignInt64

func SignInt64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

SIGN function implementations SIGN returns 1 for positive numbers, 0 for zero, -1 for negative numbers

func SignUInt64

func SignUInt64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Sleep added in v0.8.0

func Sleep[T uint64 | float64](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Soundex

func Soundex(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func SoundexString

func SoundexString(str string) string

SoundexString implements the SOUNDEX algorithm Returns a phonetic code representing how a string sounds

func SpaceNumber added in v0.8.0

func SpaceNumber[T types.BuiltinNumber](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func SplitPart added in v0.8.0

func SplitPart(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func SplitSingle added in v0.8.0

func SplitSingle(str, sep string, cnt uint32) (string, bool)

func StArea

func StArea(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StArea32

func StArea32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StArea32 is the GEOMETRY32 overload of ST_Area (returns float32).

func StAreaWithSRID

func StAreaWithSRID(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StAreaWithSRID is the ST_Area(geom, srid) overload: the explicit SRID overrides the geometry's type SRID for the computation.

func StAreaWithSRID32

func StAreaWithSRID32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StAreaWithSRID32 is the GEOMETRY32 overload of ST_Area(geom, srid).

func StAsGeoJSON

func StAsGeoJSON(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StAsGeoJSON renders a geometry as an RFC 7946 GeoJSON geometry object (full coordinate precision).

func StAsGeoJSONPrec

func StAsGeoJSONPrec(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StAsGeoJSONPrec renders a geometry as GeoJSON, rounding each coordinate to at most maxdecimaldigits decimal places.

func StAsText

func StAsText(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StAsWKB

func StAsWKB(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StAsWKB returns the standard (float64) Well-Known Binary of a geometry, up-converting a GEOMETRY32 value to float64 so the output is always interoperable standard WKB.

func StBoundary

func StBoundary(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StBuffer

func StBuffer(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StBuffer returns the buffer polygon of a geometry at the given distance (default 8 segments per quarter circle).

func StBufferQS

func StBufferQS(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StBufferQS is ST_Buffer with an explicit segments-per-quarter-circle count.

func StCentroid

func StCentroid(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StCollect

func StCollect(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StCollect bundles two geometries into the most specific aggregate (multi or collection).

func StContains

func StContains(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StConvexHull

func StConvexHull(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StConvexHull returns the convex hull of a geometry (planar, monotone chain).

func StCoveredBy

func StCoveredBy(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StCovers

func StCovers(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StCrosses

func StCrosses(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StDifference

func StDifference(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StDifference returns the polygon difference (g1 minus g2).

func StDimension

func StDimension(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StDisjoint

func StDisjoint(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StDistance

func StDistance(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StDistance32

func StDistance32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StDistance32 is the GEOMETRY32 overload of ST_Distance (returns float32).

func StDistanceSphere

func StDistanceSphere(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StDistanceSphere returns the great-circle distance in meters between two geometries on a sphere of EarthRadiusMeters (ST_Distance_Sphere).

func StDistanceSphere32

func StDistanceSphere32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StDistanceSphere32 is the GEOMETRY32 overload of ST_Distance_Sphere.

func StDistanceWithSRID

func StDistanceWithSRID(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StDistanceWithSRID is the ST_Distance(geom, geom, srid) overload: the explicit SRID overrides the operand type SRIDs for the computation.

func StDistanceWithSRID32

func StDistanceWithSRID32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StDistanceWithSRID32 is the GEOMETRY32 overload of ST_Distance(geom, geom, srid).

func StEndPoint

func StEndPoint(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StEnvelope

func StEnvelope(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StEquals

func StEquals(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StExteriorRing

func StExteriorRing(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StFrechetDistance

func StFrechetDistance(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StFrechetDistance returns the discrete Fréchet distance (planar) between two geometries' vertex sequences.

func StFrechetDistance32

func StFrechetDistance32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StFrechetDistance32 is the GEOMETRY32 overload of ST_FrechetDistance.

func StGeoHashFromLonLat

func StGeoHashFromLonLat(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StGeoHashFromLonLat is ST_GeoHash(longitude, latitude, max_length).

func StGeoHashFromPoint

func StGeoHashFromPoint(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StGeoHashFromPoint is ST_GeoHash(point, max_length): the geohash of a point.

func StGeomCollFromText

func StGeomCollFromText(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StGeomCollFromWKB

func StGeomCollFromWKB(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StGeomFromGeoJSON

func StGeomFromGeoJSON(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StGeomFromGeoJSON builds a geometry from a GeoJSON geometry object. Per MySQL, the default SRID is 4326 (recorded in the result type's Width by the binder/overload).

func StGeomFromGeoJSONWithSRID

func StGeomFromGeoJSONWithSRID(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StGeomFromGeoJSONWithSRID builds a geometry from a GeoJSON object with an explicit SRID (recorded in the result type's Width by the binder).

func StGeomFromText

func StGeomFromText(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StGeomFromTextWithSRID

func StGeomFromTextWithSRID(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StGeomFromWKB

func StGeomFromWKB(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StGeomFromWKB builds a geometry from standard Well-Known Binary.

func StGeometryN

func StGeometryN(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StGeometryType

func StGeometryType(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StHausdorffDistance

func StHausdorffDistance(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StHausdorffDistance returns the discrete Hausdorff distance (planar) between two geometries' vertex sets.

func StHausdorffDistance32

func StHausdorffDistance32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StHausdorffDistance32 is the GEOMETRY32 overload of ST_HausdorffDistance.

func StInteriorRingN

func StInteriorRingN(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StIntersection

func StIntersection(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StIntersection returns the polygon intersection of two areal geometries.

func StIntersects

func StIntersects(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StIsClosed

func StIsClosed(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StIsCollection

func StIsCollection(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StIsEmpty

func StIsEmpty(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StIsRing

func StIsRing(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StIsSimple

func StIsSimple(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StIsValid

func StIsValid(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StLatFromGeoHash

func StLatFromGeoHash(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StLatFromGeoHash returns the latitude of the center of a geohash cell (ST_LatFromGeoHash).

func StLatitude

func StLatitude(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StLatitude returns the Y (latitude) ordinate of a point (ST_Latitude).

func StLatitude32

func StLatitude32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StLatitude32 is the GEOMETRY32 overload of ST_Latitude (returns float32).

func StLength

func StLength(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StLength32

func StLength32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StLength32 is the GEOMETRY32 overload of ST_Length (returns float32).

func StLengthWithSRID

func StLengthWithSRID(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StLengthWithSRID is the ST_Length(geom, srid) overload.

func StLengthWithSRID32

func StLengthWithSRID32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StLengthWithSRID32 is the GEOMETRY32 overload of ST_Length(geom, srid).

func StLineFromText

func StLineFromText(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StLineFromWKB

func StLineFromWKB(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StLineInterpolatePoint

func StLineInterpolatePoint(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StLineInterpolatePoint returns the point at a fraction of a line's length.

func StLineInterpolatePoints

func StLineInterpolatePoints(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StLineInterpolatePoints returns points at every fraction interval along a line.

func StLongFromGeoHash

func StLongFromGeoHash(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StLongFromGeoHash returns the longitude of the center of a geohash cell (ST_LongFromGeoHash).

func StLongitude

func StLongitude(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StLongitude returns the X (longitude) ordinate of a point (ST_Longitude).

func StLongitude32

func StLongitude32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StLongitude32 is the GEOMETRY32 overload of ST_Longitude (returns float32).

func StMLineFromText

func StMLineFromText(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StMLineFromWKB

func StMLineFromWKB(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StMPointFromText

func StMPointFromText(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StMPointFromWKB

func StMPointFromWKB(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StMPolyFromText

func StMPolyFromText(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StMPolyFromWKB

func StMPolyFromWKB(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StMakeEnvelope

func StMakeEnvelope(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StMakeEnvelope builds the axis-aligned rectangle polygon spanning two corner points (ST_MakeEnvelope).

func StNumGeometries

func StNumGeometries(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StNumInteriorRings

func StNumInteriorRings(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StNumPoints

func StNumPoints(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StOverlaps

func StOverlaps(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StPoint

func StPoint(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StPoint builds a POINT geometry from numeric (x, y) coordinates, where x is the X/longitude and y is the Y/latitude (matching WKT POINT(x y) order). It is the numeric counterpart of ST_PointFromText('POINT(x y)') and returns a plain GEOMETRY (SRID 0). The float32-coordinate variant is StPoint32.

func StPoint32

func StPoint32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StPoint32 is the GEOMETRY32 (float32-coordinate) variant of ST_Point.

func StPointAtDistance

func StPointAtDistance(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StPointAtDistance returns the point at a distance along a line.

func StPointFromGeoHash

func StPointFromGeoHash(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StPointFromGeoHash is ST_PointFromGeoHash(geohash, srid): the center point of a geohash cell. The SRID lands in the result type via the binder.

func StPointFromText

func StPointFromText(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StPointFromWKB

func StPointFromWKB(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StPointN

func StPointN(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StPointOnSurface

func StPointOnSurface(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StPolyFromText

func StPolyFromText(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StPolyFromWKB

func StPolyFromWKB(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StSRID

func StSRID(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StSimplify

func StSimplify(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StSimplify reduces a geometry's vertices with Douglas-Peucker at the given planar tolerance.

func StStartPoint

func StStartPoint(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StSwapXY

func StSwapXY(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StSwapXY swaps the X and Y of every coordinate of a geometry (ST_SwapXY).

func StSymDifference

func StSymDifference(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StSymDifference returns the polygon symmetric difference of two geometries.

func StTouches

func StTouches(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StUnion

func StUnion(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StUnion returns the polygon union of two areal geometries.

func StValidate

func StValidate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StValidate returns the geometry if it is structurally valid, otherwise NULL (ST_Validate).

func StWithin

func StWithin(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StX

func StX(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StX32

func StX32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StX32 is the GEOMETRY32 overload of ST_X. It returns float32, matching the stored coordinate width of a GEOMETRY32 value. This is a deliberate MatrixOne extension: MySQL's ST_X always returns DOUBLE; for the float32 GEOMETRY32 family the coordinate accessors stay float32 to avoid implying precision the value does not carry. Plain GEOMETRY still returns float64 via StX.

func StY

func StY(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func StY32

func StY32(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StY32 is the GEOMETRY32 overload of ST_Y (returns float32).

func StartsWith added in v0.8.0

func StartsWith(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func StrCmp

func StrCmp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func StringSingle added in v0.8.0

func StringSingle(val []byte) uint8

func StringToMicrosecond

func StringToMicrosecond(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

StringToMicrosecond returns the microseconds from a string input Tries to parse as TIME, DATETIME, or TIMESTAMP. Returns NULL if parsing fails (MySQL behavior)

func SubStrIndex added in v0.8.0

func SubStrIndex[T number](ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func SubStringWith2Args added in v0.8.0

func SubStringWith2Args(ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func SubStringWith3Args added in v0.8.0

func SubStringWith3Args(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func SubTime

func SubTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

SubTime: SUBTIME(expr1, expr2) - Returns expr1 - expr2 expressed as a time value. expr1 can be TIME, DATETIME, or TIMESTAMP expr2 is a TIME expression (can include days like '1 1:1:1.000002') Returns TIME if expr1 is TIME, DATETIME if expr1 is DATETIME/TIMESTAMP

func SubVectorWith2Args added in v1.2.0

func SubVectorWith2Args[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, _ *process.Process, length int, selectList *FunctionSelectList) (err error)

func SubVectorWith3Args added in v1.2.0

func SubVectorWith3Args[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func SummationArray added in v1.1.0

func SummationArray[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func TSToTimestamp

func TSToTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func TimeAdd added in v0.8.0

func TimeAdd(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TimeDiff added in v0.8.0

func TimeDiff[T types.Time | types.Datetime](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TimeDiffString

func TimeDiffString(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

TimeDiffString: TIMEDIFF with string inputs - parses strings as TIME or DATETIME and returns the difference as TIME

func TimeFormat

func TimeFormat(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimeFormat: format the time value according to the format string. TIME_FORMAT only supports time-related format specifiers: %H, %h, %I, %i, %k, %l, %S, %s, %f, %p, %r, %T

func TimeSub

func TimeSub(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TimeToDate added in v0.8.0

func TimeToDate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func TimeToHour

func TimeToHour(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func TimeToMicrosecond

func TimeToMicrosecond(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

TimeToMicrosecond returns the microseconds from time (0-999999)

func TimeToMinute

func TimeToMinute(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

TimeToMinute returns the minute from time (0-59)

func TimeToSec

func TimeToSec(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

TimeToSec returns the time argument, converted to seconds (total seconds)

func TimeToSecond

func TimeToSecond(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

TimeToSecond returns the second from time (0-59)

func TimeToTime added in v0.8.0

func TimeToTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func TimestampAdd added in v0.8.0

func TimestampAdd(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TimestampAddDate

func TimestampAddDate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampAddDate: TIMESTAMPADD(unit, interval, date) Parameters: ivecs[0] = unit (string), ivecs[1] = interval (int64), ivecs[2] = date (Date) MySQL behavior: Returns DATE for date units (DAY, WEEK, MONTH, QUARTER, YEAR)

Returns DATETIME for time units (HOUR, MINUTE, SECOND, MICROSECOND)

Supports both constant and non-constant unit parameters

func TimestampAddDatetime

func TimestampAddDatetime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampAddDatetime: TIMESTAMPADD(unit, interval, datetime) Parameters: ivecs[0] = unit (string), ivecs[1] = interval (int64), ivecs[2] = datetime (Datetime)

func TimestampAddString

func TimestampAddString(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampAddString: TIMESTAMPADD(unit, interval, datetime_string) Parameters: ivecs[0] = unit (string), ivecs[1] = interval (int64), ivecs[2] = datetime_string (string) MySQL behavior: When input is string literal, return VARCHAR/CHAR type (not DATETIME) The actual value format (DATE or DATETIME) depends on input string format and unit

func TimestampAddTimestamp

func TimestampAddTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampAddTimestamp: TIMESTAMPADD(unit, interval, timestamp) Parameters: ivecs[0] = unit (string), ivecs[1] = interval (int64), ivecs[2] = timestamp (Timestamp)

func TimestampDiff added in v0.8.0

func TimestampDiff(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampDiff: TIMESTAMPDIFF(unit, datetime1, datetime2) - Returns datetime2 - datetime1 Supports DATETIME, DATE, TIMESTAMP, and string inputs

func TimestampDiffDate

func TimestampDiffDate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampDiffDate: TIMESTAMPDIFF(unit, date1, date2) - Supports DATE inputs Note: This function is called when both arguments are DATE type. When mixing DATE with string (containing time), the system should select TimestampDiffString or convert DATE to DATETIME and use TimestampDiff.

func TimestampDiffDateString

func TimestampDiffDateString(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampDiffDateString: TIMESTAMPDIFF(unit, date, datetime_string) - Handles DATE and string mix When first argument is DATE and second is string, convert DATE to DATETIME (time 00:00:00)

func TimestampDiffDateTimestamp

func TimestampDiffDateTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampDiffDateTimestamp: TIMESTAMPDIFF(unit, date, timestamp) - Handles DATE and TIMESTAMP mix When first argument is DATE and second is TIMESTAMP, convert both to DATETIME and calculate

func TimestampDiffString

func TimestampDiffString(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampDiffString: TIMESTAMPDIFF(unit, datetime_string1, datetime_string2) - Supports string inputs

func TimestampDiffStringDate

func TimestampDiffStringDate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampDiffStringDate: TIMESTAMPDIFF(unit, datetime_string, date) - Handles string and DATE mix When first argument is string and second is DATE, convert DATE to DATETIME (time 00:00:00)

func TimestampDiffTimestamp

func TimestampDiffTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampDiffTimestamp: TIMESTAMPDIFF(unit, timestamp1, timestamp2) - Supports TIMESTAMP inputs

func TimestampDiffTimestampDate

func TimestampDiffTimestampDate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

TimestampDiffTimestampDate: TIMESTAMPDIFF(unit, timestamp, date) - Handles TIMESTAMP and DATE mix When first argument is TIMESTAMP and second is DATE, convert both to DATETIME and calculate

func TimestampSub added in v0.8.0

func TimestampSub(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TimestampToDay

func TimestampToDay(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func TimestampToDayName

func TimestampToDayName(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

TimestampToDayName returns the weekday name for timestamp (e.g., "Sunday", "Monday", ...)

func TimestampToDayOfWeek

func TimestampToDayOfWeek(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

TimestampToDayOfWeek returns the weekday index for timestamp (1 = Sunday, 2 = Monday, ..., 7 = Saturday)

func TimestampToHour added in v0.8.0

func TimestampToHour(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func TimestampToMicrosecond

func TimestampToMicrosecond(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

TimestampToMicrosecond returns the microseconds from timestamp (0-999999)

func TimestampToMinute added in v0.8.0

func TimestampToMinute(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func TimestampToMonthName

func TimestampToMonthName(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

TimestampToMonthName returns the month name for timestamp (e.g., "January", "February", ...)

func TimestampToSecond added in v0.8.0

func TimestampToSecond(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func TimestampToTime

func TimestampToTime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func TimestampToTimestamp added in v0.8.0

func TimestampToTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func TimestampToWeekOfYear

func TimestampToWeekOfYear(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

TimestampToWeekOfYear returns the calendar week of the timestamp as a number in the range from 1 to 53.

func ToBase64 added in v1.2.0

func ToBase64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TriggerFaultPoint added in v0.8.0

func TriggerFaultPoint(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func Trim added in v0.8.0

func Trim(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func Truncate

func Truncate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TruncateDecimal64

func TruncateDecimal64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TruncateDecimal128

func TruncateDecimal128(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TruncateDecimal256

func TruncateDecimal256(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TruncateFloat64

func TruncateFloat64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TruncateInt64

func TruncateInt64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func TruncateUint64

func TruncateUint64(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) (err error)

func UTCTimestamp added in v0.8.0

func UTCTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func UdfArgTypeCast added in v1.1.0

func UdfArgTypeCast(from []types.Type, to []types.T) []types.Type

func UdfArgTypeMatch added in v1.1.0

func UdfArgTypeMatch(from []types.Type, to []types.T) (bool, int)

func UintSingle added in v0.8.0

func UintSingle[T types.UInts](val T, start int) uint8

func Uncompress

func Uncompress(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

Uncompress: UNCOMPRESS(string) - Uncompresses a string compressed by COMPRESS() Reads 4-byte length, then decompresses the rest

func UncompressedLength

func UncompressedLength(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

UncompressedLength: UNCOMPRESSED_LENGTH(compressed_string) - Returns the length that the compressed string had before being compressed Reads the first 4 bytes (little-endian) from the compressed string

func Unhex added in v1.2.0

func Unhex(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func User added in v0.8.0

func User(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func UtcDate

func UtcDate(_ []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func ValidatePasswordStrength

func ValidatePasswordStrength(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

ValidatePasswordStrength: VALIDATE_PASSWORD_STRENGTH(str) - Returns an integer to indicate how strong the password is Returns 0 (weak) to 100 (strong), typically in increments of 25

func Values added in v0.8.0

func Values(parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func VecFromBase64

func VecFromBase64[T types.RealNumbers](parameters []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

VecFromBase64 decodes a base64-encoded string into a vector (vecf32 or vecf64). The base64 payload must be the raw little-endian bytes of the vector elements, as produced by to_base64(vecf32_col) or to_base64(vecf64_col).

func VectorDimsArray added in v1.1.0

func VectorDimsArray[T types.RealNumbers](ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

func Version added in v0.8.0

func Version(
	_ []*vector.Vector,
	result vector.FunctionResultWrapper,
	proc *process.Process,
	length int,
	selectList *FunctionSelectList,
) error
func WriteFileDatalink(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

WriteFileDatalink write content to file service and return number of byte written

func YearWeekDate

func YearWeekDate(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

YearWeekDate: YEARWEEK(date, mode) - Returns year and week for a date as YYYYWW format. If mode is not provided, defaults to 0.

func YearWeekDatetime

func YearWeekDatetime(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

YearWeekDatetime: YEARWEEK(datetime, mode) - Returns year and week for a datetime as YYYYWW format.

func YearWeekString

func YearWeekString(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

YearWeekString: YEARWEEK(string, mode) - Returns year and week for a string date/datetime as YYYYWW format. Tries to parse as datetime first, then as date.

func YearWeekTimestamp

func YearWeekTimestamp(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

YearWeekTimestamp: YEARWEEK(timestamp, mode) - Returns year and week for a timestamp as YYYYWW format.

Types

type Arg added in v1.1.0

type Arg struct {
	Name string `json:"name"`
	Type string `json:"type"`
}

Arg of Udf

type DateFormatFunc added in v1.1.1

type DateFormatFunc func(ctx context.Context, datetime types.Datetime, format string, buf *bytes.Buffer) error

type DefaultPkgReader added in v1.1.0

type DefaultPkgReader struct {
	Proc *process.Process
}

func (*DefaultPkgReader) Get added in v1.1.0

func (d *DefaultPkgReader) Get(ctx context.Context, path string) (io.ReadCloser, error)

type FuncExplainLayout

type FuncExplainLayout int32
const (
	STANDARD_FUNCTION FuncExplainLayout = iota
	UNARY_ARITHMETIC_OPERATOR
	BINARY_ARITHMETIC_OPERATOR
	UNARY_LOGICAL_OPERATOR
	BINARY_LOGICAL_OPERATOR
	MULTIARY_LOGICAL_OPERATOR
	COMPARISON_OPERATOR
	CAST_EXPRESSION
	CASE_WHEN_EXPRESSION
	BETWEEN_AND_EXPRESSION
	IN_PREDICATE
	IS_EXPRESSION
	IS_NOT_EXPRESSION
	NOPARAMETER_FUNCTION
	DATE_INTERVAL_EXPRESSION
	EXTRACT_FUNCTION  // EXTRACT function,such as EXTRACT(MONTH/DAY/HOUR/MINUTE/SECOND FROM p)
	POSITION_FUNCTION // POSITION function, such as POSITION(substr IN str)
	EXISTS_ANY_PREDICATE
	UNKNOW_KIND_FUNCTION
)

func GetLayoutById added in v0.8.0

func GetLayoutById(ctx context.Context, overloadID int64) (FuncExplainLayout, error)

type FuncGetResult added in v0.8.0

type FuncGetResult struct {
	// contains filtered or unexported fields
}

func GetFunctionByName

func GetFunctionByName(ctx context.Context, name string, args []types.Type) (r FuncGetResult, err error)

func (*FuncGetResult) CannotRunInParallel added in v0.8.0

func (fr *FuncGetResult) CannotRunInParallel() bool

func (*FuncGetResult) GetEncodedOverloadID added in v0.8.0

func (fr *FuncGetResult) GetEncodedOverloadID() (overloadID int64)

func (*FuncGetResult) GetReturnType added in v0.8.0

func (fr *FuncGetResult) GetReturnType() types.Type

func (*FuncGetResult) ShouldDoImplicitTypeCast added in v0.8.0

func (fr *FuncGetResult) ShouldDoImplicitTypeCast() (typs []types.Type, should bool)

type FuncNew added in v0.8.0

type FuncNew struct {

	// All overloads of the function.
	Overloads []overload
	// contains filtered or unexported fields
}

FuncNew stores all information about a function. including the unique id that marks the function, the class which the function belongs to, and all overloads of the function.

type FunctionSelectList

type FunctionSelectList struct {
	AnyNull    bool
	AllNull    bool
	SelectList []bool
}

func (*FunctionSelectList) Contains

func (selectList *FunctionSelectList) Contains(row uint64) bool

func (*FunctionSelectList) IgnoreAllRow

func (selectList *FunctionSelectList) IgnoreAllRow() bool

func (*FunctionSelectList) ShouldEvalAllRow

func (selectList *FunctionSelectList) ShouldEvalAllRow() bool

type FunctionTestCase

type FunctionTestCase struct {
	// contains filtered or unexported fields
}

func NewFunctionTestCase

func NewFunctionTestCase(
	proc *process.Process,
	inputs []FunctionTestInput,
	wanted FunctionTestResult,
	fn fEvalFn) FunctionTestCase

NewFunctionTestCase generate a testcase for built-in function F. fn is the evaluate method of F.

func (*FunctionTestCase) BenchMarkRun

func (fc *FunctionTestCase) BenchMarkRun() error

BenchMarkRun will run the function case N times without correctness check for result.

func (*FunctionTestCase) DebugRun

func (fc *FunctionTestCase) DebugRun() (*vector.Vector, error)

DebugRun will not run the compare logic for function result but return the result vector directly.

func (*FunctionTestCase) GetResultVectorDirectly

func (fc *FunctionTestCase) GetResultVectorDirectly() *vector.Vector

func (*FunctionTestCase) Run

func (fc *FunctionTestCase) Run() (succeed bool, errInfo string)

Run will run the function case and do the correctness check for result.

type FunctionTestInput

type FunctionTestInput struct {
	// contains filtered or unexported fields
}

FunctionTestInput the values should fit to typ. for example: if typ is int64, the values should be []int64 if your typ is string type (varchar or others), the values should be []string.

func NewFunctionTestConstInput

func NewFunctionTestConstInput(typ types.Type, values any, nullList []bool) FunctionTestInput

func NewFunctionTestInput

func NewFunctionTestInput(typ types.Type, values any, nullList []bool) FunctionTestInput

type FunctionTestResult

type FunctionTestResult struct {
	// contains filtered or unexported fields
}

FunctionTestResult the wanted should fit to typ. for example: if typ is int64, the wanted should be []int64 if your typ is string type (varchar or others), the wanted should be []string.

func NewFunctionTestResult

func NewFunctionTestResult(typ types.Type, wantErr bool, wanted any, nullList []bool) FunctionTestResult

type GeneralTime added in v0.8.0

type GeneralTime struct {
	// contains filtered or unexported fields
}

GeneralTime is the internal struct type for Time.

func FromDate added in v0.8.0

func FromDate(year int, month int, day int, hour int, minute int, second int, microsecond int) GeneralTime

func NewGeneralTime added in v0.8.0

func NewGeneralTime() *GeneralTime

func (GeneralTime) Minute added in v0.8.0

func (t GeneralTime) Minute() int

Minute returns the minute value.

func (*GeneralTime) ResetTime added in v0.8.0

func (t *GeneralTime) ResetTime()

Reset GeneralTime to initialization state

func (GeneralTime) String added in v0.8.0

func (t GeneralTime) String() string

String implements fmt.Stringer.

type GetMoTableSizeRowsFuncType

type GetMoTableSizeRowsFuncType = func() func(
	context.Context, []uint64, []uint64, []uint64,
	engine.Engine, bool, bool) ([]uint64, error)

type JqEncoder

type JqEncoder struct {
	// contains filtered or unexported fields
}

This is a simplified version of the encoder in gojq/cli/encode.go. It is used to encode the result of jq functions. We removed all the terminal color related code and we write to buffer w and do not flush until the encoding is done.

type Month added in v0.8.0

type Month int

The month represents one month of the year (January=1,...).

const (
	January Month = 1 + iota
	February
	March
	April
	May
	June
	July
	August
	September
	October
	November
	December
)

type NonSqlUdfBody added in v1.1.0

type NonSqlUdfBody struct {
	Handler string `json:"handler"`
	Import  bool   `json:"import"`
	Body    string `json:"body"`
}

type Udf added in v1.1.0

type Udf struct {
	// sql string, or json string of NonSqlUdfBody
	Body         string `json:"body"`
	Language     string `json:"language"`
	RetType      string `json:"rettype"`
	Args         []*Arg `json:"args"`
	Db           string `json:"db"`
	ModifiedTime string `json:"modified_time"`

	ArgsType []types.Type `json:"-"`
}

func (*Udf) GetArgsPlanType added in v1.1.0

func (u *Udf) GetArgsPlanType() []*plan.Type

func (*Udf) GetArgsType added in v1.1.0

func (u *Udf) GetArgsType() []types.Type

func (*Udf) GetPlanExpr added in v1.1.0

func (u *Udf) GetPlanExpr() *plan.Expr

func (*Udf) GetRetPlanType added in v1.1.0

func (u *Udf) GetRetPlanType() *plan.Type

func (*Udf) GetRetType added in v1.1.0

func (u *Udf) GetRetType() types.Type

type UdfWithContext added in v1.1.0

type UdfWithContext struct {
	*Udf    `json:"udf"`
	Context map[string]string `json:"context"` // context map
}

type XCallFunction

type XCallFunction struct {
	ErrStr [xcallErrStrLen]byte
	// contains filtered or unexported fields
}

func (*XCallFunction) XCall

func (xcall *XCallFunction) XCall(ivecs []*vector.Vector, result vector.FunctionResultWrapper, proc *process.Process, length int, selectList *FunctionSelectList) error

So far XCall only support strict, not generating null, and fixed length result.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL