Quadcap Embeddable Database

com.quadcap.sql.Column Class Reference

Inheritance diagram for com.quadcap.sql.Column:

Externalizable List of all members.

Detailed Description

A column lives in a tuple, has a name, a type, and a default value.

Author:
Stan Bailes

Definition at line 61 of file Column.java.

Public Member Functions

 Column ()
 Default constructor.

 Column (String name, Type type)
 Basic column construction: name + type.

 Column (String name, Column col)
 Copy (rename) column construction: name + old col.

void readExternal (ObjectInput in) throws IOException, ClassNotFoundException
 Read me from a stream.

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

void addConstraint (Constraint con)
 Add a new column constraint.

Type getType ()
 Return this column's type.

int getColumn ()
 Get the column's position (one-based) in the table.

String getName ()
 Get the column's name.

String getShortName ()
 Get the column's short name.

boolean isJoinColumn ()
 Return true if this column has the 'joinColumn' flag set.

void setJoinColumn (boolean b)
 Set the 'joinColumn' flag.

Tuple getRelation ()
 Get the tuple in which this column is contained.

int getNullable ()
 Return the JDBC 'nullable' state of this column.

boolean isNullable ()
 Return true if this column allows nulls.

void setNullable (int nullable)
 Set the JDBC 'nullable' state of this column.

void setDefault (Expression expr)
 Set the column's default value.

Expression getDefault ()
 Get the column's default value.

boolean isAutoIncrement ()
 Return true if this column is an auto-increment type.

String toString ()
 Return a string for debugging purposes.


Package Functions

Vector getConstraints ()
 Return all of this column's constraints, as a vector.

void setType (Type type)
 Set the column's type.

void setColumn (int column)
 Set the column's position (one-based) in the table.

void setName (String name)
 Set the column's name.

void setShortName (String name)
 Set the column's short name.

void setTable (Tuple table)
 Set the column's table.


Package Attributes

transient Tuple table
transient Vector constraints = null
String name
String shortName
int column
boolean joinColumn = false
Type type
Expression defaultExpr
boolean isAutoIncr = false
int nullable = ResultSetMetaData.columnNullable


Constructor & Destructor Documentation

com.quadcap.sql.Column.Column  ) 
 

Default constructor.

Definition at line 78 of file Column.java.

com.quadcap.sql.Column.Column String  name,
Type  type
 

Basic column construction: name + type.

Definition at line 83 of file Column.java.

com.quadcap.sql.Column.Column String  name,
Column  col
 

Copy (rename) column construction: name + old col.

Definition at line 91 of file Column.java.

References com.quadcap.sql.Column.getType(), and com.quadcap.sql.Column.isAutoIncr.


Member Function Documentation

void com.quadcap.sql.Column.addConstraint Constraint  con  ) 
 

Add a new column constraint.

Keep the constraints in order by priority.

Definition at line 133 of file Column.java.

References com.quadcap.sql.Column.addConstraint(), com.quadcap.sql.Column.constraints, com.quadcap.sql.Constraint.getPriority(), com.quadcap.sql.Column.isAutoIncr, and com.quadcap.sql.Constraint.setColumn().

Referenced by com.quadcap.sql.Column.addConstraint(), and com.quadcap.sql.SQLParser.columnDefinition().

int com.quadcap.sql.Column.getColumn  ) 
 

Get the column's position (one-based) in the table.

Definition at line 177 of file Column.java.

References com.quadcap.sql.Column.column.

Referenced by com.quadcap.sql.MergeExpression.checkCorresponding(), com.quadcap.sql.AutoNumberConstraint.checkInsert(), com.quadcap.sql.UpdateItem.evaluate(), com.quadcap.sql.StmtDropColumn.execute(), com.quadcap.jdbc.ResultSet.findColumn(), com.quadcap.sql.StaticCursor.get(), com.quadcap.sql.StaticCursor.getColumn(), com.quadcap.sql.TupleImpl.getColumnIndex(), com.quadcap.sql.JoinedTable.getUsingColumns(), com.quadcap.sql.NameExpression.getValue(), com.quadcap.sql.GroupByCursor.GroupByCursor(), com.quadcap.sql.ItemsCursor.ItemsCursor(), com.quadcap.sql.DistinctCursor.makeObTemp(), com.quadcap.sql.JoinedTable.mapColumns(), com.quadcap.sql.OrderByCursor.OrderByCursor(), com.quadcap.sql.StaticCursor.put(), com.quadcap.sql.DropColumn.redo(), com.quadcap.sql.DropColumn.undo(), and com.quadcap.sql.AddColumn.undo().

