DataSourceConfigKeys.java
// 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.doris.job.cdc;
public class DataSourceConfigKeys {
public static final String JDBC_URL = "jdbc_url";
public static final String TYPE = "type";
public static final String DRIVER_URL = "driver_url";
public static final String DRIVER_CLASS = "driver_class";
public static final String USER = "user";
public static final String PASSWORD = "password";
public static final String DATABASE = "database";
public static final String SCHEMA = "schema";
public static final String INCLUDE_TABLES = "include_tables";
public static final String EXCLUDE_TABLES = "exclude_tables";
// initial,earliest,latest,snapshot,{binlog,position},\d{13}
public static final String OFFSET = "offset";
public static final String OFFSET_INITIAL = "initial";
public static final String OFFSET_EARLIEST = "earliest";
public static final String OFFSET_LATEST = "latest";
public static final String OFFSET_SNAPSHOT = "snapshot";
public static final String SNAPSHOT_SPLIT_SIZE = "snapshot_split_size";
public static final String SNAPSHOT_SPLIT_KEY = "snapshot_split_key";
public static final String SNAPSHOT_PARALLELISM = "snapshot_parallelism";
public static final String SNAPSHOT_PARALLELISM_DEFAULT = "1";
public static final String SSL_MODE = "ssl_mode";
public static final String SSL_ROOTCERT = "ssl_rootcert";
// PG-style spelling; MySQL normalizes to underscore form.
public static final String SSL_MODE_DISABLE = "disable";
public static final String SSL_MODE_REQUIRE = "require";
public static final String SSL_MODE_VERIFY_CA = "verify-ca";
// PostgreSQL replication slot and publication config
public static final String SLOT_NAME = "slot_name";
public static final String PUBLICATION_NAME = "publication_name";
public static final String DEFAULT_SLOT_PREFIX = "doris_cdc_";
public static final String DEFAULT_PUBLICATION_PREFIX = "doris_pub_";
// Pre-PR default (Debezium auto-created). Legacy jobs reconnecting on a newer version fall
// back to this name when no publication_name was persisted.
public static final String LEGACY_PUBLICATION_NAME = "dbz_publication";
public static String defaultSlotName(String jobId) {
return DEFAULT_SLOT_PREFIX + jobId;
}
public static String defaultPublicationName(String jobId) {
return DEFAULT_PUBLICATION_PREFIX + jobId;
}
// per-table config: key format is "table.<tableName>.<suffix>"
public static final String TABLE = "table";
public static final String TABLE_EXCLUDE_COLUMNS_SUFFIX = "exclude_columns";
public static final String TABLE_TARGET_TABLE_SUFFIX = "target_table";
// target properties
public static final String TABLE_PROPS_PREFIX = "table.create.properties.";
public static final String LOAD_PROPERTIES = "load.";
}