-------------------------------------------------------------------------------
PxPlus ODBC                     - README File -                        Jul 2015
Release Notes for Versions 4.00 - 5.20                              New Release
-------------------------------------------------------------------------------

PVX Plus Technologies Ltd
4261 Hwy #7 East, Unit A14
Suite 364
Unionville, Ontario, Canada
L3R 9W6
Tel. 1-888-975-7587
www.pvxplus.com

-------------------------------------------------------------------------------
Notes
-------------------------------------------------------------------------------
This readme me covers the PxPlus ODBC Driver, the PxPlus SQL Client, the PxPlus
File Server, and the PxPlus IO Library products.

-------------------------------------------------------------------------------
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).

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