-------------------------------------------------------------------------------
PxPlus SQL ODBC                 - README File -                        May 2026
Release Notes for Versions 4.00 - 8.20                              New Release
-------------------------------------------------------------------------------

PVX Plus Technologies, Ltd.
10 Directors Crt
Suite 200
Woodbridge, ON L4L 7E8
Canada
Tel. 1-888-975-7587
www.pvxplus.com

-------------------------------------------------------------------------------
Notes
-------------------------------------------------------------------------------
This readme me covers the PxPlus SQL ODBC Driver, the PxPlus SQL Client, the
PxPlus SQL Server, and the PxPlus IO Library products.
-------------------------------------------------------------------------------
PxPlus ODBC Version 8.20 (8.20.0000)                                   May 2026
-------------------------------------------------------------------------------

*** ENHANCEMENTS ***

Ability to hide tables from ODBC without having to prefix the table name with a *

Update OpenSSL version to 3.5.5

*** RESOLVED ISSUES ***

Resolve issue where non-ODBC connections consume user slots and cause user 
count unavailability.

-------------------------------------------------------------------------------
PxPlus ODBC Version 8.10 (8.10.0000)                                   May 2025
-------------------------------------------------------------------------------

*** ENHANCEMENTS ***

Update OpenSSL version to 3.5.0

*** RESOLVED ISSUES ***

Fix a issue that rarely could lead to a PxPlus SQL Server crash on Windows.

-------------------------------------------------------------------------------
PxPlus ODBC Version 8.00 (8.00.0000)                                   May  2024
-------------------------------------------------------------------------------

*** ACTIVATION ***
This version of the ODBC client driver and SQL Server requires a PxPlus 2024 Pro 
or Web activation.

*** COMPATIBILITY ***
This version of the ODBC client driver and SQL Server are FORWARD COMPATIBLE.
  For example version 8.00 of the ODBC driver requires a version 8.00+ version of
  the SQL Server. Version 8.00 of the SQL Server requires at least version 8.00+ of
  the ODBC driver.

*** ENHANCEMENTS ***

Add SSL security for client/server communications.
	It is configurable in the SQL server config and the DSN config.
	The SQL Server windows dialog now displays (Secure) beside "Server is Running"
	message if SSL is active.
	The OpenSSL version information is now included on the about screens, in the
	command line --version info, and on the SQL Server web browser info page.

Improve the DSN setup and SQL Server Configure applications with browse folder/file
buttons for input fields for paths i.e. Data Dictionary, INI file, etc.

Improve the look of the SQL Server Windows dialog by using a more modern font.

*** RESOLVED ISSUES ***

Fix a issue with the Linux version and SELECT COUNT(*) returning an error.

Fix a issue with delimited substring fields not returning the correct data.
-------------------------------------------------------------------------------
PxPlus ODBC Version 7.10 (7.10.0000)                                   May 2023
-------------------------------------------------------------------------------

*** ENHANCEMENTS ***

Support accessing the PxPlus SQL Server from a web browser to verify it is
running and get info about the server.

*** RESOLVED ISSUES ***

Fix a issue causing the title to be truncated on the PxPlus SQL Server dialog
window on Windows 11.

Fix a issue with date comparisons for date formats not in the order year month day.

Fix an issue with handling of delimiters in fixed length fields.

-------------------------------------------------------------------------------
PxPlus ODBC Version 7.00 (7.00.0003)                                   Apr 2021
-------------------------------------------------------------------------------

*** RESOLVED ISSUES ***

Fix a issue preventing the ODBC driver and SQL Server from accessing EFF files.

-------------------------------------------------------------------------------
PxPlus ODBC Version 7.00 (7.00.0002)                                   Jul 2020
-------------------------------------------------------------------------------

*** RESOLVED ISSUES ***

Fix a PxPlus SQL Server crash when trying to open a physical file that can't be
found

Fix a PxPlus SQL Server issue where if there were multiple simultaneous
connections they get mixed up leading to undefined behavior 

-------------------------------------------------------------------------------
PxPlus ODBC Version 7.00 (7.00.0001)                                   Jun 2020
-------------------------------------------------------------------------------

*** RESOLVED ISSUES ***

PxPlus SQL ODBC Driver: Error Cross joining Results of Two+ Left Outer Joins

UNIX/Linux PxPlus SQL Server 64-bit ISAM Communication Error

Crash caused by a remote call before defining a catalog via PVSetEnvMode

UNIX/LINUX missing activation error message

UNIX/Linux PxPlus SQL ODBC Driver Can't Find License

64-bit PxPlus SQL ODBC Divide Zero by One Crash

SQL Driver sort file problem

Fix crash opening a view with an error

-------------------------------------------------------------------------------
PxPlus SQL ODBC Version 7.00 (7.00.0000)                               Jun 2019
-------------------------------------------------------------------------------

*** ENHANCEMENTS ***

1 -
  Increase the max number of catalogs from 32 to 256 for PxPlus SQL Server.

2 -
  Enhance the speed of processing SQL queries that use the BETWEEN
  operator.

3 -
  Improve usability of Catalogs tab in the PxPlus SQL Server Configuration
  program by enforcing the rule that there needs to be at least one catalog and
  no more then 256 catalogs.

4 -
  New modern look for the install programs.

5 -
  Enhanced usability of the uninstall programs by adding an application is in
  use task dialog.
  
