Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

cComplexQuery.h

Go to the documentation of this file.
00001 /******************************************************************************/
00002 /*                                                                            */
00003 /* POLiTe - Persistent Object Library Test                                    */
00004 /*                                        Ph.D. Thesis by Mgr. Michal Kopecky */
00005 /*                                                                            */
00006 /* Charles University Prague                                                  */
00007 /*                                                                            */
00008 /******************************************************************************/
00009 /*                                                                            */
00010 /* File name: ...                                                             */
00011 /* Module: ......                                                             */
00012 /*                                                                            */
00013 /******************************************************************************/
00014 
00015 #ifndef __C_COMPLEXQUERY_H__
00016 #define __C_COMPLEXQUERY_H__
00017 
00018 // Common POLiTe Header(s)
00019 #include <lStr.h>
00020 
00021 // Parent Header(s)
00022 #include <cQuery.h>
00023 
00024 class DLL_External ComplexQuery :public Query{
00025 #ifdef POLITE_TEST_FRIEND
00026         friend POLITE_TEST_FRIEND;
00027 #endif // POLITE_TEST_FRIEND
00028 
00029 friend class Object;
00030 friend class Relation;
00031 friend class ResultBase;
00032 friend class ProtoBase;
00033 friend class OneToOneRelationBase;
00034 friend class OneToManyRelationBase;
00035 friend class ManyToOneRelationBase;
00036 friend class ManyToManyRelationBase;
00037 friend class ChainedRelationBase;
00038 
00039 protected:
00040         char *_select;
00041         char *_from;
00042 
00043         ComplexQuery();
00044 
00045         ComplexQuery(
00046                 const char *const a_where
00047                 );
00048 
00049         ComplexQuery(
00050                 const char *const a_where,
00051                 const char *const a_order_by
00052                 );
00053 
00054         ComplexQuery(
00055                 const char *const a_where,
00056                 const char *const a_order_by,
00057                 const char *const a_select,
00058                 const char *const a_from
00059                 );
00060 
00061         ComplexQuery(
00062                 const QueRefProto &X
00063                 );
00064 
00065         virtual ~ComplexQuery();
00066 
00067         ComplexQuery &operator =(const ComplexQuery &X);
00068 
00069         virtual char *_Select() const;
00070         //replace columns selected, when not NULL
00071         virtual char *_From() const;
00072         //add to list of tables, when not null
00073         };
00074 
00075 #endif //__C_COMPLEXQUERY_H__

Generated on Sun Jul 14 20:51:13 2002 for POLiTe by doxygen1.2.16