Package com.spotfire.ws.im.ds.sql
Interface SQLFilter
-
- All Known Implementing Classes:
BasicSQLFilter
public interface SQLFilter
This interface should be used when full control over the SQL syntax is required. An implementation of this class can be specified in a data source template.
- Since:
- 3.0
- Author:
- Magnus Rylander
- See Also:
JDBCContext
,JDBCTypeSettings
,BasicSQLFilter
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
formatCatalogName(String name)
Formats a catalog name.String
formatColumn(String column, String tableAlias)
Formats a column expression used in a SELECT, WHERE, GROUP BY or HAVING clause.String
formatColumnAlias(String name)
Formats a column alias to be used in a SELECT clause.String
formatColumnList(String[] columns, String[] types)
Returns SQL for a list column list in a CREATE TABLE statement.String
formatColumnName(String name)
Formats a column name.String
formatConditionExpression(String expr, Class type)
Formats a condition expression to be used in a WHERE clause.String[]
formatCreateTableSQL(String table, String[] columns, String[] types)
Returns SQL for creating a temporary table.String[]
formatDropTableSQL(String table)
Returns SQL for dropping a temporary table.String
formatHints(String query, String[] hints)
Formats an SQL query to include hints.String
formatInsertValuesSQL(String table, String[] values)
Return the SQL for inserting a row into a temporary table.String
formatLiteral(String literal, Class type)
String
formatProcedure(String catalog, String schema, String procedure)
Returns the SQL for a procedure expression in a FROM clause.String
formatQuery(String query, List preCommands, List postCommands)
Formats an SQL query.String
formatSchemaName(String name)
Formats a schema name.String
formatTable(String catalog, String schema, String table)
Returns the SQL for a table expression in a FROM clause.String
formatTableName(String name)
Formats a table name.String
formatTempTableName(String name)
Formats a temporary table name.JDBCContext
getContext()
Returns theJDBCContext
.String
getSQLAggregateFuntion(String datAggregateFuntion)
String
getSQLType(Class type, int length)
Returns the SQL type for a given Java type.void
setContext(JDBCContext context)
Sets theJDBCContext
.
-
-
-
Method Detail
-
setContext
void setContext(JDBCContext context)
Sets theJDBCContext
.- Parameters:
context
- aJDBCContext
instance- Since:
- 3.0
-
getContext
JDBCContext getContext()
Returns theJDBCContext
.- Returns:
- a
JDBCContext
instance - Since:
- 3.0
-
formatCreateTableSQL
String[] formatCreateTableSQL(String table, String[] columns, String[] types)
Returns SQL for creating a temporary table.- Parameters:
table
- a table namecolumns
- a list of column namestypes
- a list of column types- Returns:
- a list of SQL commands
- Since:
- 3.0
- See Also:
formatColumnList(java.lang.String[], java.lang.String[])
-
formatDropTableSQL
String[] formatDropTableSQL(String table)
Returns SQL for dropping a temporary table.- Parameters:
table
- a table name- Returns:
- a list of SQL commands
- Since:
- 3.0
-
formatInsertValuesSQL
String formatInsertValuesSQL(String table, String[] values)
Return the SQL for inserting a row into a temporary table.- Parameters:
table
- a table namevalues
- a list of values, may be?
for a prepared statement- Returns:
- an SQL command
- Since:
- 3.0
-
formatColumnList
String formatColumnList(String[] columns, String[] types)
Returns SQL for a list column list in a CREATE TABLE statement.- Parameters:
columns
- a list of column namestypes
- a list of column types- Returns:
- an SQL column list
- Since:
- 3.0
- See Also:
formatCreateTableSQL(java.lang.String, java.lang.String[], java.lang.String[])
-
getSQLType
String getSQLType(Class type, int length)
Returns the SQL type for a given Java type.- Parameters:
type
- a Java typelength
- the length whentype
isString
- Returns:
- an SQL type
- Since:
- 3.0
- See Also:
JDBCTypeSettings.getSQLType(java.lang.Class)
-
getSQLAggregateFuntion
String getSQLAggregateFuntion(String datAggregateFuntion)
- Parameters:
datAggregateFuntion
- datAggregateFunction- Returns:
- Returns the SQL aggregate function that maps to the given DAT aggregate function, or null if no mapping exists.
- Since:
- 3.0
-
formatTable
String formatTable(String catalog, String schema, String table)
Returns the SQL for a table expression in a FROM clause.- Parameters:
catalog
- a catalog name, may benull
schema
- a schema name, may benull
table
- a table name- Returns:
- an SQL table expression
- Since:
- 3.0
- See Also:
formatCatalogName(java.lang.String)
,formatSchemaName(java.lang.String)
,formatTableName(java.lang.String)
-
formatProcedure
String formatProcedure(String catalog, String schema, String procedure)
Returns the SQL for a procedure expression in a FROM clause.- Parameters:
catalog
- a catalog name, may benull
schema
- a schema name, may benull
procedure
- a procedure name- Returns:
- an SQL procedure expression
- Since:
- 3.0
- See Also:
formatCatalogName(java.lang.String)
,formatSchemaName(java.lang.String)
-
formatColumn
String formatColumn(String column, String tableAlias)
Formats a column expression used in a SELECT, WHERE, GROUP BY or HAVING clause.- Parameters:
column
- a column nametableAlias
- a table alias- Returns:
- an SQL column expression
- Since:
- 3.0
- See Also:
formatColumnName(java.lang.String)
-
formatColumnName
String formatColumnName(String name)
Formats a column name.- Parameters:
name
- a column name- Returns:
- an SQL column name
- Since:
- 3.0
- See Also:
JDBCTypeSettings.getColumnNamePattern()
-
formatTableName
String formatTableName(String name)
Formats a table name.- Parameters:
name
- a table name- Returns:
- an SQL table name
- Since:
- 3.0
- See Also:
JDBCTypeSettings.getTableNamePattern()
-
formatTempTableName
String formatTempTableName(String name)
Formats a temporary table name.- Parameters:
name
- a table name- Returns:
- an SQL table name
- Since:
- 3.0
- See Also:
JDBCTypeSettings.getTempTableNamePattern()
-
formatSchemaName
String formatSchemaName(String name)
Formats a schema name.- Parameters:
name
- a schema name- Returns:
- an SQL schema name
- Since:
- 3.0
- See Also:
JDBCTypeSettings.getSchemaNamePattern()
-
formatCatalogName
String formatCatalogName(String name)
Formats a catalog name.- Parameters:
name
- a catalog name- Returns:
- an SQL catalog name
- Since:
- 3.0
- See Also:
JDBCTypeSettings.getCatalogNamePattern()
-
formatColumnAlias
String formatColumnAlias(String name)
Formats a column alias to be used in a SELECT clause.- Parameters:
name
- a column alias- Returns:
- an SQL column alias
- Since:
- 3.0
- See Also:
JDBCTypeSettings.getColumnAliasPattern()
-
formatLiteral
String formatLiteral(String literal, Class type)
- Parameters:
literal
- a literal expressiontype
- a column type- Returns:
- Formats a literal to be used in a WHERE clause.
- Since:
- 3.0
- See Also:
JDBCTypeSettings.getStringLiteralQuote()
-
formatConditionExpression
String formatConditionExpression(String expr, Class type)
Formats a condition expression to be used in a WHERE clause.- Parameters:
expr
- a condition expressiontype
- a column type- Returns:
- an SQL condition expression
- Since:
- 3.0
- See Also:
JDBCTypeSettings.getDateFormatExpression()
,JDBCTypeSettings.getTimeFormatExpression()
,JDBCTypeSettings.getDateTimeFormatExpression()
-
formatHints
String formatHints(String query, String[] hints)
Formats an SQL query to include hints.- Parameters:
query
- an SQL queryhints
- a list of hints- Returns:
- an SQL query
- Since:
- 3.0
-
formatQuery
String formatQuery(String query, List preCommands, List postCommands)
Formats an SQL query. This method is called as a the last step when building an SQL query.- Parameters:
query
- an SQL querypreCommands
- add to this list any commands to be executed before the querypostCommands
- add to this list any commands to be executed after the query- Returns:
- an SQL query
- Since:
- 3.0
-
-