summaryrefslogtreecommitdiff
path: root/odb/relational/sqlite
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/sqlite
parentca6ab8a1a4eedf6f751f5ba2205cd57ca37fad80 (diff)
Add NOT NULL column without default value initially as NULL
Diffstat (limited to 'odb/relational/sqlite')
-rw-r--r--odb/relational/sqlite/schema.cxx14
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.