From c31fc72be48b037fff1cc2b46a812d20d4b601c4 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 10 Mar 2011 11:07:43 +0200 Subject: Cache current context in static variable --- odb/relational/context.cxx | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'odb/relational/context.cxx') diff --git a/odb/relational/context.cxx b/odb/relational/context.cxx index e7a4f21..f763b8d 100644 --- a/odb/relational/context.cxx +++ b/odb/relational/context.cxx @@ -3,12 +3,23 @@ // copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC // license : GNU GPL v3; see accompanying LICENSE file +#include + #include using namespace std; namespace relational { + context* context::current_; + + context:: + ~context () + { + if (current_ == this) + current_ = 0; + } + context:: context () : data_ (current ().data_) @@ -19,6 +30,8 @@ namespace relational context (data* d) : data_ (d) { + assert (current_ == 0); + current_ = this; } bool context:: -- cgit v1.1