diff options
author | adeneche <adeneche@gmail.com> | 2015-02-03 20:45:54 -0800 |
---|---|---|
committer | Jason Altekruse <altekrusejason@gmail.com> | 2015-02-26 16:41:04 -0800 |
commit | b49e51ef5e0f925cf3505f33b65309b1b839386d (patch) | |
tree | 39085f6464a2c4b692096a15369d4fed9808507d /exec/java-exec/src | |
parent | 8100a970cc958d61359c5b475b0cdfc67d72158b (diff) |
DRILL-1953: alter session set store.json.all_text_mode does not work as documented
Diffstat (limited to 'exec/java-exec/src')
4 files changed, 12 insertions, 1 deletions
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 |