README
     Progress (R) DataDirect (R)
	 
     Progress(R) DataDirect(R) for ODBC for 
     Apache Spark SQL(TM) Wire Protocol Driver 
     
     Windows Platforms (32- and 64-bit) 
     8.0.2 Release  
     November 15, 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  
for ODBC for Apache Spark SQL(TM) Wire Protocol Driver. 

This README file contains information not included in the PROGRESS
DATADIRECT(R) FOR ODBC FOR APACHE SPARK SQL WIRE PROTOCOL DRIVER USER'S GUIDE
AND REFERENCE.


CONTENTS

Driver Requirements
Installation Directory
Changes Since 8.0.2 GA
Changes for 8.0.2 GA 
Changes for 8.0.1 GA
Changes Since 8.0.0 GA 
Features for 8.0.0 GA 
Driver WorkAround Options
Notes, Known Problems, and Restrictions
Documentation
Uninstalling the Driver
Installed Files



    Driver Requirements

* IMPORTANT: You must have the Microsoft Data Access Components (MDAC) 
  installed to use this product.
 
  - For 32-bit Windows systems, version 2.6 or higher is required.
  - For 64-bit Windows systems, version 2.8 or higher is required.

  Depending on the version of your Windows operating system, these 
  components may already be installed. You can download a utility that 
  determines whether MDAC is installed and its version from the following
  Microsoft site:

  http://msdn.microsoft.com/en-us/data/aa937730.aspx

  You can also download MDAC from the same site.
 

    Installation Directory 

* The default installation directory for the 32-bit driver on a 64-bit 
  system is:

  C:\Program Files (86)\Progress\DataDirect\ODBC_80

* The default installation directory for all other installations is:

  C:\Program Files\Progress\DataDirect\ODBC_80


    Changes Since 8.0.2 GA	

Certifications
--------------
* Certified with Spark SQL 2.2 
  Driver verision 08.01.0207 (B0293, U0193)
  
Support for Windows Platforms
-----------------------------
The following Windows platforms have reached the end of their product lifecycle
and are no longer supported by the driver:
* Windows 8.0 (versions 8.1 and higher are still supported)
* Windows Vista (all versions)
* Windows XP (all versions)
* Windows Server 2003 (all versions)

SSL Enhancement (1.1.1d) 
------------------------
The default version of the OpenSSL library, 1.0.2r, has reached the end of its
product life-cycle and has been upgraded to version 1.1.1d. In addition to
receiving full update support, version 1.1.1d fixes the following security
vulnerabilities:
 * Padding Oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey (CVE-2019-1563)
 * Windows builds with insecure path defaults (CVE-2019-1552)
 * Fork Protection (CVE-2019-1549)
 * ECDSA remote timing attack (CVE-2019-1547)
 * ChaCha20-Poly1305 with long nonces (CVE-2019-1543) 
 * Timing vulnerability in ECDSA signature generation (CVE-2018-0735) 
 
This upgrade is available in the 1.1.1 version of the OpenSSL library files, 
ivtls28.dll (32-bit) and ddtls28.dll (64-bit).   
 
Version 1.1.1d 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.1.1.html 
	
Note: By default, the driver will attempt to load version 1.1.1 of the library;
      however, if the library cannot be loaded, the driver will fall back to 
      version 1.0.2.  

See "Designating an OpenSSL Library" in the "Notes, Known Issues, and 
Restrictions" section for build numbers and a comparison of libraries that are
installed with the driver.	
	
AllowedOpenSSLVersions
----------------------
Determines which version of the OpenSSL library file the driver uses for data
encryption when multiple versions are installed with the product. For example, 
when specifying a value of 1.1.1 (AllowedOpenSSLVersions=1.1.1), the driver 
uses the 1.1.1 version of the library stored in the \drivers subdirectory. Refer to
the user's guide for more information.

