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  
     June 12, 2017


***********************************************************************
Copyright (C) 1990-2017 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
Documentation Third-Party Acknowledgements



    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 Windows Server 2016 (driver verision 08.01.0144 (B0239, U0156))
* Certified with Spark SQL 2.0 (driver verision 08.01.0144 (B0239, U0156))	
	
SSL Enhancement (1.0.2j) 
------------------------
The default OpenSSL library version has been updated to 1.0.2j, which 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)

Version 1.0.2j 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/openssl-1.0.2-notes.html. 
	
Version 1.0.2j provides multiple advantages over earlier versions of the 
library; however, some characteristics of the library can cause connections to 
certain databases to fail. In an effort to reduce the risk associated with 
upgrading to 1.0.2j, the driver also installs earlier versions of the library, 
which can be selected using CryptoLibName and SSLLibName connection options. 
This allows you to continue using earlier versions until your environment is 
ready to migrate to version 1.0.2j. 

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.2h) 
------------------------
Note: OpenSSL library 1.0.2h has been replaced with version 1.0.2j. In addition
to fixing multiple new vulnerabilities, version 1.0.2j also addresses all the 
vulnerabilities resolved by version 1.0.2h. 

The default OpenSSL library version has been updated to 1.0.2h, which 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)

Version 1.0.2h 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/openssl-1.0.2-notes.html. 

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

The default OpenSSL library version has been updated to 1.0.2g, which 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)

For more information on OpenSSL vulnerabilities resolved by this upgrade, refer
to the corresponding OpenSSL announcements at 
https://www.openssl.org/news/openssl-1.0.2-notes.html.
   
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.2j. In addition
to fixing multiple new vulnerabilities, version 1.0.2j 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.


   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 the latest version of the OpenSSL library, 1.0.2j, 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.0.2j,
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: 
* 1.0.2j (file version 08.01.0107) 
* 1.0.2d (file version 08.00.0062)

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

Upgrading to 1.0.2j provides the following advantages:  
* Fixes the "Missing CRL sanity check" vulnerability (CVE-2016-7052)
* Fixes the "OCSP Status Request extension unbounded memory growth" 
  vulnerability (CVE-2016-6304)
* Fixes the "SWEET32 Mitigation" vulnerability (CVE-2016-2183)
* Fixes the "OOB write in MDC2_Update()" vulnerability (CVE-2016-6303)
* Fixes the "Malformed SHA512 ticket DoS" vulnerability (CVE-2016-6302)
* Fixes the "OOB write in BN_bn2dec()" vulnerability (CVE-2016-2182)
* Fixes the "OOB read in TS_OBJ_print_bio()" vulnerability (CVE-2016-2180)
* Fixes the "Pointer arithmetic undefined behaviour" vulnerability (CVE-2016-2177)
* Fixes the "Constant time flag not preserved in DSA signing" vulnerability 
  (CVE-2016-2178)
* Fixes the "DTLS buffered message DoS" vulnerability (CVE-2016-2179)
* Fixes the "DTLS replay protection DoS" vulnerability (CVE-2016-2181)
* Fixes the "Certificate message OOB reads" vulnerability (CVE-2016-6306)
* Fixes the "Padding oracle in AES-NI CBC MAC check" vulnerability 
  (CVE-2016-2107)
* Fixes the "EVP_EncodeUpdate overflow" vulnerability (CVE-2016-2105)
* Fixes the "EVP_EncryptUpdate overflow" vulnerability (CVE-2016-2106)
* Fixes the "ASN.1 BIO excessive memory allocation" vulnerability 
  (CVE-2016-2109)
* Fixes the "EBCDIC overread" vulnerability (CVE-2016-2176)
* Fixes the "missing Memory allocation success checks in doapr_outch function
  in crypto/bio/b_print.c" vulnerability (CVE-2016-2842)
* Fixes the "Cross-protocol attack on TLS using SSLv2 (DROWN)"
  vulnerability (CVE-2016-0800)
* Fixes the "memory issues in BIO_*printf functions" vulnerability 
  (CVE-2016-0799)
* Fixes the "Memory leak in SRP database lookups" vulnerability (CVE-2016-0798)
* Fixes the "Double-free in DSA code" vulnerability (CVE-2016-0705)
* Fixes the "Side channel attack on modular exponentiation" vulnerability
  (CVE-2016-0702)
* Provides stronger cryptographic assurance against the "Logjam" vulnerability
  (CVE-2015-4000)
* Fixes the "DH small subgroups" vulnerability (CVE-2016-0701)
* Fixes the "SSLv2 doesn't block disabled ciphers" vulnerability
  (CVE-2015-3197)
* Fixes the "BN_mod_exp may produce incorrect results on x86_64" vulnerability
  (CVE-2015-3193)
* Fixes the "Certificate verify crash with missing PSS parameter" vulnerability
  (CVE-2015-3194) 
* Fixes the "X509_ATTRIBUTE memory leak" vulnerability (CVE-2015-3195) 

Upgrading to version 1.0.2j 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/news/openssl-1.0.2-notes.html.

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 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:
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                       SSL support file (1.0.2j)
qesqlext.h	                  Header file for DataDirect-specific ODBC 
                                  Definitions
ivtrc28.dll                       DataDirect trace library							


