[jOOQ/jOOQ#16754] Add JSON function support in BigQuery
This commit is contained in:
parent
23709edb79
commit
044e79d32f
@ -40,6 +40,7 @@ package org.jooq;
|
||||
import org.jetbrains.annotations.*;
|
||||
|
||||
|
||||
// ...
|
||||
// ...
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.H2;
|
||||
|
||||
@ -43,6 +43,7 @@ import org.jetbrains.annotations.*;
|
||||
// ...
|
||||
// ...
|
||||
// ...
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.H2;
|
||||
import static org.jooq.SQLDialect.MARIADB;
|
||||
import static org.jooq.SQLDialect.MYSQL;
|
||||
|
||||
@ -103,6 +103,9 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
return true;
|
||||
@ -134,6 +137,10 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
ctx.visit(function(N_JSON_LENGTH, getDataType(), field));
|
||||
|
||||
@ -103,6 +103,9 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
return true;
|
||||
@ -137,6 +140,10 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
ctx.visit(function(N_JSON_LENGTH, getDataType(), field));
|
||||
|
||||
@ -113,6 +113,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
case TRINO:
|
||||
@ -164,6 +165,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
|
||||
@ -116,6 +116,7 @@ implements
|
||||
case MARIADB:
|
||||
return false;
|
||||
|
||||
|
||||
case SQLITE:
|
||||
return false;
|
||||
|
||||
@ -169,6 +170,7 @@ implements
|
||||
ctx.visit(function(N_JSON_UNQUOTE, JSONB, DSL.nullif(function(N_JSON_EXTRACT, JSONB, field, inline("$.").concat(attribute)).cast(VARCHAR), inline("null"))));
|
||||
break;
|
||||
|
||||
|
||||
case SQLITE:
|
||||
ctx.visit(function(N_JSON_EXTRACT, JSONB, field, inline("$.").concat(attribute)));
|
||||
break;
|
||||
|
||||
@ -113,6 +113,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
case TRINO:
|
||||
@ -159,6 +160,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
|
||||
@ -135,6 +135,7 @@ implements
|
||||
ctx.visit(function(N_JSON_UNQUOTE, JSONB, DSL.nullif(function(N_JSON_EXTRACT, JSONB, field, inline("$[").concat(index).concat(inline("]"))).cast(VARCHAR), inline("null"))));
|
||||
break;
|
||||
|
||||
|
||||
case SQLITE:
|
||||
ctx.visit(function(N_JSON_EXTRACT, JSONB, field, inline("$[").concat(index).concat(inline("]"))));
|
||||
break;
|
||||
|
||||
@ -97,6 +97,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
case CLICKHOUSE:
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
@ -127,6 +128,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
case CLICKHOUSE:
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
|
||||
@ -113,6 +113,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
case TRINO:
|
||||
@ -164,6 +165,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
|
||||
@ -116,6 +116,7 @@ implements
|
||||
case MARIADB:
|
||||
return false;
|
||||
|
||||
|
||||
case SQLITE:
|
||||
return false;
|
||||
|
||||
@ -170,6 +171,7 @@ implements
|
||||
ctx.visit(function(N_JSON_UNQUOTE, JSON, DSL.nullif(function(N_JSON_EXTRACT, JSON, field, inline("$.").concat(attribute)).cast(VARCHAR), inline("null"))));
|
||||
break;
|
||||
|
||||
|
||||
case SQLITE:
|
||||
ctx.visit(function(N_JSON_EXTRACT, JSON, field, inline("$.").concat(attribute)));
|
||||
break;
|
||||
|
||||
@ -113,6 +113,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
case TRINO:
|
||||
@ -159,6 +160,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
case MARIADB:
|
||||
|
||||
@ -135,6 +135,7 @@ implements
|
||||
ctx.visit(function(N_JSON_UNQUOTE, JSON, DSL.nullif(function(N_JSON_EXTRACT, JSON, field, inline("$[").concat(index).concat(inline("]"))).cast(VARCHAR), inline("null"))));
|
||||
break;
|
||||
|
||||
|
||||
case SQLITE:
|
||||
ctx.visit(function(N_JSON_EXTRACT, JSON, field, inline("$[").concat(index).concat(inline("]"))));
|
||||
break;
|
||||
|
||||
@ -97,6 +97,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
case CLICKHOUSE:
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
@ -131,6 +132,7 @@ implements
|
||||
|
||||
|
||||
|
||||
|
||||
case CLICKHOUSE:
|
||||
case MARIADB:
|
||||
case MYSQL:
|
||||
|
||||
@ -499,6 +499,7 @@ final class Names {
|
||||
static final Name N_JSON_ARRAY = systemName("json_array");
|
||||
static final Name N_JSON_ARRAY_LENGTH = systemName("json_array_length");
|
||||
static final Name N_JSON_EXTRACT = systemName("json_extract");
|
||||
static final Name N_JSON_EXTRACT_ARRAY = systemName("json_extract_array");
|
||||
static final Name N_JSON_GET_ATTRIBUTE = systemName("json_get_attribute");
|
||||
static final Name N_JSON_GET_ATTRIBUTE_AS_TEXT = systemName("json_get_attribute_as_text");
|
||||
static final Name N_JSON_GET_ELEMENT = systemName("json_get_element");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user