Home        Solutions   Products    Platforms   Support     Order Online

About us   

News   

Events    

Case studies   

Partners   

Contact us   


Transoft announces
iSeries/System i to .NET modernization

Tools for OpenVMS
migration to Unix and Windows

Leader in HPe3000 modernization &
migration

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  Transoft - evolving new solutions from existing applications
Support
 

U/SQL Adapters V4.20 Release Notice

INTRODUCTION
Welcome to revision 4.20 of U/SQL.

Please note that documentation, bug reports, patches, and additional downloads will be available via the U/SQL ftp site at ftp://ftp2.transoft.com/pub/CDextras/USQL. See that site for updates to this document.


NEW FEATURES

ACU
  • Support for ACU-COBOL 7 and 7.2 on Windows. Also available on UNIX as required.
  • New U/SQL ‘ACUConfig’ directive.
  • U/SQL Maxfiles and Maxlocks configuration directives now have a default value of 32767
Engine
  • Allow temp files >2GB.
  • Create the ability to jump based on an exact index match AFTER the ININDEX subquery. For example, select /** index(salehist,1) */ * from salehist where year=94 and period in (select distinct period from salehist) and custcode = "C001"; When the custcode goes beyond C001, we jump to the next value in the subquery (period value).
  • Use SetOptionWarn INI directive to determine that specific error conditions should simply result in a warning in the log file.
  • Reduce length of query in query plan, and allow NORESULT env variable to stop result projections being displayed. If NORESULT is set to any value then the Result Project and the Result Table will not be printed.
HTTP Server
Internet Browser utility to access and interrogate your UDD and Data.  Available in USQL421.
Manager
Support for new C1YYDDD date format
ProISAM
U/SQL now compatible with PRO-ISAM filehandler version 5.5
Sculptor
Single-Tier Sculptor release is now available.
Server
DLL load errors now recorded in the application  log (control panel->adminstrative tools->event viewer->application).
Service Manager
S
upports for 500 Data source entries.
SQLODBC
  • If UDMtoODBC=Y then SetConnectOption so that TRBEGIN is not required.
  • SQL Server updates. SetConcurrency is set to 1 for SQLServer.
  • Change ODBC_ErrorMessage to return error number.
      Windows
      
VISTA support for multi-tier Client and Server installation in USQL421.


BUGS FIXED IN V.420

ACU
EOF error, when using ACU sequential files, solved (US42400).
BB
  • Correct use of Offset from PARAM.
  • Ensure access by record number works correctly for SELECT, INSERT, DELETE and UPDATE.
  • Correct UPDATE where key has multiple fields and only one is updated.
Engine
  • Fix problem with incompatible licence messages when used with TCA.
  • Fix multi-user problem on Windows when reading records on Windows and dates form part of the selection criteria.
  • Make sure that SQLEscape function used to start another process from client always works correctly in Windows, multi-user.
  • Handle LIKE correctly when using an index on a VIEW.
  • Change resultset from SQLColumns depending on whether connection is ODBC or JDBC.
  • If there is a compulsory filter not related to a specific index action, always test that even if there is an index action as well.
  • UNION on more than 64 columns now reports as an error within U/SQL.  (US42047)
  • Spaces retained when using CONCAT function with U/SQL .ini directive FixedLengthCharType enabled.
  • Problem with numeric fields displaying zero values in continental versions of XP solved (UK29002).
  • Fixed issue where temporary space was not allocated even after setting TempTablePages to a higher value.(US41575)
Manager
Support for new C1YYDDD date format
MF
Support for 3 character ASCII date values (Micro Focus DSD) (UK29305)
xopen
Ensure a defined order in a field search when two elements both start at the same place.
SQLODBC
  • Prevent core dump on ROLLBACK with no Connect.
  • Allow LOGOFF to logoff all concurrent connections.
  • If udmtoodbc then replace trailing spaces with trailing nulls for variable length strings in EXEC.

 

PREVIOUS RELEASES

Product Enhancements in v4.10

ACU
  • USQL is now compatible with ACU Vision 5 files.
  • Implement ACUMaxFiles directive.
MF
  • USQL is now compiled with MF Server Express by default. Libraries are enclosed for a relink with Object COBOL if required.
  • USQL for MF Server Express 64 bit is now available on AIX 5.2.