OpenSSL\1.0.2d\ivssl28.dll        SSL support file 
                                  (OpenSSL library file, version 1.0.2d)

OpenSSL\latest\ivssl28.dll        SSL support file 
                                  (OpenSSL library file, version 1.0.2j)

\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 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:
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                       SSL support file (1.0.2j)
qesqlext.h	                  Header file for DataDirect-specific ODBC 
                                  Definitions
ddtrc28.dll                       DataDirect trace library

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

OpenSSL\latest\ddssl28.dll        SSL support file 
                                  (OpenSSL library file, version 1.0.2j)

\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		
		
		
		

      Documentation Third Party Acknowledgements
	  
One or more products in the Progress DataDirect for ODBC for Apache Spark SQL
Wire Protocol v8.0 release includes third party components covered by licenses
that require that the following documentation notices be provided.  If changes 
in third party components occurred for the current release of the Product, the
following Third Party Acknowledgements may contain notice updates to any 
earlier versions provided in documentation or README file. 

Progress DataDirect for ODBC for Apache Spark SQL Wire Protocol v8.0 
incorporates ICU v4.2.1 from International Business Machines Corporation. 
Such technology is subject to the following terms and conditions:  ICU License
- ICU 1.8.1 and later ICU License - ICU 1.8.1 and later COPYRIGHT AND 
PERMISSION NOTICE. Copyright (c) 1995-2010 International Business Machines 
Corporation and others. All rights reserved. Permission is hereby granted, free
of charge, to any person obtaining a copy of this software and associated 
documentation files (the "Software"), to deal in the Software without 
restriction, including without limitation the rights to use, copy, modify, 
merge, publish, distribute, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, provided that the above 
copyright notice(s) and this permission notice appear in all copies of the 
Software and that both the above copyright notice(s) and this permission notice
appear in supporting documentation. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT
WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER
OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL 
INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM 
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 
PERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name 
of a copyright holder shall not be used in advertising or otherwise to promote
the sale, use or other dealings in this Software without prior written 
authorization of the copyright holder.  All trademarks and registered 
trademarks mentioned herein are the property of their respective owners.

Progress DataDirect for ODBC for Apache Spark SQL Wire Protocol v8.0 
incorporates OpenSSL v1.0.2_x from The OpenSSL Project. Such technology is
subject to the following terms and conditions:  LICENSE ISSUES ==============
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of 
the OpenSSL License and the original SSLeay license apply to the toolkit. See
below for the actual license texts. Actually both licenses are BSD-style Open
Source licenses. In case of any license issues related to OpenSSL please 
contact openssl-core@openssl.org.
OpenSSL License --------------- 
Copyright (c) 1998-2011 The OpenSSL Project.  All rights reserved.
Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, 
   this list of conditions and the following disclaimer. 
2. Redistributions in binary form must reproduce the above copyright notice, 
   this list of conditions and the following disclaimer in the documentation 
   and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must 
   display the following acknowledgment: "This product includes software 
   developed by the OpenSSL Project for use in the OpenSSL Toolkit. 
   (http://www.openssl.org/)"
4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 
   endorse or promote products derived from this software without prior written
   permission. For written permission, please contact openssl-core@openssl.org.
5. Products derived from this software may not be called "OpenSSL" nor may 
   "OpenSSL" appear in their names without prior written permission of the 
   OpenSSL Project.
6. Redistributions of any form whatsoever must retain the following 
   acknowledgment: "This product includes software developed by the OpenSSL 
   Project for use in the OpenSSL Toolkit (http://www.openssl.org/)"
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO 
EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
====================================================================
This product includes cryptographic software written by Eric Young
(eay@cryptsoft.com).  This product includes software written by Tim Hudson
(tjh@cryptsoft.com). 
Original SSLeay License  ----------------------- Copyright (C) 1995-1998 
Eric Young (eay@cryptsoft.com) All rights reserved.
This package is an SSL implementation written by Eric Young 
(eay@cryptsoft.com). The implementation was written so as to conform with 
Netscapes SSL. This library is free for commercial and non-commercial use as 
long as the following conditions are aheared to.  The following conditions 
apply to all code found in this distribution, be it the RC4, RSA, lhash, DES,
etc., code; not just the SSL code.  The SSL documentation included with this 
distribution is covered by the same copyright terms except that the holder is 
Tim Hudson (tjh@cryptsoft.com). Copyright remains Eric Young's, and as such 
any Copyright notices in the code are not to be removed. If this package is 
used in a product, Eric Young should be given attribution as the author of 
the parts of the library used. This can be in the form of a textual message at 
program startup or in documentation (online or textual) provided with the 
package. Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the copyright notice, this list
   of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, 
   this list of conditions and the following disclaimer in the documentation 
   and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must 
   display the following acknowledgement: "This product includes cryptographic
   software written by Eric Young (eay@cryptsoft.com)" The word 'cryptographic'
   can be left out if the routines from the library being used are not 
   cryptographic related :-).
4. If you include any Windows specific code (or a derivative thereof) from the 
   apps directory (application code) you must include an acknowledgement: 
   "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR IMPLIED 
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO 
EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The licence and distribution terms for any publically available version or 
derivative of this code cannot be changed.  i.e. this code cannot simply be 
copied and put under another distribution licence [including the GNU Public 
Licence.]


~~~~~~~~~~~~~~
June 12, 2017
End of README.TXT