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
Supports 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 |