Header And Logo

PostgreSQL
| The world's most advanced open source database.

extension.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * extension.h
00004  *      Extension management commands (create/drop extension).
00005  *
00006  *
00007  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00008  * Portions Copyright (c) 1994, Regents of the University of California
00009  *
00010  * src/include/commands/extension.h
00011  *
00012  *-------------------------------------------------------------------------
00013  */
00014 #ifndef EXTENSION_H
00015 #define EXTENSION_H
00016 
00017 #include "nodes/parsenodes.h"
00018 
00019 
00020 /*
00021  * creating_extension is only true while running a CREATE EXTENSION command.
00022  * It instructs recordDependencyOnCurrentExtension() to register a dependency
00023  * on the current pg_extension object for each SQL object created by its
00024  * installation script.
00025  */
00026 extern bool creating_extension;
00027 extern Oid  CurrentExtensionObject;
00028 
00029 
00030 extern Oid CreateExtension(CreateExtensionStmt *stmt);
00031 
00032 extern void RemoveExtensionById(Oid extId);
00033 
00034 extern Oid InsertExtensionTuple(const char *extName, Oid extOwner,
00035                      Oid schemaOid, bool relocatable, const char *extVersion,
00036                      Datum extConfig, Datum extCondition,
00037                      List *requiredExtensions);
00038 
00039 extern Oid ExecAlterExtensionStmt(AlterExtensionStmt *stmt);
00040 
00041 extern Oid ExecAlterExtensionContentsStmt(AlterExtensionContentsStmt *stmt);
00042 
00043 extern Oid  get_extension_oid(const char *extname, bool missing_ok);
00044 extern char *get_extension_name(Oid ext_oid);
00045 
00046 extern Oid AlterExtensionNamespace(List *names, const char *newschema);
00047 
00048 extern void AlterExtensionOwner_oid(Oid extensionOid, Oid newOwnerId);
00049 
00050 #endif   /* EXTENSION_H */