================================= RELEASE NOTES FOR INFORMIX TIMESERIES DATABLADE MODULE 3.10.UC2 DATE: 3/31/98 ================================= TABLE OF CONTENTS I. OVERVIEW OF RELEASE NOTES II. INFORMIX DATABASE SERVER NAME CHANGES III. INFORMIX SERVER COMPATIBILITY IV. UPGRADING A DATABASE FROM A PREVIOUS VERSION V. REGISTERING THE INFORMIX TIMESERIES DATABLADE MODULE VI. INSTALLING EXAMPLE FILES VII. RESTRICTIONS FOR THE TIMESERIES DATA TYPE VIII. PERFORMANCE IX. UNIMPLEMENTED FEATURES X. BETA FEATURES XI. KNOWN PROBLEMS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ I. OVERVIEW OF RELEASE NOTES ============================= The purpose of these release notes is to make you aware of any special actions required to configure and use the Informix TimeSeries DataBlade module on your computer. This file also describes new features and feature differences from earlier versions of this product and other Informix products, and how these differences affect current products. In addition, this file contains information about known bugs and their workarounds. This release notes document is not intended to be all-inclusive; it should be used as an addendum to the "Informix TimeSeries DataBlade Module User's Guide," which provides thorough information about product features and behavior. These release notes are written for the following audience: o System administrators who install the Informix TimeSeries DataBlade module o Database administrators who control access to databases that use the Informix TimeSeries DataBlade module o Developers who write applications using the Informix TimeSeries DataBlade module II. INFORMIX DATABASE SERVER NAME CHANGES ========================================== Since publication of the "LOB Locator DataBlade Module Programmer's Guide," Informix has simplified its product offerings. References in the guide to previous product names apply equally to the new product names, as indicated in the following table. ---------------------------------------------------------------------- | Previous Product Offering | New Product Offering/Configuration | |--------------------------------------------------------------------| | INFORMIX-OnLine Dynamic Server| Informix Dynamic Server | |--------------------------------------------------------------------| | INFORMIX-Universal Server | Informix Dynamic Server with | | | Universal Data Option | |--------------------------------------------------------------------| | INFORMIX-OnLine Extended | Informix Dynamic Server with | | Parallel Server | Advanced Decision Support and | | | Extended Parallel Options | |--------------------------------------------------------------------| | INFORMIX-OnLine Workgroup | Informix Dynamic Server, Workgroup | | Server | Edition | |--------------------------------------------------------------------| | INFORMIX-OnLine Workstation | Informix Dynamic Server, Developer | | | Edition | ---------------------------------------------------------------------- III. INFORMIX SERVER COMPATIBILITY =================================== Version 3.10.UC2 of the Informix TimeSeries DataBlade module has been verified on Informix Dynamic Server with Universal Data Option Version 9.14.UC1. This version of the TimeSeries DataBlade module is not compatible with Version 9.13 of the server. IV. UPGRADING A DATABASE FROM A PREVIOUS VERSION ================================================== WARNING: The Informix TimeSeries DataBlade module Version 3.10.UC2 data format is incompatible with databases from Version 3.10.UC1B5 and earlier. All such time series must be deleted using Version 3.10.UC1B5 or earlier and reloaded using Version 3.10.UC2. Versions 3.10.UC1B8, 3.10.UC1B6, 3.10.UC1B6X1, 3.10.UC1B6X2, 3.10.UC1B5X3 and 3.10.UC1B5X2 are compatible with Version 3.10.UC2. Informix recommends you backup your databases before upgrading them. To upgrade from Versions 3.10.UC1B5X2, B5X3, B6, B6X1, B6X2 and B8 to Version 3.10.UC2, run the script upgrade.sh against the databases you want to upgrade from the $INFORMIXDIR/extend/TimeSeries.3.10.UC2 directory. For example, if you are upgrading databases named "mydb1" and "mydb2," use these commands: % cd $INFORMIXDIR/extend/TimeSeries.3.10.UC2 % upgrade.sh mydb1 mydb2 To upgrade from 3.10.UC1B5 or earlier, you must first upgrade to Version 3.10.UC1B6. Unload the time series data, then use the script $INFORMIXDIR/extend/TimeSeries.3.10.UC1B6/upgrade.UC1B5.sql to upgrade to Version 3.10.UC1B6. Then run BladeManager to register Version 3.10.UC1B6. Finally, reload the data. To upgrade a database named "mydb" that does not need to be reloaded, run the commands: dbaccess mydb $INFORMIXDIR/extend/TimeSeries.3.10.UC1B6/upgrade.UC1B5.sql blademgr register TimeSeries.3.10.UC1B6 mydb If you use the upgrade.UC1B5.sql script to upgrade a database from Version 3.10.UC1B2, you will obtain error messages like: 674: Routine (timeseriesfrelapi) can not be resolved. 111: ISAM error: no record found. These can be ignored. V. REGISTERING THE INFORMIX TIMESERIES DATABLADE MODULE ========================================================= To use the Informix TimeSeries DataBlade module, you must register it in each database in which it will be used. See the "BladeManager User's Guide" for instructions on how to register DataBlade modules. VI. INSTALLING EXAMPLE FILES ============================ This product includes a script that populates your database with tables and sample time series data for each data type defined in the Informix TimeSeries DataBlade module. You can use the sample query files located in the $INFORMIXDIR/extend/TimeSeries.3.10.UC2/examples directory to perform queries on the sample tables and data. To install the sample database schema, enter the following command from the $INFORMIXDIR/extend/TimeSeries.3.10.UC2/examples directory: make -f Makefile. MY_DATABASE= where is the name of your operating system, and is the name of your database. VII. RESTRICTIONS FOR THE TIMESERIES DATA TYPE ============================================== Since the TimeSeries data type is constructed from a row type, the current Informix Dynamic Server with Universal Data Option restrictions on which data types can be included in a row type apply. Row types cannot contain: o SERIAL and SERIAL8 types. o types that have Assign or Destroy functions assigned to them, including: - some user-defined types. - large object types. A further restriction is that a row type can be no larger than about 2000 bytes. The size of the row is determined by adding the size of each of the columns in the row. VIII. PERFORMANCE ================= After loading data into a TimeSeries column, run the following commands: update statistics high for table tsinstancetable; update statistics high for table tsinstancetable (id); This will improve performance for any subsequent load, insert, and delete operations. If you are using the Beta virtual table interface feature, see section IX. BETA FEATURES for further information about performance. IX. UNIMPLEMENTED FEATURES ============================= This release is not GLS compliant. X. BETA FEATURES ================= This release provides a beta version of a virtual table interface to allow you to read time series data as though it is in a simple table. See the "TimeSeries Virtual Table" specification, tsvti-fs.html, in the doc directory, for more information. The "TimeSeries Virtual Table" specification has been updated since Version 3.10.UCB6 with the following information: o The TSCreateVirtualTab function's TSScanMode argument is changed to TSVTMode, allowing the user to set a flag to override the functions used to insert a new element. o The default behavior when inserting a new element through a virtual table is to use the PutElemNoDups function instead of the PutElem function. o The signature of TSCreateVirtualTab functions are changed. A new argument with type lvarchar is added as the last argument after TSVTMode argument. The new argument is the name of timeseries column in the base table to use in virtual table. The default value for this new argument is NULL. All existing usage of TSCreateVirtualTab will NOT be affected by this change, the default value NULL will be used. With this new argument, user can now create virtual table directly on top of base table containing more than one timeseries columns. Just pass in the timeseries column to be used in virtual table as the value of this new argument. So user is no longer required to create a view on base table to select single timeseries column out. To enhance performance when using the virtual table interface, perform the following: o Create an index on the key column of the base table. If the table has more than one column in the key, create a composite index consisting of all key columns. o Perform "update statistics" on the base table and on its key columns, as shown for the tsinstancetable in section VII. PERFORMANCE. You should re-run "update statistics" after any load or delete operations; you might want to make these commands part of your routine database maintenance. XI. KNOWN PROBLEMS ================== The following bugs are known to be in this release of the Informix TimeSeries DataBlade module: o Bug 88940 The TimeSeries DataBlade module does not correctly handle quotes inside calendar, pattern, or container names. You can enter a calendar, pattern, or container name with an embedded quote, but you will get a syntax error message when you try to use that name. The following dbaccess session log provides an example. > insert into CalendarTable(c_name, c_calendar) values ('junk''cal', 'startdate(1994-01-01 00:00:00.00000),pattstart(1994-01-01 00:00:00.00000),pattern({1 on}, day)'); 1 row(s) inserted. > insert into inst values('junk', 'calendar(junk''cal),[]'); 201: A syntax error has occurred. o Bug 80834 If you add a time series element with a large collection, about 1200 bytes or larger, the data can no longer be retrieved. You will get the error message: "9875: Bad internal structure for collection data: unknown flag value" when displaying the element with the large collection. Do not attempt to use large collections. o Bug 76801 If you create a time series on a row type, delete that row type, re-create the row type (using the same name), and then attempt to create another time series on that row type, the creation can fail with the error message: "7438: Unsupported data type." To work around this problem, restart the server after dropping the row type.