/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.drill.exec.store.ischema; public final class InfoSchemaConstants { /** Prevents instantiation. */ private InfoSchemaConstants() { } /** Name of catalog containing information schema. */ public static final String IS_CATALOG_NAME = "DRILL"; /** Catalog description */ public static final String IS_CATALOG_DESCR = "The internal metadata used by Drill"; /** Catalog connect string. Currently empty */ public static final String IS_CATALOG_CONNECT = ""; /** Name of information schema. */ public static final String IS_SCHEMA_NAME = "INFORMATION_SCHEMA"; // TODO: Resolve how to not have two different place defining table names: // NOTE: These string values have to match the identifiers for SelectedTable's // enumerators. // Information schema's tables' names: public static final String TAB_CATALOGS = "CATALOGS"; public static final String TAB_COLUMNS = "COLUMNS"; public static final String TAB_SCHEMATA = "SCHEMATA"; public static final String TAB_TABLES = "TABLES"; public static final String TAB_VIEWS = "VIEWS"; // CATALOGS column names: public static final String CATS_COL_CATALOG_CONNECT = "CATALOG_CONNECT"; public static final String CATS_COL_CATALOG_DESCRIPTION = "CATALOG_DESCRIPTION"; public static final String CATS_COL_CATALOG_NAME = "CATALOG_NAME"; // SCHEMATA column names: public static final String SCHS_COL_CATALOG_NAME = "CATALOG_NAME"; public static final String SCHS_COL_SCHEMA_NAME = "SCHEMA_NAME"; public static final String SCHS_COL_SCHEMA_OWNER = "SCHEMA_OWNER"; public static final String SCHS_COL_TYPE = "TYPE"; public static final String SCHS_COL_IS_MUTABLE = "IS_MUTABLE"; // Common TABLES / VIEWS / COLUMNS columns names: public static final String SHRD_COL_TABLE_CATALOG = "TABLE_CATALOG"; public static final String SHRD_COL_TABLE_SCHEMA = "TABLE_SCHEMA"; public static final String SHRD_COL_TABLE_NAME = "TABLE_NAME"; // Remaining TABLES column names: public static final String TBLS_COL_TABLE_TYPE = "TABLE_TYPE"; // Remaining VIEWS column names: public static final String VIEWS_COL_VIEW_DEFINITION = "VIEW_DEFINITION"; // COLUMNS columns, from SQL standard: // 1. TABLE_CATALOG // 2. TABLE_SCHEMA // 3. TABLE_NAME // 4. COLUMN_NAME // 5. ORDINAL_POSITION // 6. COLUMN_DEFAULT // 7. IS_NULLABLE // 8. DATA_TYPE // 9. CHARACTER_MAXIMUM_LENGTH // 10. CHARACTER_OCTET_LENGTH // 11. NUMERIC_PRECISION // 12. NUMERIC_PRECISION_RADIX // 13. NUMERIC_SCALE // 14. DATETIME_PRECISION // 15. INTERVAL_TYPE // 16. INTERVAL_PRECISION // 17. CHARACTER_SET_CATALOG ... // Remaining COLUMNS column names: public static final String COLS_COL_COLUMN_NAME = "COLUMN_NAME"; public static final String COLS_COL_ORDINAL_POSITION = "ORDINAL_POSITION"; public static final String COLS_COL_COLUMN_DEFAULT = "COLUMN_DEFAULT"; public static final String COLS_COL_IS_NULLABLE = "IS_NULLABLE"; public static final String COLS_COL_DATA_TYPE = "DATA_TYPE"; public static final String COLS_COL_CHARACTER_MAXIMUM_LENGTH = "CHARACTER_MAXIMUM_LENGTH"; public static final String COLS_COL_CHARACTER_OCTET_LENGTH = "CHARACTER_OCTET_LENGTH"; public static final String COLS_COL_NUMERIC_PRECISION = "NUMERIC_PRECISION"; public static final String COLS_COL_NUMERIC_PRECISION_RADIX = "NUMERIC_PRECISION_RADIX"; public static final String COLS_COL_NUMERIC_SCALE = "NUMERIC_SCALE"; public static final String COLS_COL_DATETIME_PRECISION = "DATETIME_PRECISION"; public static final String COLS_COL_INTERVAL_TYPE = "INTERVAL_TYPE"; public static final String COLS_COL_INTERVAL_PRECISION = "INTERVAL_PRECISION"; }