1 /* RCS $Id: CosQuery.idl,v 1.2 2000/12/03 14:43:59 thomas Exp $
3 * ----------------------------------------------------------------------------
4 * This is unmarked software provided by the Object Management Group,Inc. (OMG)
5 * ----------------------------------------------------------------------------
10 * CosQuery is the Common Object Services Specification query module
11 * as it it appears in COSS1, v1.0.
18 #ifndef CosQueryCollection_idl
19 #include "CosQueryCollection.idl"
24 exception QueryInvalid {string why;};
25 exception QueryProcessingError {string why;};
26 exception QueryTypeInvalid {};
28 enum QueryStatus {complete, incomplete};
30 typedef CosQueryCollection::ParameterList ParameterList;
32 typedef CORBA::InterfaceDef QLType;
33 typedef sequence<QLType> QLTypeSeq;
36 interface QueryLanguageType {};
37 interface SQLQuery : QueryLanguageType {};
38 interface SQL_92Query : SQLQuery {};
39 interface OQL : QueryLanguageType {};
40 interface OQLBasic : OQL {};
41 interface OQL_93 : OQL {};
42 interface OQL_93Basic : OQL_93, OQLBasic {};
44 interface QueryEvaluator {
46 readonly attribute QLTypeSeq ql_types;
47 readonly attribute QLType default_ql_type;
49 any evaluate (in string query,
51 in ParameterList params)
52 raises(QueryTypeInvalid,
54 QueryProcessingError);
57 interface QueryableCollection : QueryEvaluator,
58 CosQueryCollection::Collection {
62 interface QueryManager : QueryEvaluator {
64 Query create (in string query,
66 in ParameterList params)
67 raises(QueryTypeInvalid,
74 readonly attribute QueryManager query_mgr;
76 void prepare (in ParameterList params)
77 raises(QueryProcessingError);
79 void execute (in ParameterList params)
80 raises(QueryProcessingError);
82 QueryStatus get_status ();
89 #endif // CosQuery_idl