See "Designating an OpenSSL Library" in the "Notes, Known Issues, and 
Restrictions" section for build numbers and a comparison of these libraries.	

SSL Enhancement (1.0.2r) 
------------------------
Note: A newer version of the OpenSSL library, 1.1.1d, is now installed with the
product. In addition to fixing multiple new vulnerabilities, version 1.1.1d 
also addresses the vulnerabilities resolved by version 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.  
	
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)	
	
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)	

SSL Enhancement (1.0.2h)
------------------------
Note: OpenSSL library 1.0.2h 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.2h. 

Version 1.0.2h of the OpenSSL library fixes the following security 
vulnerabilities:
 * "Padding oracle in AES-NI CBC MAC check" (CVE-2016-2107)
 * "EVP_EncodeUpdate overflow" (CVE-2016-2105)
 * "EVP_EncryptUpdate overflow" (CVE-2016-2106)
 * "ASN.1 BIO excessive memory allocation" (CVE-2016-2109)
 * "EBCDIC overread" (CVE-2016-2176)  

SSL Enhancement (1.0.2g)
------------------------
Note: OpenSSL library 1.0.2g 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.2g. 

Version 1.0.2g of the OpenSSL library fixes the following security 
vulnerabilities:
* "missing Memory allocation success checks in doapr_outch function in 
   crypto/bio/b_print.c" (CVE-2016-2842)
* "Cross-protocol attack on TLS using SSLv2 (DROWN)" (CVE-2016-0800)
* "memory issues in BIO_*printf functions" (CVE-2016-0799)
* "Memory leak in SRP database lookups" (CVE-2016-0798)
* "Double-free in DSA code" (CVE-2016-0705)
* "Side channel attack on modular exponentiation" (CVE-2016-0702)
   
Refer to the fixes.txt file in the product installation directory for a list of
changes by build number. 

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

The default OpenSSL library version has been updated to 1.0.2f to address 
the following security vulnerabilities:
* Provides stronger cryptographic assurance against the "Logjam" vulnerability
  (CVE-2015-4000)
* "DH small subgroups" (CVE-2016-0701)
* "SSLv2 doesn't block disabled ciphers" (CVE-2015-3197)
* "BN_mod_exp may produce incorrect results on x86_64" (CVE-2015-3193)
* "Certificate verify crash with missing PSS parameter"(CVE-2015-3194) 
* "X509_ATTRIBUTE memory leak" (CVE-2015-3195) 
 
For more information on the OpenSSL vulnerabilities resolved by this upgrade,
refer to the corresponding OpenSSL announcements at 
https://www.openssl.org/news/openssl-1.0.2-notes.html.

Certifications
--------------
* Certified with Windows Server 2016 (driver verision 08.01.0144 (B0239, U0156))
* Certified with Spark SQL 2.0 (driver verision 08.01.0144 (B0239, U0156))


   Changes for 8.0.1 GA
  
Certifications
--------------
Certified with Spark SQL 1.4.x and 1.5.x 
  
New Data Type Support
---------------------
The driver has been enhanced to support the Decimal and Varchar data types.

Min Long Varchar Connection Option 
----------------------------------
The new Min Long Varchar Size connection option allows you to fetch
SQL_LONGVARCHAR columns whose size is smaller than the minimum
imposed by some third-party applications. 

Varchar Threshold Connection Option 
-----------------------------------
The new Varchar Threshold connection option allows you to fetch columns
that would otherwise exceed the upper limit of the SQL_VARCHAR type for some
third-party applications. 

New Default Value for the Array Size Connection Option 
------------------------------------------------------
The default value for the Array Size connection option has changed to 20000.
   
For more information about these features, refer to THE PROGRESS DATADIRECT FOR
ODBC FOR APACHE SPARK SQL DRIVER USER'S GUIDE AND REFERENCE.   


    Changes Since 8.0.0 GA 
	
New Operating System Support
----------------------------
*  Certified with Windows 10 

   
    Features for 8.0.0 GA  

