README
     Progress(R) DataDirect(R)
     Progress DataDirect for ODBC for Apache Hive Wire Protocol Driver 

     UNIX and Linux Platforms (32- and 64-bit) 
     8.0.1 Release   
     May 16, 2019

***********************************************************************
Copyright (c) 2019 Progress Software Corporation and/or its 
subsidiaries or affiliates. All Rights Reserved.  
***********************************************************************

This README file contains information for Progress(R) DataDirect(R)  
for ODBC Apache Hive(TM) Wire Protocol Driver. 

This README file contains information not included in the PROGRESS 
DATADIRECT FOR ODBC APACHE HIVE USER'S GUIDE AND REFERENCE.



CONTENTS


Installation Directory
Changes Since 8.0.1 GA
Changes for 8.0.1 GA 
Changes for 8.0.0 GA   
Configuring Data Sources
Driver WorkAround Options
Notes, Known Problems, and Restrictions
Documentation
Installed Files for the 32-bit Driver
Installed Files for the 64-bit Driver 
    
	
	    Installation Directory 

* The default installation directory for the 32-bit driver is:

  /opt/Progress/DataDirect/ODBC_80

* The default installation directory for the 64-bit driver is:

  /opt/Progress/DataDirect/ODBC_80_64bit


    Changes Since 8.0.1 GA

Certifications 
-------------
* Certified with Hive 3.1 	
  (driver version 08.01.0242 (B0400, U0272))	
	
Hive ACID Support
-----------------
The driver has been enhanced to support ACID operations for Inserts, Updates, 
and Deletes on servers that are configured to use them.

SSL Enhancement (1.0.2r) 
------------------------
The default OpenSSL library version has been updated to 1.0.2r, which fixes the 
following security vulnerabilities:
 * 0-byte record padding oracle (CVE-2019-1559)
 * Microarchitecture timing vulnerability in ECC scalar 
   multiplication (CVE-2018-5407)
 * Timing vulnerability in DSA signature generation (CVE-2018-0734)
 * Client DoS due to large DH parameter (CVE-2018-0732)
 * Cache timing vulnerability in RSA Key Generation (CVE-2018-0737)
 * Constructed ASN.1 types with a recursive definition could exceed the 
   stack (CVE-2018-0739)
 
This upgrade is available starting in build 08.02.0194 of the OpenSSL library 
file.  
 
Version 1.0.2r also addresses vulnerabilities resolved by earlier versions of 
the library.  

For more information on OpenSSL vulnerabilities resolved by this upgrade, refer
to the corresponding OpenSSL announcements at 
https://www.openssl.org/news/vulnerabilities-1.0.2.html. 	  	
	
Apache ZooKeeper
----------------
The driver has been enhanced to support Apache ZooKeeper, which can be 
configured using the refreshed Host Name connection option and the new 
ZooKeeper Discovery and ZooKeeper Namespace connection options.

Also, the driver supports Kerberos authentication for Apache ZooKeeper.
Refer to the user's guide for details.

	
    Changes for 8.0.1 GA

Platform Certifications 
-----------------------
* Certified with Red Hat Enterprise 7.3 
  (driver version 08.00.0102 (B0257, U0172))
* Support is now generally available for the following platforms: 
  - HP-UX IPF (32 and 64-bit) 
  - HP-UX PA-RISC (32-bit) 
  - Oracle Solaris x86 (32- and 64-bit)
  - Oracle Solaris on SPARC (32- and 64-bit)

Hive Version Certifications
---------------------------
* Certified with MapR 5.0, 5.1, 5.2 
  (driver version 08.00.0102 (B0257, U0172))
* Certified with Cloudera (CDH) 5.11, 5.12 
  (driver version 08.00.0081 (B0241, U0158))

HTTP Mode Support
-----------------
The driver has been enhanced to support HTTP mode, which allows you to access 
Apache Hive data stores using HTTP/HTTPS requests. HTTP mode can be configured 
using the new TransportMode and HTTPPath connection options. 
   
Cookie Base Authentication
--------------------------   
The driver has been enhanced to support cookie based authentication for HTTP 
connections. Cookie based authentication can be configured using the new 
EnableCookieAuthentication and CookieName connection options.   
   
Support for Apache Knox 
-----------------------   
The driver has been enhanced to support HTTP connections to Apache 
Knox gateways.   

ArrayInsertSize 
---------------   
The new ArrayInsertSize connection option provides a workaround for memory 
and server issues that can sometimes occur when inserting a large number of 
rows that contain large values. These issues are most likely to occur 
when connecting through Apache Knox.        
 
