aboutsummaryrefslogtreecommitdiff
path: root/odb/semantics/relational/foreign-key.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-12-04 11:30:33 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2013-12-04 11:30:33 +0200
commit3417fc7c0df3b1b01750874587c4f3bb2ef02f45 (patch)
treea35f2439f7f72212d8ad05d3b8175e992d9a917f /odb/semantics/relational/foreign-key.cxx
parenta0bf13c2522cc9c029af53f40970a3d0c19e178f (diff)
Implement on_delete pragma for object pointers
Translates to the ON DELETE SQL clause.
Diffstat (limited to 'odb/semantics/relational/foreign-key.cxx')
-rw-r--r--odb/semantics/relational/foreign-key.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/odb/semantics/relational/foreign-key.cxx b/odb/semantics/relational/foreign-key.cxx
index 8188e1f..59b401b 100644
--- a/odb/semantics/relational/foreign-key.cxx
+++ b/odb/semantics/relational/foreign-key.cxx
@@ -15,7 +15,7 @@ namespace semantics
{
namespace relational
{
- static const char* action_str[] = {"NO ACTION", "CASCADE"};
+ static const char* action_str[] = {"NO ACTION", "CASCADE", "SET NULL"};
ostream&
operator<< (ostream& os, foreign_key::action_type v)
@@ -38,6 +38,8 @@ namespace semantics
v = foreign_key::no_action;
else if (s == "CASCADE")
v = foreign_key::cascade;
+ else if (s == "SET NULL")
+ v = foreign_key::set_null;
else
is.setstate (istream::failbit);
}