6 -
  Improved usability of the PxPlus SQL Server install/uninstall programs by
  using a separate task dialog for uninstall and reinstall of the
  PxPlus SQL Service.

7 -
  Digitally sign all installed executables and libraries as well as the
  uninstall programs.
  
8 -
  All the install/uninstall dialogs are now suppressible when running with the
  /[VERY]SILENT /SUPPRESSMSGBOXES command line parameters.
  
*** RESOLVED ISSUES ***

9 -
  Corrected an issue with parsing the pxpsqlsvr.conf file beyond the max
  catalog limit.
  
10 -
  Fix PxPlus SQL Server configuration (pxpsqlsvr.conf) error checking to make
  sure no valid catalogs found error is always displayed when appropriate.

11 -
  Remove the Pre-Release label from the PxPlus SQL ODBC Driver DSN Setup screen.
  
12 -
  Resolve issue where the DSN setup would pop-up every time the PxPlus SQL ODBC
  Driver was used in client mode with Excel.

13 - 
  Corrected "View_Open: OLE View_open ERROR" on views that rely on a prefix that
  includes = substitution.

14 -
  Prevented unnecessary error when installing PxPlus SQL Server with no/demo
  activation.

-------------------------------------------------------------------------------
PxPlus ODBC Version 6.10 (6.10.0000)                                   Jul 2018
-------------------------------------------------------------------------------

*** COMPATIBILITY ***
This version of the ODBC client driver and SQL Server are FORWARD COMPATIBLE.
  For example version 6.10 of the ODBC driver requires a version 6.10+ version of
  the SQL Server. Version 6.10 of the SQL Server requires at least version 6.10+ of
  the ODBC driver. 

*** ENHANCEMENTS ***

1 -
  Ability to define a Catalog to simplify and secure Client/Server configuration.

2 -
  Prefix =, * and ** substitution support to match PxPlus.

3 -
  FULL JOIN capability.

4 -
  Support for NULL dates when using Julian base year.

5 -
  Improved the pxpsql error messages.

*** RESOLVED ISSUES ***

6 -
  Corrected a compatibility issue for updates on SQL Server 2016 and higher.

7 -
  Fix to always return a catalog separator of ".".

8 -
  Prevented some 3+ table joins causing undefined behavior.

9 -
  Resolved issues so that the driver properly returns a empty/NULL date.

10 -
  Corrected an order by optimization issue with an INNER JOIN.

11 -
  Resolved issue with empty strings being returned with a length of 1 instead
  of 0.

12 -
  Corrected a few issues with comparisons and empty strings and empty/NULL dates.

13- 
  Fixed an issue with missing records in the results of union select's with a
  group by.

-------------------------------------------------------------------------------
PxPlus ODBC Version 6.00 (6.00.0003)                                   Nov 2017
-------------------------------------------------------------------------------

*** RESOLVED ISSUES ***

1 -
  Fix compatibility with Microsoft SQL Server 2016-2017.

2 -
  UNIX/Linux PxPlus SQL ODBC Driver and PxPlus SQL Server allow any install
  directory.
-------------------------------------------------------------------------------
PxPlus ODBC Version 6.00 (6.00.0002)                                   May 2017
-------------------------------------------------------------------------------

*** RESOLVED ISSUES ***

1 -
  Return empty strings instead of nulls.

2 -
  Implement legacy null mode where nullable columns is turned on and NULLs are
  returned instead of empty strings.

3 -
  Fix parse error with multi-table join with ON expression in parenthesis.

4 -
  Support catalog.table_name syntax. Catalog portion ignored.
-------------------------------------------------------------------------------
PxPlus ODBC Version 6.00 (6.00.0001)                                   Oct 2016
-------------------------------------------------------------------------------

*** RESOLVED ISSUES ***

1 -
  Fix bug with parsing nested joins without parenthesis. 
  

2 -
  Fix Linux ODBC crash when there is no USER environment variable set.

3 -
  Fix bug that caused a UNION or a UNION ALL with an ORDER BY with literals in
      the column list to return the incorrect literal values.
4 -
  Improve the CASE function so that all of the THEN/ELSE returns can be
      different types.

5 -
  Fix bug with descending keys.

6 -
  Fix the TIMESTAMPADD and TIMESTAMPDIFF scalar functions so that they can
      use/return both integer and double types so that larger seconds intervals
      can be used/returned.

7 -
  Improve handling of sorted unions with different select list value lengths.

8 -
  Add new error for UNIONs with mismatched select lists.

9 -
  Fix issue with stripping trailing spaces from returned values after any sort.

10 -
  Fix bug in replace scalar function that would cause not all occurrences of the
      replace string to be replaced.

11 -
  Fix DSN Setup Crash when exiting from the about tab.

12 -
  Fix the documentation link on the about tab in the DSN setup.

-------------------------------------------------------------------------------
PxPlus SQL ODBC Version 6.00 (6.00.0000)                               May 2016
-------------------------------------------------------------------------------

*** ENHANCEMENTS ***

1 -
  ODBC products rename and logo update.
      PxPlus ODBC Driver (pxpodbc) -> PxPlus SQL ODBC Driver (pxpsqlodbc)
	  PxPlus File Server (pxpiosvr) -> PxPlus SQL Server (pxpsqlsvr)

2 -
  Use a more modern Windows look in the PxPlus SQL Server dialog and
  configuration application.
  