The Progress DataDirect for ODBC for Apache Spark SQL Wire Protocol Driver
supports standard SQL query language for read-write access to Apache Spark SQL
data stores. By using DataDirect's Wire Protocol technology, the driver 
eliminates the need for client libraries, improving response time and 
throughput. 

Features:
	
* Supports Apache Spark SQL 1.2.x, 1.3.x

* Supports all ODBC Core and Level 1 functions. 

* Supports the core SQL-92 grammar.

* Supports the following data types:
  
  - Bigint                        maps to SQL_BIGINT
  - Boolean                       maps to SQL_BIT 
  - Date                          maps to SQL_DATE 
  - Double                        maps to SQL_DOUBLE
  - Float                         maps to SQL_REAL 
  - Int                           maps to SQL_INTEGER
  - Smallint                      maps to SQL_SMALLINT
  - String                        maps to SQL_WVARCHAR and SQL_WLONGVARCHAR
  - Timestamp                     maps to SQL_TYPE_TIMESTAMP
  - Tinyint                       maps to SQL_TINYINT 
  
* Supports advanced security features, including:  
  - Data encryption 
  - Kerberos authentication
    
  
     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 

Designating an OpenSSL Library
------------------------------
Although version 1.1.1d of the OpenSSL library is the most secure version of
the library, some characteristics of the library can cause connections to 
certain databases to fail. To allow you to continue using earlier versions 
until your environment is ready to migrate to version 1.1.1d, the product 
also installs earlier versions of the library.   

The following versions of the OpenSSL library have been installed with this
product, listed in order of most secure to least secure: 
* (Default) 1.1.1d (supported with file tls28.dll)
* 1.0.2r (version 08.02.0194 of file ssl28.dll) 
* 1.0.2d (version 08.00.0062 of file ssl28.dll)

When determining which version of the OpenSSL library to use, consider the 
following factors: 

For version 1.1.1d:
Upgrading to 1.1.1d provides you with a fully supported version of the OpenSSL 
library that receives feature and security updates. Versions 1.0.2 and earlier 
have reached the end of their product lifecycle and will no longer receive 
updates after 12/31/2019.  

Note: OpenSSL 1.1.1 supports TLS version 1.3; however, we do not currently 
      support TLS version 1.3 in our drivers. As a result, our drivers 
      support SSLv3, TLSv1.0, TLSv1.1 and TLSv1.2.

Upgrading to 1.1.1d fixes the following vulnerabilities in additon to 
vulnerabilities resolved by earlier versions of the library:
 * Padding Oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey (CVE-2019-1563)
 * Windows builds with insecure path defaults (CVE-2019-1552)
 * Fork Protection (CVE-2019-1549)
 * ECDSA remote timing attack (CVE-2019-1547)
 * ChaCha20-Poly1305 with long nonces (CVE-2019-1543) 
 * Timing vulnerability in ECDSA signature generation (CVE-2018-0735) 

Upgrading to version 1.1.1d includes the following risks: 
* The SSL v2 protocol is not supported. If your environment requires SSL v2, 
  the driver will be unable to connect using this library.  
