#NEWLINE# def __init__( self , * elements , **kw ) : #NEWLINE# #INDENT# "\n        :param \\*elements:\n          A sequence of two tuples of the form ``(column, operator)`` where\n          column must be a column name or Column object and operator must\n          be a string containing the operator to use.\n\n        :param name:\n          Optional, the in-database name of this constraint.\n\n        :param deferrable:\n          Optional bool.  If set, emit DEFERRABLE or NOT DEFERRABLE when\n          issuing DDL for this constraint.\n\n        :param initially:\n          Optional string.  If set, emit INITIALLY <value> when issuing DDL\n          for this constraint.\n\n        :param using:\n          Optional string.  If set, emit USING <index_method> when issuing DDL\n          for this constraint. Defaults to 'gist'.\n\n        :param where:\n          Optional string.  If set, emit WHERE <predicate> when issuing DDL\n          for this constraint.\n\n        " #NEWLINE# ColumnCollectionConstraint . __init__ ( self , * [ name for ( col , op ) in elements ] , name = kw . get ( 'name' ) , deferrable = kw . get ( 'deferrable' ) , initially = kw . get ( 'initially' ) ) #NEWLINE# self . operators = { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } #NEWLINE# for ( col_or_string , op ) in elements : #NEWLINE# #INDENT# name = getattr ( col_or_string , 'name' , col_or_string ) #NEWLINE# self . operators [ name ] = op #NEWLINE# #UNINDENT# self . using = kw . get ( 'using' , 'gist' ) #NEWLINE# where = kw . get ( 'where' ) #NEWLINE# if where : #NEWLINE# #INDENT# self . where = expression . _literal_as_text ( where )