DDL Locking Errors

Errors may occur if you issue a DDL command when another DDL command is in process.

You may see this error message:

Cannot perform DDL command now on table <tablename> as a DDL command is already in progress on that table.

If a CREATE DBSPACE or DROP DBSPACE command is in progress, and a user explicitly issues a CHECKPOINT command, the checkpoint fails with:

Run time SQL Error

If a CHECKPOINT command is in progress, a user who issues a CREATE DBSPACE or DROP DBSPACE command sees:

Cannot perform requested command as there is a 
CHECKPOINT command in progress.

A user who issues CREATE DBSPACE during a drop sees:

Cannot perform requested command as there is a 
DROP DBSPACE command in progress.

A user who issues DROP DBSPACE during a create sees:

Cannot perform requested command as there is a 
CREATE DBSPACE command in progress.

When one transaction issues a DDL command on a given table or index, any other transaction that began before the DDL transaction commits, and that tries to access that table, receives an error. When this error occurs, any additional attempts to read or write to the table in the current transaction fail.

There is an exception to these index creation commands rules. If you use a CREATE INDEX command with a SELECT statement on the table(s) affected by the index creation, SAP Sybase IQ prevents use of the new index until the transaction creating the index commits.

While GRANT, REVOKE, and SET OPTION are also considered DDL operations, they cause no concurrency conflicts, and so are not restricted. GRANT and REVOKE always cause an automatic commit; SET OPTION causes an automatic commit except when it is specified as TEMPORARY. GRANT and REVOKE are not allowed for any user currently connected to the database. SET OPTION affects all subsequent SQL statements sent to the database server, except for certain options that do not take effect until after you restart the database server.