3 -
  The PxPlus SQL ODBC Driver now supports UNION and UNION ALL.

4 -
  The PxPlus SQL ODBC Driver now supports CASE statements.

5 -
  The PxPlus SQL ODBC Driver now works with .NET ODBC providers and OLE DB ODBC
  providers i.e. the PxPlus SQL ODBC Driver can now be used from Data
  Connection Wizard in Excel or from Visual Studio.

6 -
  The PxPlus SQL ODBC Driver now supports the CAST scalar function and the
  CONVERT scalar function has been enhanced to handle more data types.

7 -
  The PxPlus SQL ODBC Driver now is fully supported on UNIX/Linux using
  unixODBC. Both 32-bit and 64-bit versions are available.

8 -
  The PxPlus SQL Server now has 64-bit UNIX/Linux versions. 
  
9 -
  The PxPlus SQL ODBC Driver now supports the HINT KEY syntax to allow users to
  tell the ODBC driver which key to use to improve performance in some cases.

10 -
  Improve performance of the PxPlus SQL ODBC Driver for independent sub-selects
  by reusing the results.

11 -
  The PxPlus SQL ODBC Driver DSN setup now supports a test schema button that
  tests whether the tables and/or views are accessible.

12 -
  A link to the documentation has been added to the PxPlus SQL ODBC Driver DSN
  setup.

13 -
  The PxPlus SQL ODBC Driver now supports scalar functions without being
  escaped i.e. { fn }.

14 -
  The PxPlus SQL ODBC Driver now supports joins without being escaped
  i.e. { oj }.

15 -
  The PxPlus SQL ODBC Driver now supports dates without being escaped
  i.e. { d }.

16 -
  The PxPlus SQL ODBC Driver now supports block (/* */) and line (--) comments.

17 -
  The PxPlus SQL ODBC Driver now supports treating NULL string and NULL numeric
  fields the same as "" or 0 respectively.

18 -
  The PxPlus SQL ODBC Driver now supports treating a string number as a numeric.

19 -
  The PxPlus SQL ODBC Driver now supports reporting all columns as not nullable
  to more accurately reflect PxPlus data files which don't support NULLS.

20 -
  The PxPlus SQL Command Line Client now supports LIST tablename option to
  output column info.

21 -
  The PxPlus SQL Command Line Client now supports the --column-names option
  which will cause the column names to be output has a header row.

22 -
  Improve the PxPlus SQL Command Line Client error reporting and the help
  message and add a --version option.

23 -
  The PxPlus SQL ODBC Driver now supports right joins using the
  RIGHT [OUTER] JOIN syntax.

24 -
  The PxPlus SQL ODBC Driver now supports an alternate syntax for 3+ table
  joins e.g. tableA join tableB on condition join tableC on condition.
  
*** RESOLVED ISSUES ***

25 -
   Correct an issue with the PxPlus SQL Server when dealing with keys larger
   than 127 bytes.
 
26 -
   Correct a stability issue with the Linux/UNIX PxPlus SQL Server and PxPlus
   SQL Command Line Client when performing an ORDER BY.

27 -
  Correct a stability issue caused by certain error messages.

28 -
  Correct an issue with doing a UPDATE that modifies the current key.

29 -
  Correct an issue when querying a table defined in an INI file where the
  fields are defined without specifying a field number.

-------------------------------------------------------------------------------
PxPlus ODBC Version 5.20 (5.20.0002)                                   Jul 2015
-------------------------------------------------------------------------------

*** ENHANCEMENTS ***

1 -
  Add support for VLR and EFF files with numeric keys.

*** RESOLVED ISSUES ***

2 -
  The ODBC driver would write data to the incorrect field if updating a file
  with existing field data longer then the field length defined in the data
  dictionary. This issue has been fixed.

3 -
  The REPLACE scalar function would result in a error if the replacement text
  contained the search text. This issue has been fixed.

4 -
  When accessing views that are defined with a sort key that is not key 0 the
  results were still being sorted on key 0. This was not the correct behaviour
  and also prevented the ODBC driver from properly optimizing based on the
  actual sort key. This has been corrected.

5 -
  When accessing views via a query that includes ORDER BY when caching was not
  enabled you would get an error. This has been corrected.

6 -
  Fixed an issue with handling an equals comparison on a table with a hidden key
  field.

7 -
  Resolved an issue that caused a TOP or LIMIT filter to be ignored when used
  with a sub-query.

-------------------------------------------------------------------------------
PxPlus ODBC Version 5.20 (5.20.0001)                                   Dec 2014
-------------------------------------------------------------------------------

*** RESOLVED ISSUES ***

1 -
  The Windows ODBC File Server crashed when there are two simultaneous views
  requests. This issue has been fixed.

2 -
  The ODBC driver could crash when handling a NULL dummy restriction. This
  issue has been fixed.

-------------------------------------------------------------------------------
PxPlus ODBC Version 5.20 (5.20.0000)                                   May 2013
-------------------------------------------------------------------------------

*** ENHANCEMENTS ***

1 -
  The PxPlus File Server configuration utility is now installed to the control
  panel as well as into the start menu. The new control panel entry is under
  the Programs category.

2 -
  The PxPlus ODBC driver DSN setup program has been enhanced to include a new
  activation screen. That allows you to view and modify the drivers activation.
  
3 -
  The Unix version of the PxPlus File Server now can run along side older
  versions of the ProvideX/PxPlus File Server. This makes migration towards a
  the newer version more convienent.

