Package gavo :: Package adql :: Module nodes :: Class SetOperationNode
[frames] | no frames]

Class SetOperationNode

source code

             object --+            
                      |            
utils.autonode.AutoNode --+        
                          |        
                   ADQLNode --+    
                              |    
              ColumnBearingNode --+
                                  |
                     object --+   |
                              |   |
               TransparentMixin --+
                                  |
                                 SetOperationNode
Known Subclasses:

A node containing a set expression.

This is UNION, INTERSECT, or EXCEPT.  In all cases, we need to check
all contributing sub-expressions have compatible degree.  For now,
in violation of SQL1992, we require identical names on all operands --
sql92 in 7.10 says 

  [if column names are unequal], the <column name> of the i-th column of TR
  is implementation-dependent and different from the <column name> of any
  column, other than itself, of any table referenced by any <table reference>
  contained in the SQL-statement.

Yikes.

These collapse to keep things simple in the typical case.

Nested Classes

Inherited from utils.autonode.AutoNode: __metaclass__

Instance Methods
 
addFieldInfos(self, context) source code
 
getAllNames(self)
yields all relation names mentioned in this node.
source code
 
getSelectClauses(self) source code
 
__init__(self, children=())
x.__init__(...) initializes x; see help(type(x)) for signature
source code

Inherited from ColumnBearingNode: change, getFieldInfo

Inherited from ADQLNode: __repr__, asTree, flatten, getFlattenedChildren, iterTree

Inherited from utils.autonode.AutoNode: iterAttributes, iterChildren, iterNodeChildren, iterNodes

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods

Inherited from ADQLNode: fromParseResult

Inherited from utils.autonode.AutoNode: cloneFrom

Class Variables

Inherited from ColumnBearingNode: fieldInfos, originalTable

Inherited from ADQLNode: type

Properties

Inherited from object: __class__

Method Details

getAllNames(self)

source code 

yields all relation names mentioned in this node.

Overrides: ColumnBearingNode.getAllNames
(inherited documentation)

__init__(self, children=())
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)