/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed 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.jkiss.dbeaver.ext.postgresql;
import org.jkiss.dbeaver.model.DBConstants;
import org.jkiss.dbeaver.model.DBIcon;
import org.jkiss.dbeaver.model.data.DBDPseudoAttribute;
import org.jkiss.dbeaver.model.data.DBDPseudoAttributeType;
import org.jkiss.dbeaver.model.struct.DBSEntityConstraintType;
import org.jkiss.dbeaver.model.struct.DBSEntityType;
import org.jkiss.dbeaver.model.struct.DBSObjectState;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
/**
* PostgreConstants
*/
public class PostgreConstants {
public static final int DEFAULT_PORT = 5432;
public static final String DEFAULT_HOST = "localhost";
public static final String DEFAULT_DATABASE = "postgres";
public static final String DEFAULT_DATA_TYPE = "varchar";
public static final String PROP_SHOW_NON_DEFAULT_DB = DBConstants.INTERNAL_PROP_PREFIX + "show-non-default-db@";
public static final String PROP_SSL_CLIENT_CERT = "clientCert";
public static final String PROP_SSL_CLIENT_KEY = "clientKey";
public static final String PROP_SSL_ROOT_CERT = "rootCert";
public static final String PROP_SSL_MODE = "sslMode";
public static final String PROP_SSL_FACTORY = "sslFactory";
public static final DBSObjectState STATE_UNAVAILABLE = new DBSObjectState("Unavailable", DBIcon.OVER_EXTERNAL);
public static final DBSEntityConstraintType CONSTRAINT_TRIGGER = new DBSEntityConstraintType("trigger", "TRIGGER", "Trigger constraint", false, false, false); //$NON-NLS-1$
public static final DBSEntityConstraintType CONSTRAINT_EXCLUSIVE = new DBSEntityConstraintType("exclusive", "EXCLUSIVE", "Exclusive constraint", false, false, false); //$NON-NLS-1$
public static final String INFO_SCHEMA_NAME = "information_schema";
public static final String CATALOG_SCHEMA_NAME = "pg_catalog";
public static final String TEMP_SCHEMA_NAME = "pg_temp";
public static final String TOAST_SCHEMA_PREFIX = "pg_toast";
public static final String TEMP_SCHEMA_PREFIX = "pg_temp_";
public static final String PUBLIC_SCHEMA_NAME = "public";
public static final String PG_OBJECT_CLASS = "org.postgresql.util.PGobject";
public static final String PG_ARRAY_CLASS = "org.postgresql.jdbc.PgArray";
public static final DBDPseudoAttribute PSEUDO_ATTR_OID = new DBDPseudoAttribute(DBDPseudoAttributeType.ROWID, "oid",
"oid", "oid", "Row identifier", false);
public static final String TYPE_HSTORE = "hstore";
public static final String TYPE_JSON = "json";
public static final String TYPE_JSONB = "jsonb";
public static final String TYPE_BIT = "bit";
public static final String HANDLER_SSL = "postgre_ssl";
public static final String EC_PERMISSION_DENIED = "42501";
public static final String PG_INSTALL_REG_KEY = "SOFTWARE\\PostgreSQL\\Installations";
public static final String PG_INSTALL_PROP_BASE_DIRECTORY = "Base Directory";
public static final String PG_INSTALL_PROP_VERSION = "Version";
public static final String PG_INSTALL_PROP_BRANDING = "Branding";
public static final String PG_INSTALL_PROP_DATA_DIRECTORY = "Data Directory";
public static final String BIN_FOLDER = "bin";
public static Map<String, String> SERIAL_TYPES = new HashMap<>();
public static Map<String, String> DATA_TYPE_ALIASES = new HashMap<>();
static {
DATA_TYPE_ALIASES.put("integer", "int4");
DATA_TYPE_ALIASES.put("int", "int4");
DATA_TYPE_ALIASES.put("bigint", "int8");
DATA_TYPE_ALIASES.put("bigserial", "int8");
DATA_TYPE_ALIASES.put("smallint", "int2");
DATA_TYPE_ALIASES.put("double precision", "float8");
DATA_TYPE_ALIASES.put("real", "float4");
SERIAL_TYPES.put("serial", "int4");
SERIAL_TYPES.put("serial8", "int8");
SERIAL_TYPES.put("serial2", "int2");
SERIAL_TYPES.put("smallserial", "int2");
SERIAL_TYPES.put("bigserial", "int8");
}
}