diff options
5 files changed, 13 insertions, 3 deletions
diff --git a/contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoRecordReader.java b/contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoRecordReader.java index 5af63ff97..da9670154 100644 --- a/contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoRecordReader.java +++ b/contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoRecordReader.java @@ -100,8 +100,7 @@ public class MongoRecordReader extends AbstractRecordReader { Map<String, List<BasicDBObject>> mergedFilters = MongoUtils.mergeFilters( subScanSpec.getMinFilters(), subScanSpec.getMaxFilters()); buildFilters(subScanSpec.getFilter(), mergedFilters); - enableAllTextMode = fragmentContext.getDrillbitContext().getOptionManager() - .getOption(ExecConstants.MONGO_ALL_TEXT_MODE).bool_val; + enableAllTextMode = fragmentContext.getOptions().getOption(ExecConstants.MONGO_ALL_TEXT_MODE).bool_val; init(subScanSpec); } diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/server/DrillbitContext.java b/exec/java-exec/src/main/java/org/apache/drill/exec/server/DrillbitContext.java index 83a89df6e..0fb10ff1b 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/server/DrillbitContext.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/server/DrillbitContext.java @@ -87,6 +87,10 @@ public class DrillbitContext { return workBus; } + /** + * @return the system options manager. It is important to note that this manager only contains options at the + * "system" level and not "session" level. + */ public SystemOptionManager getOptionManager() { return systemOptions; } diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/json/JSONRecordReader.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/json/JSONRecordReader.java index 557c0f0c1..c343177a7 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/json/JSONRecordReader.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/easy/json/JSONRecordReader.java @@ -70,7 +70,7 @@ public class JSONRecordReader extends AbstractRecordReader { this.fileSystem = fileSystem; this.fragmentContext = fragmentContext; this.columns = columns; - this.enableAllTextMode = fragmentContext.getDrillbitContext().getOptionManager().getOption(ExecConstants.JSON_ALL_TEXT_MODE).bool_val; + this.enableAllTextMode = fragmentContext.getOptions().getOption(ExecConstants.JSON_ALL_TEXT_MODE).bool_val; } @Override diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/store/json/TestJsonRecordReader.java b/exec/java-exec/src/test/java/org/apache/drill/exec/store/json/TestJsonRecordReader.java index 449f09108..c4bfcce62 100644 --- a/exec/java-exec/src/test/java/org/apache/drill/exec/store/json/TestJsonRecordReader.java +++ b/exec/java-exec/src/test/java/org/apache/drill/exec/store/json/TestJsonRecordReader.java @@ -57,4 +57,10 @@ public class TestJsonRecordReader extends BaseTestQuery{ final String sql = "select * from cp.`store/json/value-capacity.json`"; test(sql); } + + @Test + public void testEnableAllTextMode() throws Exception { + testNoResult("alter session set `store.json.all_text_mode`= true"); + test("select * from cp.`jsoninput/big_numeric.json`"); + } } diff --git a/exec/java-exec/src/test/resources/jsoninput/big_numeric.json b/exec/java-exec/src/test/resources/jsoninput/big_numeric.json new file mode 100644 index 000000000..df13d3069 --- /dev/null +++ b/exec/java-exec/src/test/resources/jsoninput/big_numeric.json @@ -0,0 +1 @@ +{ "a1": 14994882832830675451 }
\ No newline at end of file |