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; + } + } |