diff options
-rw-r--r-- | pom.xml | 5 | ||||
-rw-r--r-- | src/changes/changes.xml | 6 | ||||
-rw-r--r-- | src/java/com/healthmarketscience/jackcess/impl/query/QueryFormat.java | 3 | ||||
-rw-r--r-- | src/java/com/healthmarketscience/jackcess/impl/query/QueryImpl.java | 6 |
4 files changed, 18 insertions, 2 deletions
@@ -242,6 +242,11 @@ <plugins> <plugin> <artifactId>maven-changes-plugin</artifactId> + <configuration> + <issueLinkTemplatePerSystem> + <SourceForge2Features>http://sourceforge.net/p/jackcess/feature-requests/%ISSUE%</SourceForge2Features> + </issueLinkTemplatePerSystem> + </configuration> <reportSets> <reportSet> <reports> diff --git a/src/changes/changes.xml b/src/changes/changes.xml index e4887ca..5f6d758 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -4,6 +4,12 @@ <author email="javajedi@users.sf.net">Tim McCune</author> </properties> <body> + <release version="1.2.14.1" date="TBD"> + <action dev="jahlborn" type="fix" system="SourceForge2Features" + issue="25"> + Remove extra object flags before checking query type. + </action> + </release> <release version="1.2.14" date="2013-07-23"> <action dev="jahlborn" type="fix" system="SourceForge2" issue="95"> Implement handling of usagemaps for long value (MEMO/OLE) columns. diff --git a/src/java/com/healthmarketscience/jackcess/impl/query/QueryFormat.java b/src/java/com/healthmarketscience/jackcess/impl/query/QueryFormat.java index 83064c0..2da4275 100644 --- a/src/java/com/healthmarketscience/jackcess/impl/query/QueryFormat.java +++ b/src/java/com/healthmarketscience/jackcess/impl/query/QueryFormat.java @@ -58,6 +58,9 @@ public class QueryFormat // dbQProcedure = 224 // dbQAction = 240 + // mask which removes superfluous flags from object flags + static final int OBJECT_FLAG_MASK = 0XF0; + public static final String COL_ATTRIBUTE = "Attribute"; public static final String COL_EXPRESSION = "Expression"; public static final String COL_FLAG = "Flag"; diff --git a/src/java/com/healthmarketscience/jackcess/impl/query/QueryImpl.java b/src/java/com/healthmarketscience/jackcess/impl/query/QueryImpl.java index 114933a..354a276 100644 --- a/src/java/com/healthmarketscience/jackcess/impl/query/QueryImpl.java +++ b/src/java/com/healthmarketscience/jackcess/impl/query/QueryImpl.java @@ -384,8 +384,10 @@ public abstract class QueryImpl implements Query public static QueryImpl create(int objectFlag, String name, List<Row> rows, int objectId) { + // remove other object flags before testing for query type + int typeFlag = objectFlag & OBJECT_FLAG_MASK; try { - switch(objectFlag) { + switch(typeFlag) { case SELECT_QUERY_OBJECT_FLAG: return new SelectQueryImpl(name, rows, objectId); case MAKE_TABLE_QUERY_OBJECT_FLAG: @@ -407,7 +409,7 @@ public abstract class QueryImpl implements Query default: // unknown querytype throw new IllegalStateException( - "unknown query object flag " + objectFlag); + "unknown query object flag " + typeFlag); } } catch(IllegalStateException e) { LOG.warn("Failed parsing query", e); |