sqllens 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/LICENSE +0 -10
  2. package/README.md +95 -85
  3. package/THIRD-PARTY-NOTICES.md +70 -5
  4. package/dist/api.d.ts +5 -3
  5. package/dist/api.js +17 -4
  6. package/dist/bigquery/behavior.d.ts +2 -0
  7. package/dist/bigquery/behavior.js +20 -0
  8. package/dist/bigquery/dot-path.d.ts +0 -2
  9. package/dist/bigquery/dot-path.js +0 -1
  10. package/dist/bigquery/fold.d.ts +8 -0
  11. package/dist/bigquery/fold.js +39 -0
  12. package/dist/bigquery/index.d.ts +7 -0
  13. package/dist/bigquery/index.js +10 -0
  14. package/dist/{infer/bigquery.d.ts → bigquery/infer.d.ts} +2 -2
  15. package/dist/{infer/bigquery.js → bigquery/infer.js} +4 -3
  16. package/dist/bigquery/lower.js +35 -12
  17. package/dist/bigquery/signatures.generated.d.ts +6 -0
  18. package/dist/bigquery/signatures.generated.js +1068 -0
  19. package/dist/completion/atn-walk.d.ts +13 -2
  20. package/dist/completion/atn-walk.js +13 -10
  21. package/dist/completion/complete.d.ts +4 -3
  22. package/dist/completion/complete.js +101 -45
  23. package/dist/completion/config.js +66 -0
  24. package/dist/completion/jinja-slot.d.ts +24 -0
  25. package/dist/completion/jinja-slot.js +126 -0
  26. package/dist/completion/parser-factory.d.ts +13 -1
  27. package/dist/completion/parser-factory.js +48 -0
  28. package/dist/databricks/behavior.d.ts +2 -0
  29. package/dist/databricks/behavior.js +19 -0
  30. package/dist/databricks/fold.d.ts +8 -0
  31. package/dist/databricks/fold.js +27 -0
  32. package/dist/databricks/index.d.ts +7 -0
  33. package/dist/databricks/index.js +10 -0
  34. package/dist/databricks/infer.d.ts +6 -0
  35. package/dist/databricks/infer.js +638 -0
  36. package/dist/databricks/signatures.generated.d.ts +6 -0
  37. package/dist/databricks/signatures.generated.js +1745 -0
  38. package/dist/derived-dialects.js +19 -1
  39. package/dist/dialect-behavior/behavior.d.ts +26 -0
  40. package/dist/dialect-behavior/behavior.js +1 -0
  41. package/dist/dialect-behavior/carrier.d.ts +5 -0
  42. package/dist/dialect-behavior/carrier.js +5 -0
  43. package/dist/dialect-behavior/coerce-rules.d.ts +7 -0
  44. package/dist/dialect-behavior/coerce-rules.js +69 -0
  45. package/dist/dialect-behavior/public-fold.d.ts +6 -0
  46. package/dist/dialect-behavior/public-fold.js +9 -0
  47. package/dist/dialect-behavior/registry.d.ts +6 -0
  48. package/dist/dialect-behavior/registry.js +34 -0
  49. package/dist/dialect-symbols.js +22 -17
  50. package/dist/dialect.d.ts +2 -2
  51. package/dist/document/document.d.ts +1 -1
  52. package/dist/document/document.js +8 -7
  53. package/dist/duckdb/behavior.d.ts +2 -0
  54. package/dist/duckdb/behavior.js +21 -0
  55. package/dist/duckdb/fold.d.ts +8 -0
  56. package/dist/duckdb/fold.js +29 -0
  57. package/dist/duckdb/index.d.ts +7 -0
  58. package/dist/duckdb/index.js +10 -0
  59. package/dist/{infer/duckdb.d.ts → duckdb/infer.d.ts} +2 -2
  60. package/dist/{infer/duckdb.js → duckdb/infer.js} +4 -3
  61. package/dist/duckdb/lower.js +47 -15
  62. package/dist/duckdb/signatures.generated.d.ts +6 -0
  63. package/dist/duckdb/signatures.generated.js +1072 -0
  64. package/dist/generated/bigquery/GoogleSQLParser.js +0 -7060
  65. package/dist/generated/databricks/DatabricksParser.js +0 -4800
  66. package/dist/generated/duckdb/DuckdbParser.js +0 -9100
  67. package/dist/generated/minijinja/MinijinjaParser.js +0 -380
  68. package/dist/generated/mysql/MysqlLexer.js +7357 -0
  69. package/dist/generated/mysql/MysqlParser.js +78520 -0
  70. package/dist/generated/postgres/PostgresParser.js +0 -8530
  71. package/dist/generated/redshift/RedshiftParser.js +0 -10970
  72. package/dist/generated/snowflake/SnowflakeParser.js +0 -7320
  73. package/dist/generated/sqlite/SqliteLexer.js +945 -0
  74. package/dist/generated/sqlite/SqliteParser.js +14682 -0
  75. package/dist/generated/trino/TrinoParser.js +0 -3770
  76. package/dist/generated/tsql/TSqlParser.js +0 -8420
  77. package/dist/ident/fold.d.ts +24 -15
  78. package/dist/ident/fold.js +12 -145
  79. package/dist/index.d.ts +6 -2
  80. package/dist/index.js +14 -8
  81. package/dist/infer/functions.d.ts +22 -11
  82. package/dist/infer/functions.js +26 -888
  83. package/dist/infer/infer.js +16 -14
  84. package/dist/infer/nullability.js +3 -4
  85. package/dist/infer/types.d.ts +1 -1
  86. package/dist/infer/types.js +7 -7
  87. package/dist/ir/ir.d.ts +26 -17
  88. package/dist/ir/part-span.d.ts +16 -1
  89. package/dist/ir/part-span.js +38 -10
  90. package/dist/ir/span.js +0 -2
  91. package/dist/ir/walk.js +3 -3
  92. package/dist/lineage/hops.js +13 -10
  93. package/dist/lineage/lineage.js +10 -7
  94. package/dist/minijinja/apply-tags.d.ts +14 -7
  95. package/dist/minijinja/apply-tags.js +66 -121
  96. package/dist/minijinja/parse.js +6 -6
  97. package/dist/minijinja/tag-ast.d.ts +29 -36
  98. package/dist/minijinja/tag-ast.js +210 -90
  99. package/dist/mysql/behavior.d.ts +2 -0
  100. package/dist/mysql/behavior.js +21 -0
  101. package/dist/mysql/fold.d.ts +8 -0
  102. package/dist/mysql/fold.js +49 -0
  103. package/dist/mysql/index.d.ts +7 -0
  104. package/dist/mysql/index.js +10 -0
  105. package/dist/mysql/infer.d.ts +20 -0
  106. package/dist/mysql/infer.js +156 -0
  107. package/dist/mysql/lower.d.ts +13 -0
  108. package/dist/mysql/lower.js +1443 -0
  109. package/dist/mysql/parse.d.ts +10 -0
  110. package/dist/mysql/parse.js +70 -0
  111. package/dist/mysql/signatures.generated.d.ts +6 -0
  112. package/dist/mysql/signatures.generated.js +508 -0
  113. package/dist/postgres/behavior.d.ts +2 -0
  114. package/dist/postgres/behavior.js +19 -0
  115. package/dist/postgres/fold.d.ts +8 -0
  116. package/dist/postgres/fold.js +30 -0
  117. package/dist/postgres/index.d.ts +7 -0
  118. package/dist/postgres/index.js +10 -0
  119. package/dist/{infer/postgres.d.ts → postgres/infer.d.ts} +2 -2
  120. package/dist/{infer/postgres.js → postgres/infer.js} +4 -3
  121. package/dist/postgres/lower.js +2 -2
  122. package/dist/postgres/signatures.generated.d.ts +6 -0
  123. package/dist/postgres/signatures.generated.js +2973 -0
  124. package/dist/qualify/check-calls.js +80 -134
  125. package/dist/qualify/qualify.js +16 -14
  126. package/dist/qualify/schema-provider.js +2 -2
  127. package/dist/qualify/schema.js +3 -3
  128. package/dist/qualify/template-provider.d.ts +45 -12
  129. package/dist/qualify/template-provider.js +69 -38
  130. package/dist/redshift/behavior.d.ts +2 -0
  131. package/dist/redshift/behavior.js +19 -0
  132. package/dist/redshift/fold.d.ts +8 -0
  133. package/dist/redshift/fold.js +31 -0
  134. package/dist/redshift/index.d.ts +7 -0
  135. package/dist/redshift/index.js +10 -0
  136. package/dist/{infer/redshift.d.ts → redshift/infer.d.ts} +2 -2
  137. package/dist/{infer/redshift.js → redshift/infer.js} +4 -3
  138. package/dist/redshift/lower.js +2 -2
  139. package/dist/redshift/signatures.generated.d.ts +6 -0
  140. package/dist/redshift/signatures.generated.js +757 -0
  141. package/dist/references/references.js +17 -12
  142. package/dist/scope/like-pattern.d.ts +2 -0
  143. package/dist/scope/like-pattern.js +15 -0
  144. package/dist/scope/scope.d.ts +5 -5
  145. package/dist/scope/scope.js +48 -42
  146. package/dist/sema/resolve.js +17 -12
  147. package/dist/session.d.ts +2 -2
  148. package/dist/signature/signature.d.ts +14 -6
  149. package/dist/signature/signature.js +30 -22
  150. package/dist/signature/signatures.d.ts +14 -12
  151. package/dist/signature/signatures.js +42 -582
  152. package/dist/snowflake/behavior.d.ts +2 -0
  153. package/dist/snowflake/behavior.js +22 -0
  154. package/dist/snowflake/fold.d.ts +8 -0
  155. package/dist/snowflake/fold.js +25 -0
  156. package/dist/snowflake/index.d.ts +7 -0
  157. package/dist/snowflake/index.js +10 -0
  158. package/dist/{infer/snowflake.d.ts → snowflake/infer.d.ts} +2 -2
  159. package/dist/{infer/snowflake.js → snowflake/infer.js} +4 -3
  160. package/dist/snowflake/lower.js +59 -19
  161. package/dist/snowflake/signatures.generated.d.ts +6 -0
  162. package/dist/snowflake/signatures.generated.js +2080 -0
  163. package/dist/sqlite/behavior.d.ts +2 -0
  164. package/dist/sqlite/behavior.js +19 -0
  165. package/dist/sqlite/fold.d.ts +8 -0
  166. package/dist/sqlite/fold.js +41 -0
  167. package/dist/sqlite/index.d.ts +7 -0
  168. package/dist/sqlite/index.js +10 -0
  169. package/dist/sqlite/infer.d.ts +12 -0
  170. package/dist/sqlite/infer.js +122 -0
  171. package/dist/sqlite/lower.d.ts +11 -0
  172. package/dist/sqlite/lower.js +1093 -0
  173. package/dist/sqlite/parse.d.ts +10 -0
  174. package/dist/sqlite/parse.js +70 -0
  175. package/dist/sqlite/signatures.generated.d.ts +6 -0
  176. package/dist/sqlite/signatures.generated.js +277 -0
  177. package/dist/symbols/symbols.js +14 -12
  178. package/dist/token/classify.js +31 -0
  179. package/dist/token/tokenize.js +4 -0
  180. package/dist/trino/behavior.d.ts +2 -0
  181. package/dist/trino/behavior.js +21 -0
  182. package/dist/trino/fold.d.ts +8 -0
  183. package/dist/trino/fold.js +39 -0
  184. package/dist/trino/index.d.ts +7 -0
  185. package/dist/trino/index.js +10 -0
  186. package/dist/{infer/trino.d.ts → trino/infer.d.ts} +2 -2
  187. package/dist/{infer/trino.js → trino/infer.js} +4 -3
  188. package/dist/trino/lower.js +5 -5
  189. package/dist/trino/signatures.generated.d.ts +6 -0
  190. package/dist/trino/signatures.generated.js +968 -0
  191. package/dist/tsql/behavior.d.ts +2 -0
  192. package/dist/tsql/behavior.js +20 -0
  193. package/dist/tsql/fold.d.ts +8 -0
  194. package/dist/tsql/fold.js +34 -0
  195. package/dist/tsql/index.d.ts +7 -0
  196. package/dist/tsql/index.js +10 -0
  197. package/dist/tsql/infer.d.ts +16 -0
  198. package/dist/tsql/infer.js +289 -0
  199. package/dist/tsql/lower.js +4 -4
  200. package/dist/tsql/signatures.generated.d.ts +6 -0
  201. package/dist/tsql/signatures.generated.js +640 -0
  202. package/package.json +15 -11
  203. package/dist/generated/bigquery/GoogleSQLLexer.d.ts +0 -407
  204. package/dist/generated/bigquery/GoogleSQLParser.d.ts +0 -9558
  205. package/dist/generated/bigquery/GoogleSQLParserListener.d.ts +0 -7777
  206. package/dist/generated/bigquery/GoogleSQLParserListener.js +0 -7070
  207. package/dist/generated/databricks/DatabricksLexer.d.ts +0 -566
  208. package/dist/generated/databricks/DatabricksParser.d.ts +0 -7771
  209. package/dist/generated/databricks/DatabricksParserListener.d.ts +0 -5737
  210. package/dist/generated/databricks/DatabricksParserListener.js +0 -5256
  211. package/dist/generated/duckdb/DuckdbLexer.d.ts +0 -691
  212. package/dist/generated/duckdb/DuckdbParser.d.ts +0 -13932
  213. package/dist/generated/duckdb/DuckdbParserListener.d.ts +0 -10049
  214. package/dist/generated/duckdb/DuckdbParserListener.js +0 -9138
  215. package/dist/generated/minijinja/MinijinjaLexer.d.ts +0 -108
  216. package/dist/generated/minijinja/MinijinjaParser.d.ts +0 -604
  217. package/dist/generated/minijinja/MinijinjaParserListener.d.ts +0 -449
  218. package/dist/generated/minijinja/MinijinjaParserListener.js +0 -410
  219. package/dist/generated/postgres/PostgresLexer.d.ts +0 -663
  220. package/dist/generated/postgres/PostgresParser.d.ts +0 -12963
  221. package/dist/generated/postgres/PostgresParserListener.d.ts +0 -9408
  222. package/dist/generated/postgres/PostgresParserListener.js +0 -8554
  223. package/dist/generated/redshift/RedshiftLexer.d.ts +0 -954
  224. package/dist/generated/redshift/RedshiftParser.d.ts +0 -16939
  225. package/dist/generated/redshift/RedshiftParserListener.d.ts +0 -12092
  226. package/dist/generated/redshift/RedshiftParserListener.js +0 -10994
  227. package/dist/generated/snowflake/SnowflakeLexer.d.ts +0 -1046
  228. package/dist/generated/snowflake/SnowflakeParser.d.ts +0 -14196
  229. package/dist/generated/snowflake/SnowflakeParserListener.d.ts +0 -8063
  230. package/dist/generated/snowflake/SnowflakeParserListener.js +0 -7330
  231. package/dist/generated/trino/TrinoLexer.d.ts +0 -381
  232. package/dist/generated/trino/TrinoParser.d.ts +0 -5340
  233. package/dist/generated/trino/TrinoParserListener.d.ts +0 -4704
  234. package/dist/generated/trino/TrinoParserListener.js +0 -4326
  235. package/dist/generated/tsql/TSqlLexer.d.ts +0 -1278
  236. package/dist/generated/tsql/TSqlParser.d.ts +0 -17267
  237. package/dist/generated/tsql/TSqlParserListener.d.ts +0 -9697
  238. package/dist/generated/tsql/TSqlParserListener.js +0 -8854
  239. package/dist/infer/dialect.d.ts +0 -21
  240. package/dist/infer/dialect.js +0 -74
  241. package/dist/infer/literals.d.ts +0 -6
  242. package/dist/infer/literals.js +0 -44
  243. package/dist/signature/generated/tsql.d.ts +0 -3
  244. package/dist/signature/generated/tsql.js +0 -260