* The following encryption ciphers were reported by version 1.0.2 of the 
  libaray, but not by version 1.1.1. These ciphers should be considered 
  unsupported for version 1.1.1:

  DES-CBC3-MD5	                ECDH-ECDSA-AES256-SHA
  DES-CBC3-SHA                  ECDH-ECDSA-AES256-SHA384
  DH-DSS-AES128-GCM-SHA256      ECDH-ECDSA-DES-CBC3-SHA
  DH-DSS-AES128-SHA             ECDH-ECDSA-RC4-SHA
  DH-DSS-AES128-SHA256          ECDHE-ECDSA-DES-CBC3-SHA
  DH-DSS-AES256-GCM-SHA384      ECDHE-ECDSA-RC4-SHA
  DH-DSS-AES256-SHA             ECDHE-RSA-DES-CBC3-SHA
  DH-DSS-AES256-SHA256          ECDHE-RSA-RC4-SHA
  DH-DSS-DES-CBC3-SHA           ECDH-RSA-AES128-GCM-SHA256
  DH-DSS-SEED-SHA               ECDH-RSA-AES128-SHA
  DHE-DSS-AES128-GCM-SHA256     ECDH-RSA-AES128-SHA256
  DHE-DSS-AES128-SHA            ECDH-RSA-AES256-GCM-SHA384
  DHE-DSS-AES128-SHA256         ECDH-RSA-AES256-SHA
  DHE-DSS-AES256-GCM-SHA384     ECDH-RSA-AES256-SHA384
  DHE-DSS-AES256-SHA            ECDH-RSA-DES-CBC3-SHA
  DHE-DSS-AES256-SHA256         ECDH-RSA-RC4-SHA
  DHE-DSS-SEED-SHA              EDH-DSS-DES-CBC3-SHA
  DHE-RSA-SEED-SHA              EDH-RSA-DES-CBC3-SHA
  DH-RSA-AES128-GCM-SHA256      PSK-3DES-EDE-CBC-SHA
  DH-RSA-AES128-SHA             PSK-RC4-SHA
  DH-RSA-AES128-SHA256          RC2-CBC-MD5
  DH-RSA-AES256-GCM-SHA384      RC4-MD5
  DH-RSA-AES256-SHA             RC4-SHA
  DH-RSA-AES256-SHA256          SEED-SHA
  DH-RSA-DES-CBC3-SHA           SRP-3DES-EDE-CBC-SHA
  DH-RSA-SEED-SHA               SRP-DSS-3DES-EDE-CBC-SHA
  ECDH-ECDSA-AES128-GCM-SHA256  SRP-DSS-AES-128-CBC-SHA
  ECDH-ECDSA-AES128-SHA         SRP-DSS-AES-256-CBC-SHA
  ECDH-ECDSA-AES128-SHA256      SRP-RSA-3DES-EDE-CBC-SHA
  ECDH-ECDSA-AES256-GCM-SHA384	

Upgrading to 1.0.2r fixes the following 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)
* 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)
* 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)
* 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)
* Padding oracle in AES-NI CBC MAC check (CVE-2016-2107)
* EVP_EncodeUpdate overflow (CVE-2016-2105)
* EVP_EncryptUpdate overflow (CVE-2016-2106)
* ASN.1 BIO excessive memory allocation (CVE-2016-2109)
* EBCDIC overread (CVE-2016-2176)
* missing Memory allocation success checks in doapr_outch function
  in crypto/bio/b_print.c (CVE-2016-2842)
* Cross-protocol attack on TLS using SSLv2 (DROWN) (CVE-2016-0800)
* memory issues in BIO_*printf functions (CVE-2016-0799)
* Memory leak in SRP database lookups(CVE-2016-0798)
* Double-free in DSA code (CVE-2016-0705)
* Side channel attack on modular exponentiation (CVE-2016-0702)
* Provides stronger cryptographic assurance against the "Logjam" vulnerability
  (CVE-2015-4000)
* DH small subgroups (CVE-2016-0701)
* SSLv2 doesn't block disabled ciphers (CVE-2015-3197)
* BN_mod_exp may produce incorrect results on x86_64 (CVE-2015-3193)
* Certificate verify crash with missing PSS parameter(CVE-2015-3194) 
* X509_ATTRIBUTE memory leak (CVE-2015-3195)  

Upgrading to version 1.0.2r includes the following risk: 
* To improve protection against the "Logjam" vulnerability, the minimum
  required length for the Diffie-Hellman key exchange was increased to 1024
  bits. When accessing databases that have not been fixed to address the 
  "Logjam" vulnerability, this change can cause connections to fail with the 
  following error: "dh key too small." You can work around this issue can by
  disabling Diffie-Hellman cipher suites.

