Closed
Description
Status | Item | PR | Brief | Notes |
---|---|---|---|---|
✓ | core: DSN handling | #1 | Add support for handling and generating connection strings | |
✓ | core: progress #SQLGetInfo() | #3 #14 #18 |
This function is the main entry point for an app to query driver + data source capabilities | * 150+ attributes; * Bring SQLGetStmtAttr() to the level of Set~; |
( ✓ ) | #14 #64 #80 #98 |
|||
✓ | core: remove direct registry access | #110 | use odbccp32.dll's SQLGetPrivateProfileString() & co. | |
WIP | core: data conversions touch-ups | #118 #130 |
* fail quickly on unsupported, object, binary(?), GUID(?); * * numeric/decimal review/redo; |
|
✓ | protocol : data conversions | #3 #7 #9 #10 |
Convert data from ES/SQL SQL to SQL C types | Data Type Conversions |
✓ | protocol : data types loading | #5 #6 #100 |
Conversion between ES/SQL ↔ standard SQL types | col base name, table & base table name left empty / for later |
✓ | protocol : catalog support | #6 | Fetch catalog info from ES and export it to the application | based on https://github.com/elastic/x-pack-elasticsearch/issues/3832 |
protocol : schema support | Fetch schema info from ES and export it to the application | |||
✓ | protocol : parameterized execution | #11 | Support for parameters in a prepared statement | |
protocol : cluster "sniffing"/detection | read cluster members, (potentially) round-robin the requests | |||
✓ | protocol : read cluster version/name | #84 | The data source version is reported upstream to the application | |
✓ | protocol : close scroller, if any | #102 | If application doesn't fetch all results, scroller is left to time-out | |
API : array of parameters | Support for binding arrays of parameters | |||
API : batching support | Support for multiple result-sets | |||
API : data-at-exec | "Long" data is typically sent out to the data source at execution time, not preparation/binding time. This item would support this functionality. | This is mostly done for statements that add data to the data source, which is currently not possible with ES/SQL -> low prio | ||
arch: SPI/connection pooling | Support for DM connection pooling | |||
✓ | core : multi-threading | #16 | Multi-threading capabilities | This is basic requirement |
✓ | core : auth/encryption | #23 #24 |
Support for user authentication over an encrypted connection | This is basic requirement |
( ✓ ) | Requires support in ES/SQL for scrollable cursors. | |||
( ✓ ) | ||||
✓ | transport : CBOR | #169 #172 #175 #177 #180 |
add CBOR encapsulation, besides JSON | |
✓ | tests | #7 #9 #10 #96 |
Frameworks in place for: unit, integration, smoke, functional (Excel, Tableau) | |
arch : ANSI support | Make an ANSI variant of the driver | * Not a high prio, it depends on how old the clients for the driver might be; * extend tstr_t usage; * review assumption of SQLWCHAR as always wchar_t (vs. unsigned short, problematic with non-Windows pre-C95 compilers) |
||
✓ | arch : 32 bit support | #63 #74 #76 #79 |
Support for Windows 32bit platforms | |
WIP | core : clean-up the list of TODO/FIXMEs in code | #8 #12 #15 #20 #98 |
Many mandatory, but not "main path" features are left out as TODOs | |
arch : iODBC/unixODBC | Add support for the *nix platforms | |||
✓ | delivery : set-up DLL | #13 | A new library that takes care of the installation and set-up | Installer DLL This is different from general packaging (see next item) |
✓ | delivery : Installer | elastic/windows-installers#218 #19 https://github.com/elastic/release-manager/issues/423 #22 #38 |
A program that is launched to install the ES/ODBC driver | This can be an .exe, .msi written in any specific environment/language |
✓ | GUI: user prompting for connection details | elastic/windows-installers#218 #32 #38 |
Implement a GUI for promting the user for the connection details | |
✓ | delivery : 3rd party deps report | #17 #126 |
Generate 3rd party dependencies reports | https://github.com/elastic/release-manager/issues/207 |
( ✓ ) | A new library that takes care of encoding translations | Not a high prio | ||
core: support for 2.x applications (1.x?) | ODBC 2.x applications expect slightly different return codes, though mostly the same behavior | * SQL_X_Y, X in [COLUMN(2.x), DESC(3.x)], Y in [LENGTH, PRECISION, SCALE] for API functions ref'd in ColSz,DecDigs,XferLen,DispSz | ||
✓ | core: better logging: | #4 #39 |
handler- and connection-dependent logging | |
( ✓ ) | Implemented on the server side | |||
✓ | docs: driver | #55 | Documenting the usage of the driver, options, limitations | |
✓ | docs: integration | #55 #68 |
Document setting up ES/ODBC with popular applications (Tableau, Excel) |