BB
  • Allow setting space fill key per index - put S in Index type.
  • Allow BBREUSE INI directive.
MisterC
Allocate enough space for huge UFDs
ProISAM
Allow 30 character fields including in keys.
C-ISAM
Allow 30 character fields including in keys.
EJE
Implement EJE link to MS Access.
VISTA
Increase maximum number of databases.
Engine
  • Up to 64 data items may be used within queries and still have the syllogistic comparison checks applied (i.e. if A=B and B=C then the fact that A=C is known to the query optimiser) If more than 64 data items are used, they simply won't be added to the syllogistic comparison checks.
  • Not-grouped columns may not be used in HAVING clauses - USQL used to produce no data.
  • UNIX installation: use gunzip on Linux as uncompress might not be installed.
  • 64 bit versions of USQL for the MF and ACU DSDs can be provided if required. Please speak to your Account Manager about this.
  • Allow record bigger than 32767.
  • Implement TRANSACTION [MODE] ON, TRANSACTION [MODE] OFF and ROLLBACK as SQL commands through SQLPrepare and SQLExecute.
  • Log DLL load errors to log file.
  • Implement JDBCNoUDDChange directive.
  • InsertUseVirtualColumn directive to enable update record lengths for variable length records.
  • Add IgnoreMaximumGroupBy directive to allow engine to ignore maximum group-by.
  • UniCodeConvert directive - if parameter length is doubled and if every alternate character is a null, remove nulls.
  • Implement RefuseLast directive to force SQLExtendedFetch(stmt,SQL_FETCH_LAST) to return a S1000 error. This is required by the VSAM EXTFH driver which doesn't support SEARCH_LESS_EQUAL.
UFOS
  • Allow usage of CRAM and implement then BBCRAM directive to set non-default cram characters.
  • Implement Implement DATE(CDAY2).
SQLODBC
  • Implement Database Type function.
  • Allow for multiple concurrent connections.
  • Put SQL errors on a stack.
  • Set different SQLSetStmtOptions for diff database types.
  • Implement VAR-STRING data type.
     

Bugs Fixed in v.4.10.0000

BB
  • Ensure record number isn't set to 0 on INSERT.
  • Correct INSERT table with recno defined.
  • Correct threading issue when VL files are accessed by several processes simultaneously.
  • Allocate index using MaxKeyLen to avoid overwriting the saved key buffers (UK26313).
  • If key field is BB_ALPHA and KeyFillChar is set then space fill.
Engine
  • Use char(254) by default for ? in the select list. Required by queries such as: insert into customer2 select ?, cust_name, cust_region from customer where custcode = ?
  • Implement Make NumericDefaultDouble for any numeric value of >9 digits or with decimal places if the directive is set.
  • Fix errno warning on Linux.
  • Ensure that a JDBC connection is recognised correctly.
  • Fix G&R expression syntax so it has the right column list, and amends the query to use double-quotes if the user has used single-quotes in their syntax.
  • select custcode from customer group by custcode having custcode like "C00%" failed because CUSTCODE is a result column and in the where clause.
  • Rounding errors on AIX - print double values into a string.
  • DummyQualifier directive to return "none" as a database qualifier, and then allow the client to change current qualifier to that.
  • UniCode checking, only deal with strings where at least two character-null pairs exist.
  • Re-execute when doing Execute after ExtendedFetch has been run. Unless this is done a select count(*) from customer ends up giving 17 the first time it is executed, then 17,34 the second time, etc.
  • Use a backslash as a default escape character in LIKE.
EJE
Add quotes round the QUALIFIER section when using the qualifier directive for EJE.
UFOS
Remove replacement_exit for UFOS - it exits the server if an error occurs.
Client
Correct Logoff so that Connection is freed when it has been lost in middle of UBL program.
SQLODBC
Corrections to VAR-STRING parameter for Oracle ODBC driver.
 

Product Enhancements in v.4.00.0000

Client
  • Implement TimeoutSeconds directive to enable timeout of individual statements when they have been inactive for a number of seconds. This timeout will act the same way as performing SQLCancel on the statement, apart from the fact that the error message will be S1T00 - Operation Timed Out. All files associated with the statement will be closed as if it had been cancelled.
  • Implement MFREDOFILE to redo mf_file_info on reopen.
  • Allow user to enter GR_PWD as GR_PASSWORD to stop Access removing it from File DSNs.
