Kbase 16228: Effects of -Q Startup Parameter in ESQL : V6 V7 Differences
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
Effects of -Q Startup Parameter in ESQL : V6 V7 Differences
INTRODUCTION
============
This knowledgebase entry describes changes in the effects of the
-Q startup parameter in ESQL/C from Version 6 to Version 7.
Also discussed is a point about case-sensitivity and -Q. The
behavior of -Q in this regard did not change between Version 6 and
Version 7.
The -Q startup parameter, if specified, is specified in the call
to sqllogin(), either directly, in a parameter file, or from the
command line. The method used for reading startup parameters
depends on how the call to sqllogin() is made.
VERSION 6 BEHAVIOR
==================
In Version 6, if you started an ESQL/C application with the -Q
parameter, character fields returned to the application would not
be blank-padded when the output string is shorter than the storage
allocated for it.
VERSION 7 BEHAVIOR
==================
For Version 7, if you start an ESQL/C applicaiton with the -Q
parameter, the application will encounter the following behavior:
All character fields returned to the application will be
blank-padded when the output string is shorter than the storage
allocated for it.
The maximum number of digits to the right of the decimal point
increases from 10 to 15.
Division by zero in arithmetic expressions returns and error
rather than the UNKNOWN value.
(Note that the performance of deciaml field manipulation
degrades significantly when running with -Q.)
The behavior of an ESQL/C application started with -Q is
documented in the Embedded SQL Guide and Reference (see -Q in the
index).
MIGRATING AN APPLICATION FROM V6 TO V7
======================================
If you are migrating an ESQL/C application from Version 6 to
Version 7, consider removing -Q from your startup parameters if
you do not require any of the Version 7 behavior described above.
If you do use -Q and your application is not written to trim
character data returned by ESQL/C, your application may no longer
function as it did in Version 6 with respect to character data
comparison. You may need to modify your application to trim
character data using the PROGRESS TRIM function, or using a C
function.
-Q and CASE SENSITIVITY
=======================
The behavior of -Q with respect to case-sensitivity did NOT change
from Version 6 to Version 7. In both versions, if a table is
created (using CREATE TABLE) in ESQL/C by an application that was
started with -Q, the columns in that table will be defined as
case-sensitive.
-Q does NOT affect how PROGRESS behaves with respect to character
data comparisons. -Q does not insure case-sensitive matches, for
example. Whether or not data will be considered and compared
using case-sensitive matching is dictated by the definitions of
the columns in the table.
RELATED DOCUMENTATION
=====================
Version 6 System Administration II
Version 7 Embedded SQL Guide and Reference
Version 7 System Administration Reference
Progress Software Technical Support Note # 16228