@Test public void testShowIsTreatedAsAResultsQuery() throws Exception { List<SqlScriptStatement> sqlScriptStatements = new H2DatabaseMeta().getSqlScriptStatements( "show annotations from service" ); assertTrue( sqlScriptStatements.get( 0 ).isQuery() ); }
@Override public List<SqlScriptStatement> getSqlScriptStatements( String sqlScript ) { List<SqlScriptStatement> statements = new ArrayList<SqlScriptStatement>(); String all = sqlScript; int from = 0; int to = 0; int length = all.length(); while ( to < length ) { char c = all.charAt( to ); while ( all.substring( from ).startsWith( "--" ) ) { int nextLineIndex = all.indexOf( Const.CR, from ); from = nextLineIndex + Const.CR.length(); if ( to >= length ) { break; } c = all.charAt( c ); } if ( to >= length ) { break; } if ( c == '"' ) { int nextDQuoteIndex = all.indexOf( '"', to + 1 ); if ( nextDQuoteIndex >= 0 ) { to = nextDQuoteIndex + 1; } } if ( c == '`' ) { int nextBacktickIndex = all.indexOf( '`', to + 1 ); if ( nextBacktickIndex >= 0 ) { to = nextBacktickIndex + 1; } } c = all.charAt( to ); if ( c == '\'' ) { boolean skip = true; if ( to > 0 ) { char prevChar = all.charAt( to - 1 ); if ( prevChar == '\\' || prevChar == '\'' ) { skip = false; } } while ( skip ) { int nextQuoteIndex = all.indexOf( '\'', to + 1 ); if ( nextQuoteIndex >= 0 ) { to = nextQuoteIndex + 1; skip = false; if ( to < all.length() ) { char nextChar = all.charAt( to ); if ( nextChar == '\'' ) { skip = true; to++; } } if ( to > 0 ) { char prevChar = all.charAt( to - 2 ); if ( prevChar == '\\' ) { skip = true; to++; } } } } } c = all.charAt( to ); if ( c == ';' || to >= length - 1 ) { if ( to >= length - 1 ) { to++; } String stat = all.substring( from, to ); if ( !onlySpaces( stat ) ) { String s = Const.trim( stat ); statements.add( new SqlScriptStatement( s, from, to, s.toUpperCase().startsWith( "SELECT" ) || s.toLowerCase().startsWith( "show" ) ) ); } to++; from = to; } else { to++; } } return statements; }
BaseDatabaseMeta implements Cloneable, DatabaseInterfaceExtended { @Override public List<SqlScriptStatement> getSqlScriptStatements( String sqlScript ) { List<SqlScriptStatement> statements = new ArrayList<SqlScriptStatement>(); String all = sqlScript; int from = 0; int to = 0; int length = all.length(); while ( to < length ) { char c = all.charAt( to ); while ( all.substring( from ).startsWith( "--" ) ) { int nextLineIndex = all.indexOf( Const.CR, from ); from = nextLineIndex + Const.CR.length(); if ( to >= length ) { break; } c = all.charAt( c ); } if ( to >= length ) { break; } if ( c == '"' ) { int nextDQuoteIndex = all.indexOf( '"', to + 1 ); if ( nextDQuoteIndex >= 0 ) { to = nextDQuoteIndex + 1; } } if ( c == '`' ) { int nextBacktickIndex = all.indexOf( '`', to + 1 ); if ( nextBacktickIndex >= 0 ) { to = nextBacktickIndex + 1; } } c = all.charAt( to ); if ( c == '\'' ) { boolean skip = true; if ( to > 0 ) { char prevChar = all.charAt( to - 1 ); if ( prevChar == '\\' || prevChar == '\'' ) { skip = false; } } while ( skip ) { int nextQuoteIndex = all.indexOf( '\'', to + 1 ); if ( nextQuoteIndex >= 0 ) { to = nextQuoteIndex + 1; skip = false; if ( to < all.length() ) { char nextChar = all.charAt( to ); if ( nextChar == '\'' ) { skip = true; to++; } } if ( to > 0 ) { char prevChar = all.charAt( to - 2 ); if ( prevChar == '\\' ) { skip = true; to++; } } } } } c = all.charAt( to ); if ( c == ';' || to >= length - 1 ) { if ( to >= length - 1 ) { to++; } String stat = all.substring( from, to ); if ( !onlySpaces( stat ) ) { String s = Const.trim( stat ); statements.add( new SqlScriptStatement( s, from, to, s.toUpperCase().startsWith( "SELECT" ) || s.toLowerCase().startsWith( "show" ) ) ); } to++; from = to; } else { to++; } } return statements; } }
BaseDatabaseMeta implements Cloneable, DatabaseInterfaceExtended { @Override public List<SqlScriptStatement> getSqlScriptStatements( String sqlScript ) { List<SqlScriptStatement> statements = new ArrayList<SqlScriptStatement>(); String all = sqlScript; int from = 0; int to = 0; int length = all.length(); while ( to < length ) { char c = all.charAt( to ); while ( all.substring( from ).startsWith( "--" ) ) { int nextLineIndex = all.indexOf( Const.CR, from ); from = nextLineIndex + Const.CR.length(); if ( to >= length ) { break; } c = all.charAt( c ); } if ( to >= length ) { break; } if ( c == '"' ) { int nextDQuoteIndex = all.indexOf( '"', to + 1 ); if ( nextDQuoteIndex >= 0 ) { to = nextDQuoteIndex + 1; } } if ( c == '`' ) { int nextBacktickIndex = all.indexOf( '`', to + 1 ); if ( nextBacktickIndex >= 0 ) { to = nextBacktickIndex + 1; } } c = all.charAt( to ); if ( c == '\'' ) { boolean skip = true; if ( to > 0 ) { char prevChar = all.charAt( to - 1 ); if ( prevChar == '\\' || prevChar == '\'' ) { skip = false; } } while ( skip ) { int nextQuoteIndex = all.indexOf( '\'', to + 1 ); if ( nextQuoteIndex >= 0 ) { to = nextQuoteIndex + 1; skip = false; if ( to < all.length() ) { char nextChar = all.charAt( to ); if ( nextChar == '\'' ) { skip = true; to++; } } if ( to > 0 ) { char prevChar = all.charAt( to - 2 ); if ( prevChar == '\\' ) { skip = true; to++; } } } } } c = all.charAt( to ); if ( c == ';' || to >= length - 1 ) { if ( to >= length - 1 ) { to++; } String stat = all.substring( from, to ); if ( !onlySpaces( stat ) ) { String s = Const.trim( stat ); statements.add( new SqlScriptStatement( s, from, to, s.toUpperCase().startsWith( "SELECT" ) || s.toLowerCase().startsWith( "show" ) ) ); } to++; from = to; } else { to++; } } return statements; } BaseDatabaseMeta(); }
BaseDatabaseMeta implements Cloneable, DatabaseInterfaceExtended { @Override public List<SqlScriptStatement> getSqlScriptStatements( String sqlScript ) { List<SqlScriptStatement> statements = new ArrayList<SqlScriptStatement>(); String all = sqlScript; int from = 0; int to = 0; int length = all.length(); while ( to < length ) { char c = all.charAt( to ); while ( all.substring( from ).startsWith( "--" ) ) { int nextLineIndex = all.indexOf( Const.CR, from ); from = nextLineIndex + Const.CR.length(); if ( to >= length ) { break; } c = all.charAt( c ); } if ( to >= length ) { break; } if ( c == '"' ) { int nextDQuoteIndex = all.indexOf( '"', to + 1 ); if ( nextDQuoteIndex >= 0 ) { to = nextDQuoteIndex + 1; } } if ( c == '`' ) { int nextBacktickIndex = all.indexOf( '`', to + 1 ); if ( nextBacktickIndex >= 0 ) { to = nextBacktickIndex + 1; } } c = all.charAt( to ); if ( c == '\'' ) { boolean skip = true; if ( to > 0 ) { char prevChar = all.charAt( to - 1 ); if ( prevChar == '\\' || prevChar == '\'' ) { skip = false; } } while ( skip ) { int nextQuoteIndex = all.indexOf( '\'', to + 1 ); if ( nextQuoteIndex >= 0 ) { to = nextQuoteIndex + 1; skip = false; if ( to < all.length() ) { char nextChar = all.charAt( to ); if ( nextChar == '\'' ) { skip = true; to++; } } if ( to > 0 ) { char prevChar = all.charAt( to - 2 ); if ( prevChar == '\\' ) { skip = true; to++; } } } } } c = all.charAt( to ); if ( c == ';' || to >= length - 1 ) { if ( to >= length - 1 ) { to++; } String stat = all.substring( from, to ); if ( !onlySpaces( stat ) ) { String s = Const.trim( stat ); statements.add( new SqlScriptStatement( s, from, to, s.toUpperCase().startsWith( "SELECT" ) || s.toLowerCase().startsWith( "show" ) ) ); } to++; from = to; } else { to++; } } return statements; } BaseDatabaseMeta(); @Override String getPluginId(); @Override void setPluginId( String pluginId ); @Override String getPluginName(); @Override void setPluginName( String pluginName ); @Override abstract int[] getAccessTypeList(); @Override int getAccessType(); @Override void setAccessType( int accessType ); @Override boolean isChanged(); @Override void setChanged( boolean changed ); @Override String getName(); @Override void setName( String name ); String getDisplayName(); void setDisplayName( String displayName ); @Override String getDatabaseName(); @Override void setDatabaseName( String databaseName ); @Override void setDatabasePortNumberString( String databasePortNumberString ); @Override String getDatabasePortNumberString(); @Override String getHostname(); @Override void setHostname( String hostname ); @Override ObjectId getObjectId(); @Override void setObjectId( ObjectId id ); @Override String getPassword(); @Override void setPassword( String password ); @Override String getServername(); @Override void setServername( String servername ); @Override String getDataTablespace(); @Override void setDataTablespace( String dataTablespace ); @Override String getIndexTablespace(); @Override void setIndexTablespace( String indexTablespace ); @Override String getUsername(); @Override void setUsername( String username ); @Override Properties getAttributes(); @Override void setAttributes( Properties attributes ); @Override Object clone(); @Override int getDefaultDatabasePort(); @Override Map<String, String> getDefaultOptions(); @Override boolean supportsSetCharacterStream(); @Override boolean supportsAutoInc(); @Override String getLimitClause( int nrRows ); @Override int getNotFoundTK( boolean use_autoinc ); @Override String getSQLNextSequenceValue( String sequenceName ); @Override String getSQLCurrentSequenceValue( String sequenceName ); @Override String getSQLSequenceExists( String sequenceName ); @Override boolean isFetchSizeSupported(); @Override boolean needsPlaceHolder(); @Override boolean supportsSchemas(); @Override boolean supportsCatalogs(); @Override boolean supportsEmptyTransactions(); @Override String getFunctionSum(); @Override String getFunctionAverage(); @Override String getFunctionMinimum(); @Override String getFunctionMaximum(); @Override String getFunctionCount(); @Override String getSchemaTableCombination( String schema_name, String table_part ); @Deprecated String getBackwardsCompatibleSchemaTableCombination( String schemaPart, String tablePart ); @Deprecated String getBackwardsCompatibleTable( String tablePart ); @Override int getMaxTextFieldLength(); @Override int getMaxVARCHARLength(); @Override boolean supportsTransactions(); @Override boolean supportsSequences(); @Override boolean supportsBitmapIndex(); @Override boolean supportsSetLong(); @Override String getDropColumnStatement( String tablename, ValueMetaInterface v, String tk, boolean use_autoinc,
    String pk, boolean semicolon ); @Override String[] getReservedWords(); @Override boolean quoteReservedWords(); @Override String getStartQuote(); @Override String getEndQuote(); @Override boolean supportsRepository(); @Override String[] getTableTypes(); @Override String[] getViewTypes(); @Override String[] getSynonymTypes(); @Override boolean useSchemaNameForTableList(); @Override boolean supportsViews(); @Override boolean supportsSynonyms(); @Override String getSQLListOfProcedures(); @Override String getSQLListOfSequences(); @Override String getTruncateTableStatement( String tableName ); @Override String getSQLQueryFields( String tableName ); @Override boolean supportsFloatRoundingOnUpdate(); @Override String getSQLLockTables( String[] tableNames ); @Override String getSQLUnlockTables( String[] tableNames ); @Override boolean supportsTimeStampToDateConversion(); @Override boolean supportsBatchUpdates(); @Override boolean supportsBooleanDataType(); @Override void setSupportsBooleanDataType( boolean b ); @Override boolean supportsTimestampDataType(); @Override void setSupportsTimestampDataType( boolean b ); @Override boolean preserveReservedCase(); @Override void setPreserveReservedCase( boolean b ); @Override boolean isDefaultingToUppercase(); @Override Map<String, String> getExtraOptions(); @Override void addExtraOption( String databaseTypeCode, String option, String value ); @Override String getExtraOptionSeparator(); @Override String getExtraOptionValueSeparator(); @Override String getExtraOptionIndicator(); @Override boolean supportsOptionsInURL(); @Override String getExtraOptionsHelpText(); @Override boolean supportsGetBlob(); @Override String getConnectSQL(); @Override void setConnectSQL( String sql ); @Override boolean supportsSetMaxRows(); @Override boolean isUsingConnectionPool(); @Override void setUsingConnectionPool( boolean usePool ); @Override int getMaximumPoolSize(); @Override void setMaximumPoolSize( int maximumPoolSize ); @Override int getInitialPoolSize(); @Override void setInitialPoolSize( int initialPoolSize ); @Override boolean isPartitioned(); @Override void setPartitioned( boolean clustered ); @Override PartitionDatabaseMeta[] getPartitioningInformation(); @Override void setPartitioningInformation( PartitionDatabaseMeta[] clusterInfo ); @Override Properties getConnectionPoolingProperties(); @Override void setConnectionPoolingProperties( Properties properties ); @Override String getSQLTableExists( String tablename ); @Override String getSQLColumnExists( String columnname, String tablename ); @Override boolean needsToLockAllTables(); @Override boolean isStreamingResults(); @Override void setStreamingResults( boolean useStreaming ); @Override boolean isQuoteAllFields(); @Override void setQuoteAllFields( boolean quoteAllFields ); @Override boolean isForcingIdentifiersToLowerCase(); @Override void setForcingIdentifiersToLowerCase( boolean forceLowerCase ); @Override boolean isForcingIdentifiersToUpperCase(); @Override void setForcingIdentifiersToUpperCase( boolean forceUpperCase ); @Override boolean isUsingDoubleDecimalAsSchemaTableSeparator(); @Override void setUsingDoubleDecimalAsSchemaTableSeparator( boolean useDoubleDecimalSeparator ); @Override boolean isRequiringTransactionsOnQueries(); @Override String getDatabaseFactoryName(); @Override String getPreferredSchemaName(); @Override void setPreferredSchemaName( String preferredSchemaName ); @Override boolean checkIndexExists( Database database, String schemaName, String tableName, String[] idx_fields ); @Override boolean supportsSequenceNoMaxValueOption(); @Override boolean requiresCreateTablePrimaryKeyAppend(); @Override boolean requiresCastToVariousForIsNull(); @Override boolean isDisplaySizeTwiceThePrecision(); @Override boolean supportsPreparedStatementMetadataRetrieval(); @Override boolean supportsResultSetMetadataRetrievalOnly(); @Override boolean isSystemTable( String tableName ); @Override boolean supportsNewLinesInSQL(); @Override String getSQLListOfSchemas(); @Override int getMaxColumnsInIndex(); @Override boolean supportsErrorHandlingOnBatchUpdates(); @Override String getSQLInsertAutoIncUnknownDimensionRow( String schemaTable, String keyField, String versionField ); @Override boolean isExplorable(); @Override String getXulOverlayFile(); @Override String quoteSQLString( String string ); @Override String getSelectCountStatement( String tableName ); @Override String generateColumnAlias( int columnIndex, String suggestedName ); @Override List<String> parseStatements( String sqlScript ); @Override List<SqlScriptStatement> getSqlScriptStatements( String sqlScript ); @Override boolean isMySQLVariant(); boolean canTest(); boolean requiresName(); @Override boolean releaseSavepoint(); Long getNextBatchIdUsingSequence( String sequenceName, String schemaName, DatabaseMeta dbm, Database ldb ); Long getNextBatchIdUsingAutoIncSQL( String autoIncSQL, DatabaseMeta dbm, Database ldb ); Long getNextBatchIdUsingLockTables( DatabaseMeta dbm, Database ldb, String schemaName, String tableName,
    String fieldName ); @Override Long getNextBatchId( DatabaseMeta dbm, Database ldb,
    String schemaName, String tableName, String fieldName ); @Override String getDataTablespaceDDL( VariableSpace variables, DatabaseMeta databaseMeta ); @Override String getIndexTablespaceDDL( VariableSpace variables, DatabaseMeta databaseMeta ); String getTablespaceDDL( VariableSpace variables, DatabaseMeta databaseMeta, String tablespaceName ); @Override Object getValueFromResultSet( ResultSet rs, ValueMetaInterface val, int i ); @Override boolean useSafePoints(); @Override boolean supportsErrorHandling(); @Override String getSQLValue( ValueMetaInterface valueMeta, Object valueData, String dateFormat ); @Override String getSafeFieldname( String fieldname ); @Override String getSequenceNoMaxValueOption(); @Override boolean supportsAutoGeneratedKeys(); @Override ValueMetaInterface customizeValueFromSQLType( ValueMetaInterface v, java.sql.ResultSetMetaData rm, int index ); @Override String getCreateTableStatement(); @Override String getDropTableIfExistsStatement( String tableName ); @Override boolean fullExceptionLog( Exception e ); @Override void addDefaultOptions(); }