Refer to "Designating an OpenSSL library" in the User's Guide and Reference for 
instructions on using an earlier version of the OpenSSL library. 

For information on working around the Diffie-Hellman issue without designating
an earlier version of the library, see "Disabling Diffie-Hellman Cipher Suites"
in the "Notes, Known Problems, and Restrictions" section. 

For more information on the OpenSSL vulnerabilities mentioned in this section, 
refer to the corresponding OpenSSL announcements at  https://www.openssl.org/.

Disabling Diffie-Hellman Cipher Suites
--------------------------------------
If your database has not been fixed to address the Logjam vulnerability, you
can still use the most recent version of the OpenSSL Library by disabling the
Diffie-Hellman cipher suites. To disable the Diffie-Hellman cipher suites, 
specify the following value for the undocumented CipherList connection option:

CipherList=DEFAULT:-DH 

If you have already specified a value for CipherList, add the following to the 
existing value: 

:-DH 

The option-value pair for undocumented options can be specified in the 
odbc.ini, connection string, or the Extended Options field of the GUI. For 
details, refer to "Configuring and Connecting to Data Sources" in driver's 
User's Guide and Reference. 

Varchar Data Type 
-----------------
When returning result set metadata for Varchar columns, the Spark Thrift server
reports the column type as (12) STRING and the precision as 2147483647. This 
issue can cause the settings of the following connection options to produce 
unexpected results: Max String Size, Min Long Varchar Size, 
String Describe Type, and Varchar Threshold. For the latest information about
this issue, refer to the Apache JIRA SPARK-5918 issue Web page: 
https://issues.apache.org/jira/browse/SPARK-5918.		 
	 
Support for Multiple Simultaneous Connections 
---------------------------------------------
For Spark SQL versions 1.5 and earlier, the Spark SQL Thrift supports only a
single connection from a single application (client) per instance. Multiple 
connections can result in a number of unexpected behaviors, including
corrupting data or crashing the Thrift server. While Spark SQL 1.4 resolved 
some issues related to this limitation, all of the multi-connect issues are 
not expected to be fixed until Spark SQL 1.6 or later. Refer to
https://github.com/apache/spark/pull/8909 for more information.  
	 
Rand() Function
---------------
For Spark SQL version 1.4, the rand() function is not supported. If the rand() 
function is used, the driver throws the following exception:
org.apache.spark.sql.AnalysisException: For input string: "TOK_TABLE_OR_COL";

Date/Time Hour() Function
-------------------------
For Spark SQL version 1.5, the Spark Thrift server returns (-17) for the hour()
function.

Installing and Removing Default Data Sources
--------------------------------------------
When you first install a driver, you are given the option to install a
default data source for that driver. We recommend that you select
this option. If you do not install the default data source at this
time, you will be unable to install a default data source for this
driver later. To install a default data source for a driver after
the initial installation, you must uninstall the driver and then
reinstall it.

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.


     Documentation

THE PROGRESS DATADIRECT FOR ODBC FOR APACHE SPARK SQL WIRE PROTOCOL DRIVER
USER'S GUIDE AND REFERENCE
--------------------------------------------------------------------------
This guide is provided in PDF and HTML versions. 

The PDF version, which you can view using Adobe Reader, is available on the 
Progress DataDirect Web site. 

NOTE: To download Adobe Reader, visit the Adobe Web site at 
http://www.adobe.com.

The HTML version of the book is installed in the SparkSQLHelp subdirectory of
your product installation directory. You can access the help by opening the 
index.html file or by clicking the Help button on the driver setup dialog.


    Uninstalling the Driver 

You can uninstall the product or individual drivers through the Uninstall 
DataDirect for ODBC 8.0 option in the DataDirect program group.


    Installed Files the 32-bit Driver

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

The installer copies the following file to the Windows system 
directory:

