Class AbstractReactiveInformationSchemaBasedExtractorImpl

    • Constructor Detail

      • AbstractReactiveInformationSchemaBasedExtractorImpl

        public AbstractReactiveInformationSchemaBasedExtractorImpl​(org.hibernate.tool.schema.extract.spi.ExtractionContext extractionContext)
    • Method Detail

      • getResultSetCatalogLabel

        protected java.lang.String getResultSetCatalogLabel()
        Overrides:
        getResultSetCatalogLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetSchemaLabel

        protected java.lang.String getResultSetSchemaLabel()
        Overrides:
        getResultSetSchemaLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetTableNameLabel

        protected java.lang.String getResultSetTableNameLabel()
        Overrides:
        getResultSetTableNameLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetTableTypeLabel

        protected java.lang.String getResultSetTableTypeLabel()
        Overrides:
        getResultSetTableTypeLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetRemarksLabel

        protected java.lang.String getResultSetRemarksLabel()
        Overrides:
        getResultSetRemarksLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetColumnNameLabel

        protected java.lang.String getResultSetColumnNameLabel()
        Overrides:
        getResultSetColumnNameLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetSqlTypeCodeLabel

        protected java.lang.String getResultSetSqlTypeCodeLabel()
        Overrides:
        getResultSetSqlTypeCodeLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetTypeNameLabel

        protected java.lang.String getResultSetTypeNameLabel()
        Overrides:
        getResultSetTypeNameLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetColumnSizeLabel

        protected java.lang.String getResultSetColumnSizeLabel()
        Overrides:
        getResultSetColumnSizeLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetDecimalDigitsLabel

        protected java.lang.String getResultSetDecimalDigitsLabel()
        Overrides:
        getResultSetDecimalDigitsLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetIsNullableLabel

        protected java.lang.String getResultSetIsNullableLabel()
        Overrides:
        getResultSetIsNullableLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetIndexTypeLabel

        protected java.lang.String getResultSetIndexTypeLabel()
        Overrides:
        getResultSetIndexTypeLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetIndexNameLabel

        protected java.lang.String getResultSetIndexNameLabel()
        Overrides:
        getResultSetIndexNameLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetForeignKeyLabel

        protected java.lang.String getResultSetForeignKeyLabel()
        Overrides:
        getResultSetForeignKeyLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetPrimaryKeyNameLabel

        protected java.lang.String getResultSetPrimaryKeyNameLabel()
        Overrides:
        getResultSetPrimaryKeyNameLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetColumnPositionColumn

        protected java.lang.String getResultSetColumnPositionColumn()
        Overrides:
        getResultSetColumnPositionColumn in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetPrimaryKeyColumnNameLabel

        protected java.lang.String getResultSetPrimaryKeyColumnNameLabel()
        Overrides:
        getResultSetPrimaryKeyColumnNameLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetForeignKeyColumnNameLabel

        protected java.lang.String getResultSetForeignKeyColumnNameLabel()
        Overrides:
        getResultSetForeignKeyColumnNameLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetPrimaryKeyCatalogLabel

        protected java.lang.String getResultSetPrimaryKeyCatalogLabel()
        Overrides:
        getResultSetPrimaryKeyCatalogLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetPrimaryKeySchemaLabel

        protected java.lang.String getResultSetPrimaryKeySchemaLabel()
        Overrides:
        getResultSetPrimaryKeySchemaLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetPrimaryKeyTableLabel

        protected java.lang.String getResultSetPrimaryKeyTableLabel()
        Overrides:
        getResultSetPrimaryKeyTableLabel in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • getResultSetTableTypesPhysicalTableConstant

        protected java.lang.String getResultSetTableTypesPhysicalTableConstant()
        Specified by:
        getResultSetTableTypesPhysicalTableConstant in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
      • processCatalogsResultSet

        protected <T> T processCatalogsResultSet​(org.hibernate.tool.schema.extract.spi.ExtractionContext.ResultSetProcessor<T> processor)
                                          throws java.sql.SQLException
        Specified by:
        processCatalogsResultSet in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
        Throws:
        java.sql.SQLException
      • processSchemaResultSet

        protected <T> T processSchemaResultSet​(java.lang.String catalog,
                                               java.lang.String schemaPattern,
                                               org.hibernate.tool.schema.extract.spi.ExtractionContext.ResultSetProcessor<T> processor)
                                        throws java.sql.SQLException
        Specified by:
        processSchemaResultSet in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
        Throws:
        java.sql.SQLException
      • appendClauseAndParameterIfNotNullOrEmpty

        protected boolean appendClauseAndParameterIfNotNullOrEmpty​(java.lang.String clause,
                                                                   java.lang.Object parameter,
                                                                   java.lang.StringBuilder sb,
                                                                   java.util.List<java.lang.Object> parameters)
      • processTableResultSet

        protected <T> T processTableResultSet​(java.lang.String catalog,
                                              java.lang.String schemaPattern,
                                              java.lang.String tableNamePattern,
                                              java.lang.String[] types,
                                              org.hibernate.tool.schema.extract.spi.ExtractionContext.ResultSetProcessor<T> processor)
                                       throws java.sql.SQLException
        Specified by:
        processTableResultSet in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
        Throws:
        java.sql.SQLException
      • processColumnsResultSet

        protected <T> T processColumnsResultSet​(java.lang.String catalog,
                                                java.lang.String schemaPattern,
                                                java.lang.String tableNamePattern,
                                                java.lang.String columnNamePattern,
                                                org.hibernate.tool.schema.extract.spi.ExtractionContext.ResultSetProcessor<T> processor)
                                         throws java.sql.SQLException
        Specified by:
        processColumnsResultSet in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
        Throws:
        java.sql.SQLException
      • getInformationSchemaColumnsDataTypeColumn

        protected java.lang.String getInformationSchemaColumnsDataTypeColumn()
        Gets the name of column in information_schema.columns for the database-specific column type.
        Returns:
        the name of column in information_schema.columns for the database-specific column type
      • getDatabaseCatalogColumnName

        protected java.lang.String getDatabaseCatalogColumnName​(java.lang.String catalogColumnName,
                                                                java.lang.String schemaColumnName)
        Given a catalog column name and a schema column name in an information_schema table/view, this method returns the column used for storing the catalog name, or , if there is no valid column containing the catalog name.

        MySQL, for example, uses the schema name column in the information_schema to store the catalog name. (@see MySqlReactiveInformationExtractorImpl)

        Parameters:
        catalogColumnName - - the catalog column name
        schemaColumnName - - the schema column name
        Returns:
        the column used for storing the catalog name, or if there is no valid column containing the catalog name.
      • getDatabaseSchemaColumnName

        protected java.lang.String getDatabaseSchemaColumnName​(java.lang.String catalogColumnName,
                                                               java.lang.String schemaColumnName)
        Given a catalog column name and a schema column name in an information_schema table/view, this method returns the column used for storing the schema name, or , if there is no valid column containing the schema name.

        MySQL, for example, does not have a valid column in in the information_schema to store the schema name. (@see MySqlReactiveInformationExtractorImpl)

        Parameters:
        catalogColumnName - - the catalog column name
        schemaColumnName - - the schema column name
        Returns:
        the column used for storing the schema name, or if there is no valid column containing the schema name.
      • addExtractedColumnInformation

        protected void addExtractedColumnInformation​(org.hibernate.tool.schema.extract.spi.TableInformation tableInformation,
                                                     java.sql.ResultSet resultSet)
                                              throws java.sql.SQLException
        Overrides:
        addExtractedColumnInformation in class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
        Throws:
        java.sql.SQLException
      • dataTypeCode

        protected int dataTypeCode​(java.lang.String typeName)
        Return a JDBC Type code for the given type name