Quadcap Embeddable Database

com.quadcap.sql.AutoNumberConstraint Class Reference

Inheritance diagram for com.quadcap.sql.AutoNumberConstraint:

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

Detailed Description

Constraint class for SQL AUTO_NUMBER constraints.

Author:
Stan Bailes

Definition at line 59 of file AutoNumberConstraint.java.

Public Member Functions

 AutoNumberConstraint ()
 Default constructor.

 AutoNumberConstraint (String name)
 Explicit name constructor.

void add (Session session) throws SQLException
 When added, I need to number all rows which already exist in the table.

void delete (Session session) throws SQLException, IOException
 My column is no longer an auto-incrementer.

void applyInsert (Session session, Row row, long rowId, Constraint activeIndex) throws SQLException, IOException
 Our work is already done.

void checkDelete (Session session, Row row, long rowId) throws SQLException, IOException
 We don't care about deletes.

void applyDelete (Session session, Row row, long rowId, Constraint activeIndex) throws SQLException, IOException
 We don't care about deletes.

void checkInsert (Session session, Row row) throws SQLException, IOException
 If the 'with identity' field is null or not an integer we assign the number before the insert operation and increment our little counter.

void checkUpdate (Session session, byte[] oldKey, Row row, Row oldRow, long rowId, Constraint activeIndex) throws SQLException, IOException
 We only operate during INSERT, basically.

void applyUpdate (Session session, byte[] oldKey, Row row, Row oldRow, long rowId, Constraint activeIndex) throws SQLException, IOException
 's cool.

void readExternal (ObjectInput in) throws IOException, ClassNotFoundException
 Where did I leave off?

void writeExternal (ObjectOutput out) throws IOException
 Remember where we were.

int getPriority ()
 Do me first.


Package Attributes

transient AutoNumberStep step
long current = -1

Static Package Attributes

Object stepLock = new Object()


Constructor & Destructor Documentation

com.quadcap.sql.AutoNumberConstraint.AutoNumberConstraint  ) 
 

Default constructor.

Definition at line 69 of file AutoNumberConstraint.java.

com.quadcap.sql.AutoNumberConstraint.AutoNumberConstraint String  name  ) 
 

Explicit name constructor.

Definition at line 74 of file AutoNumberConstraint.java.


Member Function Documentation

void com.quadcap.sql.AutoNumberConstraint.add Session  session  )  throws SQLException [virtual]
 

When added, I need to number all rows which already exist in the table.

Implements com.quadcap.sql.Constraint.

Definition at line 82 of file AutoNumberConstraint.java.

References com.quadcap.sql.AutoNumberConstraint.add(), com.quadcap.sql.Constraint.getColumn(), com.quadcap.sql.Column.isAutoIncr, and com.quadcap.sql.Table.isUnderConstruction().

Referenced by com.quadcap.sql.AutoNumberConstraint.add().

void com.quadcap.sql.AutoNumberConstraint.applyDelete Session  session,
Row  row,
long  rowId,
Constraint  activeIndex
throws SQLException, IOException [virtual]
 

We don't care about deletes.

Implements com.quadcap.sql.Constraint.

Definition at line 123 of file AutoNumberConstraint.java.

References com.quadcap.sql.AutoNumberConstraint.applyDelete().

Referenced by com.quadcap.sql.AutoNumberConstraint.applyDelete().

void com.quadcap.sql.AutoNumberConstraint.applyInsert Session  session,
Row  row,
long  rowId,
Constraint  activeIndex
throws SQLException, IOException [virtual]
 

Our work is already done.

(We gave out the number in checkInsert())

Implements com.quadcap.sql.Constraint.

Definition at line 106 of file AutoNumberConstraint.java.

References com.quadcap.sql.AutoNumberConstraint.applyInsert().

Referenced by com.quadcap.sql.AutoNumberConstraint.applyInsert().

void com.quadcap.sql.AutoNumberConstraint.applyUpdate Session  session,
byte[]  oldKey,
Row  row,
Row  oldRow,
long  rowId,
Constraint  activeIndex
throws SQLException, IOException [virtual]
 

