1.0

Table Of Contents
Chapter 60
vFabric SQLFire Limitations
Note the basic limitations and known issues in this release of SQLFire and its supported platforms.
SQL Language Limitations
SQLFire has limitations and restrictions for SQL statements, clauses, and expressions.
ALTER TABLE Limitations
This release of SQLFire has the following restrictions for ALTER TABLE. SQLFire throws a SQLException
Feature not implemented with SQLState 0A000 if any of these actions are attempted:
Adding or dropping a column when the table has data, or when the table had data at some point after creation.
Dropping a primary key column with or without data.
Adding or dropping a primary key constraint when the table has data, or when the table had data at some point
after creation.
In addition, the ALTER COLUMN clause as in the SQL-92 standard is not implemented and SQLFire will throw
an SQLException with state 0A000 though it is not treated as a syntactical error.
Auto-Generated Columns
This release of SQLFire supports auto-generated IDENTITY columns, but has the following limitations:
Only INT and BIGINT column types can be marked as auto-generated IDENTITY columns.
The START WITH and INCREMENT BY clauses are supported only for GENERATED BY DEFAULT
identity columns.
If the maximum permissible value for the type is reached in any insert, then SQLFire throws an overow
exception (SQLState: 42Z24). This does not necessarily mean that all possible values of that type have been
used up, because it is possible that some values remain unused.
Applications should not depend on identity values being incremental across the distributed system, because
SQLFire provides no ordering guarantee for concurrent inserts from multiple members. However, inserts from
a single member will have the generated values in ascending order and applications can use that for ordering
purposes.
Bulk Update Limitations
If a SQL statement performs a bulk update operation on multiple SQLFire members, any exception that occurs
during the bulk update can leave some rows updated while other rows are not updated. Use transactions with
bulk update statements to ensure that all updates succeed or roll back as a whole. See Atomicity for Bulk Updates
on page 136.
653