AEInsert Class Reference

The AEInsert class models the <insert statement> statement in section 13.8 of the SQL-92 spec. More...

Inherits AEBinaryExprT< AERowCountStatement, AETable, AERelationalExpr >.

List of all members.

Public Member Functions

virtual void AcceptVisitor (AENodeVisitor &in_visitor)
 Calls the correct method on the visitor.
 AEInsert (const AEInsert &in_other)
 Copy constructor.
 AEInsert (AutoPtr< AETable > in_tableOperand, AutoPtr< AEValueList > in_columns, AutoPtr< AERelationalExpr > in_relExprOperand, Simba::SQLEngine::DSIExtDataEngineContext *in_deContext)
 Constructor.
virtual AEInsertClone () const
 Creates a clone of this node object.
virtual const AEInsertGetAsInsert () const
 Get the statement as an AEInsert object.
virtual AEInsertGetAsInsert ()
 Get the statement as an AEInsert object.
virtual const AENodeGetChild (simba_size_t in_index) const
 Get a pointer reference to the specified child node.
virtual AENodeGetChild (simba_size_t in_index)
 Get a pointer reference to the specified child node.
virtual simba_size_t GetChildCount () const
 Get the number of child nodes that this node has.
virtual const
Simba::DSI::ExecutedSQLInfo
GetExecutedSQLInfo () const
 Return information about this statement.
AEValueListGetInsertColumns ()
 Get a reference to the insert columns node.
virtual simba_wstring GetLogString () const
 Returns a string name for this node for the purpose of logging.
virtual AENodeType GetNodeType () const
 Returns an integer that uniquely identifies the node class. See the definition of AENodeType for values defined.
bool IsRecursive ()
 Determine if the insert table is present in the source tree.
void SetInsertColumns (AutoPtr< AEValueList > in_insertColumns)
 Grants the ownership of the insert columns to this object.
AutoPtr< AEValueListTakeInsertColumns ()
 Takes the ownership of the insert columns away from this object.
virtual void Validate ()
 Validates the node.
virtual ~AEInsert ()
 Destructor.

Detailed Description

The AEInsert class models the <insert statement> statement in section 13.8 of the SQL-92 spec.

For example, the following SQL queries can be translated to an AEInsert operation directly,

INSERT INTO T VALUES (.....) INSERT INTO T (SELECT * FROM T)


Constructor & Destructor Documentation

AEInsert ( AutoPtr< AETable in_tableOperand,
AutoPtr< AEValueList in_columns,
AutoPtr< AERelationalExpr in_relExprOperand,
Simba::SQLEngine::DSIExtDataEngineContext in_deContext 
)

Constructor.

The ownerships of the operand object and the relational object passed in through the constructor are transferred to this object.

Parameters:
in_tableOperand The table operand.
in_columns The columns to insert into. Can be NULL if not present.
in_relExprOperand The relational expression operand.
in_deContext The DataEngine context for the query. (NOT OWN)
Exceptions:
SEInvalidArgumentException when either in_operand or in_relationalExpr does not own an appropriate object.
AEInsert ( const AEInsert in_other  ) 

Copy constructor.

To support "cloning". See Clone() method.

Parameters:
in_other The other node to create copy from.
virtual ~AEInsert (  )  [virtual]

Destructor.


Member Function Documentation

virtual void AcceptVisitor ( AENodeVisitor in_visitor  )  [virtual]

Calls the correct method on the visitor.

Parameters:
in_visitor The visiting object.

Implements AENode.

virtual AEInsert* Clone (  )  const [virtual]

Creates a clone of this node object.

Returns:
A clone of this node object. (OWN)

Implements AERowCountStatement.

virtual const AEInsert* GetAsInsert (  )  const [inline, virtual]

Get the statement as an AEInsert object.

Returns:
this object as an AEInsert object. (NOT OWN)

Reimplemented from AEStatement.

virtual AEInsert* GetAsInsert (  )  [inline, virtual]

Get the statement as an AEInsert object.

Returns:
this object as an AEInsert object. (NOT OWN)

Reimplemented from AEStatement.

virtual const AENode* GetChild ( simba_size_t  in_index  )  const [virtual]

Get a pointer reference to the specified child node.

Parameters:
in_index The zero-based index for the child.
Exceptions:
SEInvalidArgumentException when in_index is invalid
Returns:
A pointer reference to the requested child node. (NOT OWN).

Reimplemented from AEBinaryExprT< AERowCountStatement, AETable, AERelationalExpr >.

virtual AENode* GetChild ( simba_size_t  in_index  )  [virtual]

Get a pointer reference to the specified child node.

Parameters:
in_index The zero-based index for the child.
Exceptions:
SEInvalidArgumentException when in_index is invalid
Returns:
A pointer reference to the requested child node. (NOT OWN).

Reimplemented from AEBinaryExprT< AERowCountStatement, AETable, AERelationalExpr >.

virtual simba_size_t GetChildCount (  )  const [virtual]

Get the number of child nodes that this node has.

Returns:
The number of child nodes.

Reimplemented from AEBinaryExprT< AERowCountStatement, AETable, AERelationalExpr >.

virtual const Simba::DSI::ExecutedSQLInfo& GetExecutedSQLInfo (  )  const [virtual]

Return information about this statement.

Returns:
The executed SQL information linked to this statement.

Implements AEStatement.

AEValueList* GetInsertColumns (  ) 

Get a reference to the insert columns node.

If the caller wishes to take control of the ownership of the insert columns object, call TakeInsertColumns() instead.

Returns:
A pointer reference to the insert columns. (NOT OWN)
virtual simba_wstring GetLogString (  )  const [virtual]

Returns a string name for this node for the purpose of logging.

Returns:
A string representation of this node for logging purposes.

Implements AENode.

virtual AENodeType GetNodeType (  )  const [virtual]

Returns an integer that uniquely identifies the node class. See the definition of AENodeType for values defined.

Returns:
The ID that uniquely identifies this type of nodes.

Implements AENode.

bool IsRecursive (  ) 

Determine if the insert table is present in the source tree.

Returns:
True if the insert table is present in the source tree; false otherwise.
void SetInsertColumns ( AutoPtr< AEValueList in_insertColumns  ) 

Grants the ownership of the insert columns to this object.

Parameters:
in_insertColumns The insert columns.
Exceptions:
SEInvalidArgumentException when in_insertColumns.IsNull() returns true.
SEInvalidOperationException when this object already has insert columns.
AutoPtr<AEValueList> TakeInsertColumns (  ) 

Takes the ownership of the insert columns away from this object.

If the caller only wants to access the insert columns, call GetInsertColumns() instead.

Exceptions:
SEInvalidOperationException when m_columnList.IsNull() returns true.
Returns:
Insert columns. (OWN)
virtual void Validate (  )  [virtual]

Validates the node.

This is a default base implementation does nothing and it cascades to any children.

Exceptions:
AEInvalidAetException if the node is not valid.

Reimplemented from AENode.


The documentation for this class was generated from the following file:

Generated on Wed May 17 14:21:16 2017 for SimbaEngine 10.1.3.1011 by simba