Vector com.quadcap.sql.Column.getConstraints  )  [package]
 

Return all of this column's constraints, as a vector.

Definition at line 155 of file Column.java.

References com.quadcap.sql.Column.constraints.

Referenced by com.quadcap.sql.StmtDropColumn.execute(), com.quadcap.sql.StmtCreateTable.execute(), and com.quadcap.sql.StmtAddColumn.execute().

Expression com.quadcap.sql.Column.getDefault  ) 
 

Get the column's default value.

Definition at line 257 of file Column.java.

References com.quadcap.sql.Column.defaultExpr.

Referenced by com.quadcap.sql.UpdateItem.evaluate(), com.quadcap.sql.StmtDropColumn.execute(), com.quadcap.sql.StmtAddColumn.execute(), and com.quadcap.sql.AlterColumn.prepare().

String com.quadcap.sql.Column.getName  ) 
 

Get the column's name.

Definition at line 182 of file Column.java.

References com.quadcap.sql.Column.name.

Referenced by com.quadcap.sql.TupleImpl.addColumns(), com.quadcap.sql.StmtAddColumn.execute(), com.quadcap.sql.ItemsCursor.expandWildCard(), com.quadcap.sql.View.getCursor(), com.quadcap.sql.MergeExpression.getCursor(), com.quadcap.sql.JoinInnerCursor.makeTemporaryIndexForTable(), com.quadcap.sql.JoinedTable.mapColumns(), com.quadcap.sql.SelectExpression.optimizeAggregate(), com.quadcap.sql.DropColumn.redo(), com.quadcap.sql.TupleImpl.resolveColumns(), com.quadcap.sql.Constraint.setColumn(), com.quadcap.sql.IndexCursor.toString(), com.quadcap.sql.CursorImpl.toString(), and com.quadcap.sql.AddColumn.undo().

int com.quadcap.sql.Column.getNullable  ) 
 

Return the JDBC 'nullable' state of this column.

Definition at line 229 of file Column.java.

References com.quadcap.sql.Column.nullable.

Tuple com.quadcap.sql.Column.getRelation  ) 
 

Get the tuple in which this column is contained.

Definition at line 224 of file Column.java.

References com.quadcap.sql.Column.table.

Referenced by com.quadcap.sql.NameExpression.getValue().

String com.quadcap.sql.Column.getShortName  ) 
 

Get the column's short name.

Definition at line 197 of file Column.java.

References com.quadcap.sql.Column.name, and com.quadcap.sql.Column.shortName.

Referenced by com.quadcap.sql.MergeExpression.checkCorresponding(), com.quadcap.sql.NotNullConstraint.checkInsert(), com.quadcap.sql.ItemsCursor.expandWildCard(), com.quadcap.jdbc.ResultSetMetaData.getColumnDisplaySize(), com.quadcap.sql.JoinedTable.getNaturalJoinColumns(), com.quadcap.sql.JoinedTable.mapColumns(), com.quadcap.sql.RenameCursor.RenameCursor(), and com.quadcap.sql.View.toString().

Type com.quadcap.sql.Column.getType  ) 
 

Return this column's type.

Definition at line 162 of file Column.java.

References com.quadcap.sql.Column.type.

Referenced by com.quadcap.sql.Column.Column(), com.quadcap.jdbc.ResultSetMetaData.getColumnDisplaySize(), com.quadcap.sql.NameExpression.getType(), com.quadcap.sql.Table.hasBlobs(), com.quadcap.sql.TableOps.holdBlobsInRow(), com.quadcap.sql.InExpression.InSessionState.init(), com.quadcap.sql.Key.makeKey(), com.quadcap.sql.JoinedTable.mapColumns(), and com.quadcap.sql.ViewCursor.ViewCursor().

