| java.lang.Object org.apache.torque.util.SQLBuilder
SQLBuilder | final public class SQLBuilder (Code) | | Factored out code that is used to process SQL tables. This code comes
from BasePeer and is put here to reduce complexity in the BasePeer class.
You should not use the methods here directly!
author: Henning P. Schmiedehausen author: Thomas Fischer version: $Id: SQLBuilder.java 535596 2007-05-06 10:47:39Z tfischer $ |
Inner Class :public interface TableCallback | |
Inner Class :public interface QueryCallback | |
Method Summary | |
public static Query | buildQueryClause(Criteria crit, List params, QueryCallback qc) | public static boolean | fromClauseContainsTableName(UniqueList fromClause, String tableName) Checks if the Tablename tableName is already contained in a from clause.
If tableName and the tablenames in fromClause are generated by
getTablenameForFromClause(String, Criteria), (which they usually are),
then different aliases for the same table are treated
as different tables: E.g.
fromClauseContainsTableName(fromClause, "table_a a") returns false if
fromClause contains only another alias for table_a ,
e.g. | public static String | getFullTableName(String table, String dbName) Fully qualify a table name with an optional schema reference
Parameters: table - The table name to use. | public static String | getTableName(String name, String dbName) Returns a table name from an identifier. | public static String | getTableNameForFromClause(String tableName, Criteria criteria) Returns the tablename which can be added to a From Clause. | public static Set | getTableSet(Criteria crit, TableCallback tableCallback) Returns a set of all tables and possible aliases referenced
from a criterion. | public static String | getUnqualifiedTableName(String table) Remove a possible schema name from the table name. | public static void | throwMalformedColumnNameException(String criteriaPhrase, String columnName) Throws a TorqueException with the malformed column name error
message. |
COLUMN_CHARS | final public static String[] COLUMN_CHARS(Code) | | Function Characters
|
log | final protected static Log log(Code) | | Logging
|
buildQueryClause | public static Query buildQueryClause(Criteria crit, List params, QueryCallback qc) throws TorqueException(Code) | | Builds a Query clause for Updating and deleting
Parameters: crit - a Criteria value Parameters: params - a List value Parameters: qc - a QueryCallback value a Query value exception: TorqueException - if an error occurs |
fromClauseContainsTableName | public static boolean fromClauseContainsTableName(UniqueList fromClause, String tableName)(Code) | | Checks if the Tablename tableName is already contained in a from clause.
If tableName and the tablenames in fromClause are generated by
getTablenameForFromClause(String, Criteria), (which they usually are),
then different aliases for the same table are treated
as different tables: E.g.
fromClauseContainsTableName(fromClause, "table_a a") returns false if
fromClause contains only another alias for table_a ,
e.g. "table_a aa" and the unaliased tablename "table_a".
Special case: If tableName is null, true is returned.
Parameters: fromClause - a list containing only elements of type.Query.FromElement Parameters: tableName - the tablename to check if the Tablename tableName is already contained in a from clause.If tableName is null, true is returned. |
getFullTableName | public static String getFullTableName(String table, String dbName) throws TorqueException(Code) | | Fully qualify a table name with an optional schema reference
Parameters: table - The table name to use. If null is passed in, null is returned. Parameters: dbName - The name of the database to which this tables belongs.If null is passed, the default database is used. The table name to use inside the SQL statement. If null is passedinto this method, null is returned. exception: TorqueException - if an error occurs |
getTableName | public static String getTableName(String name, String dbName) throws TorqueException(Code) | | Returns a table name from an identifier. Each identifier is to be qualified
as [schema.]table.column. This could also contain FUNCTION([schema.]table.column).
Parameters: name - The (possible fully qualified) identifier name the fully qualified table name throws: TorqueException - If the identifier name was malformed |
getTableNameForFromClause | public static String getTableNameForFromClause(String tableName, Criteria criteria)(Code) | | Returns the tablename which can be added to a From Clause.
This takes care of any aliases that might be defined.
For example, if an alias "a" for the table AUTHOR is defined
in the Criteria criteria, getTableNameForFromClause("a", criteria)
returns "AUTHOR a".
Parameters: tableName - the name of a tableor the alias for a table Parameters: criteria - a criteria object to resolve a possible alias either the tablename itself if tableOrAliasName is not an alias,or a String of the form "tableName tableOrAliasName"if tableOrAliasName is an alias for a table name |
getTableSet | public static Set getTableSet(Criteria crit, TableCallback tableCallback)(Code) | | Returns a set of all tables and possible aliases referenced
from a criterion. The resulting Set can be directly used to
build a WHERE clause
Parameters: crit - A Criteria object Parameters: tableCallback - A Callback Object A Set of tables. |
getUnqualifiedTableName | public static String getUnqualifiedTableName(String table)(Code) | | Remove a possible schema name from the table name.
Parameters: table - The table name to use The table name with a possible schema namestripped off |
throwMalformedColumnNameException | public static void throwMalformedColumnNameException(String criteriaPhrase, String columnName) throws TorqueException(Code) | | Throws a TorqueException with the malformed column name error
message. The error message looks like this:
Malformed column name in Criteria [criteriaPhrase]:
'[columnName]' is not of the form 'table.column'
Parameters: criteriaPhrase - a String, one of "select", "join", or "order by" Parameters: columnName - a String containing the offending column name throws: TorqueException - Any exceptions caught during processing will berethrown wrapped into a TorqueException. |
|
|