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/sqlite | |
parent | ca6ab8a1a4eedf6f751f5ba2205cd57ca37fad80 (diff) |
Add NOT NULL column without default value initially as NULL
Diffstat (limited to 'odb/relational/sqlite')
-rw-r--r-- | odb/relational/sqlite/schema.cxx | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/odb/relational/sqlite/schema.cxx b/odb/relational/sqlite/schema.cxx index 6d3cba4..9d3f859 100644 --- a/odb/relational/sqlite/schema.cxx +++ b/odb/relational/sqlite/schema.cxx @@ -21,7 +21,13 @@ namespace relational struct create_column: relational::create_column, context { - create_column (base const& x): base (x) {} + create_column (base const& x): base (x) + { + // In SQLite it is impossible to alter a column later, so we add + // it as is. + // + override_null_ = false; + } virtual void traverse (sema_rel::add_column& ac) @@ -118,9 +124,11 @@ namespace relational { // SQLite can only add a single column per ALTER TABLE statement. // - instance<create_column> c (emitter (), stream (), format_); + instance<create_column> cc (emitter (), stream (), format_); + trav_rel::alter_column ac; // Override. trav_rel::unames n; - n >> c; + n >> cc; + n >> ac; names (at, n); // SQLite does not support altering columns. |