drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Khurram Faraaz (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (DRILL-423) Need a C++ client for Drill
Date Tue, 15 Sep 2015 00:29:45 GMT

     [ https://issues.apache.org/jira/browse/DRILL-423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Khurram Faraaz closed DRILL-423.
--------------------------------

> Need a C++ client for Drill
> ---------------------------
>
>                 Key: DRILL-423
>                 URL: https://issues.apache.org/jira/browse/DRILL-423
>             Project: Apache Drill
>          Issue Type: New Feature
>            Reporter: Parth Chandra
>            Assignee: Parth Chandra
>             Fix For: 0.4.0
>
>         Attachments: drillclient-impl-reviewed-final.diff
>
>
> WE need a C++ client for drill that can be used to write an ODBC driver. 
> The API should include 
> 1) Connect
> 2) Handshake
> 3) Execute Query
> 4) Fetch Results 
> The API needs to provide interfaces to decode the RPC messages into RecordBatches and
ValueVectors and provide accessors to get values from ValueVectors.
> Initial implementation of the  ValueVectors interface will probably not support mutators
for ValueVectors.
> Not all datatypes will be supported. In particular MAP and REPEATMAP will not be supported.
Nullable and repeat types will be supported. The following is the list of datatypes for which
support is planned (defined in Types.proto)
> {code}
>     LATE = 0;   //  late binding type
>     MAP = 1;   //  an empty map column.  Useful for conceptual setup.  Children listed
within here
>     REPEATMAP = 2;   //  a repeated map column (means that multiple children sit below
this)
>     TINYINT = 3;   //  single byte signed integer
>     SMALLINT = 4;   //  two byte signed integer
>     INT = 5;   //  four byte signed integer
>     BIGINT = 6;   //  eight byte signed integer
>     DECIMAL9 = 7;   //  a decimal supporting precision between 1 and 9
>     DECIMAL18 = 8;   //  a decimal supporting precision between 10 and 18
>     DECIMAL28SPARSE = 9;   //  a decimal supporting precision between 19 and 28
>     DECIMAL38SPARSE = 10;   //  a decimal supporting precision between 29 and 38
>     MONEY = 11;   //  signed decimal with two digit precision
>     DATE = 12;   //  days since 4713bc
>     TIME = 13;   //  time in micros before or after 2000/1/1
>     TIMETZ = 14;   //  time in micros before or after 2000/1/1 with timezone
>     TIMESTAMPTZ = 15;   //  unix epoch time in millis
>     TIMESTAMP = 16;   //  TBD
>     INTERVAL = 17;   //  TBD
>     FLOAT4 = 18;   //  4 byte ieee 754 
>     FLOAT8 = 19;   //  8 byte ieee 754
>     BIT = 20;   //  single bit value (boolean)
>     FIXEDCHAR = 21;   //  utf8 fixed length string, padded with spaces
>     FIXED16CHAR = 22;
>     FIXEDBINARY = 23;   //  fixed length binary, padded with 0 bytes
>     VARCHAR = 24;   //  utf8 variable length string
>     VAR16CHAR = 25; // utf16 variable length string
>     VARBINARY = 26;   //  variable length binary
>     UINT1 = 29;   //  unsigned 1 byte integer
>     UINT2 = 30;   //  unsigned 2 byte integer
>     UINT4 = 31;   //  unsigned 4 byte integer
>     UINT8 = 32;   //  unsigned 8 byte integer
>     DECIMAL28DENSE = 33; // dense decimal representation, supporting precision between
19 and 28
>     DECIMAL38DENSE = 34; // dense decimal representation, supporting precision between
28 and 38
>     NULL = 37; // a value of unknown type (e.g. a missing reference).
>     INTERVALYEAR = 38; // Interval type specifying YEAR to MONTH
>     INTERVALDAY = 39; // Interval type specifying DAY to SECONDS
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message