-------------------------------------------------------------------------------
PxPlus ODBC Version 5.10 (5.10.0002)                                  July 2012
-------------------------------------------------------------------------------

*** RESOLVED ISSUES ***

1 -
  Version 5.10 introduced a bug with views that could cause a crash. This has
  been fixed and views now work properly again.
  
2 -
  When trying to access a table with no embedded dictionary and no INI file a
  error message of "00000 00000" was displayed and the program would sometimes
  hang. This has been fixed and a proper "No Dictionary" error is displayed and
  the ODBC will exit gracefully.
  
3 -
  When adding records to an empty VLR file a bug in the logic would cause file
  corruption. This issue has been fixed.

4 -
  The PxPlus File Server configuration application pxpsconf.exe now will only
  run with administrator privileges. This is to avoid the application running
  without admin rights and not updating the settings properly.
  
5 -
  The PxPlus SQL Command Line client incorrectly reported an empty error when
  a searched update, insert, or delete statement had no affect. This has been
  fixed so it now corretly does not report an error.
  
-------------------------------------------------------------------------------
PxPlus ODBC Version 5.10 (5.10.0001)                                   May 2012
-------------------------------------------------------------------------------

*** RESOLVED ISSUES ***

1 -
  There was a problem with dealing with dates other then in the native SQL
  format YYYY-MM-DD that caused them to be written in the SQL format to the file
  regardless of what the format was set as. This has been fixed.

-------------------------------------------------------------------------------
PxPlus ODBC Version 5.10 (5.10.0000)                                   May 2012
-------------------------------------------------------------------------------

*** ENHANCEMENTS ***

1 -
  New LIST command now supported in the PxPlus SQL Command Line Client. The
  LIST command will display all table names in the supplied data dictionary or
  INI file.

2 -
  The PxPlus SQL Command Line Client has been enhanced to support config files
  with blank lines. It also now supports config files with Windows, Unix, or
  mixed line endings.
  
3 -
  The Unix version of the PxPlus SQL Command Line Client now prints out error
  messages along with the error code. Previously only the Windows version
  supported this.

*** RESOLVED ISSUES ***

4 -
  The Unix PxPlus SQL Command Line Client did not handle scalar conversions
  involving days of the week or month names. This has been corrected and the
  conversions now work.

5 -
  Fixed a bug with the optimization of cross join queries that have a where
  clause that involves the second tables key. The bug caused the entire second
  table to be read for each record in the first table. This has been fixed.

6 -
  The client/server ODBC products did not correctly handle keys with any
  segment options set when the file was small enough to be locally cached. For
  example a table with a descending key with only few hundred records did not
  work properly when queried from the client ODBC driver. This issue has been
  resolved by disabling local caching for files that have keys with segment
  options set.  
  
-------------------------------------------------------------------------------
PxPlus ODBC Version 5.00 (5.00.0002)                                   Jan 2012
-------------------------------------------------------------------------------

*** RESOLVED ISSUES ***

1-
  Resolved a crash when doing a cross joing with a EFF table as the second
  argument. This fix also will fix other EFF related bugs.

-------------------------------------------------------------------------------
PxPlus ODBC Version 5.00 (5.00.0001)                                   Oct 2011
-------------------------------------------------------------------------------

*** RESOLVED ISSUES ***

1-
  Previous release had a cosmetic pre-release flag still set which displayed a
  Pre-Release label in the PxPlus ODBC DSN Setup Dialog. This has been removed.

2-
  If you specified '?' for any of the logon fields failing to logon correctly
  would cause a crash. This has been fixed.

-------------------------------------------------------------------------------
PxPlus ODBC Version 5.00 (5.00.0000)                                   Oct 2011
-------------------------------------------------------------------------------

*** ENHANCEMENTS ***

1 - #60
  Added a 64-bit version of the ODBC driver. With this enhancement there are
  now two ODBC driver products, a 32-bit and a 64-bit driver. On a 32-bit OS
  the 32-bit version must be used. On a 64-bit OS either or both could be used.
  The 32-bit version can only be used with 32-bit application and the 64-bit
  version may only be used with 64-bit applications.

2 - #66
  Rebrand to reflect product acquisition by PVX Plus Technologies and change
  product names from ProvideX to PxPlus.

	Example:

	pvxio    -> pxpio
	pvxodbc  -> pxpodbc
	pvxiosvr -> pxpiosvr

3 - #67
  Enhanced the timestampadd() to allow standard integers to be used when
  adding seconds, minutes, hours, days, weeks, months, or quarters to a
  timestamp.

4 - #68
  Added support for PxPlus enhanced VLR format files which allow more then 255
  key entries per key block.

5 - #73
  Rewrote the installers for all ODBC products to simplify and speed up
  installation. The new file server installer handles windows services in a
  more robust way. It now starts the service after installation without
  rebooting and will now warn you the service is currently running and give you
  an option to automatically stop it and continue or manually stop it and
  continue or abort installtion. The ODBC driver installer now will notify
  users if installing a 32-bit driver on a 64-bit OS that they must use the
  32-bit ODBC admin program and allow them to have a start menu shortcut
  createdto the 32-bit ODBC admin program.

6 - #75
  Added the new PxPlus SQL command line client. This program can be run to
  execute a single SQL statement on a PxPlus data source. The connection info
  and options are specified on the command line or though an options file. The
  results of the SQL statement are output to standard out. For details run the
  pxpsql command with --help option.

