Merge branch 'master' into fdw_core
authorShigeru Hanada <[email protected]>
Fri, 26 Nov 2010 05:31:13 +0000 (14:31 +0900)
committerShigeru Hanada <[email protected]>
Fri, 26 Nov 2010 05:31:13 +0000 (14:31 +0900)
1  2 
src/backend/catalog/heap.c
src/backend/commands/foreigncmds.c
src/backend/commands/tablecmds.c
src/backend/rewrite/rewriteDefine.c

index a11f3e13271c1d47112b6a7e63236dca251ddb5d,9b7668c133ef8dba82450e74ef37d9a13ea11061..42efe1195717533fd6102c8059cc256282fb7af3
  #include "catalog/index.h"
  #include "catalog/indexing.h"
  #include "catalog/namespace.h"
+ #include "catalog/objectaccess.h"
  #include "catalog/pg_attrdef.h"
  #include "catalog/pg_constraint.h"
 +#include "catalog/pg_foreign_table.h"
  #include "catalog/pg_inherits.h"
  #include "catalog/pg_namespace.h"
  #include "catalog/pg_statistic.h"
index 926e00711ff855c989c76e33d34055f1c6b41fd0,71ba806851bbe2b565dd0a7446e80d40acfd4325..fabf1e6a1871d8808f7203ff55901837c47e689e
  #include "catalog/catalog.h"
  #include "catalog/dependency.h"
  #include "catalog/indexing.h"
+ #include "catalog/objectaccess.h"
  #include "catalog/pg_foreign_data_wrapper.h"
  #include "catalog/pg_foreign_server.h"
 +#include "catalog/pg_foreign_table.h"
  #include "catalog/pg_proc.h"
  #include "catalog/pg_type.h"
  #include "catalog/pg_user_mapping.h"
@@@ -474,23 -414,12 +475,27 @@@ CreateForeignDataWrapper(CreateFdwStmt 
        recordDependencyOn(&myself, &referenced, DEPENDENCY_NORMAL);
    }
  
 +  if (fdwhandler != InvalidOid)
 +  {
 +      ObjectAddress myself;
 +      ObjectAddress referenced;
 +
 +      myself.classId = ForeignDataWrapperRelationId;
 +      myself.objectId = fdwId;
 +      myself.objectSubId = 0;
 +
 +      referenced.classId = ProcedureRelationId;
 +      referenced.objectId = fdwhandler;
 +      referenced.objectSubId = 0;
 +      recordDependencyOn(&myself, &referenced, DEPENDENCY_NORMAL);
 +  }
 +
    recordDependencyOnOwner(ForeignDataWrapperRelationId, fdwId, ownerId);
  
+   /* Post creation hook for new foreign data wrapper */
+   InvokeObjectAccessHook(OAT_POST_CREATE,
+                          ForeignDataWrapperRelationId, fdwId, 0);
    heap_close(rel, NoLock);
  }
  
index 0d2aeeab848c01792eb6ea7aaa63cfb66c063ab7,937992ba585e41751bcaed784dcce4ee75819910..784ec4f46d218a79911d8715ae368e5701e1ed07
  #include "catalog/index.h"
  #include "catalog/indexing.h"
  #include "catalog/namespace.h"
+ #include "catalog/objectaccess.h"
  #include "catalog/pg_constraint.h"
  #include "catalog/pg_depend.h"
 +#include "catalog/pg_foreign_table.h"
  #include "catalog/pg_inherits.h"
  #include "catalog/pg_inherits_fn.h"
  #include "catalog/pg_namespace.h"
Simple merge