Sculptor
  • Implement SculptorDelayIndexOpen to allow files+indices to exceed the 32 maximum 'units' allowed by Sculptor as long as not all of the indices are actually used.
BB
  • Create BBNameSuffix directive to allow override of ".DB" extension (US26145).
  • Implement BBACTIVERECPOS and BBACTIVERECISMAXREC. BBACTIVERECPOS is the position in record 0 of the active record counter (default position is 11). BBACTIVERECISMAXREC - the active record counter is used to store the highest record number, default is N.
ACU
Allow a zero value in the sign nibble to mean positive for a BCD numeric.
Engine
Set size of stack using MaxStackSize directive (default 32). This is for huge queries with high numbers of nested parentheses. (US28699).
License
Allow creation of activated licenses for U/SQL.
 

Enterprise Join Engine (Newly Released in v.4.00)
The Enterprise Join Engine generates a single logical data source from multiple data sources, including one or more U/SQL data sources. It allows links from U/SQL to third-party RDBMS's such as Oracle and SQL Server. See the documentation for more details.

There is also an Enterprise Join Engine Administrator available either on the CD or from the ftp site listed above.

Renaming of Product to U/SQL Adapters
In line with Transoft's product strategy, U/SQL Client-Server has been renamed as U/SQL Adapters as of v4.00.

On-line Documentation Revision
The on-line documentation has been fully revised and is now distributed as a single windows compiled help file, USQL_help.chm, available either on the CD or the ftp site.

Bugs Fixed in v.4.00.0102

Engine
  • Add name of file which fails to open in the "Unable to open file" message (UK25926)
  • Change NT server logging to log Thread ID rather than Process ID.
MF
  • Stop potential crash when using a USER: dll on NT (UK25775).
  • Stop index subscript in array table causing error within index checking (US27079).
  • Allow CheckPK to operate on NT - Changes default to DISALLOW update of primary key (US26376).

Bugs Fixed in v.4.00.0101

ACU
Amend memory allocation method to prevent NT crashing with Win2000 Server.

Bugs Fixed in v.4.00.0000

MF
  • Stop conflict between USER dll's and striped files (UK25775).
  • 0-filled numeric values crashing on some platforms (US26213).
  • Allow CheckPK to work on NT - defaults to ON (US26376).
  • Implement ShareFileHandles so that files stay locks with prepared statements (US26470).
  • Ensure that on SQLTransact the shared file handle is closed with ShareFileHandles set (US26470).
ProISAM
Increase field name size to 30 characters.
Sculptor
  • Fix problem where indices were not using searchlist on NT (UK25006).
  • FixSculptorDelayIndexOpen directive so indices are only CLOSED if they have been opened!
CISAM
Do not perform record length checking when a text2 field exists (UK25565).
ACU
  • 0-filled numeric values crashing on some platforms (US26213).
  • Allow CheckPK to work on NT - defaults to ON (US26376).
  • Allow index subscript in an index without making it fail the physical index comparison (US27079).
  • Fix coredump when trying to access file with host level security.
  • Don't request i_info if the file failed to open.
  • Allow 0 in sign nibble to mean positive for BCD numeric.
BB
  • Allow BBLockType=NONE (US26145).
  • Allocate the cached file names on the connection level, not on the statement level. (US27656).
  • Ensure Recno is initialised correctly for unindexed files with Recno defined.
  • Correct IsDeleted if status is a negative number and IsB32.
  • Write record ID's into key values when performing a key search.
  • If Last Record number is not set for a SuperDOS file, use the maximum number of records.
  • Correct field name in error message when a field is in an index but not defined in BB_FIELD.
  • Check string length is greater than 1 before doing RemoveQuotes when getting INI directive.
  • Start_sector for a SuperDOS file - change to 0 if it is 1. The FCB block is skipped automatically.
UFOS
  • Implement TrueSFU within UFOS (UK25838).
  • Implement UNLOCK command to do equivalent of COMMIT in dropping locks (UK25838).
  • If subindex is not found continue at higher level to read the rest of the data (UK25858).
  • Determine that we have reached end of file during initial index search.
  • Only stop amendment of key values if more than one index.
