HPCC JDBC Driver Release Notes

Release Notes for HPCC JDBC Driver ver 0.3.2 Beta 1

Note: From this version forward, WsSQL must be installed on the target HPCC Platform to utilize the JDBC driver.
See WsSQL for details.

Known Limitations:

  • JDBC-29   GetRowCount does not report total result count
  • JDBC-26   JDBC queries can potentially be blocked on HPCC side (depending on load) and can timeout.
  • JDBC-31   Due to JDBC interface definition, and common use,
                   full HPCC version is not reported, only major and minor are reported
  • JDBC-20   JDBC creates workunits without Job Name
  • JDBC-19   Trace file created even though TraceToFile is not specified
  • JDBC-18   Log to file doesn’t seem to flush until app terminates
  • JDBC-17   Several JDBC Methods not implemented
  • JDBC-8     JDBC Driver does not support DFU files without ECL record definitions or complex ECL record
  • WSSQL-74 Nested select statements not supported
  • WSSQL-73 HPCC files with nested record definitions cause errors
  • WSSQL-72 Index fetches don’t use keyed fields exclusively
  • WSSQL-71 Join clause can cause merge of non-uniquely named fields
  • WSSQL-66 WsSQL exception processing columns with underscores in name
  • WSSQL-63 Stored procedure lookup doesn’t support filtering of procedure name
  • WSSQL-57 HPCC file scope delimiter “::” could cause invalid SQL queries
                    – Quoting fully-qualified file names might be required
  • WSSQL-22 Some DFU files erroneously not fetched as metadata

Comprehensive List of changes from Beta 0.3.0 to Beta 0.3.2

BuildPackaging            | JDBC-42 Reference latest HPCC JAPI release and update WsSQL references

BuildPackaging | JDBC-45 Add MVN profile for test suite build
Driver | JDBC-20 Fetch Total row count from WsSQL results
Driver | JDBC-38 Use WsClient File format enum
Driver | JDBC-49 Properly serialize primitive types to string representation
Driver | JDBC-51 Handle empty resultset properly HPCCResultSet keeps track of unpopulated
TestSuite | JDBC-28 Add Result WUID to test report
TestSuite | JDBC-37 Execute Test cases in order
TestSuite | JDBC-50 Adds support for typed prepared statement params
TestSuite | JDBC-53 Improve test suite reporting of converted vals

Comprehensive List of changes from Beta 0.2.6 to Beta 0.3.0

JDBC-32 Resultset types now correctly mapped to JDBC types

JDBC-14 Maven build should generate jar with JAPIs dep
JDBC-11 Update jdbc to support JDBC 4.1 (java 7)
JDBC-2  Integrate JAPIs and WsSQL - remove SQL parser/ANTLR -
        Removes local SQL parser (and ANTLR dependencies).
        Utilize WsSQL HPCC web service to process SQL queries and execute as ECL
        Utilize org.hpccsystems.ws.client for all WsSQL access
        Add paging support toResultSet
        Populate static metadata information in static fashion, not every time
        during runtime
        Add Maven option to create JAR with deps

Release Notes for HPCC JDBC Driver ver 0.2.6 Beta 1

Release Notes:

  • Various changes to support HPCC 5.0

Known Issues:

  • HPCC-Platform 5.0.4+ required

Comprehensive list of changes from ver 0.2.4 Beta 1 to ver 0.2.6 Beta 1

jdbc-4    Reward manner in which published queries are accessed (HPCC 5.0 compliance)

gh-122 Utilize contentype field in WsDFU
internal Modify to use ANTLR 3.4 instead of 3.5

Release Notes for HPCC JDBC Driver ver 0.2.4 Beta 1

Significant new features

  • True support of preparedstatement set/get object methods
  • Allow https based connections
  • More flexible stored procedure (published query) interface
  • New configurable test suite (available on GitHub)
  • Project can now be built using Maven
  • JDBC API compliance improvement
  • Performance improvements

Comprehensive list of changes from ver 0.2.2 Beta 1 to ver 0.2.4 Beta 1

GH-107 Configurable test project 
   Allows users to execute scripted SQL test cases targeting a configurable HPCC system.
GH-113 JDBC Connection URL values should be url encoded.
   Decodes JDBC connection URL values. eg. jdbc:hpcc;WsECLWatchAddress=http%3A//;
GH-111 Provide means to determine if connection is valid.
   JDBC API Connection::isValid(int timeout) implemented.
