tfischer2005/02/18 02:04:38
Modified:src/java/org/apache/torque/util SQLBuilder.java
Criteria.java
Log:
allow dots in autogenerated table names
This is a first step towards support of fully qualified table names (table
name=schema_name.table_name ... ) in the generator.
I did not notice any further problems with such table names in the runtime.
The generator still produces invalid java names, but this can be overridden
via the javaName attribute of the table tag.
Revision ChangesPath
1.3 +6 -9 db-torque/src/java/org/apache/torque/util/SQLBuilder.java
Index: SQLBuilder.java
===
RCS file:
/home/cvs/db-torque/src/java/org/apache/torque/util/SQLBuilder.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SQLBuilder.java 31 Jan 2005 19:43:52 - 1.2
+++ SQLBuilder.java 18 Feb 2005 10:04:37 - 1.3
@@ -470,17 +470,16 @@
for (int i = 0; i orderBy.size(); i++)
{
String orderByColumn = (String) orderBy.get(i);
-if (orderByColumn.indexOf('.') == -1)
+int dotPos = orderByColumn.lastIndexOf('.');
+if (dotPos == -1)
{
throwMalformedColumnNameException(
order by,
orderByColumn);
}
-//String table =
-//orderByColumn.substring(0,
orderByColumn.lastIndexOf('.'));
String tableName =
-orderByColumn.substring(0,
orderByColumn.indexOf('.'));
+orderByColumn.substring(0, dotPos);
String table = crit.getTableForAlias(tableName);
if (table == null)
{
@@ -494,13 +493,11 @@
if (spacePos == -1)
{
columnName =
-
orderByColumn.substring(orderByColumn.indexOf('.') + 1);
+orderByColumn.substring(dotPos + 1);
}
else
{
-columnName = orderByColumn.substring(
-orderByColumn.indexOf('.') + 1,
-spacePos);
+columnName = orderByColumn.substring(dotPos + 1,
spacePos);
}
ColumnMap column =
dbMap.getTable(table).getColumn(columnName);
if (column.getType() instanceof String)
1.46 +2 -2 db-torque/src/java/org/apache/torque/util/Criteria.java
Index: Criteria.java
===
RCS file: /home/cvs/db-torque/src/java/org/apache/torque/util/Criteria.java,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -r1.45 -r1.46
--- Criteria.java 31 Jan 2005 19:43:52 - 1.45
+++ Criteria.java 18 Feb 2005 10:04:37 - 1.46
@@ -3070,7 +3070,7 @@
Criterion(String tableColumn, Object val, SqlEnum comp)
{
this(val, comp);
-int dot = tableColumn.indexOf('.');
+int dot = tableColumn.lastIndexOf('.');
if (dot == -1)
{
table = ;
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]