Engine
  • Allow columns to be marked as UPDATABLE whenever they would be if FOR UPDATE is added (UK24799).
  • Implement NT Thin Server for reroutine requests from Unix->NT ODBC (UK24826).
  • Implement TimeoutSeconds to time out individual statements (UK24878).
  • Implement SetOptionWarn directive to remove S1092 errors (UK24886).
  • Use netutil library from TCA so that server can start up before socket timeout has expired (UK24878).
  • Amend outer join A->B->C when links A->B and A->C exist (UK25458).
  • Right hand side of outer join - all fields are always NULLable (UK25795).
  • Compare parameters of functions when comparing predicate trees in ORDER BY clause (US26822).
  • Stop using gcvt on DG Intel machines.
  • Amend data type values in ODBC_TYPES to match the ODBC required values.
  • When using dynamic cursor, ensure the ORDER BY clause is not lost when using temp table (genstmt.c 3.22).
  • Remove case dependency in Grant & Revoke security user names.
  • Don't disregard an index until PartialIndex checking has been carried out (plan.c 3.26).
  • Fix BETWEEN operator when used without a key.
  • If timeout server dies, ensure that the socket is handled correctly.
  • Error in Outer Joins. A-(oj)->B->C if there is a first record A->B but no matching C.
  • Allow null parts of a key. Only set if COL_HasChanged is set, OK to have NULL part-way through.
  • Add name of file which fails to open in the "Unable to open file" message.
  • Allow 64 parts in a "GEN$$" table.
Client
  • Shared object problems picking up the wrong function on Solaris (UK25687).
  • Amend socket timeout handling to make sure elapsed time has passed correctly.
SQLODBC
  • Implement COMMIT and ROLLBACK using COB_ODBC_TRBEGIN (UK25573).
  • Implement naming of cursors using COB_ODBC_SQL_NAME (UK25573).
  • Implement timeout error (UK25573).
  • Allow binding of NULL values in or out (UK25573).
  • Create shared object version of SQLODBC (UK25573).
  • Zero-length parameters should be blanked out rather than just left as the previous value.
  • Change ERRTEXTLEN from 512 to 255 so solve problem with SQLError when using IODBC.

Bugs Fixed in v.3.20.0000

BB
  • Use BB File IO v5.
  • Odd keylength with not SDOS file and file type contains V - add 1 to keylength (UK22589).
  • Allow date types of MMDDYYYY MMDDYYY DDMMYYY YYYMMDD (UK19426).
  • Allow BBLOCKNAME to set lock names (UK19426).
  • Support BBPREFIX and BBGLOBLOCK (UK19426).
  • Ensure that recno-type index is treated as an extra index even if the physical table does not have it (UK19426).
  • Support NULLDATES directive (UK19426).
  • Support DBLDIR and BBPROJECT directives (UK23406).
  • Support large files using BBLARGEFILES (UK23976).
  • Add BBKEYFILLCHAR directive (US25901).
  • Allow adding of a record to SDOS files even if last record indicator is not set.
  • Change default LOCKTYPE to UBL.
  • Allow LOCKTYPE of NONE properly.
  • Make sure start_sector of SDOS file is 0 if set to 1 - it should never have been 1.
  • Allow NULLs in Dictionary Update.
MF
  • Prevent use of TrueSFU with MFISAM=N - causes crash in MF with trying to call DIRECT_LOCK (UK24100).
  • Implement AutoCorrectIndices to ensure index definitions are correct (UK24182).
  • Check physical record length against UDD (UK24182).
  • Leave contents of a NULL field as low-byte filled (US23822).
  • Allow compilation using UDK for MF 4.1.40.
ProISAM
On NT stop a core dump when opening data source (UK24100).
Sculptor
  • Ensure that subquery files are opened for read-only (UK23941).
  • Implement SculptorDelayIndexOpen to allow more files to be opened (UK25006).
CISAM
  • Ensure that subquery files are always opened read-only (UK24149).
  • Implement AutoCorrectIndices to ensure index definitions are correct (UK24182).
  • Check physical record length against UDD (UK24182).
  • Check ISDESC as well as index locations within AutoCorrectIndices.
