PackageDescription: StoreForSupra


Store For Supra

Last published: March 21, 2006 by 'aknight'

Defines 6 Classes
Extends 13 Classes


This package is the Store driver for the Supra SQL database.

In order to allow Store to use Supra SQL as the repository, this package provides a slightly modified version of the Supra EXDI, and implements circumventions for the limitations and restrictions of Supra SQL which are exposed by Store. The Store version of Supra EXDI does not modify/overide anything in the base SupraEXDI package. Instead, modifications to the Supra EXDI are achieved by subclassing the Supra EXDI classes.

Circumventions are implemented by catching error codes produced when attempting SQL constructs that are unsupported by Supra SQL and inserting one or more specifically modified SQL requests. The Supra SQL limitations that are circumvented are :

1. Blob data (i.e. LONGVARCHAR column) is returned as null when accessed through a view.
2. INSERT statement may not be combined with a SELECT on the same table (CSWK7025)
3. UPDATE statement may not update any portion of the primary KEY (CSWK7042)
4. DELETE statement may not have a WHERE ... IN ( ... ) clause with lots of values (CSWK1101, CSWK1103)
5. When blob data (i.e. LONGVARCHAR column) is retrieved from the data base, the maximum length is returned rather than the actual length
6. Supra SQL does not have SEQUENCE


StoreForSupra requires Supra SQL 2.9 or newer, with the following tuning parameters :
SQLLONGVARCHAR = Y
SQLMAXRESULTSETS = 256

StoreForSupra installation instructions :
----------------------------------------------------------------------------------------
1. Install Supra SQL
2. Create a Supra database
3. Use XPARAM under Windows to set the following
- set Password Case Conversion = Mixed
- set Supra tuning variable SQLLONGVARCHAR = Y
- set Supra tuning variable SQLMAXRESULTSETS = 256
4. Start the Supra database
5. From the SUPERDBA user, create the Store administration user with DBA privileges
Userid BERN is recommended, password is your own choice.
Sample SQL for creating the Store administration user :
create user BERN password BERN DBA not exclusive
6. Load the StoreForSupra parcel.
7. To create the Store tables in the Supra database, run the following Smalltalk code from a workspace
(You will be prompted for the Supra database name, the Supra administration user id and password.)
Store.DbRegistry goOffLine installDatabaseTables.
8. To remove the Store tables from the Supra database, run the following Smalltalk code from a workspace
Store.DbRegistry goOffLine deinstallDatabaseTables.