ivtrc28.dll           DataDirect trace library

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

For the 32-bit driver on 64-bit machines:

  C:\Program Files (86)\Progress\DataDirect\ODBC_80

For all other installations:

  C:\Program Files\Progress\DataDirect\ODBC_80


fixes.txt                         List of fixes since last release
license.txt                       Progress DataDirect license agreement
 
\drivers:
ivcurl28.dll                      Library used for HTTP connection
ivicu28.dll	                  Unicode conversion tables
ivspark28.dll	                  DataDirect Driver for Apache Spark SQL
ivspark28r.dll                    DataDirect Driver for Apache Spark SQL 
		                  resource file		
IVODBC.LIC	                  DataDirect license file
ivssl28.dll                       TLS/SSL support file (OpenSSL library file, 
                                  version 1.0.2r)
ivtls28.dll                       TLS/SSL support file (OpenSSL library file, 
                                  version 1.1.1d)
ivtrc28.dll                       DataDirect trace library							
qesqlext.h	                  Header file for DataDirect-specific ODBC 
                                  Definitions

\drivers\OpenSSL:
\1.0.2d\ivssl28.dll               TLS/SSL support file 
                                  (OpenSSL library file, version 1.0.2d)

\1.0.2r\ivssl28.dll               TLS/SSL support file 
                                  (OpenSSL library file, version 1.0.2r)

\latest\ivtls28.dll               TLS/SSL support file 
                                  (OpenSSL library file, version 1.1.1d)

\help\SparkSQLHelp: 
index.html                        HTML help system entry file
\*.*                              Support folders for the HTML help system

\jre
*.*		                  Files associated with the Apache Spark SQL WP driver

\NOTICES:
ODBC for Apache Spark SQL
8.0 NOTICES.TXT	                  Third-party vendor license agreements

\READMES:
ODBC FOR Apache Spark SQL 
8.0 README.TXT	                  This file

\samples:
\bulk\bulk.c        		  Bulk example source
\bulk\bulk.exe      		  Bulk application
\bulk\bulk.mak      		  Bulk example make file
\bulk\bulk.sln      		  Bulk example solution file
\bulk\bulk.vcproj   		  Bulk example project file
\bulk\ddlogging.properties        Log configuration file for
				  the Apache Spark SQL WP driver
                       
\bulkstrm\bulk.cpp                Bulk streaming example source
\bulkstrm\bulk.hpp                Bulk streaming example header
\bulkstrm\bulk.rc                 Bulk streaming example resource file
\bulkstrm\bulkstreaming.sln       Bulk streaming example solution file
\bulkstrm\bulkstreaming.vcproj    Bulk streaming example project file
\bulkstrm\bulkstrm.exe            Bulk streaming example application
\bulkstrm\bulkstrm.txt   	  Bulk streaming description
\bulkstrm\ddlogging.properties    Log configuration file for the 
				  Apache Spark SQL WP driver
\bulkstrm\msgprintf.hpp           Bulk streaming example header file
\bulkstrm\ProgressDataDirect.bmp
\bulkstrm\ProgressDataDirect.ico
\bulkstrm\winmain.cpp             Bulk streaming example source file

\example\ddlogging.properties     Log configuration file for the 
                                  Apache Spark SQL WP driver
\example\example.c         	  Example source
\example\Example.exe       	  Example application
\example\example.h         	  Example header
\example\Example.mak       	  Example make file
\example\Example.sln       	  Example solution file
\example\Example.vcproj    	  Example project file
\example\example.txt       	  Example description

\TOOLS:
ddextwin.exe			  License Extender utility
ddprocinfo.exe			  Processor Information utility
DSNConverterSIL.exe		  Data Source Converter utility
XMLP.exe			  A GUI demo tool that persists a result set to 
                                  an XML data file
								
\UNINSTALL\*.*			  Files used to uninstall the product
    
	
	Installed Files for the 64-bit Driver

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

