Parth Chandra created DRILL-423:
-----------------------------------
Summary: 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
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 -
TINYINT = 3; // single byte signed integer
SMALLINT = 4; // two byte signed integer
INT = 5; // four byte signed integer
BIGINT = 6; // eight byte signed integer
DECIMAL4 = 7; // a decimal supporting precision between 1 and 8 (4 bits
for decimal location, 1 sign)
DECIMAL8 = 8; // a decimal supporting precision between 9 and 18 (5 bits
for decimal location, 1 sign)
DECIMAL12 = 9; // a decimal supporting precision between 19 and 28 (5
bits for decimal location, 1 sign)
DECIMAL16 = 10; // a decimal supporting precision between 29 and 37 (6
bits for decimal location, 1 sign)
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
TIMESTAMP = 15; // unix epoch time in millis
DATETIME = 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
--
This message was sent by Atlassian JIRA
(v6.2#6252)