's cool.

Implements com.quadcap.sql.Constraint.

Definition at line 203 of file AutoNumberConstraint.java.

References com.quadcap.sql.AutoNumberConstraint.applyUpdate().

Referenced by com.quadcap.sql.AutoNumberConstraint.applyUpdate().

void com.quadcap.sql.AutoNumberConstraint.checkDelete Session  session,
Row  row,
long  rowId
throws SQLException, IOException [virtual]
 

We don't care about deletes.

Implements com.quadcap.sql.Constraint.

Definition at line 115 of file AutoNumberConstraint.java.

References com.quadcap.sql.AutoNumberConstraint.checkDelete().

Referenced by com.quadcap.sql.AutoNumberConstraint.checkDelete().

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

If the 'with identity' field is null or not an integer we assign the number before the insert operation and increment our little counter.

Implements com.quadcap.sql.Constraint.

Definition at line 136 of file AutoNumberConstraint.java.

References com.quadcap.sql.AutoNumberConstraint.checkInsert(), com.quadcap.sql.types.Value.convert(), com.quadcap.sql.AutoNumberConstraint.current, com.quadcap.sql.Column.getColumn(), com.quadcap.sql.Constraint.getColumn(), com.quadcap.sql.TupleImpl.getName(), com.quadcap.sql.Database.getTableIdentity(), com.quadcap.sql.types.ValueLong.longValue(), com.quadcap.sql.AutoNumberStep.setCurrentId(), com.quadcap.sql.AutoNumberConstraint.step, and com.quadcap.sql.AutoNumberConstraint.stepLock.

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

void com.quadcap.sql.AutoNumberConstraint.checkUpdate Session  session,
byte[]  oldKey,
Row  row,
Row  oldRow,
long  rowId,
Constraint  activeIndex
throws SQLException, IOException [virtual]
 

We only operate during INSERT, basically.

Implements com.quadcap.sql.Constraint.

Definition at line 194 of file AutoNumberConstraint.java.

References com.quadcap.sql.AutoNumberConstraint.checkUpdate().

Referenced by com.quadcap.sql.AutoNumberConstraint.checkUpdate().

void com.quadcap.sql.AutoNumberConstraint.delete Session  session  )  throws SQLException, IOException [virtual]
 

My column is no longer an auto-incrementer.

Implements com.quadcap.sql.Constraint.

Definition at line 97 of file AutoNumberConstraint.java.

References com.quadcap.sql.Constraint.getColumn(), and com.quadcap.sql.Column.isAutoIncr.

int com.quadcap.sql.AutoNumberConstraint.getPriority  ) 
 

Do me first.

Reimplemented from com.quadcap.sql.Constraint.

Definition at line 230 of file AutoNumberConstraint.java.

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

Where did I leave off?

Reimplemented from com.quadcap.sql.Constraint.

Definition at line 212 of file AutoNumberConstraint.java.

References com.quadcap.sql.AutoNumberConstraint.current, and com.quadcap.sql.AutoNumberConstraint.readExternal().

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

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

Remember where we were.

Reimplemented from com.quadcap.sql.Constraint.

Definition at line 222 of file AutoNumberConstraint.java.

References com.quadcap.sql.AutoNumberConstraint.current, and com.quadcap.sql.AutoNumberConstraint.writeExternal().

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


Member Data Documentation

long com.quadcap.sql.AutoNumberConstraint.current = -1 [package]
 

Definition at line 64 of file AutoNumberConstraint.java.

Referenced by com.quadcap.sql.AutoNumberConstraint.checkInsert(), com.quadcap.sql.AutoNumberConstraint.readExternal(), and com.quadcap.sql.AutoNumberConstraint.writeExternal().

transient AutoNumberStep com.quadcap.sql.AutoNumberConstraint.step [package]
 

Definition at line 62 of file AutoNumberConstraint.java.

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

Object com.quadcap.sql.AutoNumberConstraint.stepLock = new Object() [static, package]
 

Definition at line 129 of file AutoNumberConstraint.java.

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