/*
 * 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.kylin.common.constant;

public class Constants {

    private Constants() {
        throw new IllegalStateException("Utility class");
    }

    public static final String KE_VERSION = "ke.version";
    public static final String KE_METASTORE = "ke.metastore";
    public static final String KE_DATES = "ke.dates";
    public static final String KE_LICENSE = "ke.license";
    public static final String KE_LICENSE_NODES = "ke.license.nodes";
    public static final String KE_LICENSE_VOLUME = "ke.license.volume";
    public static final String HIDDEN_VALUE = "*****";
    public static final String KYLIN_SOURCE_JDBC_PASS_KEY = "kylin.source.jdbc.pass";
    public static final String KYLIN_SOURCE_JDBC_SOURCE_NAME_KEY = "kylin.source.jdbc.source.name";
    public static final String KYLIN_SOURCE_JDBC_SOURCE_ENABLE_KEY = "kylin.source.jdbc.source.enable";
    public static final String KYLIN_SOURCE_JDBC_CONNECTION_URL_KEY = "kylin.source.jdbc.connection-url";
    public static final String KYLIN_SOURCE_JDBC_USER_KEY = "kylin.source.jdbc.user";
    public static final String KYLIN_SOURCE_JDBC_DRIVER_KEY = "kylin.source.jdbc.driver";
    public static final String KYLIN_JOB_MAX_CONCURRENT_JOBS = "kylin.job.max-concurrent-jobs";

    public static final String UNLIMITED = "Unlimited";
    public static final String TRACE_ID = "traceId";

    public static final String SNAPSHOT_AUTO_REFRESH = "snapshot_auto_refresh";
    public static final String VIEW_MAPPING = "view_mapping";
    public static final String SOURCE_TABLE_STATS = "source_table_stats";
    public static final String SNAPSHOT_JOB = "snapshot_job";
    public static final String MARK = "_mark";
    public static final String BACKSLASH = "/";
    public static final String START = "*";
    public static final String ASYNC = "ASYNC";

    public static final String METADATA_FILE = "metadata.zip";
    public static final String SYSTEM_TMP_DIR = "/tmp";

    public static final String CORE_META_DIR = "core_meta";

    public static final String CACHE_MODEL_COMMAND = "CACHE FILES %s SELECT * FROM '%s' CACHEPROPERTIES (recursive=true)";
    public static final String CACHE_TABLE_COMMAND = "CACHE DATA %s SELECT %s FROM '%s' %s";
    public static final String FILTER_COMMAND = "AFTER %s AS OF '%s'";

    public static final int MAX_FILENAME_LENGTH = 255;
}
