diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2013-04-05 12:27:59 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2013-04-10 18:46:44 +0200 |
commit | bb111ac2fdff909ed0f91d6f1f65c05aaf984936 (patch) | |
tree | ac681b67c848fade47538b27bf8c179c068b5433 /odb/relational/oracle/schema.cxx | |
parent | ca6ab8a1a4eedf6f751f5ba2205cd57ca37fad80 (diff) |
Add NOT NULL column without default value initially as NULL
Diffstat (limited to 'odb/relational/oracle/schema.cxx')
-rw-r--r-- | odb/relational/oracle/schema.cxx | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/odb/relational/oracle/schema.cxx b/odb/relational/oracle/schema.cxx index 024701c..9dc1921 100644 --- a/odb/relational/oracle/schema.cxx +++ b/odb/relational/oracle/schema.cxx @@ -349,13 +349,11 @@ 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; if (first_) @@ -364,7 +362,7 @@ namespace relational os << "," << endl << " "; - os << quote_id (ac.name ()) << (ac.null () ? " NULL" : " NOT NULL"); + os << quote_id (c.name ()) << (c.null () ? " NULL" : " NOT NULL"); } }; entry<alter_column> alter_column_; @@ -386,7 +384,10 @@ namespace relational os << " ADD ("; instance<create_column> cc (emitter (), stream (), format_); - trav_rel::unames n (*cc); + trav_rel::alter_column ac; // Override. + trav_rel::unames n; + n >> cc; + n >> ac; names (at, n); os << ")" << endl; |