Quadcap Embeddable Database

com.quadcap.sql.UniqueConstraint Class Reference

Inheritance diagram for com.quadcap.sql.UniqueConstraint:

com.quadcap.sql.IndexConstraint Externalizable com.quadcap.sql.Constraint Externalizable Externalizable com.quadcap.sql.PrimaryKeyConstraint List of all members.

Detailed Description

Index constraint for indexes in which keys must be unique.

Author:
Stan Bailes

Definition at line 71 of file UniqueConstraint.java.

Public Member Functions

 UniqueConstraint ()
 Default constraint (required for Externalizable).

 UniqueConstraint (String name)
 Explicit constructor for named constraint.

 UniqueConstraint (String name, Vector names)
 Explicit constructor with name and columns.

void checkInsert (Session session, Row row) throws SQLException, IOException
 Constraint.checkInsert() We make sure the key isn't already in the index.

int getIndexColumnCount ()
 IndexConstraint.Return the number of columns in this index.

byte[] makeKey (Session session, Row row, long rowId) throws SQLException
 Make a serialized key appropriate to the constraint type, based on the row and row id information.

String constraintType ()
 Derived classes must implement this function, which returns the constraint type as a human readable string.

final void addExportConstraint (ExportedKeyConstraint ec)
final Enumeration getExportConstraints ()
final void removeExportConstraint (String name) throws SQLException
void readExternal (ObjectInput in) throws IOException, ClassNotFoundException
 Externalizable.readExternal(): Read me from a stream.

void writeExternal (ObjectOutput out) throws IOException
 Externalizable.writeExternal(): Write me to a stream.


Package Attributes

Vector exportConstraints = null


Constructor & Destructor Documentation

com.quadcap.sql.UniqueConstraint.UniqueConstraint  ) 
 

Default constraint (required for Externalizable).

Definition at line 79 of file UniqueConstraint.java.

com.quadcap.sql.UniqueConstraint.UniqueConstraint String  name  ) 
 

Explicit constructor for named constraint.

Definition at line 84 of file UniqueConstraint.java.

com.quadcap.sql.UniqueConstraint.UniqueConstraint String  name,
Vector  names
 

Explicit constructor with name and columns.

Definition at line 91 of file UniqueConstraint.java.


Member Function Documentation

final void com.quadcap.sql.UniqueConstraint.addExportConstraint ExportedKeyConstraint  ec  ) 
 

Definition at line 138 of file UniqueConstraint.java.

References com.quadcap.sql.UniqueConstraint.addExportConstraint(), com.quadcap.sql.UniqueConstraint.exportConstraints, and com.quadcap.sql.Constraint.getName().

Referenced by com.quadcap.sql.UniqueConstraint.addExportConstraint().

void com.quadcap.sql.UniqueConstraint.checkInsert Session  session,
Row  row
throws SQLException, IOException [virtual]
 

Constraint.checkInsert() We make sure the key isn't already in the index.

XXX This implementation could be optimized if we could roll this up XXX in the apply step

Reimplemented from com.quadcap.sql.IndexConstraint.

Definition at line 102 of file UniqueConstraint.java.

References com.quadcap.sql.UniqueConstraint.checkInsert(), com.quadcap.sql.UniqueConstraint.constraintType(), com.quadcap.sql.index.Btree.get(), and com.quadcap.sql.UniqueConstraint.makeKey().

Referenced by com.quadcap.sql.UniqueConstraint.checkInsert().

String com.quadcap.sql.UniqueConstraint.constraintType  )  [virtual]
 

Derived classes must implement this function, which returns the constraint type as a human readable string.

Implements com.quadcap.sql.IndexConstraint.

Reimplemented in com.quadcap.sql.PrimaryKeyConstraint.

Definition at line 136 of file UniqueConstraint.java.

Referenced by com.quadcap.sql.UniqueConstraint.checkInsert().

final Enumeration com.quadcap.sql.UniqueConstraint.getExportConstraints  ) 
 

Definition at line 145 of file UniqueConstraint.java.

References com.quadcap.sql.UniqueConstraint.exportConstraints.

Referenced by com.quadcap.sql.StmtDropConstraint.execute().

int com.quadcap.sql.UniqueConstraint.getIndexColumnCount  ) 
 

IndexConstraint.Return the number of columns in this index.

Reimplemented from com.quadcap.sql.IndexConstraint.

Reimplemented in com.quadcap.sql.PrimaryKeyConstraint.

Definition at line 118 of file UniqueConstraint.java.

References com.quadcap.sql.Constraint.getColumnCount().

byte [] com.quadcap.sql.UniqueConstraint.makeKey Session  session,
Row  row,
long  rowId
throws SQLException [virtual]
 

Make a serialized key appropriate to the constraint type, based on the row and row id information.

Implements com.quadcap.sql.IndexConstraint.

Reimplemented in com.quadcap.sql.PrimaryKeyConstraint.

Definition at line 122 of file UniqueConstraint.java.

References com.quadcap.sql.Constraint.getColumns(), and com.quadcap.sql.UniqueConstraint.makeKey().

Referenced by com.quadcap.sql.UniqueConstraint.checkInsert(), com.quadcap.sql.ImportedKeyConstraint.checkInsert(), and com.quadcap.sql.UniqueConstraint.makeKey().

void com.quadcap.sql.UniqueConstraint.readExternal ObjectInput  in  )  throws IOException, ClassNotFoundException
 

Externalizable.readExternal(): Read me from a stream.

Reimplemented from com.quadcap.sql.IndexConstraint.

Reimplemented in com.quadcap.sql.PrimaryKeyConstraint.

Definition at line 169 of file UniqueConstraint.java.

References com.quadcap.sql.UniqueConstraint.exportConstraints, and com.quadcap.sql.UniqueConstraint.readExternal().

Referenced by com.quadcap.sql.UniqueConstraint.readExternal().

final void com.quadcap.sql.UniqueConstraint.removeExportConstraint String  name  )  throws SQLException
 

Definition at line 153 of file UniqueConstraint.java.

References com.quadcap.sql.UniqueConstraint.exportConstraints, and com.quadcap.sql.UniqueConstraint.removeExportConstraint().

Referenced by com.quadcap.sql.ExportedKeyConstraint.delete(), and com.quadcap.sql.UniqueConstraint.removeExportConstraint().

void com.quadcap.sql.UniqueConstraint.writeExternal ObjectOutput  out  )  throws IOException
 

Externalizable.writeExternal(): Write me to a stream.

Reimplemented from com.quadcap.sql.IndexConstraint.

Reimplemented in com.quadcap.sql.PrimaryKeyConstraint.

Definition at line 176 of file UniqueConstraint.java.

References com.quadcap.sql.UniqueConstraint.exportConstraints, and com.quadcap.sql.UniqueConstraint.writeExternal().

Referenced by com.quadcap.sql.UniqueConstraint.writeExternal().


Member Data Documentation

Vector com.quadcap.sql.UniqueConstraint.exportConstraints = null [package]
 

Definition at line 74 of file UniqueConstraint.java.

Referenced by com.quadcap.sql.UniqueConstraint.addExportConstraint(), com.quadcap.sql.UniqueConstraint.getExportConstraints(), com.quadcap.sql.UniqueConstraint.readExternal(), com.quadcap.sql.UniqueConstraint.removeExportConstraint(), and com.quadcap.sql.UniqueConstraint.writeExternal().