Product: ChemBioOffice Enterprise
Using Oracle 9.2.0.4 or 9.2.0.5 and Cartridge 2.1 I am unable to create an index on an existing table of chemical structures.
There is an Oracle bug that makes the two versions above unable to populate an index from a large set of structures. To work around this problem you need to first create an empty index and then have oracle index each structure in the context of an update statement. 1) From a SQL client like SQLplus or Benthic Golden log in as the owner of the structure table and create the empty index: CREATE INDEX -name- ON -table- (-structure field-) INDEXTYPE IS CSCARTRIDGE.MOLECULEINDEXTYPE PARAMETERS('SKIP_POPULATING=YES'); 2) Now 'trick' the cartridge into indexing each structure by updating them to themselves: UPDATE -table- SET -structure field- = -structure field-; This indexing procedure is fairly slow (1-4 structures indexed per second) but you can do the update in smaller chunks e.g. UPDATE -table- SET -structure field- = -structure field- WHERE id BETWEEN 0 AND 100000; This problem does *not* happen in CSCartridge version 3.0 or Oracle version 9.2.0.1 and earlier.
Comments
0 comments
Article is closed for comments.