SSL Enhancement (1.0.2n) 
------------------------
Note: OpenSSL library 1.0.2n has been replaced with version 1.0.2r. In addition
to fixing multiple new vulnerabilities, version 1.0.2r also addresses the 
vulnerabilities resolved by version 1.0.2n. 

Version 1.0.2n of the OpenSSL library fixes the following security 
vulnerabilities:
 * rsaz_1024_mul_avx2 overflow bug on x86_64(CVE-2017-3738)
 * Read/write after SSL object in error state (CVE-2017-3737)
 * bn_sqrx8x_internal carry bug on x86_64 (CVE-2017-3736)
 * Malformed X.509 IPAddressFamily could cause OOB read (CVE-2017-3735) 
 
	
    Changes for the 8.0.0 GA 
  
New Operating System Support
----------------------------
* Certified with Debian 7.11, 8.5
* Certified with Ubuntu 14.04, 16.04

Certifications 
-------------
* Certified with Hive 2.0.x, 2.1.x  
* Certified with Cloudera (CDH) 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 5.10 
* Certified with Hortonworks (HDP) 2.4, 2.5 
* Certified with IBM BigInsights v4.2, v4.3       

Fetch Performance Enhancement
-----------------------------
The driver has been enhanced to optimize the performance of fetches.  

SSL Enhancement (1.0.2k) 
------------------------
Note: OpenSSL library 1.0.2k has been replaced with version 1.0.2r. In addition
to fixing multiple new vulnerabilities, version 1.0.2r also addresses the 
vulnerabilities resolved by version 1.0.2k. 

The default OpenSSL library version has been updated to 1.0.2k, which fixes the 
following security vulnerabilities:
 * Truncated packet could crash via OOB read (CVE-2017-3731)
 * BN_mod_exp may produce incorrect results on x86_64 (CVE-2017-3732)
 * Montgomery multiplication may produce incorrect results (CVE-2016-7055)

SSL Enhancement (1.0.2j) 
------------------------
Note: OpenSSL library 1.0.2j has been replaced with version 1.0.2r. In addition
to fixing multiple new vulnerabilities, version 1.0.2r also addresses the 
vulnerabilities resolved by version 1.0.2j. 

Version 1.0.2j of the OpenSSL library fixes the following security 
vulnerabilities:
 * "Missing CRL sanity check" (CVE-2016-7052)
 * "OCSP Status Request extension unbounded memory growth" (CVE-2016-6304)
 * "SWEET32 Mitigation" (CVE-2016-2183)
 * "OOB write in MDC2_Update()" (CVE-2016-6303)
 * "Malformed SHA512 ticket DoS" (CVE-2016-6302)
 * "OOB write in BN_bn2dec()" (CVE-2016-2182)
 * "OOB read in TS_OBJ_print_bio()" (CVE-2016-2180)
 * "Pointer arithmetic undefined behaviour" (CVE-2016-2177)
 * "Constant time flag not preserved in DSA signing" (CVE-2016-2178)
 * "DTLS buffered message DoS" (CVE-2016-2179)
 * "DTLS replay protection DoS" (CVE-2016-2181)
 * "Certificate message OOB reads" (CVE-2016-6306)

MaxVarcharSize Connection Option Replaced by MaxStringSize 
----------------------------------------------------------
The new MaxStringSize connection option allows you to determine the maximum 
size of columns of the String data type that the driver describes through 
result set descriptions and catalog functions. 

This option replaces the MaxVarcharSize connection option. The MaxVarcharSize
attribute will continue to be supported for this release, but will be deprecated
in subsequent versions of the product.

UseNativeCatalogFunctions Connection Option Replaced by CatalogMode
-------------------------------------------------------------------
The new CatalogMode connection option allows you to determine whether the 
driver uses native catalog functions to retrieve information returned by the 
SQLTables, SQLColumns, and SQLStatistics catalog functions. In the default 
setting, the driver employs a balance of native functions and driver-discovered
information for the optimal balance of performance and accuracy when retrieving
catalog information. 

This option replaces the UseNativeCatalogFunctions option. The 
UseNativeCatalogFunctions attribute will continue to be supported for this 
release, but will be deprecated in subsequent versions of the product. 

MinLongVarcharSize Connection Option 
------------------------------------
The new MinLongVarcharSize connection option allows you to fetch 
SQL_LONGVARCHAR columns whose size is smaller than the minimum imposed by some
third-party applications, such as SQL Server Linked Server. 