7 - #79
  Support "ReadOnly" as a connection string option and add ReadOnly option to
  ODBC options configuration dialog.
  

8 - #80
  Add support for unixODBC so we can support a Linux PxPlus SQL command line client.

9 - #3459 (Sage)
  Make table name processing case-insensitive.

10 - #3739 (Sage)
  Added support for EFF files in the pxpio library. 

11 -
  Added a new error message for when a error is returned from PxPlus we don't lose that info.

12 -
  Support for new VLR format (>2GB files).

*** RESOLVED ISSUES ***

13 - #69
  Fix crash when trying to create or modify a file DSN using ODBC Administrator.
  Fix the cancel button in the setup dialogs so it actually cancels changes.

14 - #74
  Fix CPU spinning at 100% when starting file IO Windows service if port is in
  use.
  Fix useless error message when starting file server on Windows if port is in
  use.

15 - #3458 (Sage)
  Fix ODBC potential "Out of Memory" error when accessing large tables using
  bookmarks.

16 - #3460 (Sage)
  The issue where Pvk_RestrictRead() function may not return all records when
  processing NULL values has been fixed.

17 - #3815 (Sage)
  Addressed a GPF that could occur when attempting to access a View on a system
  that did not have a valid license or that did not have an available user slot

18 -
  Fixed bug that caused error numbers and messages for views to be incorrect

*** INSTALLATION NOTES ***

Unlike previous versions, version 5 of the PxPlus ODBC products do not allow
upgrade installations from previous versions. This has the benefit of allowing
the ProvideX ODBC products to be still installed while installing the PxPlus
ODBC products and both will be usable.

*** ADDITIONAL NOTES ***

When using the 64-bit PxPlus ODBC driver in a local configuration the views
feature will not work properly. This is because the ODBC driver uses the PxPlus
views DLL installed on that system to handle views and a 64-bit application
like the ODBC driver can only load 64-bit DLLs. There currently is no 64-bit
PxPlus release and therefore this feature cannot be used yet.

Luckily the 64-bit PXPlus ODBC driver in a client configuration can use the
views feature as it can connect to a 32-bit server which can use the 32-bit DLL
or shared object file. This mean that a possible workaround to the above issue
is to run a client server configuration on the same machine.

-------------------------------------------------------------------------------
ProvideX ODBC Version 4.21 (4.21.0000)                            November 2007
-------------------------------------------------------------------------------

*** ENHANCEMENTS ***

1 - #2434
  Added the LIMIT / OFFSET SQL syntax. The LIMIT keyword allows you to specify
  a number of records to be returned. The OFFSET keyword allows you to set a
  range of the returning records. The supported syntax:

    SELECT * FROM table LIMIT 10

       - returns 10 top records of the recordset.

    SELECT * FROM table LIMIT 10 OFFSET 10 

       - returns records from 11-th to 20-th.

2 - #1943 
  Added the ability for a clean restart of ODBC server when abnormal shutdown
  occurs. Now, obsolete process ID files will be automatically recreated and
  allow the server to be started. Previously, on restart, this would result in
  an error message. 

3 - #2007 
  The UCASE and LCASE scalar functions are now capable of converting strings
  with length > 255 characters.

*** RESOLVED ISSUES ***

4 - #2480 and #2499
  The client-server version of the ODBC driver erroneously generated a "Table
  not accessible" error message in MS Excel while accessing tables with similar
  names; for example, SA_CUSTOMER and SA_CUSTOMER_ITEM. This problem has been
  resolved.


-------------------------------------------------------------------------------
ProvideX ODBC Version 4.20                                            July 2007
-------------------------------------------------------------------------------

*** ENHANCEMENTS ***

1 - The ProvideX File Server is now available for SCO OpenServer 6.

2 - Performance improvement (CS version only). Algorithm for retrieving record
  addresses has been optimized to further reduce network traffic.

3 - Performance improvement (CS version only). New 'bulk' mode has been added
  to client-server communications to retrieve information about the tables
  available from the data source and the column (field) definitions.

4 - The ODBC Driver can now access Views stored on UNIX/Linux platforms. This
  functionality requires a valid installation of ProvideX Version 7.5 and
  presence of the ProvideX shared object libpvx.so in the installation folder.
  Location of the shared object must be entered in the 'Path to Views DLL'
  field of the DSN setup (e.g., '/pvx').

  NOTE: In the future, the libpvx.so file will be included with the
        installation of ProvideX itself, and installed automatically. However,
        as this file has not yet been added, it is being provided as a
        separate download for now. This download will be made available until
        such time as the libpvx.so file is packaged in the ProvideX UNIX/Linux
        installations.

    To use Views under UNIX/Linux:
    ------------------------------
  - A copy of ProvideX V7.50 must be installed and activated on your UNIX/Linux
    server; e.g., providex-7.50.0000-rhel.4-32bit-x86.taz

  - Download, install, and activate the appropriate ODBC server for your
    platform; e.g., file-server-4.20.0000-rhel.3-32bit-x86.taz

  - Obtain the libpvx.so file for your platform, and copy it to the ProvideX
    directory. Download the file libpvx-objects-7.50.0006.taz (this file
    contains the libpvx.so file for all the platforms that the ODBC file-server
    is currently available for).

  - Uncompress and un-tar the libpvx-objects-7.50.0006.taz to a temporary
    directory on your server. Within this temporary directory you will now find
    some libpvx.so-xxxxxx files. 

  - Find the file that corresponds to your file-server-xxxx and providex-xxxxx;
    e.g., libpvx.so-7.50.0006-rhel.3-32bit-x86. Copy this file to your pvx
    directory and rename it to libpvx.so.

  - Now follow the instructions in the ODBC manual for configuring your DSN /
    file server to use ProvideX to do the Views resolution.

