public static final String |
GET_COLUMNS |
"SELECT TABLE_CATALOG AS TABLE_CAT, TABLE_SCHEMA AS TABLE_SCHEM, TABLE_NAME, COLUMN_NAME, \nCASE \n\tWHEN SPANNER_TYPE LIKE \'ARRAY%\' THEN 2003 \n\tWHEN SPANNER_TYPE = \'BOOL\' THEN 16 \n\tWHEN SPANNER_TYPE LIKE \'BYTES%\' THEN -2 \n\tWHEN SPANNER_TYPE = \'DATE\' THEN 91 \n\tWHEN SPANNER_TYPE = \'FLOAT64\' THEN 8 \n\tWHEN SPANNER_TYPE = \'INT64\' THEN -5 \n\tWHEN SPANNER_TYPE LIKE \'STRING%\' THEN -9 \n\tWHEN SPANNER_TYPE LIKE \'STRUCT%\' THEN 2002 \n\tWHEN SPANNER_TYPE = \'TIMESTAMP\' THEN 93 \nEND AS DATA_TYPE, \nSPANNER_TYPE AS TYPE_NAME, \nCASE \nWHEN strpos(spanner_type, \'(\')=0 then 0 \nELSE cast(replace(substr(spanner_type, strpos(spanner_type, \'(\')+1, strpos(spanner_type, \')\')-strpos(spanner_type, \'(\')-1), \'MAX\', CASE WHEN UPPER(spanner_type) LIKE \'STRING%\' THEN \'2621440\' ELSE \'10485760\' END) as INT64) \nEND AS COLUMN_SIZE, \n0 AS BUFFER_LENGTH, NULL AS DECIMAL_DIGITS, 0 AS NUM_PREC_RADIX, \nCASE \n\tWHEN IS_NULLABLE = \'YES\' THEN 1 \n\tWHEN IS_NULLABLE = \'NO\' THEN 0 \n\tELSE 2 \nEND AS NULLABLE, NULL AS REMARKS, NULL AS COLUMN_DEF, 0 AS SQL_DATA_TYPE, 0 AS SQL_DATETIME_SUB, 0 AS CHAR_OCTET_LENGTH, ORDINAL_POSITION, IS_NULLABLE, NULL AS SCOPE_CATALOG, \nNULL AS SCOPE_SCHEMA, NULL AS SCOPE_TABLE, NULL AS SOURCE_DATA_TYPE, \'NO\' AS IS_AUTOINCREMENT, \'NO\' AS IS_GENERATEDCOLUMN \nFROM INFORMATION_SCHEMA.COLUMNS C WHERE 1=1 " |
public static final String |
GET_TYPE_INFO |
"SELECT \'BOOL\' AS TYPE_NAME, 16 AS DATA_TYPE, 1 AS PRECISION, NULL AS LITERAL_PREFIX, NULL AS LITERAL_SUFFIX, NULL AS CREATE_PARAMS, 1 AS NULLABLE, FALSE AS CASE_SENSITIVE, 2 AS SEARCHABLE, TRUE AS UNSIGNED_ATTRIBUTE, FALSE AS FIXED_PREC_SCALE, FALSE AS AUTO_INCREMENT, \'BOOL\' AS LOCAL_TYPE_NAME, 1 AS MINIMUM_SCALE, 1 AS MAXIMUM_SCALE, NULL AS SQL_DATA_TYPE, NULL AS SQL_DATETIME_SUB, NULL AS NUM_PREC_RADIX\nUNION ALL\nSELECT \'BYTES\' AS TYPE_NAME, -2 AS DATA_TYPE, 5000000 AS PRECISION, \'0x\' AS LITERAL_PREFIX, NULL AS LITERAL_SUFFIX, \'LENGTH\' AS CREATE_PARAMS, 1 AS NULLABLE, FALSE AS CASE_SENSITIVE, 2 AS SEARCHABLE, TRUE AS UNSIGNED_ATTRIBUTE, FALSE AS FIXED_PREC_SCALE, FALSE AS AUTO_INCREMENT, \'BYTES\' AS LOCAL_TYPE_NAME, 1 AS MINIMUM_SCALE, 5000000 AS MAXIMUM_SCALE, NULL AS SQL_DATA_TYPE, NULL AS SQL_DATETIME_SUB, NULL AS NUM_PREC_RADIX\nUNION ALL\nSELECT \'DATE\' AS TYPE_NAME, 91 AS DATA_TYPE, 8 AS PRECISION, \"{d \'\" AS LITERAL_PREFIX, \"\'}\" AS LITERAL_SUFFIX, NULL AS CREATE_PARAMS, 1 AS NULLABLE, FALSE AS CASE_SENSITIVE, 2 AS SEARCHABLE, TRUE AS UNSIGNED_ATTRIBUTE, FALSE AS FIXED_PREC_SCALE, FALSE AS AUTO_INCREMENT, \'DATE\' AS LOCAL_TYPE_NAME, 8 AS MINIMUM_SCALE, 8 AS MAXIMUM_SCALE, NULL AS SQL_DATA_TYPE, NULL AS SQL_DATETIME_SUB, NULL AS NUM_PREC_RADIX\nUNION ALL\nSELECT \'FLOAT64\' AS TYPE_NAME, 8 AS DATA_TYPE, 15 AS PRECISION, NULL AS LITERAL_PREFIX, NULL AS LITERAL_SUFFIX, NULL AS CREATE_PARAMS, 1 AS NULLABLE, FALSE AS CASE_SENSITIVE, 2 AS SEARCHABLE, FALSE AS UNSIGNED_ATTRIBUTE, FALSE AS FIXED_PREC_SCALE, FALSE AS AUTO_INCREMENT, \'FLOAT64\' AS LOCAL_TYPE_NAME, 15 AS MINIMUM_SCALE, 15 AS MAXIMUM_SCALE, NULL AS SQL_DATA_TYPE, NULL AS SQL_DATETIME_SUB, NULL AS NUM_PREC_RADIX\nUNION ALL\nSELECT \'INT64\' AS TYPE_NAME, -5 AS DATA_TYPE, 19 AS PRECISION, NULL AS LITERAL_PREFIX, NULL AS LITERAL_SUFFIX, NULL AS CREATE_PARAMS, 1 AS NULLABLE, FALSE AS CASE_SENSITIVE, 2 AS SEARCHABLE, FALSE AS UNSIGNED_ATTRIBUTE, FALSE AS FIXED_PREC_SCALE, FALSE AS AUTO_INCREMENT, \'INT64\' AS LOCAL_TYPE_NAME, 19 AS MINIMUM_SCALE, 19 AS MAXIMUM_SCALE, NULL AS SQL_DATA_TYPE, NULL AS SQL_DATETIME_SUB, NULL AS NUM_PREC_RADIX\nUNION ALL\nSELECT \'STRING\' AS TYPE_NAME, -9 AS DATA_TYPE, 5000000 AS PRECISION, \"\'\" AS LITERAL_PREFIX, \"\'\" AS LITERAL_SUFFIX, \'LENGTH\' AS CREATE_PARAMS, 1 AS NULLABLE, TRUE AS CASE_SENSITIVE, 3 AS SEARCHABLE, TRUE AS UNSIGNED_ATTRIBUTE, FALSE AS FIXED_PREC_SCALE, FALSE AS AUTO_INCREMENT, \'STRING\' AS LOCAL_TYPE_NAME, 1 AS MINIMUM_SCALE, 5000000 AS MAXIMUM_SCALE, NULL AS SQL_DATA_TYPE, NULL AS SQL_DATETIME_SUB, NULL AS NUM_PREC_RADIX\nUNION ALL\nSELECT \'TIMESTAMP\' AS TYPE_NAME, 93 AS DATA_TYPE, 19 AS PRECISION, \"{ts \'\" AS LITERAL_PREFIX, \"\'}\" AS LITERAL_SUFFIX, NULL AS CREATE_PARAMS, 1 AS NULLABLE, FALSE AS CASE_SENSITIVE, 2 AS SEARCHABLE, TRUE AS UNSIGNED_ATTRIBUTE, FALSE AS FIXED_PREC_SCALE, FALSE AS AUTO_INCREMENT, \'TIMESTAMP\' AS LOCAL_TYPE_NAME, 19 AS MINIMUM_SCALE, 19 AS MAXIMUM_SCALE, NULL AS SQL_DATA_TYPE, NULL AS SQL_DATETIME_SUB, NULL AS NUM_PREC_RADIX" |