boolean com.quadcap.sql.Column.isAutoIncrement  ) 
 

Return true if this column is an auto-increment type.

Definition at line 265 of file Column.java.

References com.quadcap.sql.Column.isAutoIncr.

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

boolean com.quadcap.sql.Column.isJoinColumn  ) 
 

Return true if this column has the 'joinColumn' flag set.

Definition at line 205 of file Column.java.

References com.quadcap.sql.Column.joinColumn.

Referenced by com.quadcap.sql.TupleImpl.addColumns(), and com.quadcap.sql.ItemsCursor.expandWildCard().

boolean com.quadcap.sql.Column.isNullable  ) 
 

Return true if this column allows nulls.

Definition at line 236 of file Column.java.

References com.quadcap.sql.Column.nullable.

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

Read me from a stream.

Exceptions:
IOException may be thrown

Definition at line 102 of file Column.java.

References com.quadcap.sql.Column.column, com.quadcap.sql.Column.defaultExpr, com.quadcap.sql.Column.isAutoIncr, com.quadcap.sql.Column.name, com.quadcap.sql.Column.nullable, com.quadcap.sql.Column.readExternal(), com.quadcap.sql.Column.shortName, and com.quadcap.sql.Column.type.

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

void com.quadcap.sql.Column.setColumn int  column  )  [package]
 

Set the column's position (one-based) in the table.

Definition at line 172 of file Column.java.

References com.quadcap.sql.Column.setColumn().

Referenced by com.quadcap.sql.TupleImpl.addColumn(), com.quadcap.sql.TupleImpl.deleteColumn(), com.quadcap.sql.StmtAddColumn.execute(), and com.quadcap.sql.Column.setColumn().

void com.quadcap.sql.Column.setDefault Expression  expr  ) 
 

Set the column's default value.

Definition at line 250 of file Column.java.

References com.quadcap.sql.Column.defaultExpr, and com.quadcap.sql.Column.setDefault().

Referenced by com.quadcap.sql.SQLParser.columnDefinition(), com.quadcap.sql.AlterColumn.redo(), com.quadcap.sql.Column.setDefault(), and com.quadcap.sql.AlterColumn.undo().

void com.quadcap.sql.Column.setJoinColumn boolean  b  ) 
 

Set the 'joinColumn' flag.

Definition at line 212 of file Column.java.

References com.quadcap.sql.Column.joinColumn, and com.quadcap.sql.Column.setJoinColumn().

Referenced by com.quadcap.sql.TupleImpl.addColumns(), com.quadcap.sql.JoinedTable.mapColumns(), and com.quadcap.sql.Column.setJoinColumn().

void com.quadcap.sql.Column.setName String  name  )  [package]
 

Set the column's name.

Definition at line 187 of file Column.java.

References com.quadcap.sql.Column.setName().

Referenced by com.quadcap.sql.Column.setName().

void com.quadcap.sql.Column.setNullable int  nullable  ) 
 

Set the JDBC 'nullable' state of this column.

Definition at line 243 of file Column.java.

References com.quadcap.sql.Column.setNullable().

Referenced by com.quadcap.sql.Table.addConstraint(), and com.quadcap.sql.Column.setNullable().

void com.quadcap.sql.Column.setShortName String  name  )  [package]
 

Set the column's short name.

Definition at line 192 of file Column.java.

References com.quadcap.sql.Column.setShortName().

Referenced by com.quadcap.sql.TupleImpl.resolveColumns(), and com.quadcap.sql.Column.setShortName().

void com.quadcap.sql.Column.setTable Tuple  table  )  [package]
 

Set the column's table.

Definition at line 219 of file Column.java.

References com.quadcap.sql.Column.setTable().

Referenced by com.quadcap.sql.Column.setTable().

void com.quadcap.sql.Column.setType Type  type  )  [package]
 

Set the column's type.

Definition at line 167 of file Column.java.

References com.quadcap.sql.Column.setType().

Referenced by com.quadcap.sql.ItemsCursor.makeFirstRow(), and com.quadcap.sql.Column.setType().

