CosQuery.idl
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /* RCS $Id: CosQuery.idl,v 1.1 1998/11/17 03:10:35 scrappy Exp $
  2.  *
  3.  * ----------------------------------------------------------------------------
  4.  * This is unmarked software provided by the Object Management Group,Inc. (OMG)
  5.  * ----------------------------------------------------------------------------
  6.  */
  7. /**
  8.  * CosQuery is the Common Object Services Specification query module
  9.  * as it it appears in COSS1, v1.0.
  10.  */
  11. #ifndef CosQuery_idl
  12. #define CosQuery_idl
  13. #ifndef CosQueryCollection_idl
  14. #include "CosQueryCollection.idl"
  15. #endif
  16. module CosQuery {
  17.   exception QueryInvalid {string why;}; 
  18.   exception QueryProcessingError {string why;}; 
  19.   exception QueryTypeInvalid {};
  20.   enum QueryStatus {complete, incomplete};
  21.   typedef CosQueryCollection::ParameterList ParameterList;
  22.   typedef CORBA::InterfaceDef QLType;
  23.   typedef sequence<QLType> QLTypeSeq;
  24.   interface Query;
  25.   interface QueryLanguageType {}; 
  26.   interface SQLQuery : QueryLanguageType {}; 
  27.   interface SQL_92Query : SQLQuery {}; 
  28.   interface OQL : QueryLanguageType {}; 
  29.   interface OQLBasic : OQL {}; 
  30.   interface OQL_93 : OQL {}; 
  31.   interface OQL_93Basic : OQL_93, OQLBasic {};
  32.   interface QueryEvaluator { 
  33.     readonly attribute QLTypeSeq ql_types; 
  34.     readonly attribute QLType default_ql_type;
  35.     any evaluate (in string         query,
  36.   in QLType         ql_type, 
  37.   in ParameterList  params) 
  38.       raises(QueryTypeInvalid,
  39.      QueryInvalid,
  40.      QueryProcessingError); 
  41.   };
  42.   interface QueryableCollection : QueryEvaluator, 
  43.     CosQueryCollection::Collection {
  44.   };
  45.   interface QueryManager : QueryEvaluator { 
  46.     Query create (in string          query,
  47.   in QLType          ql_type, 
  48.   in  ParameterList  params) 
  49.       raises(QueryTypeInvalid,
  50.      QueryInvalid);
  51.   };
  52.   interface Query { 
  53.     readonly attribute QueryManager query_mgr;
  54.     void prepare (in ParameterList params) 
  55.       raises(QueryProcessingError); 
  56.     void execute (in ParameterList params) 
  57.       raises(QueryProcessingError);
  58.     QueryStatus get_status (); 
  59.     any get_result (); 
  60.   };
  61. };
  62. #endif // CosQuery_idl