aboutsummaryrefslogtreecommitdiff
path: root/odb/relational/oracle
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-04-05 12:27:59 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2013-04-10 18:46:44 +0200
commitbb111ac2fdff909ed0f91d6f1f65c05aaf984936 (patch)
treeac681b67c848fade47538b27bf8c179c068b5433 /odb/relational/oracle
parentca6ab8a1a4eedf6f751f5ba2205cd57ca37fad80 (diff)
Add NOT NULL column without default value initially as NULL
Diffstat (limited to 'odb/relational/oracle')
-rw-r--r--odb/relational/oracle/schema.cxx13
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;