String com.quadcap.sql.Column.toString  ) 
 

Return a string for debugging purposes.

Definition at line 273 of file Column.java.

References com.quadcap.sql.Column.column, com.quadcap.sql.Column.isAutoIncr, com.quadcap.sql.Column.joinColumn, com.quadcap.sql.Column.name, and com.quadcap.sql.Column.type.

Referenced by com.quadcap.sql.TupleImpl.toString(), com.quadcap.sql.DropColumn.toString(), and com.quadcap.sql.AddColumn.toString().

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

Write me to a stream.

Exceptions:
IOException may be thrown

Definition at line 119 of file Column.java.

References com.quadcap.sql.Column.column, com.quadcap.sql.Column.defaultExpr, com.quadcap.sql.Column.isAutoIncr, com.quadcap.sql.Column.name, com.quadcap.sql.Column.nullable, com.quadcap.sql.Column.shortName, com.quadcap.sql.Column.type, and com.quadcap.sql.Column.writeExternal().

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


Member Data Documentation

int com.quadcap.sql.Column.column [package]
 

Definition at line 67 of file Column.java.

Referenced by com.quadcap.sql.Column.getColumn(), com.quadcap.sql.Column.readExternal(), com.quadcap.sql.Column.toString(), and com.quadcap.sql.Column.writeExternal().

transient Vector com.quadcap.sql.Column.constraints = null [package]
 

Definition at line 63 of file Column.java.

Referenced by com.quadcap.sql.Column.addConstraint(), and com.quadcap.sql.Column.getConstraints().

Expression com.quadcap.sql.Column.defaultExpr [package]
 

Definition at line 70 of file Column.java.

Referenced by com.quadcap.sql.Column.getDefault(), com.quadcap.sql.Column.readExternal(), com.quadcap.sql.Column.setDefault(), and com.quadcap.sql.Column.writeExternal().

boolean com.quadcap.sql.Column.isAutoIncr = false [package]
 

Definition at line 71 of file Column.java.

Referenced by com.quadcap.sql.AutoNumberConstraint.add(), com.quadcap.sql.Column.addConstraint(), com.quadcap.sql.Column.Column(), com.quadcap.sql.AutoNumberConstraint.delete(), com.quadcap.sql.Column.isAutoIncrement(), com.quadcap.sql.Column.readExternal(), com.quadcap.sql.Column.toString(), and com.quadcap.sql.Column.writeExternal().

boolean com.quadcap.sql.Column.joinColumn = false [package]
 

Definition at line 68 of file Column.java.

Referenced by com.quadcap.sql.Column.isJoinColumn(), com.quadcap.sql.Column.setJoinColumn(), and com.quadcap.sql.Column.toString().

String com.quadcap.sql.Column.name [package]
 

Definition at line 65 of file Column.java.

Referenced by com.quadcap.sql.Column.getName(), com.quadcap.sql.Column.getShortName(), com.quadcap.sql.Column.readExternal(), com.quadcap.sql.Column.toString(), and com.quadcap.sql.Column.writeExternal().

int com.quadcap.sql.Column.nullable = ResultSetMetaData.columnNullable [package]
 

Definition at line 73 of file Column.java.

Referenced by com.quadcap.sql.Column.getNullable(), com.quadcap.sql.Column.isNullable(), com.quadcap.sql.Column.readExternal(), and com.quadcap.sql.Column.writeExternal().

String com.quadcap.sql.Column.shortName [package]
 

Definition at line 66 of file Column.java.

Referenced by com.quadcap.sql.Column.getShortName(), com.quadcap.sql.Column.readExternal(), and com.quadcap.sql.Column.writeExternal().

transient Tuple com.quadcap.sql.Column.table [package]
 

Definition at line 62 of file Column.java.

Referenced by com.quadcap.sql.Column.getRelation().

Type com.quadcap.sql.Column.type [package]
 

Definition at line 69 of file Column.java.

Referenced by com.quadcap.sql.Column.getType(), com.quadcap.sql.Column.readExternal(), com.quadcap.sql.Column.toString(), and com.quadcap.sql.Column.writeExternal().