[teiid-commits] teiid SVN: r4050 - trunk/client/src/main/java/org/teiid/jdbc.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Wed May 2 13:05:08 EDT 2012
Author: shawkins
Date: 2012-05-02 13:05:07 -0400 (Wed, 02 May 2012)
New Revision: 4050
Modified:
trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java
trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java
Log:
TEIID-2023 fix for prepared metadata
Modified: trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java 2012-05-02 17:00:12 UTC (rev 4049)
+++ trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java 2012-05-02 17:05:07 UTC (rev 4050)
@@ -261,12 +261,16 @@
private MetadataResult getMetadataResults() throws TeiidSQLException {
if (metadataResults == null) {
- try {
- metadataResults = this.getDQP().getMetadata(this.currentRequestID, prepareSql, Boolean.valueOf(getExecutionProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS)).booleanValue());
- } catch (TeiidComponentException e) {
- throw TeiidSQLException.create(e);
- } catch (TeiidProcessingException e) {
- throw TeiidSQLException.create(e);
+ if (StatementImpl.SET_STATEMENT.matcher(prepareSql).matches() || StatementImpl.TRANSACTION_STATEMENT.matcher(prepareSql).matches() || StatementImpl.SHOW_STATEMENT.matcher(prepareSql).matches()) {
+ metadataResults = new MetadataResult();
+ } else {
+ try {
+ metadataResults = this.getDQP().getMetadata(this.currentRequestID, prepareSql, Boolean.valueOf(getExecutionProperty(ExecutionProperties.ANSI_QUOTED_IDENTIFIERS)).booleanValue());
+ } catch (TeiidComponentException e) {
+ throw TeiidSQLException.create(e);
+ } catch (TeiidProcessingException e) {
+ throw TeiidSQLException.create(e);
+ }
}
}
return metadataResults;
Modified: trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2012-05-02 17:00:12 UTC (rev 4049)
+++ trunk/client/src/main/java/org/teiid/jdbc/StatementImpl.java 2012-05-02 17:05:07 UTC (rev 4050)
@@ -155,9 +155,9 @@
protected Map<Integer, Integer> outParamIndexMap = new HashMap<Integer, Integer>();
protected Map<String, Integer> outParamByName = new TreeMap<String, Integer>(String.CASE_INSENSITIVE_ORDER);
- private static Pattern TRANSACTION_STATEMENT = Pattern.compile("\\s*(commit|rollback|(start\\s+transaction))\\s*;?", Pattern.CASE_INSENSITIVE); //$NON-NLS-1$
- private static Pattern SET_STATEMENT = Pattern.compile("\\s*set(?:\\s+(payload))?\\s+((?:session authorization)|(?:[a-zA-Z]\\w*))\\s+(?:([a-zA-Z]\\w*)|((?:'[^']*')+));?", Pattern.CASE_INSENSITIVE); //$NON-NLS-1$
- private static Pattern SHOW_STATEMENT = Pattern.compile("\\s*show\\s+([a-zA-Z]\\w*);?", Pattern.CASE_INSENSITIVE); //$NON-NLS-1$
+ static Pattern TRANSACTION_STATEMENT = Pattern.compile("\\s*(commit|rollback|(start\\s+transaction))\\s*;?", Pattern.CASE_INSENSITIVE); //$NON-NLS-1$
+ static Pattern SET_STATEMENT = Pattern.compile("\\s*set(?:\\s+(payload))?\\s+((?:session authorization)|(?:[a-zA-Z]\\w*))\\s+(?:([a-zA-Z]\\w*)|((?:'[^']*')+));?", Pattern.CASE_INSENSITIVE); //$NON-NLS-1$
+ static Pattern SHOW_STATEMENT = Pattern.compile("\\s*show\\s+([a-zA-Z]\\w*);?", Pattern.CASE_INSENSITIVE); //$NON-NLS-1$
/**
* Factory Constructor
* @param driverConnection
More information about the teiid-commits
mailing list