14.01.2015 Views

ChemOffice.Com - CambridgeSoft

ChemOffice.Com - CambridgeSoft

ChemOffice.Com - CambridgeSoft

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Administrator<br />

the actual version of the <strong>CambridgeSoft</strong> Oracle Cartridge<br />

software.<br />

• select * from<br />

cscartridge.globals;<br />

returns the whole table of cartridge<br />

infromation<br />

• select value from<br />

cscartridge.globals where id =<br />

'VERSION'<br />

reyurns only the version of the cartridge<br />

Checking for fields indexed<br />

by the cartridge<br />

The cartridge maintains the all_csc_indexes table in<br />

its own schema or in the tablespacedesignated in<br />

PARAMETERS when creating the index. The<br />

columns of this table are:<br />

• OWNER<br />

• INDEX_NAME<br />

• TABLE_NAME<br />

• COLUMN_NAME<br />

• COLUMN_TYPE<br />

All of the fields are defined as VARCHAR2(30)<br />

columns. Every index created by the cartridge has<br />

an entry in this table. The content of this table can<br />

be retrieved by the public. By retrieving the content<br />

the client program can know if a column is<br />

supposed to contain chemical structures.<br />

For Example:<br />

select * from<br />

cscartridge.all_csc_indexes where<br />

owner = 'me' and<br />

table_name = 'my_table' and<br />

column_name = 'my_column'<br />

What to do if creating<br />

an index fails<br />

When the user executes a CREATE INDEX<br />

command, the cartridge reads all the rows from the<br />

table, and creates its own tables for fast<br />

substructure search.<br />

There are three different outcomes of the execution<br />

of the CREATE INDEX command<br />

1. Success indicated by an "index created"<br />

message usually displayed by the client<br />

program<br />

2. Invalid data in one or more records indicated<br />

by an "ORA-29863: warning in the execution<br />

of ODCIINDEXCREATE routine" message.<br />

In this case the user should check the content<br />

of the CsCartridge.Index_name_E table for<br />

the unhandled records, which are logged by the<br />

cartridge. The index is usable as it is, the noninterpreted<br />

records should be manually<br />

reviewed and corrected. The<br />

CsCartridge.Index_name_E table contains the<br />

rowid-s of the failed rows, and an error<br />

message, The user has to locate the failed rows<br />

by the rowid, and correct the errors.<br />

3. If an exception is thrown by ORACLE, which<br />

is not handled by the cartridge, then the index<br />

creation results in an ORA-xxxxx message, and<br />

a call stack. If this happens, then the index is<br />

marked by Oracle as<br />

LOADING/FAILED/UNUSABLE, and the<br />

only command a user can execute regarding the<br />

index is the ALTER INDEX REBUILD<br />

command. The following:<br />

ALTER INDEX ixname REBUILD<br />

PARAMETERS('CONTINUE_POPULATIN<br />

G');<br />

198•CS Oracle Cartridge<br />

<strong>CambridgeSoft</strong><br />

What to do if creating an index fails

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!