GH-108 Ensure ANTLR generated code is process by build
   Internal build changes to ensure generated classes are built appropriately.
GH-106 GetObject to cast string representation to declared type
    PreparedStatement get/set object methods perform true object representation conversion
GH-103 Suppress misleading Squirrel error
   Suppresses misleading Squirrel error dialog displayed upon connection using driver
   JRE/JDBC Version Mismatch
   The driver used for alias ‘aliasname’ is not JDBC 3.0 compliant.
   You should conside getting a more recent version of this driver
GH-102 Address issues stemming from ANTLR's generated parser
   Addresses whitespace issue found when using compound Keywords such as NOT IN, IS NULL, etc.
GH-95 add https support
   Removes assumption that http protocol is always used.
   Verfies correct URL syntax.
GH-96 report ECL UNICODE fields as java String types - Maps ECL UNICODE type to java's String type.
GH-92 Allow proc calls with empty params, and keep track of aliased SP
   Allows caller to submit empty parameters via CALL statements thereby allowing default values
   on query side.
   Incorporate Maven build changes - The project can now be built using either CMake or Maven.

Release Notes for HPCC JDBC driver ver 0.2.2 Beta 1

Comprehensive list of changes from ver 0.2.0 Beta 1 to ver 0.2.2 Beta 1

GH-85 Ensure HPCCJDBCUtils shared objects are thread safe

GH-80 Provide inferred return type from aggregate function output
GH-76 Consider ecl type precision underscore delimiter
GH-67 Optimized 'Having' and Grouping clause support
GH-81 Add support for complex SQL logical expressions

Release Notes for HPCC JDBC driver ver 0.1.0 Beta 1 to ver 0.2.0 Beta 1

Significant new features

  • Support for Boolean fields
  • Enhanced SQL support:
    • Support for multile tables in a SELECT
    • New Aggregate functionality – AVG
    • New IN () and NOT IN () logical operators
    • Support string functions: UPPER and LOWER
    • Add support for SELECT DISTINCT and COUNT DISTINCT
  • Support for JDBC Statement & PreparedStatement interfaces
  • Configuration options to support TargetCluster and QuerySets
  • Configurable Trace Level
  • Performance improvements

Comprehensive list of changes from ver 0.1.0-Beta1 to ver 0.2.0-Beta1

GH-66   Dedupes are performed with the ECL HASH keyword as opposed to  ALL 

GH-40 Various changes done to attempt compliance with external ODBC/JDBC bridges/gateways.
     All HPCC Connection now report one catalog name: HPCC Catalog
     Remove UnsupportedOperationException from various un-implemented methods.
     Various values reported by databasemetadata are bridge sensitive.
     Treat String1 ECL typees as SQL/java Char type
     No schema names reported.
GH-59 Add support for Boolean data type true|false
GH-58 Add support for quotes around all table, fields, and data in select and logic clauses
GH-55 Add support for duplicate columns in select list as long as they’re aliased. Sort by and group by columns can use aliases
GH-52 Temporary work-around for simple expression grouping parens.
GH-42 Consolidate ECL aggregate function code generation.
GH-41 Add support for multi-table select statement (implicit inner join)
GH-52 Temporary fix for simple expression grouping parens.
GH-48 Add option to log to file Add trace level option Trace to file option implemented.
GH-43 Implement support for JDBC ‘Statement’ interface.
GH-39 Various changes for compliance with various JDBC clients.
     Table and Field referencing is now case insensitive.
     Support upper() and lower() content modifier in both SELECT LIST and WHERE clause
     Add support for AVE() aggregate function
     Add support for select distinct and count distinct
     Implement faster ECLType <-> SQLType <-> JAVAClass conversion lookup
     Add support for multiple JDBC connection URL delimitors (: | ;)
     Add support IN () and NOT IN () logical operators
     Improve generated ECL code readability
     Implement faster candidate index scoring
     Support for escaped single quote in incoming query
     - Two single quotes considered escaped single quote, converted to ECL escaped single quote.
     Ensure single record response for scalar output queries.
     Prevent early 'Having' filter and/or late 'where' filtering
GH-31 ResultSet parsing performance enhancement
GH-23 Client-side HPCC file fetching improvements
GH-19 Enable parametrized PreparedStatement object re-use.
GH-9 Ensure superfile rec definition is cached when lazyloading
GH-8 Implement support for Driver.getPropertyInfo
GH-1 Restructure file annotation parsing mechanism