5 - ZLib support in ODBC:
  5.1 - Support of the ZLib - compressed files.
  5.2 - Use of ZLib compression in the client-server communications. If ZLib is
      not available on the client or server, the old style character-like
      compression will be used instead. To enable ZLib compression of network
      traffic, the 'Compression' option has to be set on the 'Server' page of
      the DSN setup. This option is recommended only for slow network
      connections.

6 - Added support for parameterized date entries in MS Query; for example,
    SELECT * FROM table WHERE table.datefield = ?

7 - Added the NUM(string) and NUMBER(string) scalar functions. These convert
  the sting argument to the numeric value.

  EXAMPLES:

  SELECT {fn NUM(TSTDATE.CUSTNUM)}
  FROM TSTDATE
  SELECT {fn NUMBER('123.456')}
  FROM TSTDATE

8 - Added the DATE(timestamp) scalar function.

  EXAMPLES:

  SELECT {fn DATE({ts '2005-11-22 10:01:22.00'})}
  FROM TSTDATE
  SELECT {fn DATE({fn CURRENT_TIMESTAMP(0)})}
  FROM TSTDATE

9 - Added support for Microsoft Vista operational system. Due to Vista's
  security requirements, the 'ProvideX File Server Settings' Control Panel
  Applet has been replaced by the 'ProvideX File Server Configuration" utility
  (pvxsconf.exe), located in the Server's installation folder.  The 
  installation of the driver on Vista does not require MDAC. 


*** RESOLVED ISSUES ***

10 - Corrected a problem with field numbering during "flattening" of legacy
  non-normalized tables. If we flatten the data file, then the data from all
  potential record formats would exist in each row of the logical table. This
  technique is available with use of the RECTYPE keyword in the INI definition.

11 - Tables defined in the MAS90 Data Dictionary with a name length of 30
   characters were picking up some extra characters beyond the maximum length.

   Example:

   PR_24PerpetualHistoryUpdateFil
         ~ was shown as ~
   PR_24PerpetualHistoryUpdateFilpr_24.

   This has been resolved for Version 4.20.

12 - Addressed a potential GPF or "hang" issue involving MSQuery where
   the datasource definition was spread across the Data Dictionary and the INI
   file. In this configuration, the INI file is used to keep a list of the
   tables, and the field definitions are stored in the embedded Data Dictionary
   within the data files.

   NOTE: The previous work-around for this (i.e., setting a "home directory"
   for the definition files in the 'Database Directory' field of the DSN setup)
   is no longer required.

13 - [Client/Server Version Only] Addressed a potential GPF in external
   applications caused by damaging the catalog buffer during network interface
   initialization while retrieving a list of tables.

14 - [Client/Server Version Only] Specific for Red Hat Enterprise Linux server.
   Corrected a semaphore locking problem on RHEL3 which caused a leak of
   available licenses and/or mistakenly reported the message:

   "Connection Denied. Maximum User Limit Exceeded. The ProvideX File Server is
    currently processing requests for the maximum number of users. Please try
    again later".

15 - Addressed an issue involving the processing of OCCURS definitions in the
   Data Dictionary. The problem surfaced when "normal" fields were mixed with
   the field arrays ("occurs").

16 - #1694
   The driver mistakenly saw the same field structure for two different tables
   residing on UNIX/Linux system; e.g., this would cause the wrong field
   definition to be assigned for MC_BOM_PROD_HEAD if the MC_BOM_PROD_HEAD_HDI
   table was defined first. This issue has been resolved for Version 4.20.

17 - [Client/Server Version Only] Improved error reporting from the CheckAccess
   routine. When attempting to connect to the ProvideX File (ODBC) Server,
   the server failed due to a mismatch of the login credentials and the defined
   security rules, or a syntax error. The driver reported the message:

   "[ProvideX][ODBCDriver][FILEIO]Security configuration is invalid."

18 - Corrected use of an empty string ("") as a condition in the WHERE clause
   of the SQL statement. Originally, the empty string could not be qualified as
   a valid filter, and would not be used for filtering the resulting recordset.
   In the client-server environment this issue could have caused a large number
   of unnecessary records to be sent from the server, generating significant
   network traffic. This new implementation allows empty string filtering on
   the server side, saving network traffic and increasing the performance.

19 - #1882
   Fixed a problem with processing tables where the table name was defined as
   an expression and there were no variables in the expression; i.e.,
   ="testfile".

20 - For SCO OpenServer 5, if the Server is to be started remotely through a
   WindX session or Telnet, a redirection to/from /dev/null must be provided
   on the command line. The syntax depends on the shell used, for example:

   (sh, bash) ==>   ./pvxiosvr 0</dev/null 1>/dev/null 2>&1
   (csh)      ==>   ./pvxiosvr 0</dev/null 1>/dev/null 2>/dev/null