VarcharThreshold Connection Option
----------------------------------
The new VarcharThreshold connection option allows you to fetch columns that 
would otherwise exceed the upper limit of the SQL_VARCHAR type for some 
third-party applications, such as SQL Server Linked Server. 

Valid Values for AuthenticationMethod
-------------------------------------
The AuthenticationMethod connection option has been refreshed with a new 
valid value for enabling Kerberos Authentication. To use Kerberos 
authentication with the driver, set AuthenticationMethod=4.

Note: Specifying the legacy setting for enabling Kerberos 
      (AuthenticationMethod=1) will return an error message at connection. 

Default Value for CryptoProtocolVersion 
---------------------------------------
The default value for CryptoProtocolVersion has been updated to 
TLSv1.2,TLSv1.1,TLSv1. This change improves the security of the driver by 
employing only the most secure cryptographic protocols as the default behavior.	  
	  
Valid Values for StringDescribeType
-----------------------------------
The valid and default values for the StringDescribeType connection have 
been updated:
 - Valid values: -10 (SQL_WLONGVARCHAR) | -9 (SQL_WVARCHAR)
 - Default value: -9 (SQL_WVARCHAR)	  

UTF-8 Support in the odbc.ini and odbcinst.ini Files
----------------------------------------------------
The driver and Driver Manager have been enhanced to support UTF-8 encoding in 
the odbc.ini and odbcinst.ini files. 

Deprecated Platform Support
---------------------------
Support has been deprecated for the following platforms:
 - HP-UX IPF (32 and 64-bit)
 - HP-UX PA-RISC (32-bit)
 - Oracle Solaris x86 (32- and 64-bit)
 - Oracle Solaris on SPARC (32- and 64-bit)

Hive Version Support
--------------------
The driver supports Hive versions 1.0 and higher. Support has been deprecated 
for earlier Hive versions.

Hive Protocol Support 
---------------------
The driver supports the HiveServer2 protocol and higher, and as a result:
 - Support for the HiveServer1 protocol has been deprecated
 - The Wire Protocol Version connection option has been deprecated

Deprecated Distribution Support 
-------------------------------
Support has been deprecated for the following distributions:
 - Amazon Elastic MapReduce (Amazon EMR) 2.1.4, 2.24-3.1.4, 3.2-3.7
 - Cloudera's Distribution Including Apache Hadoop (CDH) 4.0, 4.1, 4.2, 4.5,
   5.0, 5.1, 5.2, 5.3
 - Hortonworks (HDP) 1.3, 2.0, 2.1, 2.2
 - IBM BigInsights 3.0
 - MapR Distribution for Apache Hadoop 1.2, 2.0
 - Pivotal Enterprise HD 2.0.1, 2.1
 
 
      Configuring Data Sources

Data sources are stored in the system information file (typically, 
odbc.ini). For details on configuring this file, see the PROGRESS DATADIRECT
FOR ODBC FOR APACHE HIVE DRIVER USER'S GUIDE AND REFERENCE.
 
 
     Driver WorkAround Options

Progress DataDirect has included non-standard connection options 
(workarounds) for the drivers that enable you to take full advantage of 
packaged ODBC-enabled applications requiring non-standard or extended 
behavior.

Refer to the chapter "WorkAround Options" in the User's Guide and Reference
for a description of these options.


     Notes, Known Problems, and Restrictions

The following are notes, known problems, or restrictions with 
Release 8.0.0 of the DataDirect Connect Series for ODBC drivers.  

For SSL Users
-------------
When trying to connect to a database using SSL encryption, you may 
receive an error message similar to: "PRNG not seeded". This is because 
certain versions of some operating systems do not generate truly random 
numbers necessary for encryption. For more information about this error 
and available patches, please refer to the Web site:

http://www.openssl.org/support/faq.html#USER1

SQLColAttribute(s)
------------------
The column attributes 1001 and 1002, which were assigned as DataDirect- 
specific attributes, were inadvertently used as system attributes by
the Microsoft 3.0 ODBC implementation. Applications using those 
attributes must now use 1901 and 1902, respectively.

SQL_C_NUMERIC
-------------
Because of inconsistencies in the ODBC specification, users attempting 
to use SQL_C_NUMERIC parameters must set the precision and scale values 
of the corresponding structure and the descriptor fields in the 
Application Parameter Descriptor.

