00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef SCHEMA_H
00015 #define SCHEMA_H
00016
00017 #include "rgma/RGMAException.h"
00018 #include "rgma/RemoteException.h"
00019 #include "rgma/StringList.h"
00020 #include "rgma/TableAuthorization.h"
00021 #include "rgma/TableDefinition.h"
00022 #include "rgma/IndexList.h"
00023 #include <string>
00024 namespace glite
00025 {
00026 namespace rgma
00027 {
00031 class Schema
00032 {
00033 public:
00034
00045 static void createSchema(std::string vdbName, std::string schemaService)
00046 throw( RGMAException, RemoteException);
00047
00059 static void destroySchema(std::string vdbName, std::string schemaService)
00060 throw( RGMAException, RemoteException);
00061
00071 static StringList getAllTables(std::string vdbName)
00072 throw( RGMAException, RemoteException );
00084 static TableDefinition getTableDefinition(std::string vdbName, std::string tableName)
00085 throw( RGMAException, RemoteException);
00086
00098 static IndexList getTableIndexes(std::string vdbName, std::string tableName)
00099 throw( RGMAException, RemoteException);
00100
00112 static void setAuthorizationRules(std::string vdbName, std::string tableName,
00113 TableAuthorization tableAuthz) throw( RGMAException, RemoteException);
00114
00126 static TableAuthorization getAuthorizationRules(std::string vdbName, std::string tableName)
00127 throw( RGMAException, RemoteException);
00128
00142 static void createTable(std::string vdbName, std::string createTableStatement,
00143 TableAuthorization tableAuthz) throw( RGMAException, RemoteException);
00144
00154 static void dropTable(std::string vdbName, std::string tableName)
00155 throw( RGMAException, RemoteException);
00156
00167 static void createIndex(std::string vdbName, std::string createIndexStatement)
00168 throw( RGMAException, RemoteException);
00169
00179 static void dropIndex(std::string vdbName, std::string indexName)
00180 throw( RGMAException, RemoteException);
00181
00194 static void createView(std::string vdbName, std::string createViewStatement,
00195 TableAuthorization viewAuthz) throw( RGMAException, RemoteException);
00196
00206 static void dropView(std::string vdbName, std::string viewName)
00207 throw( RGMAException, RemoteException);
00208
00220 static std::string getProperty(std::string name, std::string parameter)
00221 throw(RemoteException, RGMAException);
00232 static std::string getProperty(std::string name)
00233 throw(RemoteException, RGMAException);
00244 static void setProperty(std::string name, std::string value, std::string parameter)
00245 throw(RemoteException, RGMAException);
00246
00256 static void setProperty(std::string name, std::string value)
00257 throw(RemoteException, RGMAException);
00258
00259 static std::string getVersion()throw(RemoteException);
00260 };
00261 }
00262 }
00263 #endif