From: brian z. <bz...@us...> - 2001-12-21 21:00:59
|
Update of /cvsroot/jython/jython/com/ziclix/python/sql In directory usw-pr-cvs1:/tmp/cvs-serv28746/com/ziclix/python/sql Modified Files: PyExtendedCursor.java Log Message: auto determine metadata name case Index: PyExtendedCursor.java =================================================================== RCS file: /cvsroot/jython/jython/com/ziclix/python/sql/PyExtendedCursor.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** PyExtendedCursor.java 2001/12/17 03:44:42 1.6 --- PyExtendedCursor.java 2001/12/21 21:00:56 1.7 *************** *** 152,158 **** clear(); ! String q = datahandler.getMetaDataName(qualifier); ! String o = datahandler.getMetaDataName(owner); ! String t = datahandler.getMetaDataName(table); String[] y = null; --- 152,158 ---- clear(); ! String q = getMetaDataName(qualifier); ! String o = getMetaDataName(owner); ! String t = getMetaDataName(table); String[] y = null; *************** *** 164,172 **** for (int i = 0; i < len; i++) { ! y[i] = datahandler.getMetaDataName(type.__getitem__(i)); } } else { y = new String[1]; ! y[0] = datahandler.getMetaDataName(type); } } --- 164,172 ---- for (int i = 0; i < len; i++) { ! y[i] = getMetaDataName(type.__getitem__(i)); } } else { y = new String[1]; ! y[0] = getMetaDataName(type); } } *************** *** 191,198 **** clear(); ! String q = datahandler.getMetaDataName(qualifier); ! String o = datahandler.getMetaDataName(owner); ! String t = datahandler.getMetaDataName(table); ! String c = datahandler.getMetaDataName(column); try { --- 191,198 ---- clear(); ! String q = getMetaDataName(qualifier); ! String o = getMetaDataName(owner); ! String t = getMetaDataName(table); ! String c = getMetaDataName(column); try { *************** *** 214,220 **** clear(); ! String q = datahandler.getMetaDataName(qualifier); ! String o = datahandler.getMetaDataName(owner); ! String p = datahandler.getMetaDataName(procedure); try { --- 214,220 ---- clear(); ! String q = getMetaDataName(qualifier); ! String o = getMetaDataName(owner); ! String p = getMetaDataName(procedure); try { *************** *** 237,244 **** clear(); ! String q = datahandler.getMetaDataName(qualifier); ! String o = datahandler.getMetaDataName(owner); ! String p = datahandler.getMetaDataName(procedure); ! String c = datahandler.getMetaDataName(column); try { --- 237,244 ---- clear(); ! String q = getMetaDataName(qualifier); ! String o = getMetaDataName(owner); ! String p = getMetaDataName(procedure); ! String c = getMetaDataName(column); try { *************** *** 261,267 **** clear(); ! String q = datahandler.getMetaDataName(qualifier); ! String o = datahandler.getMetaDataName(owner); ! String t = datahandler.getMetaDataName(table); try { --- 261,267 ---- clear(); ! String q = getMetaDataName(qualifier); ! String o = getMetaDataName(owner); ! String t = getMetaDataName(table); try { *************** *** 291,300 **** clear(); ! String pq = datahandler.getMetaDataName(primaryQualifier); ! String po = datahandler.getMetaDataName(primaryOwner); ! String pt = datahandler.getMetaDataName(primaryTable); ! String fq = datahandler.getMetaDataName(foreignQualifier); ! String fo = datahandler.getMetaDataName(foreignOwner); ! String ft = datahandler.getMetaDataName(foreignTable); try { --- 291,300 ---- clear(); ! String pq = getMetaDataName(primaryQualifier); ! String po = getMetaDataName(primaryOwner); ! String pt = getMetaDataName(primaryTable); ! String fq = getMetaDataName(foreignQualifier); ! String fo = getMetaDataName(foreignOwner); ! String ft = getMetaDataName(foreignTable); try { *************** *** 323,329 **** skipCols.add(new Integer(12)); ! String q = datahandler.getMetaDataName(qualifier); ! String o = datahandler.getMetaDataName(owner); ! String t = datahandler.getMetaDataName(table); boolean u = unique.__nonzero__(); boolean a = accuracy.__nonzero__(); --- 323,329 ---- skipCols.add(new Integer(12)); ! String q = getMetaDataName(qualifier); ! String o = getMetaDataName(owner); ! String t = getMetaDataName(table); boolean u = unique.__nonzero__(); boolean a = accuracy.__nonzero__(); *************** *** 397,403 **** clear(); ! String c = datahandler.getMetaDataName(qualifier); ! String s = datahandler.getMetaDataName(owner); ! String t = datahandler.getMetaDataName(table); int p = DatabaseMetaData.bestRowUnknown; // scope boolean n = true; // nullable --- 397,403 ---- clear(); ! String c = getMetaDataName(qualifier); ! String s = getMetaDataName(owner); ! String t = getMetaDataName(table); int p = DatabaseMetaData.bestRowUnknown; // scope boolean n = true; // nullable *************** *** 422,428 **** clear(); ! String q = datahandler.getMetaDataName(qualifier); ! String o = datahandler.getMetaDataName(owner); ! String t = datahandler.getMetaDataName(table); try { --- 422,428 ---- clear(); ! String q = getMetaDataName(qualifier); ! String o = getMetaDataName(owner); ! String t = getMetaDataName(table); try { *************** *** 431,434 **** --- 431,463 ---- throw zxJDBC.newError(e); } + } + + /** + * Method getMetaDataName + * + * @param PyObject name + * + * @return String + * + */ + protected String getMetaDataName(PyObject name) { + + if (name == Py.None) { + return null; + } + + String string = name.__str__().toString(); + + // see if the driver can help us + try { + if (connection.connection.getMetaData().storesLowerCaseIdentifiers()) { + return string.toLowerCase(); + } else if (connection.connection.getMetaData().storesUpperCaseIdentifiers()) { + return string.toUpperCase(); + } + } catch (SQLException e) {} + + // well we don't know yet so give it to the datahandler + return datahandler.getMetaDataName(name); } } |