For Developers Using IIS
------------------------
One of the most common connectivity issues encountered while using IIS 
(Microsoft's Internet Information Server) concerns the use and settings 
of the account permissions. If you encounter problems using DataDirect 
drivers with an IIS server, refer to KnowledgeBase document number 4274 
on the Progress DataDirect web site:

http://knowledgebase.datadirect.com.

For Users of the Driver for Apache Hive(TM) 
-------------------------------------------
The following are notes, known problems, and restrictions with the 
driver. These restrictions are based on using Apache Hive 1.2.0; other 
versions of Apache Hive will have their own restrictions. You may 
find a more complete listing of Apache Hive known issues and limitations 
for your version of Apache Hive in the Apache Hive user 
documentation here: 

https://cwiki.apache.org/confluence/display/Hive/Home

Note that Apache Hive is not designed for OLTP workloads and does not 
offer real-time queries or row-level updates. Apache Hive is instead 
designed for batch type jobs over large data sets with high latency.

Known Issues for Apache Hive(TM)
-------------------------------
* No support for row-level updates or deletes
* No difference between "NULL" and null values
* No support for auto-commit transactions

HiveQL
------
Apache Hive uses HiveQL, which provides much of the functionality of
SQL, but has some limitation syntax differences. For more information, 
refer to the Hive Language Manual. 
https://cwiki.apache.org/confluence/display/Hive/LanguageManual.

* A single quote within a string literal must be escaped 
using a \ instead of using a single quote.

* Join support is limited to equi-joins.


    Documentation	 	 

THE PROGRESS DATADIRECT FOR ODBC FOR APACHE HIVE WIRE PROTOCOL DRIVER
USER'S GUIDE AND REFERENCE
----------------------------------------------------------------------
This guide is provided in PDF and HTML versions. Both versions are installed
in the SQLServerHelp subdirectory of your product installation directory. You 
can access the help by opening the index.html file.

The complete documentation library is available on the Progress DataDirect 
Web site at https://www.progress.com/documentation/datadirect-connectors.


    Uninstalling the Driver 

You can uninstall the product or individual drivers using the 
uninstall_ODBC_80 file in the /uninstall folder of the installation directory.


    Installed Files the 32-bit Driver

This file list assumes a full installation of the driver and 
documentation.

The installer copies the following files and subdirectories to the 
product installation directory, by default:

/opt/Progress/DataDirect/ODBC_80:


odbc.csh                         Setup script for C shell
odbc.ini                         Sample odbc.ini file
odbcinst.ini                     Sample odbcinst.ini file
odbc.sh                          Setup script for Bourne shell
IVODBC.LIC                       DataDirect license file
fixes.txt                        List of fixes since last release
license.txt                      Progress DataDirect license agreement

/bin:
ivtestlib                        Test application to check that required 
                                 libraries are present and loadable
								 
/help: 
hive_connect.txt                 Help text for the Apache Hive WP driver 
                                 SQLDriverConnect dialog 
/help/HiveHelp:
index.html                       HTML help system entry file
*.*                              Support folders for the HTML help system

/include:
odbcinst.h                       Include files
qesqlext.h
sql.h
sqlext.h
sqltypes.h
sqlucode.h
sqlunx.h

/lib:
ivhive28.so                      Apache Hive WP driver  
ivtrc28.so                       Progress DataDirect trace library
libivcurl28.so                   Library used for HTTP connections [.a on AIX]
libivicu28.so                    Unicode conversion tables  [.a on AIX]
libivmback.so                    SQLDriverConnect Motif library 
libivmbackw.so                   SQLDriverConnect Motif library [.a on AIX]
libivssl28.so	                 SSL support file (1.0.2r)[.a on AIX]
libodbc.so                       ODBC Driver Manager [.a on AIX]
libodbcinst.so                   ODBC Installer [.a on AIX]
odbc.so                          ODBC Driver Manager (dynamically loadable) 
                                 [AIX only]
odbccurs.so                      ODBC Cursor library 
odbcinst.so                      ODBC Installer (dynamically loadable) 
                                 [AIX only]
vscnctdlg.so                     ODBC library for Motif operations

/OpenSSL:
latest/libivssl28.so             SSL support file (OpenSSL library 
                                 version 1.0.2r) [.a on AIX] 

/locale/en_US/LC_MESSAGES:
ivmbackw.mo                      Motif library message file
ivmbackw.po                      Motif library message source
ivhive28.mo                      Apache Hive WP driver message file
ivhive28.po                      Apache Hive WP driver message file source
odbc.mo                          ODBC Driver Manager message file
odbc.po                          ODBC Driver Manager message source


/NOTICES:
ODBC for Apache Hive 
v8.0 notices.txt                 Third-party vendor license agreements	


/READMES:
ODBC for Apache Hive 
v8.0 readme.txt	                 This file

/samples:
/bulk/bulk                       Bulk application
/bulk/bulk.c                     Bulk example source
/bulk/bulk.mak                   Bulk example make file
/bulk/bulk.txt                   Bulk example description

/bulkstrm/bulk.cpp               Bulk streaming example source
/bulkstrm/bulk.hpp               Bulk streaming example header
/bulkstrm/bulkstrm               Bulk streaming example application
/bulkstrm/bulkstrm.txt           Bulk streaming example description
/bulkstrm/main.cpp               Bulk streaming example source
/bulkstrm/msgprintf.hpp          Bulk streaming example header
/bulkstrm/streambulk.mak         Bulk streaming example make file

/example/example                 Example application
/example/example.c               Example source
/example/example.h               Example header
/example/example.mak             Example make file
/example/example.txt             Example description

/tools:
ddextu                           License Extender utility
ddprocinfo                       Processor Information utility


	Installed Files for the 64-bit Driver

This file list assumes a full installation of all drivers and 
documentation. 

The installer copies the following files and subdirectories to the 
product installation directory, by default:

/opt/Progress/DataDirect/ODBC_80_64bit:

odbc.csh                         Setup script for C shell
odbc.ini                         Sample odbc.ini file
odbcinst.ini                     Sample odbcinst.ini file
odbc.sh                          Setup script for Bourne shell
DDODBC.LIC                       DataDirect license file
fixes.txt                        List of fixes since last release
license.txt                      Progress DataDirect license agreement

/bin:
ddtestlib                        Test application to check that required 
                                 libraries are present and loadable

/help: 
hive_connect.txt                 Help text for the Apache Hive WP driver 
                                 SQLDriverConnect dialog 
/help/HiveHelp:
index.html                       HTML help system entry file
*.*                              Support folders for the HTML help system

/include:
odbcinst.h                       Include files
qesqlext.h
sql.h
sqlext.h
sqltypes.h
sqlucode.h
sqlunx.h

/lib:
ddhive28.so                      Apache Hive WP driver  
ddtrc28.so                       Progress DataDirect trace library
libddcurl28.so                   Library used for HTTP connections [.a on AIX]
libddicu28.so                    Unicode conversion tables  [.a on AIX]
libddmback.so                    SQLDriverConnect Motif library 
libddmbackw.so                   SQLDriverConnect Motif library [.a on AIX]
libddssl28.so	                 SSL support file (1.0.2r) [.a on AIX]
libodbc.so                       ODBC Driver Manager [.a on AIX]
libodbcinst.so                   ODBC Installer [.a on AIX]
odbc.so                          ODBC Driver Manager (dynamically loadable) 
                                 [AIX only]
odbccurs.so                      ODBC Cursor library 
odbcinst.so                      ODBC Installer (dynamically loadable) 
                                 [AIX only]
vscnctdlg.so                     ODBC library for Motif operations

/OpenSSL:
latest/libddssl28.so             SSL support file (OpenSSL library 
                                 version 1.0.2r) [.a on AIX] 

/locale/en_US/LC_MESSAGES:
ddmbackw.mo                      Motif library message file
ddmbackw.po                      Motif library message source
ddhive28.mo                      Apache Hive WP driver message file
ddhive28.po                      Apache Hive WP driver message file source
odbc.mo                          ODBC Driver Manager message file
odbc.po                          ODBC Driver Manager message source

/notices:
ODBC for Apache Hive
v8.0 notices.txt	         Third-party vendor license agreements	

/readmes:
ODBC for Apache Hive
v8.0 readme.txt	                 This file

/samples:
/bulk/bulk                       Bulk application
/bulk/bulk.c                     Bulk example source
/bulk/bulk.mak                   Bulk example make file
/bulk/bulk.txt                   Bulk example description

/bulkstrm/bulk.cpp        	 	 Bulk streaming example source
/bulkstrm/bulk.hpp        	 	 Bulk streaming example header
/bulkstrm/bulkstrm               Bulk streaming example application
/bulkstrm/bulkstrm.txt           Bulk streaming example description
/bulkstrm/main.cpp               Bulk streaming example source
/bulkstrm/msgprintf.hpp          Bulk streaming example header
/bulkstrm/streambulk.mak         Bulk streaming example make file

/example/example                 Example application
/example/example.c               Example source
/example/example.h               Example header
/example/example.mak             Example make file
/example/example64.txt           Example description

/tools:
ddextu                           License Extender utility
ddprocinfo                       Processor Information utility	

   
~~~~~~~~~~~~~~
May 16, 2019

End of README