类 AbstractJdbcCatalog

    • 字段详细资料

      • SYS_DATABASES

        protected static final Set<String> SYS_DATABASES
      • EXCLUDED_SCHEMAS

        protected static final Set<String> EXCLUDED_SCHEMAS
      • catalogName

        protected final String catalogName
      • defaultDatabase

        protected final String defaultDatabase
      • username

        protected final String username
      • pwd

        protected final String pwd
      • baseUrl

        protected final String baseUrl
      • suffix

        protected final String suffix
      • defaultUrl

        protected final String defaultUrl
    • 构造器详细资料

      • AbstractJdbcCatalog

        public AbstractJdbcCatalog​(String catalogName,
                                   String username,
                                   String pwd,
                                   org.apache.seatunnel.common.utils.JdbcUrlUtil.UrlInfo urlInfo,
                                   String defaultSchema)
    • 方法详细资料

      • name

        public String name()
        指定者:
        name 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
      • getDefaultDatabase

        public String getDefaultDatabase()
        指定者:
        getDefaultDatabase 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
      • open

        public void open()
                  throws org.apache.seatunnel.api.table.catalog.exception.CatalogException
        指定者:
        open 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • close

        public void close()
                   throws org.apache.seatunnel.api.table.catalog.exception.CatalogException
        指定者:
        close 在接口中 AutoCloseable
        指定者:
        close 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • getSelectColumnsSql

        protected String getSelectColumnsSql​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
      • getTableIdentifier

        protected org.apache.seatunnel.api.table.catalog.TableIdentifier getTableIdentifier​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
      • getTable

        public org.apache.seatunnel.api.table.catalog.CatalogTable getTable​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
                                                                     throws org.apache.seatunnel.api.table.catalog.exception.CatalogException,
                                                                            org.apache.seatunnel.api.table.catalog.exception.TableNotExistException
        指定者:
        getTable 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
        org.apache.seatunnel.api.table.catalog.exception.TableNotExistException
      • buildColumnsWithErrorCheck

        protected void buildColumnsWithErrorCheck​(org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                                                  ResultSet resultSet,
                                                  org.apache.seatunnel.api.table.catalog.TableSchema.Builder builder)
                                           throws SQLException
        抛出:
        SQLException
      • getConstraintKeys

        protected List<org.apache.seatunnel.api.table.catalog.ConstraintKey> getConstraintKeys​(DatabaseMetaData metaData,
                                                                                               org.apache.seatunnel.api.table.catalog.TablePath tablePath)
                                                                                        throws SQLException
        抛出:
        SQLException
      • getListDatabaseSql

        protected String getListDatabaseSql()
      • getDatabaseWithConditionSql

        protected String getDatabaseWithConditionSql​(String databaseName)
      • listDatabases

        public List<String> listDatabases()
                                   throws org.apache.seatunnel.api.table.catalog.exception.CatalogException
        指定者:
        listDatabases 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • databaseExists

        public boolean databaseExists​(String databaseName)
                               throws org.apache.seatunnel.api.table.catalog.exception.CatalogException
        指定者:
        databaseExists 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • getListTableSql

        protected String getListTableSql​(String databaseName)
      • getTableWithConditionSql

        protected String getTableWithConditionSql​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
      • getTableName

        protected String getTableName​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
      • listTables

        public List<String> listTables​(String databaseName)
                                throws org.apache.seatunnel.api.table.catalog.exception.CatalogException,
                                       org.apache.seatunnel.api.table.catalog.exception.DatabaseNotExistException
        指定者:
        listTables 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
        org.apache.seatunnel.api.table.catalog.exception.DatabaseNotExistException
      • tableExists

        public boolean tableExists​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
                            throws org.apache.seatunnel.api.table.catalog.exception.CatalogException
        指定者:
        tableExists 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • createTable

        public void createTable​(org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                                org.apache.seatunnel.api.table.catalog.CatalogTable table,
                                boolean ignoreIfExists)
                         throws org.apache.seatunnel.api.table.catalog.exception.TableAlreadyExistException,
                                org.apache.seatunnel.api.table.catalog.exception.DatabaseNotExistException,
                                org.apache.seatunnel.api.table.catalog.exception.CatalogException
        指定者:
        createTable 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.TableAlreadyExistException
        org.apache.seatunnel.api.table.catalog.exception.DatabaseNotExistException
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • createTable

        public void createTable​(org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                                org.apache.seatunnel.api.table.catalog.CatalogTable table,
                                boolean ignoreIfExists,
                                boolean createIndex)
                         throws org.apache.seatunnel.api.table.catalog.exception.TableAlreadyExistException,
                                org.apache.seatunnel.api.table.catalog.exception.DatabaseNotExistException,
                                org.apache.seatunnel.api.table.catalog.exception.CatalogException
        指定者:
        createTable 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.TableAlreadyExistException
        org.apache.seatunnel.api.table.catalog.exception.DatabaseNotExistException
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • getCreateTableSql

        protected String getCreateTableSql​(org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                                           org.apache.seatunnel.api.table.catalog.CatalogTable table,
                                           boolean createIndex)
      • getCreateTableSqls

        protected List<String> getCreateTableSqls​(org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                                                  org.apache.seatunnel.api.table.catalog.CatalogTable table,
                                                  boolean createIndex)
      • createTableInternal

        protected void createTableInternal​(org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                                           org.apache.seatunnel.api.table.catalog.CatalogTable table,
                                           boolean createIndex)
                                    throws org.apache.seatunnel.api.table.catalog.exception.CatalogException
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • dropTable

        public void dropTable​(org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                              boolean ignoreIfNotExists)
                       throws org.apache.seatunnel.api.table.catalog.exception.TableNotExistException,
                              org.apache.seatunnel.api.table.catalog.exception.CatalogException
        指定者:
        dropTable 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.TableNotExistException
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • getDropTableSql

        protected String getDropTableSql​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
      • dropTableInternal

        protected void dropTableInternal​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
                                  throws org.apache.seatunnel.api.table.catalog.exception.CatalogException
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • createDatabase

        public void createDatabase​(org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                                   boolean ignoreIfExists)
                            throws org.apache.seatunnel.api.table.catalog.exception.DatabaseAlreadyExistException,
                                   org.apache.seatunnel.api.table.catalog.exception.CatalogException
        指定者:
        createDatabase 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.DatabaseAlreadyExistException
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • getCreateDatabaseSql

        protected String getCreateDatabaseSql​(String databaseName)
      • createDatabaseInternal

        protected void createDatabaseInternal​(String databaseName)
      • closeDatabaseConnection

        protected void closeDatabaseConnection​(String databaseName)
      • truncateTable

        public void truncateTable​(org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                                  boolean ignoreIfNotExists)
                           throws org.apache.seatunnel.api.table.catalog.exception.TableNotExistException,
                                  org.apache.seatunnel.api.table.catalog.exception.CatalogException
        指定者:
        truncateTable 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.TableNotExistException
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • dropDatabase

        public void dropDatabase​(org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                                 boolean ignoreIfNotExists)
                          throws org.apache.seatunnel.api.table.catalog.exception.DatabaseNotExistException,
                                 org.apache.seatunnel.api.table.catalog.exception.CatalogException
        指定者:
        dropDatabase 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.DatabaseNotExistException
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • getDropDatabaseSql

        protected String getDropDatabaseSql​(String databaseName)
      • dropDatabaseInternal

        protected void dropDatabaseInternal​(String databaseName)
                                     throws org.apache.seatunnel.api.table.catalog.exception.CatalogException
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • getUrlFromDatabaseName

        protected String getUrlFromDatabaseName​(String databaseName)
      • getOptionTableName

        protected String getOptionTableName​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
      • buildConnectorOptions

        protected Map<String,​String> buildConnectorOptions​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
      • querySQLResultExists

        protected boolean querySQLResultExists​(String dbUrl,
                                               String sql)
      • truncateTableInternal

        protected void truncateTableInternal​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
                                      throws org.apache.seatunnel.api.table.catalog.exception.CatalogException
        抛出:
        org.apache.seatunnel.api.table.catalog.exception.CatalogException
      • getTruncateTableSql

        protected String getTruncateTableSql​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
      • getExistDataSql

        protected String getExistDataSql​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
      • executeSql

        public void executeSql​(org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                               String sql)
        指定者:
        executeSql 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
      • isExistsData

        public boolean isExistsData​(org.apache.seatunnel.api.table.catalog.TablePath tablePath)
        指定者:
        isExistsData 在接口中 org.apache.seatunnel.api.table.catalog.Catalog
      • previewAction

        public org.apache.seatunnel.api.table.catalog.PreviewResult previewAction​(org.apache.seatunnel.api.table.catalog.Catalog.ActionType actionType,
                                                                                  org.apache.seatunnel.api.table.catalog.TablePath tablePath,
                                                                                  Optional<org.apache.seatunnel.api.table.catalog.CatalogTable> catalogTable)
        指定者:
        previewAction 在接口中 org.apache.seatunnel.api.table.catalog.Catalog