Qore DbDataProvider Module Reference  2.0
DbDataProvider.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
25 namespace DbDataProvider {
28 class DbDataProvider : public AbstractDataProvider {
29 
30 public:
32  const ProviderInfo = ...;
33 
34 
36  const ConstructorOptions = ...;
37 
38 
40  const SearchOptions = ...;
41 
42 
44  const ChildCreateOptions = ...;
45 
46 
47 protected:
49  AbstractDatabase db;
50 
52  static *code datasource_lookup;
53 
55  static *code table_lookup;
56 
57 public:
58 
60  constructor(AbstractDatasource ds, *hash<auto> opts);
61 
62 
64  constructor(AbstractDatabase db);
65 
66 
68  constructor(*hash<auto> options);
69 
70 
72  string getName();
73 
74 
76  *string getDesc();
77 
78 
80 
87  beginTransaction();
88 
89 
91 
96  commit();
97 
98 
100 
105  rollback();
106 
107 
109 
114  static *hash<string, AbstractDataField> getRecordTypeFromDescribeHash(hash<auto> describe_hash);
115 
117 
121 protected:
122  *hash<string, AbstractDataField> getRecordTypeImpl(*hash<auto> search_options);
123 public:
124 
125 
127 
134 protected:
135  AbstractDataProviderBulkRecordInterface searchRecordsBulkImpl(int block_size = 1000, *hash<auto> where_cond, *hash<auto> search_options);
136 public:
137 
138 
140 
145 protected:
146  AbstractDataProviderRecordIterator searchRecordsImpl(*hash<auto> where_cond, *hash<auto> search_options);
147 public:
148 
149 
151 
153 protected:
154  *list<string> getChildProviderNamesImpl();
155 public:
156 
157 
159 
165 protected:
166  *AbstractDataProvider getChildProviderImpl(string name);
167 public:
168 
169 
171 protected:
172  hash<DataProviderInfo> getStaticInfoImpl();
173 public:
174 
175 
177 
185 protected:
186  AbstractDataProvider createChildProviderImpl(string name, hash<string, AbstractDataField> fields, *hash<auto> child_create_options);
187 public:
188 
189 
191 
198 protected:
199  deleteChildProviderImpl(string name, *hash<auto> child_delete_options);
200 public:
201 
202 
204  static setDatasourceLookup(code datasource_lookup);
205 
207  static setTableLookup(code table_lookup);
208 
210  static AbstractDatasource getDatasource(AbstractDatasource ds);
211 
213  static AbstractDatasource getDatasource(string ds_string);
214 
216  static AbstractTable getTable(string ds_string, string table_string);
217 
219  static AbstractTable getTable(AbstractDatasource ds, string table_string);
220 
222  static hash<GenericColumnInfo> getColumnDesc(AbstractDatabase db, AbstractDataField field, *hash<auto> opts);
223 
225 
227  hash<auto> makeTableDesc(string name, hash<string, AbstractDataField> fields, *hash<auto> opts);
228 
229 };
230 };
static *code datasource_lookup
Lookup to get an abstract datasource from a name.
Definition: DbDataProvider.qc.dox.h:52
AbstractDatabase db
The database object.
Definition: DbDataProvider.qc.dox.h:49
static *code table_lookup
Lookup to get an abstract table from a datasource and a name.
Definition: DbDataProvider.qc.dox.h:55
Qore AbstractDbRecordIterator class definition.
Definition: AbstractDbRecordIterator.qc.dox.h:32