@@ -0,0 +1,1068 @@
1
+ /** The merged function-signature table for bigquery: curated overrides folded over the harvested
2
+ * doc-derived long tail (overrides win by key, replacing the whole overload set), keyed by
3
+ * lowercased name. Each name maps to an ORDERED overload set - a name with one documented shape
4
+ * is a one-element array. `origin` says which layer produced the set. */
5
+ export const BIGQUERY_SIGNATURES = {
6
+ abs: [{ name: "ABS", params: [{ name: "X", type: "numeric" }], origin: "curated" }], // curated: ABS
7
+ acos: [{ name: "ACOS", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
8
+ acosh: [{ name: "ACOSH", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
9
+ add_months: [
10
+ { name: "ADD_MONTHS", params: [{ name: "datetime" }, { name: "count" }], origin: "harvested" },
11
+ { name: "ADD_MONTHS", params: [{ name: "date" }, { name: "count" }], origin: "harvested" },
12
+ ], // datetime_functions.md, date_functions.md
13
+ agg: [{ name: "AGG", params: [{ name: "measure_expression" }], origin: "harvested" }], // aggregate_functions.md
14
+ array_agg: [{ name: "ARRAY_AGG", params: [{ name: "expression" }], origin: "curated" }], // curated: ARRAY_AGG
15
+ array_avg: [{ name: "ARRAY_AVG", params: [{ name: "input_array" }], origin: "harvested" }], // array_functions.md
16
+ array_concat: [
17
+ { name: "ARRAY_CONCAT", params: [{ name: "array_expression" }], variadic: true, origin: "harvested" },
18
+ ], // array_functions.md
19
+ array_filter: [
20
+ {
21
+ name: "ARRAY_FILTER",
22
+ params: [{ name: "array_expression" }, { name: "lambda_expression" }],
23
+ origin: "harvested",
24
+ },
25
+ ], // array_functions.md
26
+ array_first: [{ name: "ARRAY_FIRST", params: [{ name: "array_expression" }], origin: "harvested" }], // array_functions.md
27
+ array_includes: [
28
+ {
29
+ name: "ARRAY_INCLUDES",
30
+ params: [{ name: "array_to_search" }, { name: "search_value" }],
31
+ origin: "harvested",
32
+ },
33
+ {
34
+ name: "ARRAY_INCLUDES",
35
+ params: [{ name: "array_to_search" }, { name: "lambda_expression" }],
36
+ origin: "harvested",
37
+ },
38
+ ], // array_functions.md
39
+ array_includes_all: [
40
+ {
41
+ name: "ARRAY_INCLUDES_ALL",
42
+ params: [{ name: "array_to_search" }, { name: "search_values" }],
43
+ origin: "harvested",
44
+ },
45
+ ], // array_functions.md
46
+ array_includes_any: [
47
+ {
48
+ name: "ARRAY_INCLUDES_ANY",
49
+ params: [{ name: "array_to_search" }, { name: "search_values" }],
50
+ origin: "harvested",
51
+ },
52
+ ], // array_functions.md
53
+ array_is_distinct: [{ name: "ARRAY_IS_DISTINCT", params: [{ name: "value" }], origin: "harvested" }], // array_functions.md
54
+ array_last: [{ name: "ARRAY_LAST", params: [{ name: "array_expression" }], origin: "harvested" }], // array_functions.md
55
+ array_length: [{ name: "ARRAY_LENGTH", params: [{ name: "array_expression" }], origin: "harvested" }], // array_functions.md
56
+ array_max: [{ name: "ARRAY_MAX", params: [{ name: "input_array" }], origin: "harvested" }], // array_functions.md
57
+ array_min: [{ name: "ARRAY_MIN", params: [{ name: "input_array" }], origin: "harvested" }], // array_functions.md
58
+ array_reverse: [{ name: "ARRAY_REVERSE", params: [{ name: "value" }], origin: "harvested" }], // array_functions.md
59
+ array_slice: [
60
+ {
61
+ name: "ARRAY_SLICE",
62
+ params: [{ name: "array_to_slice" }, { name: "start_offset" }, { name: "end_offset" }],
63
+ origin: "harvested",
64
+ },
65
+ ], // array_functions.md
66
+ array_sum: [{ name: "ARRAY_SUM", params: [{ name: "input_array" }], origin: "harvested" }], // array_functions.md
67
+ array_to_string: [
68
+ {
69
+ name: "ARRAY_TO_STRING",
70
+ params: [{ name: "array_expression" }, { name: "delimiter" }, { name: "null_text", optional: true }],
71
+ origin: "harvested",
72
+ },
73
+ ], // array_functions.md
74
+ array_transform: [
75
+ {
76
+ name: "ARRAY_TRANSFORM",
77
+ params: [{ name: "array_expression" }, { name: "lambda_expression" }],
78
+ origin: "harvested",
79
+ },
80
+ ], // array_functions.md
81
+ ascii: [{ name: "ASCII", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
82
+ asin: [{ name: "ASIN", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
83
+ asinh: [{ name: "ASINH", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
84
+ atan: [{ name: "ATAN", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
85
+ atan2: [{ name: "ATAN2", params: [{ name: "X" }, { name: "Y" }], origin: "harvested" }], // mathematical_functions.md
86
+ atanh: [{ name: "ATANH", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
87
+ avg: [{ name: "AVG", params: [{ name: "expression", type: "numeric" }], origin: "curated" }], // curated: AVG
88
+ bit_cast_to_int32: [{ name: "BIT_CAST_TO_INT32", params: [{ name: "value" }], origin: "harvested" }], // bit_functions.md
89
+ bit_cast_to_int64: [{ name: "BIT_CAST_TO_INT64", params: [{ name: "value" }], origin: "harvested" }], // bit_functions.md
90
+ bit_cast_to_uint32: [{ name: "BIT_CAST_TO_UINT32", params: [{ name: "value" }], origin: "harvested" }], // bit_functions.md
91
+ bit_cast_to_uint64: [{ name: "BIT_CAST_TO_UINT64", params: [{ name: "value" }], origin: "harvested" }], // bit_functions.md
92
+ bit_count: [{ name: "BIT_COUNT", params: [{ name: "expression" }], origin: "harvested" }], // bit_functions.md
93
+ bool: [{ name: "BOOL", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
94
+ bool_array: [{ name: "BOOL_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
95
+ byte_length: [{ name: "BYTE_LENGTH", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
96
+ cast: [{ name: "CAST", params: [{ name: "expression" }, { name: "typename" }], origin: "curated" }], // curated: CAST
97
+ cbrt: [{ name: "CBRT", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
98
+ ceil: [{ name: "CEIL", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
99
+ ceiling: [{ name: "CEILING", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
100
+ char_length: [{ name: "CHAR_LENGTH", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
101
+ character_length: [{ name: "CHARACTER_LENGTH", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
102
+ chr: [{ name: "CHR", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
103
+ coalesce: [{ name: "COALESCE", params: [{ name: "expr" }], variadic: true, origin: "harvested" }], // conditional_expressions.md
104
+ code_points_to_bytes: [
105
+ { name: "CODE_POINTS_TO_BYTES", params: [{ name: "ascii_code_points" }], origin: "harvested" },
106
+ ], // string_functions.md
107
+ code_points_to_string: [
108
+ { name: "CODE_POINTS_TO_STRING", params: [{ name: "unicode_code_points" }], origin: "harvested" },
109
+ ], // string_functions.md
110
+ collate: [{ name: "COLLATE", params: [{ name: "value" }, { name: "collate_specification" }], origin: "harvested" }], // string_functions.md
111
+ concat: [{ name: "CONCAT", params: [{ name: "value", type: "STRING" }], variadic: true, origin: "curated" }], // curated: CONCAT (variadic)
112
+ cos: [{ name: "COS", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
113
+ cosh: [{ name: "COSH", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
114
+ cosine_distance: [
115
+ { name: "COSINE_DISTANCE", params: [{ name: "vector1" }, { name: "vector2" }], origin: "harvested" },
116
+ ], // mathematical_functions.md
117
+ cot: [{ name: "COT", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
118
+ coth: [{ name: "COTH", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
119
+ count: [{ name: "COUNT", params: [{ name: "expression" }], origin: "curated" }], // curated: COUNT
120
+ csc: [{ name: "CSC", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
121
+ csch: [{ name: "CSCH", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
122
+ cume_dist: [{ name: "CUME_DIST", params: [], origin: "harvested" }], // numbering_functions.md
123
+ current_date: [
124
+ { name: "CURRENT_DATE", params: [{ name: "time_zone_expression", optional: true }], origin: "harvested" },
125
+ ], // date_functions.md
126
+ current_timestamp: [{ name: "CURRENT_TIMESTAMP", params: [], origin: "harvested" }], // timestamp_functions.md
127
+ date: [
128
+ { name: "DATE", params: [{ name: "year" }, { name: "month" }, { name: "day" }], origin: "harvested" },
129
+ {
130
+ name: "DATE",
131
+ params: [{ name: "timestamp_expression" }, { name: "time_zone_expression", optional: true }],
132
+ origin: "harvested",
133
+ },
134
+ { name: "DATE", params: [{ name: "datetime_expression" }], origin: "harvested" },
135
+ ], // date_functions.md
136
+ date_bucket: [
137
+ {
138
+ name: "DATE_BUCKET",
139
+ params: [
140
+ { name: "date_in_bucket" },
141
+ { name: "bucket_width" },
142
+ { name: "bucket_origin_date", optional: true },
143
+ ],
144
+ origin: "harvested",
145
+ },
146
+ ], // time-series-functions.md
147
+ date_diff: [
148
+ {
149
+ name: "DATE_DIFF",
150
+ params: [{ name: "end_date" }, { name: "start_date" }, { name: "granularity" }],
151
+ origin: "harvested",
152
+ },
153
+ ], // date_functions.md
154
+ date_from_unix_date: [{ name: "DATE_FROM_UNIX_DATE", params: [{ name: "int64_expression" }], origin: "harvested" }], // date_functions.md
155
+ date_trunc: [
156
+ {
157
+ name: "DATE_TRUNC",
158
+ params: [
159
+ { name: "timestamp_value" },
160
+ { name: "timestamp_granularity" },
161
+ { name: "time_zone", optional: true },
162
+ ],
163
+ origin: "harvested",
164
+ },
165
+ { name: "DATE_TRUNC", params: [{ name: "date_value" }, { name: "date_granularity" }], origin: "harvested" },
166
+ {
167
+ name: "DATE_TRUNC",
168
+ params: [{ name: "datetime_value" }, { name: "datetime_granularity" }],
169
+ origin: "harvested",
170
+ },
171
+ ], // date_functions.md
172
+ datetime_bucket: [
173
+ {
174
+ name: "DATETIME_BUCKET",
175
+ params: [
176
+ { name: "datetime_in_bucket" },
177
+ { name: "bucket_width" },
178
+ { name: "bucket_origin_datetime", optional: true },
179
+ ],
180
+ origin: "harvested",
181
+ },
182
+ ], // time-series-functions.md
183
+ datetime_diff: [
184
+ {
185
+ name: "DATETIME_DIFF",
186
+ params: [{ name: "end_datetime" }, { name: "start_datetime" }, { name: "granularity" }],
187
+ origin: "harvested",
188
+ },
189
+ ], // datetime_functions.md
190
+ datetime_trunc: [
191
+ {
192
+ name: "DATETIME_TRUNC",
193
+ params: [
194
+ { name: "timestamp_value" },
195
+ { name: "timestamp_granularity" },
196
+ { name: "time_zone", optional: true },
197
+ ],
198
+ origin: "harvested",
199
+ },
200
+ {
201
+ name: "DATETIME_TRUNC",
202
+ params: [{ name: "datetime_value" }, { name: "datetime_granularity" }],
203
+ origin: "harvested",
204
+ },
205
+ ], // datetime_functions.md
206
+ dense_rank: [{ name: "DENSE_RANK", params: [], origin: "harvested" }], // numbering_functions.md
207
+ destination_node_id: [{ name: "DESTINATION_NODE_ID", params: [{ name: "edge_element" }], origin: "harvested" }], // graph-gql-functions.md
208
+ div: [{ name: "DIV", params: [{ name: "X" }, { name: "Y" }], origin: "harvested" }], // mathematical_functions.md
209
+ edges: [{ name: "EDGES", params: [{ name: "graph_path" }], origin: "harvested" }], // graph-gql-functions.md
210
+ element_definition_name: [{ name: "ELEMENT_DEFINITION_NAME", params: [{ name: "element" }], origin: "harvested" }], // graph-gql-functions.md
211
+ element_id: [{ name: "ELEMENT_ID", params: [{ name: "element" }], origin: "harvested" }], // graph-gql-functions.md
212
+ ends_with: [{ name: "ENDS_WITH", params: [{ name: "value" }, { name: "suffix" }], origin: "harvested" }], // string_functions.md
213
+ enum_value_descriptor_proto: [
214
+ { name: "ENUM_VALUE_DESCRIPTOR_PROTO", params: [{ name: "proto_enum" }], origin: "harvested" },
215
+ ], // protocol_buffer_functions.md
216
+ error: [{ name: "ERROR", params: [{ name: "error_message" }], origin: "harvested" }], // debugging_functions.md
217
+ euclidean_distance: [
218
+ { name: "EUCLIDEAN_DISTANCE", params: [{ name: "vector1" }, { name: "vector2" }], origin: "harvested" },
219
+ ], // mathematical_functions.md
220
+ exp: [{ name: "EXP", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
221
+ farm_fingerprint: [{ name: "FARM_FINGERPRINT", params: [{ name: "value" }], origin: "harvested" }], // hash_functions.md
222
+ flatten: [{ name: "FLATTEN", params: [{ name: "array_elements_field_access_expression" }], origin: "harvested" }], // array_functions.md
223
+ floor: [{ name: "FLOOR", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
224
+ format: [
225
+ {
226
+ name: "FORMAT",
227
+ params: [{ name: "format_string_expression" }, { name: "data_type_expression" }],
228
+ variadic: true,
229
+ origin: "harvested",
230
+ },
231
+ ], // string_functions.md
232
+ format_date: [
233
+ { name: "FORMAT_DATE", params: [{ name: "format_string" }, { name: "date_expr" }], origin: "harvested" },
234
+ ], // date_functions.md
235
+ format_datetime: [
236
+ {
237
+ name: "FORMAT_DATETIME",
238
+ params: [{ name: "format_string" }, { name: "datetime_expr" }],
239
+ origin: "harvested",
240
+ },
241
+ ], // datetime_functions.md
242
+ format_time: [
243
+ { name: "FORMAT_TIME", params: [{ name: "format_string" }, { name: "time_expr" }], origin: "harvested" },
244
+ ], // time_functions.md
245
+ format_timestamp: [
246
+ {
247
+ name: "FORMAT_TIMESTAMP",
248
+ params: [{ name: "format_string" }, { name: "timestamp_expr" }, { name: "time_zone", optional: true }],
249
+ origin: "harvested",
250
+ },
251
+ ], // timestamp_functions.md
252
+ from_base32: [{ name: "FROM_BASE32", params: [{ name: "string_expr" }], origin: "harvested" }], // string_functions.md
253
+ from_base64: [{ name: "FROM_BASE64", params: [{ name: "string_expr" }], origin: "harvested" }], // string_functions.md
254
+ from_hex: [{ name: "FROM_HEX", params: [{ name: "string" }], origin: "harvested" }], // string_functions.md
255
+ from_proto: [{ name: "FROM_PROTO", params: [{ name: "expression" }], origin: "harvested" }], // protocol_buffer_functions.md
256
+ generate_array: [
257
+ {
258
+ name: "GENERATE_ARRAY",
259
+ params: [
260
+ { name: "start_expression" },
261
+ { name: "end_expression" },
262
+ { name: "step_expression", optional: true },
263
+ ],
264
+ origin: "harvested",
265
+ },
266
+ ], // array_functions.md
267
+ generate_range_array: [
268
+ {
269
+ name: "GENERATE_RANGE_ARRAY",
270
+ params: [
271
+ { name: "range_to_split" },
272
+ { name: "step_interval" },
273
+ { name: "include_last_partial_range", optional: true },
274
+ ],
275
+ origin: "harvested",
276
+ },
277
+ ], // range-functions.md
278
+ grouping: [{ name: "GROUPING", params: [{ name: "groupable_value" }], origin: "harvested" }], // aggregate_functions.md
279
+ ieee_divide: [{ name: "IEEE_DIVIDE", params: [{ name: "X" }, { name: "Y" }], origin: "harvested" }], // mathematical_functions.md
280
+ if: [
281
+ {
282
+ name: "IF",
283
+ params: [{ name: "expr" }, { name: "true_result" }, { name: "else_result" }],
284
+ origin: "harvested",
285
+ },
286
+ ], // conditional_expressions.md
287
+ iferror: [
288
+ { name: "IFERROR", params: [{ name: "try_expression" }, { name: "catch_expression" }], origin: "harvested" },
289
+ ], // debugging_functions.md
290
+ ifnull: [{ name: "IFNULL", params: [{ name: "expr" }, { name: "null_result" }], origin: "harvested" }], // conditional_expressions.md
291
+ initcap: [
292
+ { name: "INITCAP", params: [{ name: "value" }, { name: "delimiters", optional: true }], origin: "harvested" },
293
+ ], // string_functions.md
294
+ instr: [
295
+ {
296
+ name: "INSTR",
297
+ params: [
298
+ { name: "value" },
299
+ { name: "subvalue" },
300
+ { name: "position", optional: true },
301
+ { name: "occurrence", optional: true },
302
+ ],
303
+ origin: "harvested",
304
+ },
305
+ ], // string_functions.md
306
+ int32: [{ name: "INT32", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
307
+ int32_array: [{ name: "INT32_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
308
+ int64: [{ name: "INT64", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
309
+ int64_array: [{ name: "INT64_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
310
+ is_acyclic: [{ name: "IS_ACYCLIC", params: [{ name: "graph_path" }], origin: "harvested" }], // graph-gql-functions.md
311
+ is_first: [{ name: "IS_FIRST", params: [{ name: "k" }], origin: "harvested" }], // numbering_functions.md
312
+ is_inf: [{ name: "IS_INF", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
313
+ is_last: [{ name: "IS_LAST", params: [{ name: "k" }], origin: "harvested" }], // numbering_functions.md
314
+ is_nan: [{ name: "IS_NAN", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
315
+ is_simple: [{ name: "IS_SIMPLE", params: [{ name: "graph_path" }], origin: "harvested" }], // graph-gql-functions.md
316
+ is_trail: [{ name: "IS_TRAIL", params: [{ name: "graph_path" }], origin: "harvested" }], // graph-gql-functions.md
317
+ iserror: [{ name: "ISERROR", params: [{ name: "try_expression" }], origin: "harvested" }], // debugging_functions.md
318
+ json_contains: [
319
+ { name: "JSON_CONTAINS", params: [{ name: "json_expr" }, { name: "json_expr" }], origin: "harvested" },
320
+ ], // json_functions.md
321
+ json_extract: [
322
+ {
323
+ name: "JSON_EXTRACT",
324
+ params: [{ name: "json_string_expr" }, { name: "json_path", optional: true }],
325
+ origin: "curated",
326
+ },
327
+ {
328
+ name: "JSON_EXTRACT",
329
+ params: [{ name: "json_expr" }, { name: "json_path", optional: true }],
330
+ origin: "curated",
331
+ },
332
+ ], // curated: JSON_EXTRACT(json_string_expr[, json_path]) / JSON_EXTRACT(json_expr[, json_path]) - json_path optional per the ZetaSQL analyzer corpus (collation_81.sql), json_functions.md
333
+ json_extract_array: [
334
+ {
335
+ name: "JSON_EXTRACT_ARRAY",
336
+ params: [{ name: "json_string_expr" }, { name: "json_path", optional: true }],
337
+ origin: "harvested",
338
+ },
339
+ {
340
+ name: "JSON_EXTRACT_ARRAY",
341
+ params: [{ name: "json_expr" }, { name: "json_path", optional: true }],
342
+ origin: "harvested",
343
+ },
344
+ ], // json_functions.md
345
+ json_extract_scalar: [
346
+ {
347
+ name: "JSON_EXTRACT_SCALAR",
348
+ params: [{ name: "json_string_expr" }, { name: "json_path", optional: true }],
349
+ origin: "harvested",
350
+ },
351
+ {
352
+ name: "JSON_EXTRACT_SCALAR",
353
+ params: [{ name: "json_expr" }, { name: "json_path", optional: true }],
354
+ origin: "harvested",
355
+ },
356
+ ], // json_functions.md
357
+ json_extract_string_array: [
358
+ {
359
+ name: "JSON_EXTRACT_STRING_ARRAY",
360
+ params: [{ name: "json_string_expr" }, { name: "json_path", optional: true }],
361
+ origin: "harvested",
362
+ },
363
+ {
364
+ name: "JSON_EXTRACT_STRING_ARRAY",
365
+ params: [{ name: "json_expr" }, { name: "json_path", optional: true }],
366
+ origin: "harvested",
367
+ },
368
+ ], // json_functions.md
369
+ json_flatten: [{ name: "JSON_FLATTEN", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
370
+ json_object: [
371
+ {
372
+ name: "JSON_OBJECT",
373
+ params: [{ name: "json_key_array" }, { name: "json_value_array" }],
374
+ origin: "harvested",
375
+ },
376
+ ], // json_functions.md
377
+ json_query: [
378
+ {
379
+ name: "JSON_QUERY",
380
+ params: [{ name: "json_string_expr" }, { name: "json_path", optional: true }],
381
+ origin: "curated",
382
+ },
383
+ {
384
+ name: "JSON_QUERY",
385
+ params: [{ name: "json_expr" }, { name: "json_path", optional: true }],
386
+ origin: "curated",
387
+ },
388
+ ], // curated: JSON_QUERY(json_string_expr[, json_path]) / JSON_QUERY(json_expr[, json_path]) - json_path optional per the ZetaSQL analyzer corpus (collation_85.sql), json_functions.md
389
+ json_query_array: [
390
+ {
391
+ name: "JSON_QUERY_ARRAY",
392
+ params: [{ name: "json_string_expr" }, { name: "json_path", optional: true }],
393
+ origin: "harvested",
394
+ },
395
+ {
396
+ name: "JSON_QUERY_ARRAY",
397
+ params: [{ name: "json_expr" }, { name: "json_path", optional: true }],
398
+ origin: "harvested",
399
+ },
400
+ ], // json_functions.md
401
+ json_remove: [
402
+ {
403
+ name: "JSON_REMOVE",
404
+ params: [{ name: "json_expr" }, { name: "json_path" }],
405
+ variadic: true,
406
+ origin: "harvested",
407
+ },
408
+ ], // json_functions.md
409
+ json_type: [{ name: "JSON_TYPE", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
410
+ json_value: [
411
+ {
412
+ name: "JSON_VALUE",
413
+ params: [{ name: "json_string_expr" }, { name: "json_path", optional: true }],
414
+ origin: "harvested",
415
+ },
416
+ {
417
+ name: "JSON_VALUE",
418
+ params: [{ name: "json_expr" }, { name: "json_path", optional: true }],
419
+ origin: "harvested",
420
+ },
421
+ ], // json_functions.md
422
+ json_value_array: [
423
+ {
424
+ name: "JSON_VALUE_ARRAY",
425
+ params: [{ name: "json_string_expr" }, { name: "json_path", optional: true }],
426
+ origin: "harvested",
427
+ },
428
+ {
429
+ name: "JSON_VALUE_ARRAY",
430
+ params: [{ name: "json_expr" }, { name: "json_path", optional: true }],
431
+ origin: "harvested",
432
+ },
433
+ ], // json_functions.md
434
+ justify_days: [{ name: "JUSTIFY_DAYS", params: [{ name: "interval_expression" }], origin: "harvested" }], // interval_functions.md
435
+ justify_hours: [{ name: "JUSTIFY_HOURS", params: [{ name: "interval_expression" }], origin: "harvested" }], // interval_functions.md
436
+ justify_interval: [{ name: "JUSTIFY_INTERVAL", params: [{ name: "interval_expression" }], origin: "harvested" }], // interval_functions.md
437
+ labels: [{ name: "LABELS", params: [{ name: "element" }], origin: "harvested" }], // graph-gql-functions.md
438
+ lag: [
439
+ {
440
+ name: "LAG",
441
+ params: [
442
+ { name: "value_expression" },
443
+ { name: "offset", optional: true },
444
+ { name: "default_expression", optional: true },
445
+ ],
446
+ origin: "harvested",
447
+ },
448
+ ], // navigation_functions.md
449
+ last_day: [
450
+ {
451
+ name: "LAST_DAY",
452
+ params: [{ name: "datetime_expression" }, { name: "date_part", optional: true }],
453
+ origin: "harvested",
454
+ },
455
+ {
456
+ name: "LAST_DAY",
457
+ params: [{ name: "date_expression" }, { name: "date_part", optional: true }],
458
+ origin: "harvested",
459
+ },
460
+ ], // datetime_functions.md, date_functions.md
461
+ lax_bool: [{ name: "LAX_BOOL", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
462
+ lax_bool_array: [{ name: "LAX_BOOL_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
463
+ lax_double: [{ name: "LAX_DOUBLE", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
464
+ lax_double_array: [{ name: "LAX_DOUBLE_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
465
+ lax_float: [{ name: "LAX_FLOAT", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
466
+ lax_float_array: [{ name: "LAX_FLOAT_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
467
+ lax_int32: [{ name: "LAX_INT32", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
468
+ lax_int32_array: [{ name: "LAX_INT32_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
469
+ lax_int64: [{ name: "LAX_INT64", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
470
+ lax_int64_array: [{ name: "LAX_INT64_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
471
+ lax_string: [{ name: "LAX_STRING", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
472
+ lax_string_array: [{ name: "LAX_STRING_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
473
+ lax_uint32: [{ name: "LAX_UINT32", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
474
+ lax_uint32_array: [{ name: "LAX_UINT32_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
475
+ lax_uint64: [{ name: "LAX_UINT64", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
476
+ lax_uint64_array: [{ name: "LAX_UINT64_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
477
+ lead: [
478
+ {
479
+ name: "LEAD",
480
+ params: [
481
+ { name: "value_expression" },
482
+ { name: "offset", optional: true },
483
+ { name: "default_expression", optional: true },
484
+ ],
485
+ origin: "harvested",
486
+ },
487
+ ], // navigation_functions.md
488
+ left: [{ name: "LEFT", params: [{ name: "value" }, { name: "length" }], origin: "harvested" }], // string_functions.md
489
+ length: [{ name: "LENGTH", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
490
+ ln: [{ name: "LN", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
491
+ log: [{ name: "LOG", params: [{ name: "X" }, { name: "Y", optional: true }], origin: "harvested" }], // mathematical_functions.md
492
+ log10: [{ name: "LOG10", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
493
+ lower: [{ name: "LOWER", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
494
+ lpad: [
495
+ {
496
+ name: "LPAD",
497
+ params: [{ name: "original_value" }, { name: "return_length" }, { name: "pattern", optional: true }],
498
+ origin: "harvested",
499
+ },
500
+ ], // string_functions.md
501
+ ltrim: [{ name: "LTRIM", params: [{ name: "value1" }, { name: "value2", optional: true }], origin: "harvested" }], // string_functions.md
502
+ max: [{ name: "MAX", params: [{ name: "expression" }], origin: "curated" }], // curated: MAX
503
+ md5: [{ name: "MD5", params: [{ name: "input" }], origin: "harvested" }], // hash_functions.md
504
+ min: [{ name: "MIN", params: [{ name: "expression" }], origin: "curated" }], // curated: MIN
505
+ mod: [{ name: "MOD", params: [{ name: "X" }, { name: "Y" }], origin: "harvested" }], // mathematical_functions.md
506
+ months_between: [
507
+ { name: "MONTHS_BETWEEN", params: [{ name: "datetime_end" }, { name: "datetime_start" }], origin: "harvested" },
508
+ { name: "MONTHS_BETWEEN", params: [{ name: "date_end" }, { name: "date_start" }], origin: "harvested" },
509
+ ], // datetime_functions.md, date_functions.md
510
+ next_day: [
511
+ { name: "NEXT_DAY", params: [{ name: "datetime" }, { name: "day_of_week" }], origin: "harvested" },
512
+ { name: "NEXT_DAY", params: [{ name: "date" }, { name: "day_of_week" }], origin: "harvested" },
513
+ ], // datetime_functions.md, date_functions.md
514
+ nodes: [{ name: "NODES", params: [{ name: "graph_path" }], origin: "harvested" }], // graph-gql-functions.md
515
+ normalize: [
516
+ {
517
+ name: "NORMALIZE",
518
+ params: [{ name: "value" }, { name: "normalization_mode", optional: true }],
519
+ origin: "harvested",
520
+ },
521
+ ], // string_functions.md
522
+ normalize_and_casefold: [
523
+ {
524
+ name: "NORMALIZE_AND_CASEFOLD",
525
+ params: [{ name: "value" }, { name: "normalization_mode", optional: true }],
526
+ origin: "harvested",
527
+ },
528
+ ], // string_functions.md
529
+ ntile: [{ name: "NTILE", params: [{ name: "constant_integer_expression" }], origin: "harvested" }], // numbering_functions.md
530
+ nullif: [{ name: "NULLIF", params: [{ name: "expr" }, { name: "expr_to_match" }], origin: "harvested" }], // conditional_expressions.md
531
+ nulliferror: [{ name: "NULLIFERROR", params: [{ name: "try_expression" }], origin: "harvested" }], // debugging_functions.md
532
+ nullifzero: [{ name: "NULLIFZERO", params: [{ name: "expr" }], origin: "harvested" }], // conditional_expressions.md
533
+ octet_length: [{ name: "OCTET_LENGTH", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
534
+ parse_bignumeric: [{ name: "PARSE_BIGNUMERIC", params: [{ name: "string_expression" }], origin: "harvested" }], // conversion_functions.md
535
+ parse_date: [
536
+ { name: "PARSE_DATE", params: [{ name: "format_string" }, { name: "date_string" }], origin: "harvested" },
537
+ ], // date_functions.md
538
+ parse_datetime: [
539
+ {
540
+ name: "PARSE_DATETIME",
541
+ params: [{ name: "format_string" }, { name: "datetime_string" }],
542
+ origin: "harvested",
543
+ },
544
+ ], // datetime_functions.md
545
+ parse_numeric: [{ name: "PARSE_NUMERIC", params: [{ name: "string_expression" }], origin: "harvested" }], // conversion_functions.md
546
+ parse_time: [
547
+ { name: "PARSE_TIME", params: [{ name: "format_string" }, { name: "time_string" }], origin: "harvested" },
548
+ ], // time_functions.md
549
+ parse_timestamp: [
550
+ {
551
+ name: "PARSE_TIMESTAMP",
552
+ params: [{ name: "format_string" }, { name: "timestamp_string" }, { name: "time_zone", optional: true }],
553
+ origin: "harvested",
554
+ },
555
+ ], // timestamp_functions.md
556
+ path: [{ name: "PATH", params: [{ name: "graph_element" }], variadic: true, origin: "harvested" }], // graph-gql-functions.md
557
+ path_first: [{ name: "PATH_FIRST", params: [{ name: "graph_path" }], origin: "harvested" }], // graph-gql-functions.md
558
+ path_last: [{ name: "PATH_LAST", params: [{ name: "graph_path" }], origin: "harvested" }], // graph-gql-functions.md
559
+ path_length: [{ name: "PATH_LENGTH", params: [{ name: "graph_path" }], origin: "harvested" }], // graph-gql-functions.md
560
+ percent_rank: [{ name: "PERCENT_RANK", params: [], origin: "harvested" }], // numbering_functions.md
561
+ pi: [{ name: "PI", params: [], origin: "harvested" }], // mathematical_functions.md
562
+ pi_bignumeric: [{ name: "PI_BIGNUMERIC", params: [], origin: "harvested" }], // mathematical_functions.md
563
+ pi_numeric: [{ name: "PI_NUMERIC", params: [], origin: "harvested" }], // mathematical_functions.md
564
+ pow: [{ name: "POW", params: [{ name: "X" }, { name: "Y" }], origin: "harvested" }], // mathematical_functions.md
565
+ power: [{ name: "POWER", params: [{ name: "X" }, { name: "Y" }], origin: "harvested" }], // mathematical_functions.md
566
+ property_names: [{ name: "PROPERTY_NAMES", params: [{ name: "element" }], origin: "harvested" }], // graph-gql-functions.md
567
+ proto_default_if_null: [
568
+ { name: "PROTO_DEFAULT_IF_NULL", params: [{ name: "proto_field_expression" }], origin: "harvested" },
569
+ ], // protocol_buffer_functions.md
570
+ proto_map_contains_key: [
571
+ {
572
+ name: "PROTO_MAP_CONTAINS_KEY",
573
+ params: [{ name: "proto_map_field_expression" }, { name: "key" }],
574
+ origin: "harvested",
575
+ },
576
+ ], // protocol_buffer_functions.md
577
+ proto_modify_map: [
578
+ {
579
+ name: "PROTO_MODIFY_MAP",
580
+ params: [{ name: "proto_map_field_expression" }, { name: "key_value_pair" }],
581
+ variadic: true,
582
+ origin: "harvested",
583
+ },
584
+ ], // protocol_buffer_functions.md
585
+ rand: [{ name: "RAND", params: [], origin: "harvested" }], // mathematical_functions.md
586
+ range: [{ name: "RANGE", params: [{ name: "lower_bound" }, { name: "upper_bound" }], origin: "harvested" }], // range-functions.md
587
+ range_bucket: [
588
+ { name: "RANGE_BUCKET", params: [{ name: "point" }, { name: "boundaries_array" }], origin: "harvested" },
589
+ ], // mathematical_functions.md
590
+ range_contains: [
591
+ { name: "RANGE_CONTAINS", params: [{ name: "outer_range" }, { name: "inner_range" }], origin: "harvested" },
592
+ {
593
+ name: "RANGE_CONTAINS",
594
+ params: [{ name: "range_to_search" }, { name: "value_to_find" }],
595
+ origin: "harvested",
596
+ },
597
+ ], // range-functions.md
598
+ range_end: [{ name: "RANGE_END", params: [{ name: "range_to_check" }], origin: "harvested" }], // range-functions.md
599
+ range_intersect: [
600
+ { name: "RANGE_INTERSECT", params: [{ name: "range_a" }, { name: "range_b" }], origin: "harvested" },
601
+ ], // range-functions.md
602
+ range_overlaps: [
603
+ { name: "RANGE_OVERLAPS", params: [{ name: "range_a" }, { name: "range_b" }], origin: "harvested" },
604
+ ], // range-functions.md
605
+ range_start: [{ name: "RANGE_START", params: [{ name: "range_to_check" }], origin: "harvested" }], // range-functions.md
606
+ rank: [{ name: "RANK", params: [], origin: "harvested" }], // numbering_functions.md
607
+ regexp_contains: [
608
+ { name: "REGEXP_CONTAINS", params: [{ name: "value" }, { name: "regexp" }], origin: "harvested" },
609
+ ], // string_functions.md
610
+ regexp_extract: [
611
+ {
612
+ name: "REGEXP_EXTRACT",
613
+ params: [
614
+ { name: "value" },
615
+ { name: "regexp" },
616
+ { name: "position", optional: true },
617
+ { name: "occurrence", optional: true },
618
+ ],
619
+ origin: "harvested",
620
+ },
621
+ ], // string_functions.md
622
+ regexp_extract_all: [
623
+ { name: "REGEXP_EXTRACT_ALL", params: [{ name: "value" }, { name: "regexp" }], origin: "harvested" },
624
+ ], // string_functions.md
625
+ regexp_extract_groups: [
626
+ { name: "REGEXP_EXTRACT_GROUPS", params: [{ name: "value" }, { name: "regexp" }], origin: "harvested" },
627
+ ], // string_functions.md
628
+ regexp_match: [{ name: "REGEXP_MATCH", params: [{ name: "value" }, { name: "regexp" }], origin: "harvested" }], // string_functions.md
629
+ regexp_replace: [
630
+ {
631
+ name: "REGEXP_REPLACE",
632
+ params: [{ name: "value" }, { name: "regexp" }, { name: "replacement" }],
633
+ origin: "harvested",
634
+ },
635
+ ], // string_functions.md
636
+ regexp_substr: [
637
+ {
638
+ name: "REGEXP_SUBSTR",
639
+ params: [
640
+ { name: "value" },
641
+ { name: "regexp" },
642
+ { name: "position", optional: true },
643
+ { name: "occurrence", optional: true },
644
+ ],
645
+ origin: "harvested",
646
+ },
647
+ ], // string_functions.md
648
+ repeat: [{ name: "REPEAT", params: [{ name: "original_value" }, { name: "repetitions" }], origin: "harvested" }], // string_functions.md
649
+ replace: [
650
+ {
651
+ name: "REPLACE",
652
+ params: [{ name: "original_value" }, { name: "from_pattern" }, { name: "to_pattern" }],
653
+ origin: "harvested",
654
+ },
655
+ ], // string_functions.md
656
+ reverse: [{ name: "REVERSE", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
657
+ right: [{ name: "RIGHT", params: [{ name: "value" }, { name: "length" }], origin: "harvested" }], // string_functions.md
658
+ round: [
659
+ {
660
+ name: "ROUND",
661
+ params: [{ name: "X" }, { name: "N", optional: true }, { name: "rounding_mode", optional: true }],
662
+ origin: "harvested",
663
+ },
664
+ ], // mathematical_functions.md
665
+ row_number: [{ name: "ROW_NUMBER", params: [], origin: "harvested" }], // numbering_functions.md
666
+ rpad: [
667
+ {
668
+ name: "RPAD",
669
+ params: [{ name: "original_value" }, { name: "return_length" }, { name: "pattern", optional: true }],
670
+ origin: "harvested",
671
+ },
672
+ ], // string_functions.md
673
+ rtrim: [{ name: "RTRIM", params: [{ name: "value1" }, { name: "value2", optional: true }], origin: "harvested" }], // string_functions.md
674
+ safe_add: [{ name: "SAFE_ADD", params: [{ name: "X" }, { name: "Y" }], origin: "harvested" }], // mathematical_functions.md
675
+ safe_cast: [{ name: "SAFE_CAST", params: [{ name: "expression" }, { name: "typename" }], origin: "curated" }], // curated: SAFE_CAST
676
+ safe_convert_bytes_to_string: [
677
+ { name: "SAFE_CONVERT_BYTES_TO_STRING", params: [{ name: "value" }], origin: "harvested" },
678
+ ], // string_functions.md
679
+ safe_divide: [{ name: "SAFE_DIVIDE", params: [{ name: "X" }, { name: "Y" }], origin: "harvested" }], // mathematical_functions.md
680
+ safe_multiply: [{ name: "SAFE_MULTIPLY", params: [{ name: "X" }, { name: "Y" }], origin: "harvested" }], // mathematical_functions.md
681
+ safe_negate: [{ name: "SAFE_NEGATE", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
682
+ safe_subtract: [{ name: "SAFE_SUBTRACT", params: [{ name: "X" }, { name: "Y" }], origin: "harvested" }], // mathematical_functions.md
683
+ safe_to_json: [{ name: "SAFE_TO_JSON", params: [{ name: "sql_value" }], origin: "harvested" }], // json_functions.md
684
+ sec: [{ name: "SEC", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
685
+ sech: [{ name: "SECH", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
686
+ session_user: [{ name: "SESSION_USER", params: [], origin: "harvested" }], // security_functions.md
687
+ sha1: [{ name: "SHA1", params: [{ name: "input" }], origin: "harvested" }], // hash_functions.md
688
+ sha256: [{ name: "SHA256", params: [{ name: "input" }], origin: "harvested" }], // hash_functions.md
689
+ sha512: [{ name: "SHA512", params: [{ name: "input" }], origin: "harvested" }], // hash_functions.md
690
+ sign: [{ name: "SIGN", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
691
+ sin: [{ name: "SIN", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
692
+ sinh: [{ name: "SINH", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
693
+ soundex: [{ name: "SOUNDEX", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
694
+ source_node_id: [{ name: "SOURCE_NODE_ID", params: [{ name: "edge_element" }], origin: "harvested" }], // graph-gql-functions.md
695
+ split: [{ name: "SPLIT", params: [{ name: "value" }, { name: "delimiter", optional: true }], origin: "harvested" }], // string_functions.md
696
+ split_substr: [
697
+ {
698
+ name: "SPLIT_SUBSTR",
699
+ params: [
700
+ { name: "value" },
701
+ { name: "delimiter" },
702
+ { name: "start_split" },
703
+ { name: "count", optional: true },
704
+ ],
705
+ origin: "harvested",
706
+ },
707
+ ], // string_functions.md
708
+ sqrt: [{ name: "SQRT", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
709
+ st_angle: [
710
+ {
711
+ name: "ST_ANGLE",
712
+ params: [{ name: "point_geography_1" }, { name: "point_geography_2" }, { name: "point_geography_3" }],
713
+ origin: "harvested",
714
+ },
715
+ ], // geography_functions.md
716
+ st_area: [
717
+ {
718
+ name: "ST_AREA",
719
+ params: [{ name: "geography_expression" }, { name: "use_spheroid", optional: true }],
720
+ origin: "harvested",
721
+ },
722
+ ], // geography_functions.md
723
+ st_asbinary: [{ name: "ST_ASBINARY", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
724
+ st_asgeojson: [{ name: "ST_ASGEOJSON", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
725
+ st_askml: [{ name: "ST_ASKML", params: [{ name: "geography" }], origin: "harvested" }], // geography_functions.md
726
+ st_astext: [{ name: "ST_ASTEXT", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
727
+ st_azimuth: [
728
+ {
729
+ name: "ST_AZIMUTH",
730
+ params: [{ name: "point_geography_1" }, { name: "point_geography_2" }],
731
+ origin: "harvested",
732
+ },
733
+ ], // geography_functions.md
734
+ st_boundary: [{ name: "ST_BOUNDARY", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
735
+ st_boundingbox: [{ name: "ST_BOUNDINGBOX", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
736
+ st_centroid: [{ name: "ST_CENTROID", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
737
+ st_closestpoint: [
738
+ {
739
+ name: "ST_CLOSESTPOINT",
740
+ params: [{ name: "geography_1" }, { name: "geography_2" }, { name: "use_spheroid", optional: true }],
741
+ origin: "harvested",
742
+ },
743
+ ], // geography_functions.md
744
+ st_clusterdbscan: [
745
+ {
746
+ name: "ST_CLUSTERDBSCAN",
747
+ params: [{ name: "geography_column" }, { name: "epsilon" }, { name: "minimum_geographies" }],
748
+ origin: "harvested",
749
+ },
750
+ ], // geography_functions.md
751
+ st_contains: [
752
+ { name: "ST_CONTAINS", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" },
753
+ ], // geography_functions.md
754
+ st_convexhull: [{ name: "ST_CONVEXHULL", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
755
+ st_coveredby: [
756
+ { name: "ST_COVEREDBY", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" },
757
+ ], // geography_functions.md
758
+ st_covers: [{ name: "ST_COVERS", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" }], // geography_functions.md
759
+ st_difference: [
760
+ { name: "ST_DIFFERENCE", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" },
761
+ ], // geography_functions.md
762
+ st_dimension: [{ name: "ST_DIMENSION", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
763
+ st_disjoint: [
764
+ { name: "ST_DISJOINT", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" },
765
+ ], // geography_functions.md
766
+ st_distance: [
767
+ {
768
+ name: "ST_DISTANCE",
769
+ params: [{ name: "geography_1" }, { name: "geography_2" }, { name: "use_spheroid", optional: true }],
770
+ origin: "harvested",
771
+ },
772
+ ], // geography_functions.md
773
+ st_dump: [
774
+ {
775
+ name: "ST_DUMP",
776
+ params: [{ name: "geography" }, { name: "dimension", optional: true }],
777
+ origin: "harvested",
778
+ },
779
+ ], // geography_functions.md
780
+ st_dumppoints: [{ name: "ST_DUMPPOINTS", params: [{ name: "geography" }], origin: "harvested" }], // geography_functions.md
781
+ st_dwithin: [
782
+ {
783
+ name: "ST_DWITHIN",
784
+ params: [
785
+ { name: "geography_1" },
786
+ { name: "geography_2" },
787
+ { name: "distance" },
788
+ { name: "use_spheroid", optional: true },
789
+ ],
790
+ origin: "harvested",
791
+ },
792
+ ], // geography_functions.md
793
+ st_endpoint: [{ name: "ST_ENDPOINT", params: [{ name: "linestring_geography" }], origin: "harvested" }], // geography_functions.md
794
+ st_equals: [{ name: "ST_EQUALS", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" }], // geography_functions.md
795
+ st_extent: [{ name: "ST_EXTENT", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
796
+ st_exteriorring: [{ name: "ST_EXTERIORRING", params: [{ name: "polygon_geography" }], origin: "harvested" }], // geography_functions.md
797
+ st_geogfrom: [{ name: "ST_GEOGFROM", params: [{ name: "expression" }], origin: "harvested" }], // geography_functions.md
798
+ st_geogfromkml: [{ name: "ST_GEOGFROMKML", params: [{ name: "kml_geometry" }], origin: "harvested" }], // geography_functions.md
799
+ st_geogpoint: [
800
+ { name: "ST_GEOGPOINT", params: [{ name: "longitude" }, { name: "latitude" }], origin: "harvested" },
801
+ ], // geography_functions.md
802
+ st_geogpointfromgeohash: [{ name: "ST_GEOGPOINTFROMGEOHASH", params: [{ name: "geohash" }], origin: "harvested" }], // geography_functions.md
803
+ st_geohash: [
804
+ {
805
+ name: "ST_GEOHASH",
806
+ params: [{ name: "geography_expression" }, { name: "maxchars", optional: true }],
807
+ origin: "harvested",
808
+ },
809
+ ], // geography_functions.md
810
+ st_geometrytype: [{ name: "ST_GEOMETRYTYPE", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
811
+ st_interiorrings: [{ name: "ST_INTERIORRINGS", params: [{ name: "polygon_geography" }], origin: "harvested" }], // geography_functions.md
812
+ st_intersection: [
813
+ { name: "ST_INTERSECTION", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" },
814
+ ], // geography_functions.md
815
+ st_intersects: [
816
+ { name: "ST_INTERSECTS", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" },
817
+ ], // geography_functions.md
818
+ st_intersectsbox: [
819
+ {
820
+ name: "ST_INTERSECTSBOX",
821
+ params: [{ name: "geography" }, { name: "lng1" }, { name: "lat1" }, { name: "lng2" }, { name: "lat2" }],
822
+ origin: "harvested",
823
+ },
824
+ ], // geography_functions.md
825
+ st_isclosed: [{ name: "ST_ISCLOSED", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
826
+ st_iscollection: [{ name: "ST_ISCOLLECTION", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
827
+ st_isempty: [{ name: "ST_ISEMPTY", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
828
+ st_isring: [{ name: "ST_ISRING", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
829
+ st_length: [
830
+ {
831
+ name: "ST_LENGTH",
832
+ params: [{ name: "geography_expression" }, { name: "use_spheroid", optional: true }],
833
+ origin: "harvested",
834
+ },
835
+ ], // geography_functions.md
836
+ st_lineinterpolatepoint: [
837
+ {
838
+ name: "ST_LINEINTERPOLATEPOINT",
839
+ params: [{ name: "linestring_geography" }, { name: "fraction" }],
840
+ origin: "harvested",
841
+ },
842
+ ], // geography_functions.md
843
+ st_linelocatepoint: [
844
+ {
845
+ name: "ST_LINELOCATEPOINT",
846
+ params: [{ name: "linestring_geography" }, { name: "point_geography" }],
847
+ origin: "harvested",
848
+ },
849
+ ], // geography_functions.md
850
+ st_linesubstring: [
851
+ {
852
+ name: "ST_LINESUBSTRING",
853
+ params: [{ name: "linestring_geography" }, { name: "start_fraction" }, { name: "end_fraction" }],
854
+ origin: "harvested",
855
+ },
856
+ ], // geography_functions.md
857
+ st_makeline: [
858
+ { name: "ST_MAKELINE", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" },
859
+ { name: "ST_MAKELINE", params: [{ name: "array_of_geography" }], origin: "harvested" },
860
+ ], // geography_functions.md
861
+ st_makepolygon: [
862
+ {
863
+ name: "ST_MAKEPOLYGON",
864
+ params: [{ name: "polygon_shell" }, { name: "array_of_polygon_holes", optional: true }],
865
+ origin: "harvested",
866
+ },
867
+ ], // geography_functions.md
868
+ st_makepolygonoriented: [
869
+ { name: "ST_MAKEPOLYGONORIENTED", params: [{ name: "array_of_geography" }], origin: "harvested" },
870
+ ], // geography_functions.md
871
+ st_maxdistance: [
872
+ {
873
+ name: "ST_MAXDISTANCE",
874
+ params: [{ name: "geography_1" }, { name: "geography_2" }, { name: "use_spheroid", optional: true }],
875
+ origin: "harvested",
876
+ },
877
+ ], // geography_functions.md
878
+ st_npoints: [{ name: "ST_NPOINTS", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
879
+ st_numgeometries: [{ name: "ST_NUMGEOMETRIES", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
880
+ st_numpoints: [{ name: "ST_NUMPOINTS", params: [{ name: "geography_expression" }], origin: "harvested" }], // geography_functions.md
881
+ st_perimeter: [
882
+ {
883
+ name: "ST_PERIMETER",
884
+ params: [{ name: "geography_expression" }, { name: "use_spheroid", optional: true }],
885
+ origin: "harvested",
886
+ },
887
+ ], // geography_functions.md
888
+ st_pointn: [
889
+ { name: "ST_POINTN", params: [{ name: "linestring_geography" }, { name: "index" }], origin: "harvested" },
890
+ ], // geography_functions.md
891
+ st_simplify: [
892
+ { name: "ST_SIMPLIFY", params: [{ name: "geography" }, { name: "tolerance_meters" }], origin: "harvested" },
893
+ ], // geography_functions.md
894
+ st_snaptogrid: [
895
+ {
896
+ name: "ST_SNAPTOGRID",
897
+ params: [{ name: "geography_expression" }, { name: "grid_size" }],
898
+ origin: "harvested",
899
+ },
900
+ ], // geography_functions.md
901
+ st_startpoint: [{ name: "ST_STARTPOINT", params: [{ name: "linestring_geography" }], origin: "harvested" }], // geography_functions.md
902
+ st_touches: [
903
+ { name: "ST_TOUCHES", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" },
904
+ ], // geography_functions.md
905
+ st_union: [
906
+ { name: "ST_UNION", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" },
907
+ { name: "ST_UNION", params: [{ name: "array_of_geography" }], origin: "harvested" },
908
+ ], // geography_functions.md
909
+ st_union_agg: [{ name: "ST_UNION_AGG", params: [{ name: "geography" }], origin: "harvested" }], // geography_functions.md
910
+ st_within: [{ name: "ST_WITHIN", params: [{ name: "geography_1" }, { name: "geography_2" }], origin: "harvested" }], // geography_functions.md
911
+ st_x: [{ name: "ST_X", params: [{ name: "point_geography_expression" }], origin: "harvested" }], // geography_functions.md
912
+ st_y: [{ name: "ST_Y", params: [{ name: "point_geography_expression" }], origin: "harvested" }], // geography_functions.md
913
+ starts_with: [{ name: "STARTS_WITH", params: [{ name: "value" }, { name: "prefix" }], origin: "harvested" }], // string_functions.md
914
+ string: [
915
+ {
916
+ name: "STRING",
917
+ params: [{ name: "timestamp_expression" }, { name: "time_zone", optional: true }],
918
+ origin: "harvested",
919
+ },
920
+ { name: "STRING", params: [{ name: "json_expr" }], origin: "harvested" },
921
+ ], // timestamp_functions.md, json_functions.md
922
+ string_agg: [
923
+ {
924
+ name: "STRING_AGG",
925
+ params: [
926
+ { name: "expression", type: "STRING" },
927
+ { name: "delimiter", type: "STRING", optional: true },
928
+ ],
929
+ origin: "curated",
930
+ },
931
+ ], // curated: STRING_AGG(expression[, delimiter]) - "otherwise, a comma is used"
932
+ string_array: [{ name: "STRING_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
933
+ strpos: [{ name: "STRPOS", params: [{ name: "value" }, { name: "subvalue" }], origin: "harvested" }], // string_functions.md
934
+ substr: [
935
+ {
936
+ name: "SUBSTR",
937
+ params: [{ name: "value" }, { name: "position" }, { name: "length", optional: true }],
938
+ origin: "harvested",
939
+ },
940
+ ], // string_functions.md
941
+ substring: [
942
+ {
943
+ name: "SUBSTRING",
944
+ params: [{ name: "value" }, { name: "position" }, { name: "length", optional: true }],
945
+ origin: "harvested",
946
+ },
947
+ ], // string_functions.md
948
+ sum: [{ name: "SUM", params: [{ name: "expression", type: "numeric" }], origin: "curated" }], // curated: SUM
949
+ tan: [{ name: "TAN", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
950
+ tanh: [{ name: "TANH", params: [{ name: "X" }], origin: "harvested" }], // mathematical_functions.md
951
+ time_diff: [
952
+ {
953
+ name: "TIME_DIFF",
954
+ params: [{ name: "end_time" }, { name: "start_time" }, { name: "granularity" }],
955
+ origin: "harvested",
956
+ },
957
+ ], // time_functions.md
958
+ time_trunc: [
959
+ { name: "TIME_TRUNC", params: [{ name: "time_value" }, { name: "time_granularity" }], origin: "harvested" },
960
+ ], // time_functions.md
961
+ timestamp: [
962
+ {
963
+ name: "TIMESTAMP",
964
+ params: [{ name: "string_expression" }, { name: "time_zone", optional: true }],
965
+ origin: "harvested",
966
+ },
967
+ {
968
+ name: "TIMESTAMP",
969
+ params: [{ name: "date_expression" }, { name: "time_zone", optional: true }],
970
+ origin: "harvested",
971
+ },
972
+ {
973
+ name: "TIMESTAMP",
974
+ params: [{ name: "datetime_expression" }, { name: "time_zone", optional: true }],
975
+ origin: "harvested",
976
+ },
977
+ ], // timestamp_functions.md
978
+ timestamp_bucket: [
979
+ {
980
+ name: "TIMESTAMP_BUCKET",
981
+ params: [
982
+ { name: "timestamp_in_bucket" },
983
+ { name: "bucket_width" },
984
+ { name: "bucket_origin_timestamp", optional: true },
985
+ ],
986
+ origin: "harvested",
987
+ },
988
+ ], // time-series-functions.md
989
+ timestamp_diff: [
990
+ {
991
+ name: "TIMESTAMP_DIFF",
992
+ params: [{ name: "end_timestamp" }, { name: "start_timestamp" }, { name: "granularity" }],
993
+ origin: "harvested",
994
+ },
995
+ ], // timestamp_functions.md
996
+ timestamp_from_unix_micros: [
997
+ { name: "TIMESTAMP_FROM_UNIX_MICROS", params: [{ name: "int64_expression" }], origin: "harvested" },
998
+ { name: "TIMESTAMP_FROM_UNIX_MICROS", params: [{ name: "timestamp_expression" }], origin: "harvested" },
999
+ ], // timestamp_functions.md
1000
+ timestamp_from_unix_millis: [
1001
+ { name: "TIMESTAMP_FROM_UNIX_MILLIS", params: [{ name: "int64_expression" }], origin: "harvested" },
1002
+ { name: "TIMESTAMP_FROM_UNIX_MILLIS", params: [{ name: "timestamp_expression" }], origin: "harvested" },
1003
+ ], // timestamp_functions.md
1004
+ timestamp_from_unix_seconds: [
1005
+ { name: "TIMESTAMP_FROM_UNIX_SECONDS", params: [{ name: "int64_expression" }], origin: "harvested" },
1006
+ { name: "TIMESTAMP_FROM_UNIX_SECONDS", params: [{ name: "timestamp_expression" }], origin: "harvested" },
1007
+ ], // timestamp_functions.md
1008
+ timestamp_micros: [{ name: "TIMESTAMP_MICROS", params: [{ name: "int64_expression" }], origin: "harvested" }], // timestamp_functions.md
1009
+ timestamp_millis: [{ name: "TIMESTAMP_MILLIS", params: [{ name: "int64_expression" }], origin: "harvested" }], // timestamp_functions.md
1010
+ timestamp_seconds: [{ name: "TIMESTAMP_SECONDS", params: [{ name: "int64_expression" }], origin: "harvested" }], // timestamp_functions.md
1011
+ timestamp_trunc: [
1012
+ {
1013
+ name: "TIMESTAMP_TRUNC",
1014
+ params: [
1015
+ { name: "timestamp_value" },
1016
+ { name: "timestamp_granularity" },
1017
+ { name: "time_zone", optional: true },
1018
+ ],
1019
+ origin: "harvested",
1020
+ },
1021
+ {
1022
+ name: "TIMESTAMP_TRUNC",
1023
+ params: [{ name: "datetime_value" }, { name: "datetime_granularity" }],
1024
+ origin: "harvested",
1025
+ },
1026
+ ], // timestamp_functions.md
1027
+ to_base32: [{ name: "TO_BASE32", params: [{ name: "bytes_expr" }], origin: "harvested" }], // string_functions.md
1028
+ to_base64: [{ name: "TO_BASE64", params: [{ name: "bytes_expr" }], origin: "harvested" }], // string_functions.md
1029
+ to_code_points: [{ name: "TO_CODE_POINTS", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
1030
+ to_hex: [{ name: "TO_HEX", params: [{ name: "bytes" }], origin: "harvested" }], // string_functions.md
1031
+ to_json_string: [
1032
+ {
1033
+ name: "TO_JSON_STRING",
1034
+ params: [{ name: "value" }, { name: "pretty_print", optional: true }],
1035
+ origin: "harvested",
1036
+ },
1037
+ ], // json_functions.md
1038
+ to_proto: [{ name: "TO_PROTO", params: [{ name: "expression" }], origin: "harvested" }], // protocol_buffer_functions.md
1039
+ translate: [
1040
+ {
1041
+ name: "TRANSLATE",
1042
+ params: [{ name: "expression" }, { name: "source_characters" }, { name: "target_characters" }],
1043
+ origin: "harvested",
1044
+ },
1045
+ ], // string_functions.md
1046
+ trim: [
1047
+ {
1048
+ name: "TRIM",
1049
+ params: [
1050
+ { name: "value", type: "STRING" },
1051
+ { name: "chars_to_trim", type: "STRING", optional: true },
1052
+ ],
1053
+ origin: "curated",
1054
+ },
1055
+ ], // curated: TRIM (chars optional)
1056
+ trunc: [{ name: "TRUNC", params: [{ name: "X" }, { name: "N", optional: true }], origin: "harvested" }], // mathematical_functions.md
1057
+ uint32: [{ name: "UINT32", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
1058
+ uint32_array: [{ name: "UINT32_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
1059
+ uint64: [{ name: "UINT64", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
1060
+ uint64_array: [{ name: "UINT64_ARRAY", params: [{ name: "json_expr" }], origin: "harvested" }], // json_functions.md
1061
+ unicode: [{ name: "UNICODE", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
1062
+ unix_date: [{ name: "UNIX_DATE", params: [{ name: "date_expression" }], origin: "harvested" }], // date_functions.md
1063
+ unix_micros: [{ name: "UNIX_MICROS", params: [{ name: "timestamp_expression" }], origin: "harvested" }], // timestamp_functions.md
1064
+ unix_millis: [{ name: "UNIX_MILLIS", params: [{ name: "timestamp_expression" }], origin: "harvested" }], // timestamp_functions.md
1065
+ unix_seconds: [{ name: "UNIX_SECONDS", params: [{ name: "timestamp_expression" }], origin: "harvested" }], // timestamp_functions.md
1066
+ upper: [{ name: "UPPER", params: [{ name: "value" }], origin: "harvested" }], // string_functions.md
1067
+ zeroifnull: [{ name: "ZEROIFNULL", params: [{ name: "expr" }], origin: "harvested" }], // conditional_expressions.md
1068
+ };