mirror of https://github.com/postgres/postgres
parent
48781d44e4
commit
20efb264f6
@ -1,89 +1,89 @@ |
||||
/* RCS $Id: CosQuery.idl,v 1.1 1998/11/17 03:10:35 scrappy Exp $ |
||||
* |
||||
* ---------------------------------------------------------------------------- |
||||
* This is unmarked software provided by the Object Management Group,Inc. (OMG) |
||||
* ---------------------------------------------------------------------------- |
||||
*/ |
||||
|
||||
|
||||
/** |
||||
* CosQuery is the Common Object Services Specification query module |
||||
* as it it appears in COSS1, v1.0. |
||||
*/ |
||||
|
||||
|
||||
#ifndef CosQuery_idl |
||||
#define CosQuery_idl |
||||
|
||||
#ifndef CosQueryCollection_idl |
||||
#include "CosQueryCollection.idl" |
||||
#endif |
||||
|
||||
module CosQuery { |
||||
|
||||
exception QueryInvalid {string why;}; |
||||
exception QueryProcessingError {string why;}; |
||||
exception QueryTypeInvalid {}; |
||||
|
||||
enum QueryStatus {complete, incomplete}; |
||||
|
||||
typedef CosQueryCollection::ParameterList ParameterList; |
||||
|
||||
typedef CORBA::InterfaceDef QLType; |
||||
typedef sequence<QLType> QLTypeSeq; |
||||
|
||||
interface Query; |
||||
interface QueryLanguageType {}; |
||||
interface SQLQuery : QueryLanguageType {}; |
||||
interface SQL_92Query : SQLQuery {}; |
||||
interface OQL : QueryLanguageType {}; |
||||
interface OQLBasic : OQL {}; |
||||
interface OQL_93 : OQL {}; |
||||
interface OQL_93Basic : OQL_93, OQLBasic {}; |
||||
|
||||
interface QueryEvaluator { |
||||
|
||||
readonly attribute QLTypeSeq ql_types; |
||||
readonly attribute QLType default_ql_type; |
||||
|
||||
any evaluate (in string query, |
||||
in QLType ql_type, |
||||
in ParameterList params) |
||||
raises(QueryTypeInvalid, |
||||
QueryInvalid, |
||||
QueryProcessingError); |
||||
}; |
||||
|
||||
interface QueryableCollection : QueryEvaluator, |
||||
CosQueryCollection::Collection { |
||||
|
||||
}; |
||||
|
||||
interface QueryManager : QueryEvaluator { |
||||
|
||||
Query create (in string query, |
||||
in QLType ql_type, |
||||
in ParameterList params) |
||||
raises(QueryTypeInvalid, |
||||
QueryInvalid); |
||||
|
||||
}; |
||||
|
||||
interface Query { |
||||
|
||||
readonly attribute QueryManager query_mgr; |
||||
|
||||
void prepare (in ParameterList params) |
||||
raises(QueryProcessingError); |
||||
|
||||
void execute (in ParameterList params) |
||||
raises(QueryProcessingError); |
||||
|
||||
QueryStatus get_status (); |
||||
|
||||
any get_result (); |
||||
}; |
||||
|
||||
}; |
||||
|
||||
#endif // CosQuery_idl |
||||
/* RCS $Id: CosQuery.idl,v 1.2 2000/12/03 14:43:59 thomas Exp $ |
||||
* |
||||
* ---------------------------------------------------------------------------- |
||||
* This is unmarked software provided by the Object Management Group,Inc. (OMG) |
||||
* ---------------------------------------------------------------------------- |
||||
*/ |
||||
|
||||
|
||||
/** |
||||
* CosQuery is the Common Object Services Specification query module |
||||
* as it it appears in COSS1, v1.0. |
||||
*/ |
||||
|
||||
|
||||
#ifndef CosQuery_idl |
||||
#define CosQuery_idl |
||||
|
||||
#ifndef CosQueryCollection_idl |
||||
#include "CosQueryCollection.idl" |
||||
#endif |
||||
|
||||
module CosQuery { |
||||
|
||||
exception QueryInvalid {string why;}; |
||||
exception QueryProcessingError {string why;}; |
||||
exception QueryTypeInvalid {}; |
||||
|
||||
enum QueryStatus {complete, incomplete}; |
||||
|
||||
typedef CosQueryCollection::ParameterList ParameterList; |
||||
|
||||
typedef CORBA::InterfaceDef QLType; |
||||
typedef sequence<QLType> QLTypeSeq; |
||||
|
||||
interface Query; |
||||
interface QueryLanguageType {}; |
||||
interface SQLQuery : QueryLanguageType {}; |
||||
interface SQL_92Query : SQLQuery {}; |
||||
interface OQL : QueryLanguageType {}; |
||||
interface OQLBasic : OQL {}; |
||||
interface OQL_93 : OQL {}; |
||||
interface OQL_93Basic : OQL_93, OQLBasic {}; |
||||
|
||||
interface QueryEvaluator { |
||||
|
||||
readonly attribute QLTypeSeq ql_types; |
||||
readonly attribute QLType default_ql_type; |
||||
|
||||
any evaluate (in string query, |
||||
in QLType ql_type, |
||||
in ParameterList params) |
||||
raises(QueryTypeInvalid, |
||||
QueryInvalid, |
||||
QueryProcessingError); |
||||
}; |
||||
|
||||
interface QueryableCollection : QueryEvaluator, |
||||
CosQueryCollection::Collection { |
||||
|
||||
}; |
||||
|
||||
interface QueryManager : QueryEvaluator { |
||||
|
||||
Query create (in string query, |
||||
in QLType ql_type, |
||||
in ParameterList params) |
||||
raises(QueryTypeInvalid, |
||||
QueryInvalid); |
||||
|
||||
}; |
||||
|
||||
interface Query { |
||||
|
||||
readonly attribute QueryManager query_mgr; |
||||
|
||||
void prepare (in ParameterList params) |
||||
raises(QueryProcessingError); |
||||
|
||||
void execute (in ParameterList params) |
||||
raises(QueryProcessingError); |
||||
|
||||
QueryStatus get_status (); |
||||
|
||||
any get_result (); |
||||
}; |
||||
|
||||
}; |
||||
|
||||
#endif // CosQuery_idl |
||||
|
@ -1,83 +1,83 @@ |
||||
/* RCS $Id: CosQueryCollection.idl,v 1.1 1998/11/16 18:03:34 scrappy Exp $ |
||||
* |
||||
* ---------------------------------------------------------------------------- |
||||
* This is unmarked software provided by the Object Management Group,Inc. (OMG) |
||||
* ---------------------------------------------------------------------------- |
||||
*/ |
||||
|
||||
|
||||
/** |
||||
* CosQueryCollection is the Common Object Services Specification query |
||||
* query colleciton module as it it appears in COSS1, v1.0. |
||||
*/ |
||||
|
||||
|
||||
#ifndef CosQueryCollection_idl |
||||
#define CosQueryCollection_idl |
||||
|
||||
module CosQueryCollection { |
||||
|
||||
exception ElementInvalid {}; |
||||
exception IteratorInvalid {}; |
||||
exception PositionInvalid {}; |
||||
|
||||
typedef string Istring; |
||||
struct NVPair { |
||||
Istring name; |
||||
any value; |
||||
}; |
||||
|
||||
typedef sequence<NVPair> ParameterList; |
||||
|
||||
interface Collection; |
||||
interface Iterator; |
||||
|
||||
interface CollectionFactory { |
||||
Collection create (in ParameterList params); |
||||
}; |
||||
|
||||
interface Collection { |
||||
|
||||
readonly attribute long cardinality; |
||||
|
||||
void add_element (in any element) |
||||
raises(ElementInvalid); |
||||
|
||||
void add_all_elements (in Collection elements) |
||||
raises(ElementInvalid); |
||||
|
||||
void insert_element_at (in any element, in Iterator where) |
||||
raises(IteratorInvalid, |
||||
ElementInvalid); |
||||
|
||||
void replace_element_at (in any element, in Iterator where) |
||||
raises(IteratorInvalid, |
||||
PositionInvalid, |
||||
ElementInvalid); |
||||
|
||||
void remove_element_at (in Iterator where) |
||||
raises(IteratorInvalid, |
||||
PositionInvalid); |
||||
|
||||
void remove_all_elements (); |
||||
|
||||
any retrieve_element_at (in Iterator where) |
||||
raises(IteratorInvalid, |
||||
PositionInvalid); |
||||
|
||||
Iterator create_iterator (); |
||||
|
||||
}; |
||||
|
||||
interface Iterator { |
||||
any next () |
||||
raises(IteratorInvalid, |
||||
PositionInvalid); |
||||
void reset (); |
||||
boolean more (); |
||||
}; |
||||
|
||||
}; |
||||
|
||||
#endif // CosQueryCollection_idl |
||||
|
||||
/* RCS $Id: CosQueryCollection.idl,v 1.2 2000/12/03 14:43:59 thomas Exp $ |
||||
* |
||||
* ---------------------------------------------------------------------------- |
||||
* This is unmarked software provided by the Object Management Group,Inc. (OMG) |
||||
* ---------------------------------------------------------------------------- |
||||
*/ |
||||
|
||||
|
||||
/** |
||||
* CosQueryCollection is the Common Object Services Specification query |
||||
* query colleciton module as it it appears in COSS1, v1.0. |
||||
*/ |
||||
|
||||
|
||||
#ifndef CosQueryCollection_idl |
||||
#define CosQueryCollection_idl |
||||
|
||||
module CosQueryCollection { |
||||
|
||||
exception ElementInvalid {}; |
||||
exception IteratorInvalid {}; |
||||
exception PositionInvalid {}; |
||||
|
||||
typedef string Istring; |
||||
struct NVPair { |
||||
Istring name; |
||||
any value; |
||||
}; |
||||
|
||||
typedef sequence<NVPair> ParameterList; |
||||
|
||||
interface Collection; |
||||
interface Iterator; |
||||
|
||||
interface CollectionFactory { |
||||
Collection create (in ParameterList params); |
||||
}; |
||||
|
||||
interface Collection { |
||||
|
||||
readonly attribute long cardinality; |
||||
|
||||
void add_element (in any element) |
||||
raises(ElementInvalid); |
||||
|
||||
void add_all_elements (in Collection elements) |
||||
raises(ElementInvalid); |
||||
|
||||
void insert_element_at (in any element, in Iterator where) |
||||
raises(IteratorInvalid, |
||||
ElementInvalid); |
||||
|
||||
void replace_element_at (in any element, in Iterator where) |
||||
raises(IteratorInvalid, |
||||
PositionInvalid, |
||||
ElementInvalid); |
||||
|
||||
void remove_element_at (in Iterator where) |
||||
raises(IteratorInvalid, |
||||
PositionInvalid); |
||||
|
||||
void remove_all_elements (); |
||||
|
||||
any retrieve_element_at (in Iterator where) |
||||
raises(IteratorInvalid, |
||||
PositionInvalid); |
||||
|
||||
Iterator create_iterator (); |
||||
|
||||
}; |
||||
|
||||
interface Iterator { |
||||
any next () |
||||
raises(IteratorInvalid, |
||||
PositionInvalid); |
||||
void reset (); |
||||
boolean more (); |
||||
}; |
||||
|
||||
}; |
||||
|
||||
#endif // CosQueryCollection_idl |
||||
|
||||
|
@ -1,59 +1,59 @@ |
||||
#include <iostream> |
||||
#include "pgsql_int.h" |
||||
|
||||
bool terminate = false; |
||||
|
||||
int main(int argc, char *argv) |
||||
{ |
||||
CORBA::ORB_var orb = CORBA::ORB_init(argc,argv,""); |
||||
PortableManager::POA_var poa = PortableServer::POA::_narrow(orb->resolve_initial_references("RootPOA")); |
||||
PortableManager::POAManager_var mgr = poa->the_POAManager(); |
||||
|
||||
Server_impl *server = new Server_impl; |
||||
poa->activate_object(server); |
||||
|
||||
CosNaming::NamingContext_var ctx = CosNaming::NamingContext::_narrow(orb->resolve_initial_references("NamingService")); |
||||
CosNaming::Name_var n = new CosNaming::Name(1); |
||||
n[0].id("PostgreSQL"); |
||||
n[0].name("service"); |
||||
bool bindok = false; |
||||
|
||||
if (!CORBA::Object::is_nil(ctx)) { |
||||
try { |
||||
CosNaming::NamingContext_var myctx = ctx->bind_new_context(n); |
||||
CosNaming::Name_var n2 = new CosNaming::Name(1); |
||||
n2[0].id("Server"); |
||||
n2[0].name("Server"); |
||||
myctx->bind(n2,server->_this()); |
||||
bindok = true; |
||||
} catch (CORBA::Exception &e) { |
||||
cerr << "Warning: Naming Service bind failed" << endl; |
||||
bindok = false; |
||||
} |
||||
} else { |
||||
cerr << "Warning: Naming Service not found" << endl; |
||||
} |
||||
|
||||
mgr->activate(); |
||||
while (!terminate) { |
||||
if (orb->work_pending()) |
||||
orb->perform_work(); |
||||
if (expiry_needed()) |
||||
expire_now(); |
||||
} |
||||
|
||||
if (!CORBA::Object::is_nil(ctx) && bindok) { |
||||
try { |
||||
CosNaming::NamingContext myctx = ctx->resolve(n); |
||||
ctx->unbind(n); |
||||
myctx->destroy(); |
||||
} catch (CORBA::Exception &e) { |
||||
cerr << "Warning: Naming Service unbind failed" << endl; |
||||
} |
||||
} |
||||
|
||||
orb->shutdown(true); |
||||
|
||||
delete server; |
||||
return 0; |
||||
} |
||||
#include <iostream> |
||||
#include "pgsql_int.h" |
||||
|
||||
bool terminate = false; |
||||
|
||||
int main(int argc, char *argv) |
||||
{ |
||||
CORBA::ORB_var orb = CORBA::ORB_init(argc,argv,""); |
||||
PortableManager::POA_var poa = PortableServer::POA::_narrow(orb->resolve_initial_references("RootPOA")); |
||||
PortableManager::POAManager_var mgr = poa->the_POAManager(); |
||||
|
||||
Server_impl *server = new Server_impl; |
||||
poa->activate_object(server); |
||||
|
||||
CosNaming::NamingContext_var ctx = CosNaming::NamingContext::_narrow(orb->resolve_initial_references("NamingService")); |
||||
CosNaming::Name_var n = new CosNaming::Name(1); |
||||
n[0].id("PostgreSQL"); |
||||
n[0].name("service"); |
||||
bool bindok = false; |
||||
|
||||
if (!CORBA::Object::is_nil(ctx)) { |
||||
try { |
||||
CosNaming::NamingContext_var myctx = ctx->bind_new_context(n); |
||||
CosNaming::Name_var n2 = new CosNaming::Name(1); |
||||
n2[0].id("Server"); |
||||
n2[0].name("Server"); |
||||
myctx->bind(n2,server->_this()); |
||||
bindok = true; |
||||
} catch (CORBA::Exception &e) { |
||||
cerr << "Warning: Naming Service bind failed" << endl; |
||||
bindok = false; |
||||
} |
||||
} else { |
||||
cerr << "Warning: Naming Service not found" << endl; |
||||
} |
||||
|
||||
mgr->activate(); |
||||
while (!terminate) { |
||||
if (orb->work_pending()) |
||||
orb->perform_work(); |
||||
if (expiry_needed()) |
||||
expire_now(); |
||||
} |
||||
|
||||
if (!CORBA::Object::is_nil(ctx) && bindok) { |
||||
try { |
||||
CosNaming::NamingContext myctx = ctx->resolve(n); |
||||
ctx->unbind(n); |
||||
myctx->destroy(); |
||||
} catch (CORBA::Exception &e) { |
||||
cerr << "Warning: Naming Service unbind failed" << endl; |
||||
} |
||||
} |
||||
|
||||
orb->shutdown(true); |
||||
|
||||
delete server; |
||||
return 0; |
||||
} |
||||
|
Loading…
Reference in new issue