def _apply_field_ast( self, schema: s_schema.Schema, context: sd.CommandContext, node: qlast.DDLOperation, op: sd.AlterObjectProperty, ) -> None: if op.property == 'delegated': if isinstance(node, qlast.CreateConcreteConstraint): assert isinstance(op.new_value, bool) node.delegated = op.new_value else: node.commands.append( qlast.SetSpecialField( name='delegated', value=op.new_value, ) ) return elif op.property == 'args': assert isinstance(op.new_value, s_expr.ExpressionList) node.args = [arg.qlast for arg in op.new_value] return super()._apply_field_ast(schema, context, node, op)
def _apply_field_ast( self, schema: s_schema.Schema, context: sd.CommandContext, node: qlast.DDLOperation, op: sd.AlterObjectProperty, ) -> None: if op.property == 'args': assert isinstance(op.old_value, s_expr.ExpressionList) node.args = [arg.qlast for arg in op.old_value] return super()._apply_field_ast(schema, context, node, op)
def _apply_field_ast( self, schema: s_schema.Schema, context: sd.CommandContext, node: qlast.DDLOperation, op: sd.AlterObjectProperty, ) -> None: if (op.property == 'args' and isinstance( node, (qlast.CreateConcreteConstraint, qlast.AlterConcreteConstraint))): assert isinstance(op.new_value, s_expr.ExpressionList) args = [] for arg in op.new_value: exprast = arg.qlast assert isinstance(exprast, qlast.Expr), "expected qlast.Expr" args.append(exprast) node.args = args return super()._apply_field_ast(schema, context, node, op)