21 - #1854
   Resolved an issue where a field with a digit of zero may be translated into
   a base year as specified by the date class "DATE-JUL-xxxx", default of 
   01/01/1970. This has been be modified to allow zero to be translated as 
   null. Currently, if the date field is null, or blank, of has a single '0'
   character, the field will be returned to the ODBC driver as null."


-------------------------------------------------------------------------------
ProvideX ODBC Version 4.10                                            June 2006
-------------------------------------------------------------------------------

1 - Addressed an issue reporting an incorrect data type to Microsoft SQL
  Server. The driver now uses the SQL_VARCHAR data type instead of SQL_CHAR
  for all string types which may not be padded to their full length; e.g.,
  for DELIMITED fields and for FIXED segments of an external key.

2 - Resolved an issue where it was possible to write a record to a file which
  was larger than the defined record size.  Previously, writing a record larger
  than the record size could damage the file resulting in an Error #108 (Keyed
  file error (Record length invalid)) when attempting to open the file within
  ProvideX.

3 - Added ODBC server support for the SunSparc8 and above.

4 - Corrected the implementation of the SQLTables() function to allow either a
  specific table name or a null table name to select all tables in the
  datasource.

5 - Implemented a simple data compression algorithm for use within the
  Client/Server environment to reduce data transmission requirements.

6 - Added optimization of SQL SELECT statements that contain LEFT OUTER JOINed
  tables and an ORDER BY clause. This optimization can be disabled through the
  use of an environment variable, PVK_OPTIMIZE_OJ. If PVK_OPTIMIZE_OJ exists
  and is equal to zero the optimization will be disabled.

7 - Implemented version control to ensure compatibility between components of
  the ODBC driver. Version checks include:

   a) Client side - Driver to IO Library
   b) Server side - Server to IO Library
   c) Client to Server.

  Attempting to use mismatched versions will produce an error message.

8 - Added the following error message when the 'security:' tag is missing from
  the configuration file (pvxiosvr.conf) on UNIX and Linux servers:

  [ProvideX][ODBC Driver][FILEIO]Security configuration is invalid

9 - Resolved a problem with incorrect results being returned when using a
  partial value with a 'GREATER THAN' clause. For example,

        SELECT ItemNumber FROM InventoryMasterfile WHERE ItemNumber > '1001'
                Did not return values such as:
                        1001-HON-H252
                        1001-HON-H252LK
                        1001-HON-H254
                        1001-HON-H254LK

10 - Addressed an issue where the driver could incorrectly report an 'Unable to
   locate record for the requested key' error when the first record of a non-
   normalized file was shorter than its defined length.

11 - Improved support for arrays defined via the ProvideX Data Dictionary.

12 - Added a 'Strip trailing spaces' option to the DSN setup with a
   corresponding connection string option of 'StripTrailingSpaces=' with values
   of 1 (true) or 0 (false). This option provides the ability to compare space-
   padded and delimited values. For example:

   FIELD1 is defined as STRING, LEN=5, DELIMITED and has a value '123'
   FIELD2 is defined as STRING, LEN=5, FIXED and has a value '123  '

   If the 'Strip trailing spaces' option is ENABLED, then 'FIELD1=FIELD2'
   expression is TRUE, otherwise it is FALSE.

13 - Enabled the use of keys with descending segments in random navigation.

14 - Resolved an issue where the driver did not recognize upper case INI file
   extensions. Now both .ini and .INI are supported.

15 - Addressed an issue where the connection timeout may not initially be set
   to 0 (no timeout) resulting in incorrect timeout errors. This value can be
   changed by external applications using SQL API SQLSetConnectAttr() function
   call.

16 - Fixed a compatibility issue with MSSQL Server/DTS. The server was failing
   when trying to import tables with large fields (in excess of 16K).

17 - Addressed erroneous reports of "Data Dictionary not found" with MAS90
   version 4 systems when the table/path name exceeded 120 characters in
   length.

18 - Fixed an incorrect report of "missing table" caused by underscores, "_",
   in the name. The SQLTables() function was not stripping the backslash, "\"
   which is used to escape the underscore. If the underscore is not proceeded
   by a backslash then the underscore is considered as a wild card match for
   any character. For example, 'AP1_VendorMaster' was presented as
   'AP1\_VendorMaster' which made this table inaccessible.

19 - Corrected a query timeout issue caused by the incorrect application of the
   connection timeout to the statement timeout. This resulted in early
   termination of the execution on large reports (long running SQL statements).

20 - Resolved an issue where incorrect processing of numeric segments of the
   primary key could cause the ODBC server to shutdown.

21 - Corrected storage of SQL_ATTR_MAX_ROWS. The value being set was saved as
   a 16-bit number instead of a 32-bit number.

22 - [Client/Server Version Only] Fixed a problem where data files were left
   open if the client application was abnormally terminated or the network
   connection was broken.

23 - UNIX/Linux command line options --version and --debug tested for in
   lowercase as per help text. Previously only all uppercase was being matched.

24 - [UNIX/Linux Server Only] Changed creation logic of the file pvxiosvr.pid
   to allow the umask setting to control access by group and other. Previously
   the file was created with only read-write permission for the user, no access
   for group or other.

25 - Fixed a problem where EFF files larger than 2GB could not be accessed on
   platforms with LFS enabled.

