You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Mehant Baid (JIRA)" <ji...@apache.org> on 2015/07/06 22:20:06 UTC
[jira] [Resolved] (DRILL-3056) Numeric literal in an IN list is
casted to decimal even when decimal type is disabled
[ https://issues.apache.org/jira/browse/DRILL-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mehant Baid resolved DRILL-3056.
--------------------------------
Resolution: Fixed
Even though the record type indicates Decimal type when the IN list is converted we still use double data type.
> Numeric literal in an IN list is casted to decimal even when decimal type is disabled
> -------------------------------------------------------------------------------------
>
> Key: DRILL-3056
> URL: https://issues.apache.org/jira/browse/DRILL-3056
> Project: Apache Drill
> Issue Type: Bug
> Components: Query Planning & Optimization
> Affects Versions: 1.0.0
> Reporter: Victoria Markman
> Assignee: Mehant Baid
> Fix For: 1.2.0
>
>
> {code}
> 0: jdbc:drill:schema=dfs> select * from sys.options where name like '%decimal%';
> +------------+------------+------------+------------+------------+------------+------------+------------+
> | name | kind | type | status | num_val | string_val | bool_val | float_val |
> +------------+------------+------------+------------+------------+------------+------------+------------+
> | planner.enable_decimal_data_type | BOOLEAN | SYSTEM | DEFAULT | null | null | false | null |
> +------------+------------+------------+------------+------------+------------+------------+------------+
> 1 row selected (0.212 seconds)
> {code}
> In list that contains more than 20 numeric literals.
> We are casting number with the decimal point to decimal type even though decimal type is disabled:
> {code}
> 0: jdbc:drill:schema=dfs> explain plan including all attributes for select * from t1 where a1 in (1,2,3,4,5,6,7,8,9,0,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25.0);
> +------------+------------+
> | text | json |
> +------------+------------+
> | 00-00 Screen : rowType = RecordType(ANY *): rowcount = 10.0, cumulative cost = {24.0 rows, 158.0 cpu, 0.0 io, 0.0 network, 35.2 memory}, id = 4921
> 00-01 Project(*=[$0]) : rowType = RecordType(ANY *): rowcount = 10.0, cumulative cost = {23.0 rows, 157.0 cpu, 0.0 io, 0.0 network, 35.2 memory}, id = 4920
> 00-02 Project(T7¦¦*=[$0]) : rowType = RecordType(ANY T7¦¦*): rowcount = 10.0, cumulative cost = {23.0 rows, 157.0 cpu, 0.0 io, 0.0 network, 35.2 memory}, id = 4919
> 00-03 HashJoin(condition=[=($2, $3)], joinType=[inner]) : rowType = RecordType(ANY T7¦¦*, ANY a1, ANY a10, DECIMAL(11, 1) ROW_VALUE): rowcount = 10.0, cumulative cost = {23.0 rows, 157.0 cpu, 0.0 io, 0.0 network, 35.2 memory}, id = 4918
> 00-05 Project(T7¦¦*=[$0], a1=[$1], a10=[$1]) : rowType = RecordType(ANY T7¦¦*, ANY a1, ANY a10): rowcount = 10.0, cumulative cost = {10.0 rows, 20.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 4915
> 00-07 Project(T7¦¦*=[$0], a1=[$1]) : rowType = RecordType(ANY T7¦¦*, ANY a1): rowcount = 10.0, cumulative cost = {10.0 rows, 20.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 4914
> 00-08 Scan(groupscan=[ParquetGroupScan [entries=[ReadEntryWithPath [path=maprfs:/drill/testdata/subqueries/t1]], selectionRoot=/drill/testdata/subqueries/t1, numFiles=1, columns=[`*`]]]) : rowType = (DrillRecordRow[*, a1]): rowcount = 10.0, cumulative cost = {10.0 rows, 20.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 4913
> 00-04 HashAgg(group=[{0}]) : rowType = RecordType(DECIMAL(11, 1) ROW_VALUE): rowcount = 1.0, cumulative cost = {2.0 rows, 9.0 cpu, 0.0 io, 0.0 network, 17.6 memory}, id = 4917
> 00-06 Values : rowType = RecordType(DECIMAL(11, 1) ROW_VALUE): rowcount = 1.0, cumulative cost = {1.0 rows, 1.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 4916
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)