The installer copies the following file to the Windows system 
directory:

ddtrc28.dll           DataDirect trace library

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

   C:\Program Files\Progress\DataDirect\ODBC_80\:	
		
fixes.txt                         List of fixes since last release
license.txt                       Progress DataDirect license agreement
 
\drivers:
ddcurl28.dll                      Library used for HTTP connection
ddicu28.dll	                  Unicode conversion tables
ddspark28.dll	                  DataDirect Driver for Apache Spark SQL
ddspark28r.dll                    DataDirect Driver for Apache Spark SQL 
		                  resource file		
DDODBC.LIC	                  DataDirect license file
ddssl28.dll                       TLS/SSL support file (OpenSSL library file,
                                  version 1.0.2r)
ddtls28.dll                       TLS/SSL support file (OpenSSL library file,
                                  version 1.1.1d)
ddtrc28.dll                       DataDirect trace library
qesqlext.h	                  Header file for DataDirect-specific ODBC 
                                  Definitions

\drivers\OpenSSL:
\1.0.2d\ddssl28.dll               TLS\SSL support file 
                                  (OpenSSL library file, version 1.0.2d)

\1.0.2r\ddssl28.dll               TLS\SSL support file 
                                  (OpenSSL library file, version 1.0.2r)

latest\ddtls28.dll                TLS\SSL support file 
                                  (OpenSSL library file, version 1.1.1d)

\help\SparkSQLHelp: 
index.html                        HTML help system entry file
\*.*                              Support folders for the HTML help system

\jre
*.*		                  Files associated with the Apache Spark SQL WP driver

\NOTICES:
ODBC for Apache Spark SQL
8.0 NOTICES.TXT	                  Third-party vendor license agreements

\READMES:
ODBC for Apache Spark SQL 
8.0 README.TXT	                  This file

\samples:
\bulk\bulk.c        		  Bulk example source
\bulk\bulk.exe      		  Bulk application
\bulk\bulk.mak      		  Bulk example make file
\bulk\bulk.sln      		  Bulk example solution file
\bulk\bulk.vcproj   		  Bulk example project file
\bulk\ddlogging.properties        Log configuration file for
				  the Apache Spark SQL WP driver
                       
\bulkstrm\bulk.cpp                Bulk streaming example source
\bulkstrm\bulk.hpp                Bulk streaming example header
\bulkstrm\bulk.rc                 Bulk streaming example resource file
\bulkstrm\bulkstreaming.sln       Bulk streaming example solution file
\bulkstrm\bulkstreaming.vcproj    Bulk streaming example project file
\bulkstrm\bulkstrm.exe            Bulk streaming example application
\bulkstrm\bulkstrm.txt   	  Bulk streaming description
\bulkstrm\ddlogging.properties    Log configuration file for the 
				  Apache Spark SQL WP driver
\bulkstrm\msgprintf.hpp           Bulk streaming example header file
\bulkstrm\ProgressDataDirect.bmp
\bulkstrm\ProgressDataDirect.ico
\bulkstrm\winmain.cpp             Bulk streaming example source file

\example\ddlogging.properties     Log configuration file for the 
                                  Apache Spark SQL WP driver
\example\example.c         	  Example source
\example\Example.exe       	  Example application
\example\example.h         	  Example header
\example\Example.mak       	  Example make file
\example\Example.sln       	  Example solution file
\example\Example.vcproj    	  Example project file
\example\example.txt       	  Example description

\TOOLS:
ddextwin.exe			  License Extender utility
ddprocinfo.exe			  Processor Information utility
DSNConverterSIL.exe		  Data Source Converter utility
XMLP.exe			  A GUI demo tool that persists a result set to 
                                  an XML data file
								
\UNINSTALL\*.*			  Files used to uninstall the product		
		


~~~~~~~~~~~~~~
November 15, 2019
End of README.TXT