MrC
Ensure that subquery files are always opened read-only (UK24149).
ACU
  • Implement AutoCorrectIndices to ensure index definitions are correct (UK24182).
  • Check physical record length against UDD (UK24182).
  • Leave contents of a NULL field as low-byte filled (US23822).
  • emove global optimisation flag on NT compilation to remove memory allocation crashes (US24886).
UFOS
  • Implement exit function to close UFOS database (US23822).
  • Disable update of secondary keys since it does not work correctly at present.
  • Load secondary keys when performing a second-key lookup to avoid sequential scan.
  • Check suffix is non-NULL before adding it to the filename.
Engine
  • Implement basic asynchronous support (UK23941).
  • If SQLPrepare fails, do not allow SQLExecute to run (UK23941).
  • Add in memory management checks to aid memory overwrite problems (UK24100).
  • Increase internal holding space for NUMERIC value to 254 characters to avoid memory overwrite (UK24100).
  • Check if statement is still open before performing a close using SQLFreeStmt (UK24100).
  • When PartialIndex use is denied due to no stats, leave the predicates on the main WHERE clause (UK24100).
  • Allow IS NULL operator in all queries (UK24100).
  • Make FixedDateOffset by default equal to 5 years future and 94 years back from now (UK24184).
  • Implement 'set substitution "###=xxx"' which sets a new substitution directive through SQL (UK24204).
  • Implement OverrideGateway directive (UK24204).
  • Fix SQLColumns error when Grant & Revoke security was active (UK24209).
  • Allow > 250 DSDs using MaxDSD in the Configuration Settings (UK24210).
  • Directive NumericDefaultDouble to change string numeric values to doubles when possible (UK24345).
  • Implement UDDBOOTSTRAP for varying UDD metadata information (UK24474).
  • Display error when trying to update READ-ONLY views (UK24474).
  • Allow "double" or "double precision" in create table statements (UK24474).
  • Fix error when using IN clause on sequential scan (UK24474).
  • Fix conversion error of >15 digit numeric value (UK24474).
  • On import allow no closing bracket if the intention is obvious (UK24570).
  • When jumping using ININDEX remembering which (if multiple) ININDEX was jumping (UK24620).
  • Error opening wrong INI file is working directory was 12 characters long (UK25219).
  • Always set correct platform value before checking licence (UK25250).
  • Ensure that a prepared query amends substitution values if they have been changed by SET command (US23417).
  • Ensure the UDD is not touched during opening of the UDD - fix to TEMP data source (US25113).
  • Add DUMMYTRANSACTIONS directive for ADO.net connection to think transactions exist (US26022).
  • Implement SubSeparator directive to allow change to the characters used to delimit Substitution directive.
  • Allow 15-digit numeric values or 16-digit if the first digit is '-'.
  • Ensure columns cannot appear twice in SQLColumns when Grant & Revoke security is set.
  • Correct Grant & Revoke security listing for SQLColumns.
  • Set limit of 64 group-by columns in query.
  • Drop temporary table memory correctly when cleaning up temporary file table.
  • When >256 columns, make sure endian-ness of column number is correct.
  • Implement AlwaysUpdatable to allow SQL Server DTS to work.
  • Fix books/books.udd problem so the correct one is always referenced if both exist.
  • Fix correlated subquery so it must be added to the query where all its required values are present (UK24568).
Licence
  • Wrong user being removed from active connections list (UK24024).
  • Correct errors returned from Licence checks (UK24918).
Client
  • COBOL Client 64-bit work (preliminary only) (UK24477).
  • Ensure that HPUX does not hardcode shared object directories into USQL client.
SQLODBC
  • Change SQL_PARAM_INPUT_OUTPUT to SQL_PARAM_INPUT on the SQLBindParamer call.
  • Set different SQLSetStmtOption values for different RDBMS types.
EJE
  • Implement beta version of Enterprise Join Engine (UK24100).
  • Allow "USE " to change local database within EJE (UK24100).
  • Implement EJE function mapping using UDDEXTFUNC table (UK24100).
  • Ensure error messages are returned from remote data sources correctly (UK24100).
  • EJE update strategies and locking strategies implemented (UK24474).
  • SQL Metadata functions for EJE (UK24474).

Copyright: Computer Software Group Limited 2007