aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pom.xml5
-rw-r--r--src/changes/changes.xml6
-rw-r--r--src/java/com/healthmarketscience/jackcess/impl/query/QueryFormat.java3
-rw-r--r--src/java/com/healthmarketscience/jackcess/impl/query/QueryImpl.java6
4 files changed, 18 insertions, 2 deletions
diff --git a/pom.xml b/pom.xml
index 3f46735..79515ba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -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);