BaseDatabaseMeta implements Cloneable, DatabaseInterfaceExtended { @Override public List<SqlScriptStatement> getSqlScriptStatements( String sqlScript ) { List<SqlScriptStatement> statements = new ArrayList<SqlScriptStatement>(); String all = sqlScript; int from = 0; int to = 0; int length = all.length(); while ( to < length ) { char c = all.charAt( to ); while ( all.substring( from ).startsWith( "--" ) ) { int nextLineIndex = all.indexOf( Const.CR, from ); from = nextLineIndex + Const.CR.length(); if ( to >= length ) { break; } c = all.charAt( c ); } if ( to >= length ) { break; } if ( c == '"' ) { int nextDQuoteIndex = all.indexOf( '"', to + 1 ); if ( nextDQuoteIndex >= 0 ) { to = nextDQuoteIndex + 1; } } if ( c == '`' ) { int nextBacktickIndex = all.indexOf( '`', to + 1 ); if ( nextBacktickIndex >= 0 ) { to = nextBacktickIndex + 1; } } c = all.charAt( to ); if ( c == '\'' ) { boolean skip = true; if ( to > 0 ) { char prevChar = all.charAt( to - 1 ); if ( prevChar == '\\' || prevChar == '\'' ) { skip = false; } } while ( skip ) { int nextQuoteIndex = all.indexOf( '\'', to + 1 ); if ( nextQuoteIndex >= 0 ) { to = nextQuoteIndex + 1; skip = false; if ( to < all.length() ) { char nextChar = all.charAt( to ); if ( nextChar == '\'' ) { skip = true; to++; } } if ( to > 0 ) { char prevChar = all.charAt( to - 2 ); if ( prevChar == '\\' ) { skip = true; to++; } } } } } c = all.charAt( to ); if ( c == ';' || to >= length - 1 ) { if ( to >= length - 1 ) { to++; } String stat = all.substring( from, to ); if ( !onlySpaces( stat ) ) { String s = Const.trim( stat ); statements.add( new SqlScriptStatement( s, from, to, s.toUpperCase().startsWith( "SELECT" ) || s.toLowerCase().startsWith( "show" ) ) ); } to++; from = to; } else { to++; } } return statements; } BaseDatabaseMeta(); @Override String getPluginId(); @Override void setPluginId( String pluginId ); @Override String getPluginName(); @Override void setPluginName( String pluginName ); @Override abstract int[] getAccessTypeList(); @Override int getAccessType(); @Override void setAccessType( int accessType ); @Override boolean isChanged(); @Override void setChanged( boolean changed ); @Override String getName(); @Override void setName( String name ); String getDisplayName(); void setDisplayName( String displayName ); @Override String getDatabaseName(); @Override void setDatabaseName( String databaseName ); @Override void setDatabasePortNumberString( String databasePortNumberString ); @Override String getDatabasePortNumberString(); @Override String getHostname(); @Override void setHostname( String hostname ); @Override ObjectId getObjectId(); @Override void setObjectId( ObjectId id ); @Override String getPassword(); @Override void setPassword( String password ); @Override String getServername(); @Override void setServername( String servername ); @Override String getDataTablespace(); @Override void setDataTablespace( String dataTablespace ); @Override String getIndexTablespace(); @Override void setIndexTablespace( String indexTablespace ); @Override String getUsername(); @Override void setUsername( String username ); @Override Properties getAttributes(); @Override void setAttributes( Properties attributes ); @Override Object clone(); @Override int getDefaultDatabasePort(); @Override Map<String, String> getDefaultOptions(); @Override boolean supportsSetCharacterStream(); @Override boolean supportsAutoInc(); @Override String getLimitClause( int nrRows ); @Override int getNotFoundTK( boolean use_autoinc ); @Override String getSQLNextSequenceValue( String sequenceName ); @Override String getSQLCurrentSequenceValue( String sequenceName ); @Override String getSQLSequenceExists( String sequenceName ); @Override boolean isFetchSizeSupported(); @Override boolean needsPlaceHolder(); @Override boolean supportsSchemas(); @Override boolean supportsCatalogs(); @Override boolean supportsEmptyTransactions(); @Override String getFunctionSum(); @Override String getFunctionAverage(); @Override String getFunctionMinimum(); @Override String getFunctionMaximum(); @Override String getFunctionCount(); @Override String getSchemaTableCombination( String schema_name, String table_part ); @Deprecated String getBackwardsCompatibleSchemaTableCombination( String schemaPart, String tablePart ); @Deprecated String getBackwardsCompatibleTable( String tablePart ); @Override int getMaxTextFieldLength(); @Override int getMaxVARCHARLength(); @Override boolean supportsTransactions(); @Override boolean supportsSequences(); @Override boolean supportsBitmapIndex(); @Override boolean supportsSetLong(); @Override String getDropColumnStatement( String tablename, ValueMetaInterface v, String tk, boolean use_autoinc,
    String pk, boolean semicolon ); @Override String[] getReservedWords(); @Override boolean quoteReservedWords(); @Override String getStartQuote(); @Override String getEndQuote(); @Override boolean supportsRepository(); @Override String[] getTableTypes(); @Override String[] getViewTypes(); @Override String[] getSynonymTypes(); @Override boolean useSchemaNameForTableList(); @Override boolean supportsViews(); @Override boolean supportsSynonyms(); @Override String getSQLListOfProcedures(); @Override String getSQLListOfSequences(); @Override String getTruncateTableStatement( String tableName ); @Override String getSQLQueryFields( String tableName ); @Override boolean supportsFloatRoundingOnUpdate(); @Override String getSQLLockTables( String[] tableNames ); @Override String getSQLUnlockTables( String[] tableNames ); @Override boolean supportsTimeStampToDateConversion(); @Override boolean supportsBatchUpdates(); @Override boolean supportsBooleanDataType(); @Override void setSupportsBooleanDataType( boolean b ); @Override boolean supportsTimestampDataType(); @Override void setSupportsTimestampDataType( boolean b ); @Override boolean preserveReservedCase(); @Override void setPreserveReservedCase( boolean b ); @Override boolean isDefaultingToUppercase(); @Override Map<String, String> getExtraOptions(); @Override void addExtraOption( String databaseTypeCode, String option, String value ); @Override String getExtraOptionSeparator(); @Override String getExtraOptionValueSeparator(); @Override String getExtraOptionIndicator(); @Override boolean supportsOptionsInURL(); @Override String getExtraOptionsHelpText(); @Override boolean supportsGetBlob(); @Override String getConnectSQL(); @Override void setConnectSQL( String sql ); @Override boolean supportsSetMaxRows(); @Override boolean isUsingConnectionPool(); @Override void setUsingConnectionPool( boolean usePool ); @Override int getMaximumPoolSize(); @Override void setMaximumPoolSize( int maximumPoolSize ); @Override int getInitialPoolSize(); @Override void setInitialPoolSize( int initialPoolSize ); @Override boolean isPartitioned(); @Override void setPartitioned( boolean clustered ); @Override PartitionDatabaseMeta[] getPartitioningInformation(); @Override void setPartitioningInformation( PartitionDatabaseMeta[] clusterInfo ); @Override Properties getConnectionPoolingProperties(); @Override void setConnectionPoolingProperties( Properties properties ); @Override String getSQLTableExists( String tablename ); @Override String getSQLColumnExists( String columnname, String tablename ); @Override boolean needsToLockAllTables(); @Override boolean isStreamingResults(); @Override void setStreamingResults( boolean useStreaming ); @Override boolean isQuoteAllFields(); @Override void setQuoteAllFields( boolean quoteAllFields ); @Override boolean isForcingIdentifiersToLowerCase(); @Override void setForcingIdentifiersToLowerCase( boolean forceLowerCase ); @Override boolean isForcingIdentifiersToUpperCase(); @Override void setForcingIdentifiersToUpperCase( boolean forceUpperCase ); @Override boolean isUsingDoubleDecimalAsSchemaTableSeparator(); @Override void setUsingDoubleDecimalAsSchemaTableSeparator( boolean useDoubleDecimalSeparator ); @Override boolean isRequiringTransactionsOnQueries(); @Override String getDatabaseFactoryName(); @Override String getPreferredSchemaName(); @Override void setPreferredSchemaName( String preferredSchemaName ); @Override boolean checkIndexExists( Database database, String schemaName, String tableName, String[] idx_fields ); @Override boolean supportsSequenceNoMaxValueOption(); @Override boolean requiresCreateTablePrimaryKeyAppend(); @Override boolean requiresCastToVariousForIsNull(); @Override boolean isDisplaySizeTwiceThePrecision(); @Override boolean supportsPreparedStatementMetadataRetrieval(); @Override boolean supportsResultSetMetadataRetrievalOnly(); @Override boolean isSystemTable( String tableName ); @Override boolean supportsNewLinesInSQL(); @Override String getSQLListOfSchemas(); @Override int getMaxColumnsInIndex(); @Override boolean supportsErrorHandlingOnBatchUpdates(); @Override String getSQLInsertAutoIncUnknownDimensionRow( String schemaTable, String keyField, String versionField ); @Override boolean isExplorable(); @Override String getXulOverlayFile(); @Override String quoteSQLString( String string ); @Override String getSelectCountStatement( String tableName ); @Override String generateColumnAlias( int columnIndex, String suggestedName ); @Override List<String> parseStatements( String sqlScript ); @Override List<SqlScriptStatement> getSqlScriptStatements( String sqlScript ); @Override boolean isMySQLVariant(); boolean canTest(); boolean requiresName(); @Override boolean releaseSavepoint(); Long getNextBatchIdUsingSequence( String sequenceName, String schemaName, DatabaseMeta dbm, Database ldb ); Long getNextBatchIdUsingAutoIncSQL( String autoIncSQL, DatabaseMeta dbm, Database ldb ); Long getNextBatchIdUsingLockTables( DatabaseMeta dbm, Database ldb, String schemaName, String tableName,
    String fieldName ); @Override Long getNextBatchId( DatabaseMeta dbm, Database ldb,
    String schemaName, String tableName, String fieldName ); @Override String getDataTablespaceDDL( VariableSpace variables, DatabaseMeta databaseMeta ); @Override String getIndexTablespaceDDL( VariableSpace variables, DatabaseMeta databaseMeta ); String getTablespaceDDL( VariableSpace variables, DatabaseMeta databaseMeta, String tablespaceName ); @Override Object getValueFromResultSet( ResultSet rs, ValueMetaInterface val, int i ); @Override boolean useSafePoints(); @Override boolean supportsErrorHandling(); @Override String getSQLValue( ValueMetaInterface valueMeta, Object valueData, String dateFormat ); @Override String getSafeFieldname( String fieldname ); @Override String getSequenceNoMaxValueOption(); @Override boolean supportsAutoGeneratedKeys(); @Override ValueMetaInterface customizeValueFromSQLType( ValueMetaInterface v, java.sql.ResultSetMetaData rm, int index ); @Override String getCreateTableStatement(); @Override String getDropTableIfExistsStatement( String tableName ); @Override boolean fullExceptionLog( Exception e ); @Override void addDefaultOptions(); static final String ATTRIBUTE_PORT_NUMBER; static final String ATTRIBUTE_SQL_CONNECT; static final String ATTRIBUTE_USE_POOLING; static final String ATTRIBUTE_MAXIMUM_POOL_SIZE; static final String ATTRIBUTE_INITIAL_POOL_SIZE; static final String ATTRIBUTE_PREFIX_EXTRA_OPTION; static final String ATTRIBUTE_IS_CLUSTERED; static final String ATTRIBUTE_CLUSTER_HOSTNAME_PREFIX; static final String ATTRIBUTE_CLUSTER_PORT_PREFIX; static final String ATTRIBUTE_CLUSTER_DBNAME_PREFIX; static final String ATTRIBUTE_CLUSTER_USERNAME_PREFIX; static final String ATTRIBUTE_CLUSTER_PASSWORD_PREFIX; static final String ATTRIBUTE_POOLING_PARAMETER_PREFIX; static final String ATTRIBUTE_USE_RESULT_STREAMING; static final String ATTRIBUTE_MSSQL_DOUBLE_DECIMAL_SEPARATOR; static final String ATTRIBUTE_QUOTE_ALL_FIELDS; static final String ATTRIBUTE_FORCE_IDENTIFIERS_TO_LOWERCASE; static final String ATTRIBUTE_FORCE_IDENTIFIERS_TO_UPPERCASE; static final String ATTRIBUTE_PREFERRED_SCHEMA_NAME; static final String ATTRIBUTE_SUPPORTS_BOOLEAN_DATA_TYPE; static final String ATTRIBUTE_SUPPORTS_TIMESTAMP_DATA_TYPE; static final String ATTRIBUTE_PRESERVE_RESERVED_WORD_CASE; static final String SEQUENCE_FOR_BATCH_ID; static final String AUTOINCREMENT_SQL_FOR_BATCH_ID; static final String SELECT_COUNT_STATEMENT; static final DatabaseConnectionPoolParameter[] poolingParameters; }