|
From: <one...@us...> - 2002-10-31 14:00:31
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/helpers
In directory usw-pr-cvs1:/tmp/cvs-serv519/cirrus/hibernate/helpers
Modified Files:
StringHelper.java
Log Message:
support for SQL quoted identifiers
Index: StringHelper.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/helpers/StringHelper.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** StringHelper.java 28 Oct 2002 15:41:53 -0000 1.16
--- StringHelper.java 31 Oct 2002 14:00:28 -0000 1.17
***************
*** 4,7 ****
--- 4,9 ----
import java.util.*;
+ import cirrus.hibernate.sql.Dialect;
+
public final class StringHelper {
***************
*** 88,96 ****
String[] qualified = new String[columns.length];
for ( int i=0; i<columns.length; i++ ) {
! qualified[i] = columns[i] + suffix;
}
return qualified;
}
public static String[] prefix( String[] columns, String prefix) {
if (prefix==null) return columns;
--- 90,109 ----
String[] qualified = new String[columns.length];
for ( int i=0; i<columns.length; i++ ) {
! qualified[i] = suffix( columns[i], suffix);
}
return qualified;
}
+ public static String suffix(String table, String suffix) {
+ if (suffix==null) return table;
+ char quote = table.charAt(0);
+ if ( Dialect.QUOTE.indexOf(quote) > -1 ) {
+ return table.substring( 0, table.length()-1 ) + suffix + quote;
+ }
+ else {
+ return table + suffix;
+ }
+ }
+
public static String[] prefix( String[] columns, String prefix) {
if (prefix==null) return columns;
***************
*** 140,142 ****
--- 153,170 ----
}
+ public static String unQuote(String name) {
+ return ( Dialect.QUOTE.indexOf( name.charAt(0) ) > -1 ) ?
+ name.substring(1, name.length()-1) :
+ name;
+ }
+
+ public static void unQuoteInPlace(String[] names) {
+ for ( int i=0; i<names.length; i++ ) names[i] = unQuote( names[i] );
+ }
+ public static String[] unQuote(String[] names) {
+ String[] unquoted = new String[ names.length ];
+ for ( int i=0; i<names.length; i++ ) unquoted[i] = unQuote( names[i] );
+ return unquoted;
+ }
+
}
|