/
githubmirror
/
sqlc
Обзор
Документация
Войти
/
githubmirror
/
sqlc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
internal/engine/dolphin/stdlib.go
5 695 строк
104 KB
Kyle Gray
feat(mysql): improve AST formatting and add DELETE JOIN support (#4206)
01 дек 2025, 02:35
Не верифицирован
01 дек 2025, 02:35
a9f7eae
Код
Авторство
О чём код?
package dolphin import ( "github.com/sqlc-dev/sqlc/internal/sql/ast" "github.com/sqlc-dev/sqlc/internal/sql/catalog" ) func defaultSchema(name string) *catalog.Schema { s := &catalog.Schema{Name: name} s.Funcs = []*catalog.Function{ { Name: "ABS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "tinyint"}, }, }, ReturnType: &ast.TypeName{Name: "tinyint"}, }, { Name: "ABS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "smallint"}, }, }, ReturnType: &ast.TypeName{Name: "smallint"}, }, { Name: "ABS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "mediumint"}, }, }, ReturnType: &ast.TypeName{Name: "mediumint"}, }, { Name: "ABS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "ABS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "bigint"}, }, }, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "ABS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double"}, }, }, ReturnType: &ast.TypeName{Name: "double"}, }, { Name: "ABS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ACOS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ADDDATE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "ADDTIME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "time"}, }, { Type: &ast.TypeName{Name: "time"}, }, }, ReturnType: &ast.TypeName{Name: "time"}, }, { Name: "AES_DECRYPT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "AES_DECRYPT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "AES_ENCRYPT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "AES_ENCRYPT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "ANY_VALUE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ASCII", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "ASIN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ATAN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ATAN2", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "AVG", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "BENCHMARK", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "BIN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "BIN_TO_UUID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "BIN_TO_UUID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "tinyint"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "BIT_AND", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "BIT_COUNT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "bigint"}, }, }, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "BIT_LENGTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "BIT_OR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "BIT_XOR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "CAST", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "CEIL", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "CEIL", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "CEILING", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "CEILING", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "CHAR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "CHARACTER_LENGTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "CHARSET", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "CHAR_LENGTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "COERCIBILITY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "COLLATION", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "COMPRESS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "CONCAT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "CONCAT_WS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "CONNECTION_ID", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "CONV", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "CONVERT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "CONVERT_TZ", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "datetime"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "COS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "COT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "COUNT", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "COUNT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "CRC32", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "CUME_DIST", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "CURDATE", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "CURRENT_DATE", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "CURRENT_ROLE", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "CURRENT_TIME", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "time"}, }, { Name: "CURRENT_TIME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "time"}, }, { Name: "CURRENT_TIMESTAMP", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "CURRENT_TIMESTAMP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "CURRENT_USER", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "CURTIME", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "time"}, }, { Name: "CURTIME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "time"}, }, { Name: "DATABASE", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "DATE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "datetime"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "DATEDIFF", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "datetime"}, }, { Type: &ast.TypeName{Name: "datetime"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "DATE_ADD", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { // DATE_ADD with INTERVAL expression (2 args) Name: "DATE_ADD", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, { Type: &ast.TypeName{Name: "interval"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "DATE_ADD_INTERVAL", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "DATE_FORMAT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "DATE_SUB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { // DATE_SUB with INTERVAL expression (2 args) Name: "DATE_SUB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, { Type: &ast.TypeName{Name: "interval"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "DATE_SUB_INTERVAL", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "DAY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "DAYNAME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "DAYOFMONTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "DAYOFWEEK", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "DAYOFYEAR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "DEFAULT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "DEGREES", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "DENSE_RANK", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "DISTINCT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ELT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "EXP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "EXPORT_SET", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "EXPORT_SET", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "EXPORT_SET", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "EXTRACT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "EXTRACTVALUE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "FIELD", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "FIND_IN_SET", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "FIRST_VALUE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "FLOOR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "FORMAT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "FORMAT_BYTES", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "FORMAT_PICO_TIME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "time"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "FOUND_ROWS", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "FROM_BASE64", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "FROM_DAYS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "FROM_UNIXTIME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "bigint"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "FROM_UNIXTIME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "bigint"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "GEOMCOLLECTION", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "GEOMETRYCOLLECTION", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "GET_FORMAT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "GET_LOCK", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "GREATEST", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "GROUPING", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "GROUP_CONCAT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "text"}, ReturnTypeNullable: true, }, { Name: "GTID_SUBSET", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "GTID_SUBTRACT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "HEX", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "HEX", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "HOUR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "time"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "ICU_VERSION", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "IF", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "IFNULL", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "INET6_ATON", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "INET6_NTOA", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "INET_ATON", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "INET_NTOA", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "INSERT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "INSTR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "INTERVAL", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ISNULL", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "IS_FREE_LOCK", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "IS_IPV4", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "IS_IPV4_COMPAT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "IS_IPV4_MAPPED", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "IS_IPV6", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "IS_USED_LOCK", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "IS_UUID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "JSON_ARRAY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_ARRAYAGG", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_ARRAY_APPEND", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_ARRAY_INSERT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_CONTAINS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "JSON_CONTAINS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "JSON_CONTAINS_PATH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "JSON_DEPTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "JSON_EXTRACT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "JSON_INSERT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_KEYS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_KEYS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_LENGTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "JSON_LENGTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "JSON_MERGE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_MERGE_PATCH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_MERGE_PRESERVE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_OBJECT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_OBJECTAGG", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_OVERLAPS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "JSON_PRETTY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "JSON_QUOTE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "JSON_REMOVE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_REPLACE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_SCHEMA_VALID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "JSON_SCHEMA_VALIDATION_REPORT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_SEARCH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "JSON_SEARCH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "JSON_SET", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_STORAGE_FREE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "JSON_STORAGE_SIZE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "JSON_TYPE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "JSON_UNQUOTE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "JSON_VALID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "JSON_VALUE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "LAG", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, HasDefault: true, }, { Type: &ast.TypeName{Name: "any"}, HasDefault: true, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "LAST_DAY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "LAST_INSERT_ID", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "LAST_INSERT_ID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "LAST_VALUE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "LCASE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "LEAD", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, HasDefault: true, }, { Type: &ast.TypeName{Name: "any"}, HasDefault: true, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "LEAST", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "LEFT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "LENGTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "LINESTRING", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "LN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "LOAD_FILE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "LOCALTIME", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "LOCALTIME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "LOCALTIMESTAMP", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "LOCALTIMESTAMP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "LOCATE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "LOCATE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "LOG", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "LOG", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "LOG10", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "LOG2", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "LOWER", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "LPAD", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "LTRIM", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "MAKEDATE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "MAKETIME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "time"}, }, { Name: "MAKE_SET", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "MASTER_POS_WAIT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "MASTER_POS_WAIT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "MASTER_POS_WAIT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "MAX", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "MBRCONTAINS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "MBRCOVEREDBY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "MBRCOVERS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "MBRDISJOINT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "MBREQUALS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "MBRINTERSECTS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "MBROVERLAPS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "MBRTOUCHES", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "MBRWITHIN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "MD5", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "MICROSECOND", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "time"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "MID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "MIN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "MINUTE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "time"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "MOD", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "MONTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "MONTHNAME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "MULTILINESTRING", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "MULTIPOINT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "MULTIPOLYGON", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "NAME_CONST", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "NOW", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "NEXTVAL", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "NOW", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "NTH_VALUE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "NTILE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "NULLIF", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "OCT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "bigint"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "OCTET_LENGTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "ORD", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "PERCENT_RANK", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "PERIOD_ADD", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "PERIOD_DIFF", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "PI", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "POINT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "POLYGON", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, Mode: ast.FuncParamVariadic, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "POSITION", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "POW", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "POWER", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "PS_CURRENT_THREAD_ID", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "PS_THREAD_ID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "QUARTER", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "QUOTE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "RADIANS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "RAND", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "RAND", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "RANDOM_BYTES", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "RANK", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "REGEXP_INSTR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, HasDefault: true, }, { Type: &ast.TypeName{Name: "int"}, HasDefault: true, }, { Type: &ast.TypeName{Name: "int"}, HasDefault: true, }, { Type: &ast.TypeName{Name: "text"}, HasDefault: true, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "REGEXP_LIKE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, HasDefault: true, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "REGEXP_REPLACE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, HasDefault: true, }, { Type: &ast.TypeName{Name: "int"}, HasDefault: true, }, { Type: &ast.TypeName{Name: "text"}, HasDefault: true, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "REGEXP_SUBSTR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, HasDefault: true, }, { Type: &ast.TypeName{Name: "int"}, HasDefault: true, }, { Type: &ast.TypeName{Name: "text"}, HasDefault: true, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "RELEASE_ALL_LOCKS", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "RELEASE_LOCK", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "REPEAT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "REPLACE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "REVERSE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "RIGHT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "ROLES_GRAPHML", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "ROUND", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ROUND", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ROW_COUNT", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "ROW_NUMBER", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "RPAD", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "RTRIM", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SCHEMA", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SECOND", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "time"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "SEC_TO_TIME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "time"}, }, { Name: "SESSION_USER", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SHA", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SHA1", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SHA2", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SIGN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "SIN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "SLEEP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "SOUNDEX", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SPACE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SQRT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "STATEMENT_DIGEST", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "STATEMENT_DIGEST_TEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "STD", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "STDDEV", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "STDDEV_POP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "STDDEV_SAMP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "STRCMP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "tinyint"}, }, { Name: "STR_TO_DATE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "ST_AREA", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_ASBINARY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "ST_ASBINARY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "ST_ASGEOJSON", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "ST_ASGEOJSON", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "ST_ASGEOJSON", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "tinyint"}, }, }, ReturnType: &ast.TypeName{Name: "json"}, }, { Name: "ST_ASTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "ST_ASTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "ST_ASWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "ST_ASWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "ST_ASWKT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "ST_ASWKT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "ST_BUFFER", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_BUFFER", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_BUFFER", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_BUFFER", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_BUFFER_STRATEGY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "ST_BUFFER_STRATEGY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "ST_CENTROID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_CONTAINS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_CONVEXHULL", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_CROSSES", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_DIFFERENCE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_DIMENSION", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "tinyint"}, }, { Name: "ST_DISJOINT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_DISTANCE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_DISTANCE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_DISTANCE_SPHERE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_DISTANCE_SPHERE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_ENDPOINT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_ENVELOPE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_EQUALS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_EXTERIORRING", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_FRECHET_DISTANCE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_FRECHET_DISTANCE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_GEOHASH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "ST_GEOHASH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "ST_GEOMCOLLFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMCOLLFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMCOLLFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMCOLLFROMTXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMCOLLFROMTXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMCOLLFROMTXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMCOLLFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMCOLLFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMCOLLFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYCOLLECTIONFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYCOLLECTIONFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYCOLLECTIONFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYCOLLECTIONFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYCOLLECTIONFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYCOLLECTIONFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMETRYTYPE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "ST_GEOMFROMGEOJSON", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMFROMGEOJSON", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "tinyint"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMFROMGEOJSON", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "tinyint"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_GEOMFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_HAUSDORFF_DISTANCE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_HAUSDORFF_DISTANCE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_INTERIORRINGN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_INTERSECTION", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_INTERSECTS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_ISCLOSED", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_ISEMPTY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_ISSIMPLE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_ISVALID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_LATFROMGEOHASH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_LATITUDE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_LATITUDE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LENGTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_LENGTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_LINEFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINEFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINEFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINEFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINEFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINEFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINEINTERPOLATEPOINT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINEINTERPOLATEPOINTS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINESTRINGFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINESTRINGFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINESTRINGFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINESTRINGFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINESTRINGFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LINESTRINGFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_LONGFROMGEOHASH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_LONGITUDE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_LONGITUDE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MAKEENVELOPE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MLINEFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MLINEFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MLINEFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MLINEFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MLINEFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MLINEFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOINTFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOINTFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOINTFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOINTFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOINTFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOINTFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOLYFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOLYFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOLYFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOLYFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOLYFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MPOLYFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTILINESTRINGFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTILINESTRINGFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTILINESTRINGFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTILINESTRINGFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTILINESTRINGFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTILINESTRINGFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOINTFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOINTFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOINTFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOINTFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOINTFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOINTFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOLYGONFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOLYGONFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOLYGONFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOLYGONFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOLYGONFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_MULTIPOLYGONFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_NUMGEOMETRIES", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "ST_NUMINTERIORRING", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "ST_NUMINTERIORRINGS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "ST_NUMPOINTS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "ST_OVERLAPS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_POINTATDISTANCE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POINTFROMGEOHASH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POINTFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POINTFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POINTFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POINTFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POINTFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POINTFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POINTN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYGONFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYGONFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYGONFROMTEXT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYGONFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYGONFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_POLYGONFROMWKB", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_SIMPLIFY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_SRID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "ST_SRID", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "ST_STARTPOINT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_SWAPXY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_SYMDIFFERENCE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_TOUCHES", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_TRANSFORM", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_UNION", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_VALIDATE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_WITHIN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "ST_X", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_X", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "ST_Y", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "ST_Y", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "SUBDATE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "SUBSTR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SUBSTR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SUBSTRING", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SUBSTRING", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SUBSTRING_INDEX", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "SUBTIME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "time"}, }, { Type: &ast.TypeName{Name: "time"}, }, }, ReturnType: &ast.TypeName{Name: "time"}, }, { Name: "SUM", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "SYSDATE", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "SYSDATE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "SYSTEM_USER", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "TAN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, }, ReturnType: &ast.TypeName{Name: "double precision"}, }, { Name: "TIME", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "datetime"}, }, }, ReturnType: &ast.TypeName{Name: "time"}, }, { Name: "TIMEDIFF", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "time"}, }, { Type: &ast.TypeName{Name: "time"}, }, }, ReturnType: &ast.TypeName{Name: "time"}, }, { Name: "TIMESTAMP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "datetime"}, }, }, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "TIMESTAMP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "datetime"}, }, { Type: &ast.TypeName{Name: "datetime"}, }, }, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "TIMESTAMPADD", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "int"}, }, { Type: &ast.TypeName{Name: "datetime"}, }, }, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "TIMESTAMPDIFF", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, { Type: &ast.TypeName{Name: "datetime"}, }, { Type: &ast.TypeName{Name: "datetime"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "TIME_FORMAT", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "time"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "TIME_TO_SEC", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "time"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "TO_BASE64", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "TO_DAYS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "TO_SECONDS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "datetime"}, }, }, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "TRIM", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "TRIM", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "TRUNCATE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "double precision"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "UCASE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "UNCOMPRESS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "UNCOMPRESSED_LENGTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "binary"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "UNHEX", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, }, { Name: "UNIX_TIMESTAMP", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "UNIX_TIMESTAMP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "datetime"}, }, }, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "UPDATEXML", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "UPPER", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "USER", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "UTC_DATE", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "date"}, }, { Name: "UTC_TIME", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "time"}, }, { Name: "UTC_TIMESTAMP", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "datetime"}, }, { Name: "UUID", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "UUID_SHORT", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "bigint"}, }, { Name: "UUID_TO_BIN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "UUID_TO_BIN", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "tinyint"}, }, }, ReturnType: &ast.TypeName{Name: "binary"}, }, { Name: "VALIDATE_PASSWORD_STRENGTH", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "VALUES", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "VARIANCE", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "VAR_POP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "VAR_SAMP", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "any"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "VERSION", Args: []*catalog.Argument{}, ReturnType: &ast.TypeName{Name: "text"}, }, { Name: "WAIT_FOR_EXECUTED_GTID_SET", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, HasDefault: true, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, { Type: &ast.TypeName{Name: "int"}, HasDefault: true, }, { Type: &ast.TypeName{Name: "text"}, HasDefault: true, }, }, ReturnType: &ast.TypeName{Name: "bool"}, }, { Name: "WEEK", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "WEEK", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, { Type: &ast.TypeName{Name: "int"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "WEEKDAY", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "WEEKOFYEAR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "WEIGHT_STRING", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "text"}, }, }, ReturnType: &ast.TypeName{Name: "any"}, }, { Name: "YEAR", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, { Name: "YEARWEEK", Args: []*catalog.Argument{ { Type: &ast.TypeName{Name: "date"}, }, }, ReturnType: &ast.TypeName{Name: "int"}, }, } return s }