From bb111ac2fdff909ed0f91d6f1f65c05aaf984936 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 5 Apr 2013 12:27:59 +0200 Subject: Add NOT NULL column without default value initially as NULL --- odb/relational/mssql/schema.cxx | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'odb/relational/mssql/schema.cxx') diff --git a/odb/relational/mssql/schema.cxx b/odb/relational/mssql/schema.cxx index 2db0c12..d1d892a 100644 --- a/odb/relational/mssql/schema.cxx +++ b/odb/relational/mssql/schema.cxx @@ -341,23 +341,21 @@ namespace relational alter_column (base const& x): base (x) {} virtual void - traverse (sema_rel::alter_column& ac) + traverse (sema_rel::column& c) { - assert (ac.null_altered ()); - // Relax (NULL) in pre and tighten (NOT NULL) in post. // - if (pre_ != ac.null ()) + if (pre_ != c.null ()) return; - using sema_rel::alter_table; - alter_table& at (static_cast (ac.scope ())); + using sema_rel::table; + table& at (static_cast (c.scope ())); pre_statement (); os << "ALTER TABLE " << quote_id (at.name ()) << endl << " ALTER COLUMN "; - alter (ac); + alter (c); os << endl; post_statement (); @@ -380,8 +378,11 @@ namespace relational alter_header (at.name ()); os << " ADD "; - instance c (emitter (), stream (), format_); - trav_rel::unames n (*c); + instance cc (emitter (), stream (), format_); + trav_rel::alter_column ac; // Override. + trav_rel::unames n; + n >> cc; + n >> ac; names (at, n); os << endl; @@ -415,8 +416,8 @@ namespace relational alter_header (at.name ()); os << " DROP COLUMN "; - instance c (emitter (), stream (), format_); - trav_rel::unames n (*c); + instance dc (emitter (), stream (), format_); + trav_rel::unames n (*dc); names (at, n); os << endl; -- cgit v1.1