net.sf.saffron.rel
Class TableModificationRel

java.lang.Object
  |
  +--net.sf.saffron.rel.SaffronRel
        |
        +--net.sf.saffron.rel.SingleRel
              |
              +--net.sf.saffron.rel.TableModificationRel

public class TableModificationRel
extends SingleRel

TableModificationRel is like TableAccessRel, but represents a request to modify a table rather than read from it. It takes one child which produces the modified rows. (For INSERT, the new values; for DELETE, the old values; for the yet-to-be-implemented UPDATE, the old and new values.)

Version:
$Id: //open/saffron/src/net/sf/saffron/rel/TableModificationRel.java#5 $

Nested Class Summary
static class TableModificationRel.Operation
          Enumeration of supported modification operations.
 
Field Summary
protected  SaffronConnection connection
          The connection to Saffron.
private  TableModificationRel.Operation operation
           
protected  SaffronTable table
          The table definition.
 
Fields inherited from class net.sf.saffron.rel.SingleRel
child
 
Fields inherited from class net.sf.saffron.rel.SaffronRel
cluster, digest, emptyArray, id, nextId, rowType
 
Constructor Summary
TableModificationRel(VolcanoCluster cluster, SaffronTable table, SaffronConnection connection, SaffronRel child, TableModificationRel.Operation operation)
           
 
Method Summary
 Object clone()
           
 SaffronType deriveRowType()
           
 void explain(PlanWriter pw)
           
 SaffronConnection getConnection()
           
 TableModificationRel.Operation getOperation()
           
 SaffronTable getTable()
          If this relational expression represents an access to a table, returns that table, otherwise returns null.
 
Methods inherited from class net.sf.saffron.rel.SingleRel
childrenAccept, getInputs, getRows, replaceInput
 
Methods inherited from class net.sf.saffron.rel.SaffronRel
computeDigest, computeSelfCost, getChildExps, getCluster, getConvention, getCorrelVariable, getId, getInput, getOrCreateCorrelVariable, getQualifier, getQuery, getRelTypeName, getRowType, getVariablesStopped, implement, implementFieldAccess, isAccessTo, isDistinct, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

connection

protected SaffronConnection connection
The connection to Saffron.


table

protected SaffronTable table
The table definition.


operation

private TableModificationRel.Operation operation
Constructor Detail

TableModificationRel

public TableModificationRel(VolcanoCluster cluster,
                            SaffronTable table,
                            SaffronConnection connection,
                            SaffronRel child,
                            TableModificationRel.Operation operation)
Method Detail

getConnection

public SaffronConnection getConnection()

getTable

public SaffronTable getTable()
Description copied from class: SaffronRel
If this relational expression represents an access to a table, returns that table, otherwise returns null.

Overrides:
getTable in class SaffronRel

clone

public Object clone()
Specified by:
clone in class SaffronRel

getOperation

public TableModificationRel.Operation getOperation()

deriveRowType

public SaffronType deriveRowType()
Overrides:
deriveRowType in class SingleRel

explain

public void explain(PlanWriter pw)
Overrides:
explain in class SingleRel

SourceForge.net_Logo