From 8295d4bd02946b7bdbff2a9cfa7763232e2d2fd0 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 8 Apr 2013 14:34:57 +0200 Subject: Clean up class order in schema generators --- odb/relational/oracle/schema.cxx | 70 +++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 33 deletions(-) (limited to 'odb/relational/oracle') diff --git a/odb/relational/oracle/schema.cxx b/odb/relational/oracle/schema.cxx index 68dab57..a49ace0 100644 --- a/odb/relational/oracle/schema.cxx +++ b/odb/relational/oracle/schema.cxx @@ -118,6 +118,23 @@ namespace relational }; entry drop_foreign_key_; + struct drop_index: relational::drop_index, context + { + drop_index (base const& x): base (x) {} + + virtual string + name (sema_rel::index& in) + { + // In Oracle, index names can be qualified with the schema. + // + sema_rel::table& t (static_cast (in.scope ())); + sema_rel::qname n (t.name ().qualifier ()); + n.append (in.name ()); + return quote_id (n); + } + }; + entry drop_index_; + struct drop_table: relational::drop_table, context { drop_table (base const& x): base (x) {} @@ -251,6 +268,23 @@ namespace relational }; entry create_foreign_key_; + struct create_index: relational::create_index, context + { + create_index (base const& x): base (x) {} + + virtual string + name (sema_rel::index& in) + { + // In Oracle, index names can be qualified with the schema. + // + sema_rel::table& t (static_cast (in.scope ())); + sema_rel::qname n (t.name ().qualifier ()); + n.append (in.name ()); + return quote_id (n); + } + }; + entry create_index_; + struct create_table: relational::create_table, context { create_table (base const& x): base (x) {} @@ -284,39 +318,9 @@ namespace relational }; entry create_table_; - struct create_index: relational::create_index, context - { - create_index (base const& x): base (x) {} - - virtual string - name (sema_rel::index& in) - { - // In Oracle, index names can be qualified with the schema. - // - sema_rel::table& t (static_cast (in.scope ())); - sema_rel::qname n (t.name ().qualifier ()); - n.append (in.name ()); - return quote_id (n); - } - }; - entry create_index_; - - struct drop_index: relational::drop_index, context - { - drop_index (base const& x): base (x) {} - - virtual string - name (sema_rel::index& in) - { - // In Oracle, index names can be qualified with the schema. - // - sema_rel::table& t (static_cast (in.scope ())); - sema_rel::qname n (t.name ().qualifier ()); - n.append (in.name ()); - return quote_id (n); - } - }; - entry drop_index_; + // + // Alter. + // struct alter_column: relational::alter_column, context { -- cgit v1.1