// Server-implemented interfaces #include "CosQuery.idl" #include "CosQueryCollection.idl" #include "pgsql_client.idl" #pragma prefix "" module PostgreSQL { // Built-in types module Types { // Arrays in network order typedef short int2; typedef long int4; typedef long int8[2]; }; // NULL support typedef boolean Null; union Value switch (Null) { case FALSE: any value; }; // Row definition typedef sequence Row; // Expirable object interface Expirable { void keepalive(); void remove(); }; // Query result object interface QueryResult : CosQueryCollection::Collection, Expirable {}; // Connected database object interface Database : CosQuery::QueryableCollection, Expirable { void set_upcall(in Upcall obj); }; // Server object (stateless) interface Server { Database connect(in string db, in string user, in string password); }; };