---------------------------------------------------------------------- SQL/R A.01.71 - patch 9912200 ---------------------------------------------------------------------- This patch fixes all known Year 2000 issues with SQL/R and SQL/R ODBC for SQL/R release A.01.60 and extends the SQL/R functionality to handle additional date formats. SQL/R A.01.60 (or above) must be installed previously. Fixed problems: --------------- * This patch fixes a Y2K problem with the SQL/R A.01.6x ODBC server. When a date field is used to access an index (in a join or optimizing the WHERE clause) SQL/R did not correctly encode serial date values above 1999-12-31 (e.g. FROM 1972). * The following additional date formats are now supported with ODBC. The FIELD statement (as used in the repository file) has been enhanced to support additional date and time encodings: FIELD qual.field CONVERT TO DATE [("encoding"[,baseyr])]; FIELD qual.field CONVERT TO TIME [("encoding")]; Where encoding describes the date field encoding in the database and baseyr provides an additional option for this encoding. This is important when a date field is used to access an index (in a join or optimizing the WHERE clause) because SQL/R must encode a value according to conventions used in the database. The following date encodings are supported: "GREG" - number of days since base year (default 1972) "YMD" - YYMMDD encoding, relative to base year (default 1900) "Y2MD" - YYMMDD encoding, split at given year (default 1970) "YYMD" - YYYYMMDD encoding "UNIX" - seconds since 1970 For example: FIELD qual.xx CONVERT TO DATE("YMD"); A value of 990424 is understood as 1999-04-24 FIELD qual.xx CONVERT TO DATE("YMD",1950); A value of 490424 is understood as 1999-04-24 FIELD qual.xx CONVERT TO DATE("Y2MD",1960) A value of 200424 is understood as 2020-04-24 A value of 990424 is understood as 1999-04-24 FIELD qual.xx CONVERT TO DATE("YYMD"); A value of 19990424 is understood as 1999-04-24 The following time encodings are supported: "HM" - 100 * hour + minute "HMS" - 10000 * hour + 100 * minure + second "HM60" - 60 * hour + minute "HMS60" - 3600 * hour + 60 * minute + second For example: FIELD qual.xx CONVERT TO TIME("HMS"); A value of 131512 is understood as 13:15:12 Please note that currently due to internal limitations a year value before 1901 or above 2036 will cause a conversion error (resulting in a NULL value). Patch PS16-9912020 ------------------ * Version number changed to A.01.71 * When a date field is used to access an index (in a join or optimizing the WHERE clause) SQL/R did not correctly encode serial date values above 1999-12-31 (e.g. FROM 1972). Patch PS16-9911290 ------------------ * Version number changed to A.01.70 * Sqlr.DLL and sqlrexec are now compatible with either 6-digit or 8-digit date encodings. This is important when a date field is used to access an index (in a join or optimizing the WHERE clause) because SQL/R must encode a value according to conventions used in the database. Formerly, the default date encoding was YYMMDD (6-digit). This has changed to YYYYMMDD (8-digit including century). For backward compatibility reasons, the old encoding is still available. Backward compatibility is controlled by using the "date" keyword with the SQLR_OPTIONS environment variable. Syntax: The SQLR_OPTIONS environment varible is specified as a list of options separated by a semicolon (;). Each option consists of a keyword and a value, separated by an equal sign (=). For example: SQLR_OPTIONS="date=ymd" export SQLR_OPTIONS Please note that the quotes are important since the semicolon is handled as a statement separator by the shell. Keywords: date - specify date encoding cymd : including century (8-digit date encoding) ymd : excluding century (6-digit date encoding) default is "cymd" Patch PS16-9808210 ------------------ * Version number changed to A.01.65 * Max. string length has been extended from 1024 to 2048 Patch PS16-9807170 ------------------ * Version number changed to A.01.64 * Fixed memory overwrite in header line Patch PS16-9807150 ------------------ * Version number changed to A.01.63 * Fixed memory overwrite in header line Patch PS16-9807030 ------------------ * Version number changed to A.01.62 * Max. number of aliases has been extended to 384 Patch sqlr-1.61 --------------- * Version number changed to A.01.61 * Sqlr.DLL and sqlrexec not compatible with PA-RISC 1.0 hardware * Sqlr.DLL and sqlrexec are now compatible with eloqdb5 to easy the A.06.00 transition. If a database path does not begin with a slash (it's not an absolute path) and the leading segment is not an existing directory, all characters before the first slash are ignored. This should have no impact on backwards compatibility. Installation: ------------- SQL/R A.01.60 (or above) must be installed previously. While this patch may work with previous versions as well, this has not been verified. In order to install this patch, you need to unpack it with gzip. Gzip is included with HP-UX 10.x (and above). Gzip for for HP-UX 9.x can be obatined from this ftp server in the /pub directory. Installation requires root privileges. cd /opt/sqlr gzip -dc /tmp/PS17-9912200-hpux.tar.gz | tar xf - Files: bin/sqlred bin/sqlrexec bin/sqlrodbcd lib/Sqlr.DLL lib/libsqlrvar.sl lib/libC.sl