26 - [New Red Hat Server] Addressed an issue involving Red Hat Enterprise 4
   where the incorrect processing of user licenses could cause a new user
   connection to fail. This occurred due to a compatibility issue with shared
   memory operations between RedHat 7.2 and RedHat Enterprise 4. Now there is
   an ODBC Server port specifically for the RedHat Enterprise family. This port
   should be used on RedHat Enterprise 3 and 4 systems. Older RedHat systems
   (7, 8, and 9) can continue using the RedHat 7.2 port.

27 - Corrected a potential GPF in MS Query that could occur when accessing
   tables with fields defined with a length of 0.

-------------------------------------------------------------------------------
ProvideX ODBC Version 4.00                                        December 2004
-------------------------------------------------------------------------------
ProvideX ODBC Version 4 is a major release that requires a new activation key.
This release includes the following changes and new features:

- Significant performance improvements
- Support for EFF files
- Expanded SQL syntax
- Redesigned server model
- Consolidated local and client installations

-------------------------------------------------------------------------------
NEW ACTIVATION KEY REQUIRED

A temporary key from a Version 6 Professional or E-commerce, or an upgrade to
an existing ODBC key is required to activate the Version 4 ODBC driver. If
the activation key currently installed is not a ProvideX Version 6 key, then
the driver or server will run in Demo mode.

No activation is required if the ProvideX ODBC driver is used with an
activated ProvideX File Server. If the driver is used as a local (no server)
ODBC driver, then an activation key is required.

-------------------------------------------------------------------------------
PERFORMANCE IMPROVEMENTS

Performance was the development focus for this release. The local driver in
Version 4 performs significantly faster than in Version 3 and the
client-server driver is now, in most instances, faster than the local driver.

Server-side support for numeric restrictions is one example of Version 4
improvements. Previously, the restriction of a query on a numeric field was
processed on the client-side. In Version 4 of the ODBC driver, the restriction
is sent to the server and only records that match the restriction are returned
to the client. This significantly reduces network traffic and results in a
performance gain.

-------------------------------------------------------------------------------
ENHANCED FILE FORMAT (EFF) SUPPORT

The ability to read and update EFF-based files is available with Version 4.
Platform limitations on file size may apply. See ProvideX V6 documentation for
additional information.

-------------------------------------------------------------------------------
SQL ENHANCEMENTS

The following SQL items are now supported. Refer to the revised ProvideX ODBC
manual for complete syntax.

TOP keyword syntax:

         SELECT TOP n selectcols FROM tablelist where groupby having
         Where: n is a positive integer to limit the rowset size to.

SQLSetStmtOption attribute SQL_MAX_ROWS:

This statement attribute is similar to the TOP keyword; however, the value is
applied to all SQL statements processed on the statement handle to which
SQL_MAX_ROWS was applied. A TOP keyword in an SQL statement will override the
value of SQL_MAX_ROWS.

-------------------------------------------------------------------------------
REDESIGNED SERVER MODEL

The name of the driver as it appears in the installed drivers listing of the
ODBC Driver manager has been changed from "ProvideX 32-Bit ODBC Driver" and
"ProvideX 32-Bit ODBC Client Driver" to "ProvideX ODBC Driver". This will
allow both Version 3 drivers and Version 4 drivers to be installed on a
system without conflict.

A new version check between client and server has been implemented to
minimize compatibility issues that occur when upgrading only one side of a
client server installation.

-------------------------------------------------------------------------------
CONSOLIDATED LOCAL AND CLIENT INSTALLATION

The local and client drivers are consolidated into a single DLL. The DLL's and
executable have been renamed.

The local and client DLL's:
    pvxodb32.dll and pvkiw32.dll (local driver)
    pvxodc32.dll and pvkic32.dll (client driver)
    have been consolidated into:
    pvxodbc.dll and pvxio.dll (both local and client driver)

The server executable and DLL:
    pvxodbs.exe and pvkis32.dll (Windows) or
    pvxodbs (UNIX/Linux)
    have been renamed to:
    pvxiosvr.exe and pvxio.dll (Windows) or
    pvxiosvr (UNIX/Linux)

-------------------------------------------------------------------------------
ADDITIONAL INFORMATION

INSTALLATION NOTES:
The installation routine will only update System DSN's during an upgrade of an
existing driver. If you choose to upgrade an existing driver, file and user
DSN's will continue to point to the old and now non-existent pre-v4 driver
dll's thus making them unusable.  File and user DSN's should be removed prior
to upgrading from an existing level 3 driver.

The Version 4 File server cannot be running at the same time as any previous
version of ProvideX ODBC server. On Windows, the executable uses the same
registry entry, thus shares the port number. On UNIX/Linux the servers use the
same shared memory ID, and only one instance is allowed.

MAS 90, MAS 200 USERS:
Please note that version 4.0 of the ProvideX ODBC driver is not compatible
with version 4.0 of MAS 90/200. Use of the version 4.0 ProvideX ODBC driver
with a version 4.0 MAS 90/200 is not supported.

UNIX/Linux NOTES:
The ProvideX File Server now records the pid (Process ID) of the server in a
file (pvxiosvr.pid) to assist in shutting down the server. There is a new
command line argument available to shutdown the server:

    pvxiosvr -s or
    pvxiosvr --shutdown

    If the server can locate the pvxiosvr.pid file, then the running server
    will be shut down properly otherwise an error message will be printed to
    standard out.

The ProvideX File Server now logs startup and shutdown with syslogd (system log
daemon).

-------------------------------------------------------------------------------
