]>
Commit | Line | Data |
---|---|---|
12471842 PL |
1 | /* |
2 | * This file is part of PowerDNS or dnsdist. | |
3 | * Copyright -- PowerDNS.COM B.V. and its contributors | |
4 | * | |
5 | * This program is free software; you can redistribute it and/or modify | |
6 | * it under the terms of version 2 of the GNU General Public License as | |
7 | * published by the Free Software Foundation. | |
8 | * | |
9 | * In addition, for the avoidance of any doubt, permission is granted to | |
10 | * link this program with OpenSSL and to (re)distribute the binaries | |
11 | * produced as the result of such linking. | |
12 | * | |
13 | * This program is distributed in the hope that it will be useful, | |
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | * GNU General Public License for more details. | |
17 | * | |
18 | * You should have received a copy of the GNU General Public License | |
19 | * along with this program; if not, write to the Free Software | |
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
21 | */ | |
680f25f8 RK |
22 | #ifndef PDNS_GSQLBACKEND_HH |
23 | #define PDNS_GSQLBACKEND_HH | |
24 | ||
b4ce8b4e BH |
25 | #include <string> |
26 | #include <map> | |
27 | #include "ssql.hh" | |
eb743bba | 28 | #include "pdns/arguments.hh" |
b4ce8b4e | 29 | |
9ad7641b | 30 | #include "pdns/namespaces.hh" |
b4ce8b4e | 31 | |
ad34750d KM |
32 | bool isDnssecDomainMetadata (const string& name); |
33 | ||
1325e8a2 PD |
34 | /* |
35 | GSQLBackend is a generic backend used by other sql backends | |
36 | */ | |
b4ce8b4e BH |
37 | class GSQLBackend : public DNSBackend |
38 | { | |
39 | public: | |
40 | GSQLBackend(const string &mode, const string &suffix); //!< Makes our connection to the database. Throws an exception if it fails. | |
41 | virtual ~GSQLBackend() | |
42 | { | |
0f310932 | 43 | freeStatements(); |
b4ce8b4e | 44 | if(d_db) |
0f310932 | 45 | delete d_db; |
b4ce8b4e BH |
46 | } |
47 | ||
48 | void setDB(SSql *db) | |
49 | { | |
0f310932 AT |
50 | freeStatements(); |
51 | delete d_db; | |
b4ce8b4e | 52 | d_db=db; |
eb743bba CH |
53 | if (d_db) { |
54 | d_db->setLog(::arg().mustDo("query-logging")); | |
0f310932 AT |
55 | d_NoIdQuery_stmt = d_db->prepare(d_NoIdQuery, 2); |
56 | d_IdQuery_stmt = d_db->prepare(d_IdQuery, 3); | |
57 | d_ANYNoIdQuery_stmt = d_db->prepare(d_ANYNoIdQuery, 1); | |
58 | d_ANYIdQuery_stmt = d_db->prepare(d_ANYIdQuery, 2); | |
59 | d_listQuery_stmt = d_db->prepare(d_listQuery, 2); | |
60 | d_listSubZoneQuery_stmt = d_db->prepare(d_listSubZoneQuery, 3); | |
61 | d_MasterOfDomainsZoneQuery_stmt = d_db->prepare(d_MasterOfDomainsZoneQuery, 1); | |
62 | d_InfoOfDomainsZoneQuery_stmt = d_db->prepare(d_InfoOfDomainsZoneQuery, 1); | |
63 | d_InfoOfAllSlaveDomainsQuery_stmt = d_db->prepare(d_InfoOfAllSlaveDomainsQuery, 0); | |
64 | d_SuperMasterInfoQuery_stmt = d_db->prepare(d_SuperMasterInfoQuery, 2); | |
65 | d_GetSuperMasterIPs_stmt = d_db->prepare(d_GetSuperMasterIPs, 2); | |
aa09fa3b | 66 | d_InsertZoneQuery_stmt = d_db->prepare(d_InsertZoneQuery, 4); |
08536840 | 67 | d_InsertRecordQuery_stmt = d_db->prepare(d_InsertRecordQuery, 9); |
09070ce7 | 68 | d_InsertEmptyNonTerminalOrderQuery_stmt = d_db->prepare(d_InsertEmptyNonTerminalOrderQuery, 4); |
0f310932 AT |
69 | d_UpdateMasterOfZoneQuery_stmt = d_db->prepare(d_UpdateMasterOfZoneQuery, 2); |
70 | d_UpdateKindOfZoneQuery_stmt = d_db->prepare(d_UpdateKindOfZoneQuery, 2); | |
79532aa7 | 71 | d_UpdateAccountOfZoneQuery_stmt = d_db->prepare(d_UpdateAccountOfZoneQuery, 2); |
0f310932 AT |
72 | d_UpdateSerialOfZoneQuery_stmt = d_db->prepare(d_UpdateSerialOfZoneQuery, 2); |
73 | d_UpdateLastCheckofZoneQuery_stmt = d_db->prepare(d_UpdateLastCheckofZoneQuery, 2); | |
74 | d_InfoOfAllMasterDomainsQuery_stmt = d_db->prepare(d_InfoOfAllMasterDomainsQuery, 0); | |
75 | d_DeleteDomainQuery_stmt = d_db->prepare(d_DeleteDomainQuery, 1); | |
76 | d_DeleteZoneQuery_stmt = d_db->prepare(d_DeleteZoneQuery, 1); | |
77 | d_DeleteRRSetQuery_stmt = d_db->prepare(d_DeleteRRSetQuery, 3); | |
78 | d_DeleteNamesQuery_stmt = d_db->prepare(d_DeleteNamesQuery, 2); | |
79 | d_ZoneLastChangeQuery_stmt = d_db->prepare(d_ZoneLastChangeQuery, 1); | |
80 | d_firstOrderQuery_stmt = d_db->prepare(d_firstOrderQuery, 1); | |
81 | d_beforeOrderQuery_stmt = d_db->prepare(d_beforeOrderQuery, 2); | |
82 | d_afterOrderQuery_stmt = d_db->prepare(d_afterOrderQuery, 2); | |
83 | d_lastOrderQuery_stmt = d_db->prepare(d_lastOrderQuery, 1); | |
79de0a80 KM |
84 | d_updateOrderNameAndAuthQuery_stmt = d_db->prepare(d_updateOrderNameAndAuthQuery, 4); |
85 | d_updateOrderNameAndAuthTypeQuery_stmt = d_db->prepare(d_updateOrderNameAndAuthTypeQuery, 5); | |
0f310932 | 86 | d_nullifyOrderNameAndUpdateAuthQuery_stmt = d_db->prepare(d_nullifyOrderNameAndUpdateAuthQuery, 3); |
79de0a80 | 87 | d_nullifyOrderNameAndUpdateAuthTypeQuery_stmt = d_db->prepare(d_nullifyOrderNameAndUpdateAuthTypeQuery, 4); |
09070ce7 PL |
88 | d_RemoveEmptyNonTerminalsFromZoneQuery_stmt = d_db->prepare(d_RemoveEmptyNonTerminalsFromZoneQuery, 1); |
89 | d_DeleteEmptyNonTerminalQuery_stmt = d_db->prepare(d_DeleteEmptyNonTerminalQuery, 2); | |
0f310932 AT |
90 | d_AddDomainKeyQuery_stmt = d_db->prepare(d_AddDomainKeyQuery, 4); |
91 | d_ListDomainKeysQuery_stmt = d_db->prepare(d_ListDomainKeysQuery, 1); | |
92 | d_GetAllDomainMetadataQuery_stmt = d_db->prepare(d_GetAllDomainMetadataQuery, 1); | |
93 | d_GetDomainMetadataQuery_stmt = d_db->prepare(d_GetDomainMetadataQuery, 2); | |
94 | d_ClearDomainMetadataQuery_stmt = d_db->prepare(d_ClearDomainMetadataQuery, 2); | |
95 | d_ClearDomainAllMetadataQuery_stmt = d_db->prepare(d_ClearDomainAllMetadataQuery, 1); | |
96 | d_SetDomainMetadataQuery_stmt = d_db->prepare(d_SetDomainMetadataQuery, 3); | |
97 | d_RemoveDomainKeyQuery_stmt = d_db->prepare(d_RemoveDomainKeyQuery, 2); | |
98 | d_ActivateDomainKeyQuery_stmt = d_db->prepare(d_ActivateDomainKeyQuery, 2); | |
99 | d_DeactivateDomainKeyQuery_stmt = d_db->prepare(d_DeactivateDomainKeyQuery, 2); | |
100 | d_ClearDomainAllKeysQuery_stmt = d_db->prepare(d_ClearDomainAllKeysQuery, 1); | |
101 | d_getTSIGKeyQuery_stmt = d_db->prepare(d_getTSIGKeyQuery, 1); | |
102 | d_setTSIGKeyQuery_stmt = d_db->prepare(d_setTSIGKeyQuery, 3); | |
103 | d_deleteTSIGKeyQuery_stmt = d_db->prepare(d_deleteTSIGKeyQuery, 1); | |
104 | d_getTSIGKeysQuery_stmt = d_db->prepare(d_getTSIGKeysQuery, 0); | |
105 | d_getAllDomainsQuery_stmt = d_db->prepare(d_getAllDomainsQuery, 1); | |
106 | d_ListCommentsQuery_stmt = d_db->prepare(d_ListCommentsQuery, 1); | |
107 | d_InsertCommentQuery_stmt = d_db->prepare(d_InsertCommentQuery, 6); | |
108 | d_DeleteCommentRRsetQuery_stmt = d_db->prepare(d_DeleteCommentRRsetQuery, 3); | |
109 | d_DeleteCommentsQuery_stmt = d_db->prepare(d_DeleteCommentsQuery, 1); | |
474cacfa AT |
110 | d_SearchRecordsQuery_stmt = d_db->prepare(d_SearchRecordsQuery, 3); |
111 | d_SearchCommentsQuery_stmt = d_db->prepare(d_SearchCommentsQuery, 3); | |
eb743bba | 112 | } |
b4ce8b4e | 113 | } |
0f310932 AT |
114 | |
115 | void release(SSqlStatement **stmt) { | |
116 | delete *stmt; | |
117 | *stmt = NULL; | |
118 | } | |
b4ce8b4e | 119 | |
0f310932 AT |
120 | void freeStatements() { |
121 | release(&d_NoIdQuery_stmt); | |
122 | release(&d_IdQuery_stmt); | |
123 | release(&d_ANYNoIdQuery_stmt); | |
124 | release(&d_ANYIdQuery_stmt); | |
125 | release(&d_listQuery_stmt); | |
126 | release(&d_listSubZoneQuery_stmt); | |
127 | release(&d_MasterOfDomainsZoneQuery_stmt); | |
128 | release(&d_InfoOfDomainsZoneQuery_stmt); | |
129 | release(&d_InfoOfAllSlaveDomainsQuery_stmt); | |
130 | release(&d_SuperMasterInfoQuery_stmt); | |
131 | release(&d_GetSuperMasterIPs_stmt); | |
132 | release(&d_InsertZoneQuery_stmt); | |
0f310932 | 133 | release(&d_InsertRecordQuery_stmt); |
09070ce7 | 134 | release(&d_InsertEmptyNonTerminalOrderQuery_stmt); |
0f310932 AT |
135 | release(&d_UpdateMasterOfZoneQuery_stmt); |
136 | release(&d_UpdateKindOfZoneQuery_stmt); | |
79532aa7 | 137 | release(&d_UpdateAccountOfZoneQuery_stmt); |
0f310932 AT |
138 | release(&d_UpdateSerialOfZoneQuery_stmt); |
139 | release(&d_UpdateLastCheckofZoneQuery_stmt); | |
140 | release(&d_InfoOfAllMasterDomainsQuery_stmt); | |
141 | release(&d_DeleteDomainQuery_stmt); | |
142 | release(&d_DeleteZoneQuery_stmt); | |
143 | release(&d_DeleteRRSetQuery_stmt); | |
144 | release(&d_DeleteNamesQuery_stmt); | |
145 | release(&d_ZoneLastChangeQuery_stmt); | |
146 | release(&d_firstOrderQuery_stmt); | |
147 | release(&d_beforeOrderQuery_stmt); | |
148 | release(&d_afterOrderQuery_stmt); | |
149 | release(&d_lastOrderQuery_stmt); | |
79de0a80 KM |
150 | release(&d_updateOrderNameAndAuthQuery_stmt); |
151 | release(&d_updateOrderNameAndAuthTypeQuery_stmt); | |
0f310932 | 152 | release(&d_nullifyOrderNameAndUpdateAuthQuery_stmt); |
79de0a80 | 153 | release(&d_nullifyOrderNameAndUpdateAuthTypeQuery_stmt); |
09070ce7 PL |
154 | release(&d_RemoveEmptyNonTerminalsFromZoneQuery_stmt); |
155 | release(&d_DeleteEmptyNonTerminalQuery_stmt); | |
0f310932 AT |
156 | release(&d_AddDomainKeyQuery_stmt); |
157 | release(&d_ListDomainKeysQuery_stmt); | |
158 | release(&d_GetAllDomainMetadataQuery_stmt); | |
159 | release(&d_GetDomainMetadataQuery_stmt); | |
160 | release(&d_ClearDomainMetadataQuery_stmt); | |
161 | release(&d_ClearDomainAllMetadataQuery_stmt); | |
162 | release(&d_SetDomainMetadataQuery_stmt); | |
163 | release(&d_RemoveDomainKeyQuery_stmt); | |
164 | release(&d_ActivateDomainKeyQuery_stmt); | |
165 | release(&d_DeactivateDomainKeyQuery_stmt); | |
166 | release(&d_ClearDomainAllKeysQuery_stmt); | |
167 | release(&d_getTSIGKeyQuery_stmt); | |
168 | release(&d_setTSIGKeyQuery_stmt); | |
169 | release(&d_deleteTSIGKeyQuery_stmt); | |
170 | release(&d_getTSIGKeysQuery_stmt); | |
171 | release(&d_getAllDomainsQuery_stmt); | |
172 | release(&d_ListCommentsQuery_stmt); | |
173 | release(&d_InsertCommentQuery_stmt); | |
174 | release(&d_DeleteCommentRRsetQuery_stmt); | |
175 | release(&d_DeleteCommentsQuery_stmt); | |
474cacfa AT |
176 | release(&d_SearchRecordsQuery_stmt); |
177 | release(&d_SearchCommentsQuery_stmt); | |
0f310932 AT |
178 | } |
179 | ||
f1d06abf KM |
180 | void lookup(const QType &, const DNSName &qdomain, DNSPacket *p=0, int zoneId=-1); |
181 | bool list(const DNSName &target, int domain_id, bool include_disabled=false); | |
b4ce8b4e | 182 | bool get(DNSResourceRecord &r); |
cea26350 | 183 | void getAllDomains(vector<DomainInfo> *domains, bool include_disabled=false); |
223d3559 | 184 | bool isMaster(const DNSName &domain, const string &ip); |
8f126bc1 | 185 | void alsoNotifies(const DNSName &domain, set<string> *ips); |
223d3559 | 186 | bool startTransaction(const DNSName &domain, int domain_id=-1); |
b4ce8b4e BH |
187 | bool commitTransaction(); |
188 | bool abortTransaction(); | |
f9cf6d92 | 189 | bool feedRecord(const DNSResourceRecord &r, string *ordername=0); |
223d3559 | 190 | bool feedEnts(int domain_id, map<DNSName,bool>& nonterm); |
28e2e78e | 191 | bool feedEnts3(int domain_id, const DNSName &domain, map<DNSName,bool> &nonterm, const NSEC3PARAMRecordContent& ns3prc, bool narrow); |
aa09fa3b PL |
192 | bool createDomain(const DNSName &domain, const string &type, const string &masters, const string &account); |
193 | bool createDomain(const DNSName &domain) { | |
194 | return createDomain(domain, "NATIVE", "", ""); | |
195 | }; | |
223d3559 KM |
196 | bool createSlaveDomain(const string &ip, const DNSName &domain, const string &nameserver, const string &account); |
197 | bool deleteDomain(const DNSName &domain); | |
198 | bool superMasterBackend(const string &ip, const DNSName &domain, const vector<DNSResourceRecord>&nsset, string *nameserver, string *account, DNSBackend **db); | |
092f210a | 199 | void setFresh(uint32_t domain_id); |
b4ce8b4e BH |
200 | void getUnfreshSlaveInfos(vector<DomainInfo> *domains); |
201 | void getUpdatedMasters(vector<DomainInfo> *updatedDomains); | |
8f126bc1 | 202 | bool getDomainInfo(const DNSName &domain, DomainInfo &di); |
092f210a | 203 | void setNotified(uint32_t domain_id, uint32_t serial); |
223d3559 KM |
204 | bool setMaster(const DNSName &domain, const string &ip); |
205 | bool setKind(const DNSName &domain, const DomainInfo::DomainKind kind); | |
206 | bool setAccount(const DNSName &domain, const string &account); | |
c02f13ef | 207 | |
223d3559 | 208 | virtual bool getBeforeAndAfterNamesAbsolute(uint32_t id, const string& qname, DNSName& unhashed, std::string& before, std::string& after); |
79de0a80 KM |
209 | virtual bool updateDNSSECOrderNameAndAuth(uint32_t domain_id, const DNSName& zonename, const DNSName& qname, const DNSName& ordername, bool auth, const uint16_t=QType::ANY); |
210 | ||
675fa24c | 211 | virtual bool updateEmptyNonTerminals(uint32_t domain_id, const DNSName& zonename, set<DNSName>& insert ,set<DNSName>& erase, bool remove); |
ece45ffb | 212 | virtual bool doesDNSSEC(); |
5c3bf2db | 213 | |
223d3559 | 214 | virtual bool calculateSOASerial(const DNSName& domain, const SOAData& sd, time_t& serial); |
d07fc616 | 215 | |
8f126bc1 KM |
216 | bool replaceRRSet(uint32_t domain_id, const DNSName& qname, const QType& qt, const vector<DNSResourceRecord>& rrset); |
217 | bool listSubZone(const DNSName &zone, int domain_id); | |
218 | int addDomainKey(const DNSName& name, const KeyData& key); | |
219 | bool getDomainKeys(const DNSName& name, unsigned int kind, std::vector<KeyData>& keys); | |
220 | bool getAllDomainMetadata(const DNSName& name, std::map<std::string, std::vector<std::string> >& meta); | |
221 | bool getDomainMetadata(const DNSName& name, const std::string& kind, std::vector<std::string>& meta); | |
222 | bool setDomainMetadata(const DNSName& name, const std::string& kind, const std::vector<std::string>& meta); | |
223 | bool clearDomainAllMetadata(const DNSName& domain); | |
4496f66f | 224 | |
8f126bc1 KM |
225 | bool removeDomainKey(const DNSName& name, unsigned int id); |
226 | bool activateDomainKey(const DNSName& name, unsigned int id); | |
227 | bool deactivateDomainKey(const DNSName& name, unsigned int id); | |
4496f66f | 228 | |
8f126bc1 KM |
229 | bool getTSIGKey(const DNSName& name, DNSName* algorithm, string* content); |
230 | bool setTSIGKey(const DNSName& name, const DNSName& algorithm, const string& content); | |
231 | bool deleteTSIGKey(const DNSName& name); | |
9a72349d AT |
232 | bool getTSIGKeys(std::vector< struct TSIGKey > &keys); |
233 | ||
6cc98ddf CH |
234 | bool listComments(const uint32_t domain_id); |
235 | bool getComment(Comment& comment); | |
236 | void feedComment(const Comment& comment); | |
8f126bc1 | 237 | bool replaceComments(const uint32_t domain_id, const DNSName& qname, const QType& qt, const vector<Comment>& comments); |
f641c3b7 PD |
238 | bool replaceComments(const uint32_t domain_id, const string& qname, const QType& qt, const vector<Comment>& comments); |
239 | string directBackendCmd(const string &query); | |
474cacfa AT |
240 | bool searchRecords(const string &pattern, int maxResults, vector<DNSResourceRecord>& result); |
241 | bool searchComments(const string &pattern, int maxResults, vector<Comment>& result); | |
512eafef | 242 | |
474cacfa AT |
243 | protected: |
244 | string pattern2SQLPattern(const string& pattern); | |
245 | void extractRecord(const SSqlStatement::row_t& row, DNSResourceRecord& rr); | |
512ad04f | 246 | void extractComment(const SSqlStatement::row_t& row, Comment& c); |
6cc98ddf | 247 | |
b4ce8b4e | 248 | private: |
7c779a31 | 249 | string d_query_name; |
f1d06abf | 250 | DNSName d_qname; |
b4ce8b4e | 251 | SSql *d_db; |
0f310932 | 252 | SSqlStatement::result_t d_result; |
b4ce8b4e | 253 | |
75f02b56 KM |
254 | string d_NoIdQuery; |
255 | string d_IdQuery; | |
256 | string d_ANYNoIdQuery; | |
257 | string d_ANYIdQuery; | |
258 | ||
b4ce8b4e | 259 | string d_listQuery; |
c69120f2 | 260 | string d_listSubZoneQuery; |
b4ce8b4e | 261 | string d_logprefix; |
770e6a9c | 262 | |
36d772ab BH |
263 | string d_MasterOfDomainsZoneQuery; |
264 | string d_InfoOfDomainsZoneQuery; | |
265 | string d_InfoOfAllSlaveDomainsQuery; | |
266 | string d_SuperMasterInfoQuery; | |
5805615b AT |
267 | string d_GetSuperMasterName; |
268 | string d_GetSuperMasterIPs; | |
269 | ||
487cf033 | 270 | string d_InsertZoneQuery; |
36d772ab | 271 | string d_InsertRecordQuery; |
09070ce7 | 272 | string d_InsertEmptyNonTerminalOrderQuery; |
c02f13ef CH |
273 | string d_UpdateMasterOfZoneQuery; |
274 | string d_UpdateKindOfZoneQuery; | |
79532aa7 | 275 | string d_UpdateAccountOfZoneQuery; |
36d772ab BH |
276 | string d_UpdateSerialOfZoneQuery; |
277 | string d_UpdateLastCheckofZoneQuery; | |
278 | string d_InfoOfAllMasterDomainsQuery; | |
09d6667a CH |
279 | string d_DeleteDomainQuery; |
280 | string d_DeleteZoneQuery; | |
98d47e2e CH |
281 | string d_DeleteRRSetQuery; |
282 | string d_DeleteNamesQuery; | |
d07fc616 | 283 | string d_ZoneLastChangeQuery; |
770e6a9c | 284 | |
5697411b | 285 | string d_firstOrderQuery; |
136efa2f BH |
286 | string d_beforeOrderQuery; |
287 | string d_afterOrderQuery; | |
bc74a078 | 288 | string d_lastOrderQuery; |
79de0a80 KM |
289 | |
290 | string d_updateOrderNameAndAuthQuery; | |
291 | string d_updateOrderNameAndAuthTypeQuery; | |
c2df797e | 292 | string d_nullifyOrderNameAndUpdateAuthQuery; |
79de0a80 KM |
293 | string d_nullifyOrderNameAndUpdateAuthTypeQuery; |
294 | ||
09070ce7 PL |
295 | string d_RemoveEmptyNonTerminalsFromZoneQuery; |
296 | string d_DeleteEmptyNonTerminalQuery; | |
136efa2f | 297 | |
c0273500 BH |
298 | string d_AddDomainKeyQuery; |
299 | string d_ListDomainKeysQuery; | |
df0cc941 | 300 | string d_GetAllDomainMetadataQuery; |
c0273500 | 301 | string d_GetDomainMetadataQuery; |
f7bcc763 | 302 | string d_ClearDomainMetadataQuery; |
09d6667a | 303 | string d_ClearDomainAllMetadataQuery; |
c0273500 | 304 | string d_SetDomainMetadataQuery; |
4496f66f BH |
305 | |
306 | string d_RemoveDomainKeyQuery; | |
307 | string d_ActivateDomainKeyQuery; | |
308 | string d_DeactivateDomainKeyQuery; | |
09d6667a | 309 | string d_ClearDomainAllKeysQuery; |
770e6a9c | 310 | |
78bcb858 | 311 | string d_getTSIGKeyQuery; |
9a72349d AT |
312 | string d_setTSIGKeyQuery; |
313 | string d_deleteTSIGKeyQuery; | |
314 | string d_getTSIGKeysQuery; | |
1325e8a2 PD |
315 | |
316 | string d_getAllDomainsQuery; | |
317 | ||
6cc98ddf CH |
318 | string d_ListCommentsQuery; |
319 | string d_InsertCommentQuery; | |
320 | string d_DeleteCommentRRsetQuery; | |
321 | string d_DeleteCommentsQuery; | |
322 | ||
474cacfa AT |
323 | string d_SearchRecordsQuery; |
324 | string d_SearchCommentsQuery; | |
325 | ||
0f310932 AT |
326 | SSqlStatement* d_query_stmt; |
327 | ||
328 | SSqlStatement* d_NoIdQuery_stmt; | |
329 | SSqlStatement* d_IdQuery_stmt; | |
330 | SSqlStatement* d_ANYNoIdQuery_stmt; | |
331 | SSqlStatement* d_ANYIdQuery_stmt; | |
332 | SSqlStatement* d_listQuery_stmt; | |
333 | SSqlStatement* d_listSubZoneQuery_stmt; | |
334 | SSqlStatement* d_MasterOfDomainsZoneQuery_stmt; | |
335 | SSqlStatement* d_InfoOfDomainsZoneQuery_stmt; | |
336 | SSqlStatement* d_InfoOfAllSlaveDomainsQuery_stmt; | |
337 | SSqlStatement* d_SuperMasterInfoQuery_stmt; | |
338 | SSqlStatement* d_GetSuperMasterIPs_stmt; | |
339 | SSqlStatement* d_InsertZoneQuery_stmt; | |
0f310932 | 340 | SSqlStatement* d_InsertRecordQuery_stmt; |
09070ce7 | 341 | SSqlStatement* d_InsertEmptyNonTerminalOrderQuery_stmt; |
0f310932 AT |
342 | SSqlStatement* d_UpdateMasterOfZoneQuery_stmt; |
343 | SSqlStatement* d_UpdateKindOfZoneQuery_stmt; | |
79532aa7 | 344 | SSqlStatement* d_UpdateAccountOfZoneQuery_stmt; |
0f310932 AT |
345 | SSqlStatement* d_UpdateSerialOfZoneQuery_stmt; |
346 | SSqlStatement* d_UpdateLastCheckofZoneQuery_stmt; | |
347 | SSqlStatement* d_InfoOfAllMasterDomainsQuery_stmt; | |
348 | SSqlStatement* d_DeleteDomainQuery_stmt; | |
349 | SSqlStatement* d_DeleteZoneQuery_stmt; | |
350 | SSqlStatement* d_DeleteRRSetQuery_stmt; | |
351 | SSqlStatement* d_DeleteNamesQuery_stmt; | |
352 | SSqlStatement* d_ZoneLastChangeQuery_stmt; | |
353 | SSqlStatement* d_firstOrderQuery_stmt; | |
354 | SSqlStatement* d_beforeOrderQuery_stmt; | |
355 | SSqlStatement* d_afterOrderQuery_stmt; | |
356 | SSqlStatement* d_lastOrderQuery_stmt; | |
79de0a80 KM |
357 | SSqlStatement* d_updateOrderNameAndAuthQuery_stmt; |
358 | SSqlStatement* d_updateOrderNameAndAuthTypeQuery_stmt; | |
0f310932 | 359 | SSqlStatement* d_nullifyOrderNameAndUpdateAuthQuery_stmt; |
79de0a80 | 360 | SSqlStatement* d_nullifyOrderNameAndUpdateAuthTypeQuery_stmt; |
09070ce7 PL |
361 | SSqlStatement* d_RemoveEmptyNonTerminalsFromZoneQuery_stmt; |
362 | SSqlStatement* d_DeleteEmptyNonTerminalQuery_stmt; | |
0f310932 AT |
363 | SSqlStatement* d_AddDomainKeyQuery_stmt; |
364 | SSqlStatement* d_ListDomainKeysQuery_stmt; | |
365 | SSqlStatement* d_GetAllDomainMetadataQuery_stmt; | |
366 | SSqlStatement* d_GetDomainMetadataQuery_stmt; | |
367 | SSqlStatement* d_ClearDomainMetadataQuery_stmt; | |
368 | SSqlStatement* d_ClearDomainAllMetadataQuery_stmt; | |
369 | SSqlStatement* d_SetDomainMetadataQuery_stmt; | |
370 | SSqlStatement* d_RemoveDomainKeyQuery_stmt; | |
371 | SSqlStatement* d_ActivateDomainKeyQuery_stmt; | |
372 | SSqlStatement* d_DeactivateDomainKeyQuery_stmt; | |
373 | SSqlStatement* d_ClearDomainAllKeysQuery_stmt; | |
374 | SSqlStatement* d_getTSIGKeyQuery_stmt; | |
375 | SSqlStatement* d_setTSIGKeyQuery_stmt; | |
376 | SSqlStatement* d_deleteTSIGKeyQuery_stmt; | |
377 | SSqlStatement* d_getTSIGKeysQuery_stmt; | |
378 | SSqlStatement* d_getAllDomainsQuery_stmt; | |
379 | SSqlStatement* d_ListCommentsQuery_stmt; | |
380 | SSqlStatement* d_InsertCommentQuery_stmt; | |
381 | SSqlStatement* d_DeleteCommentRRsetQuery_stmt; | |
382 | SSqlStatement* d_DeleteCommentsQuery_stmt; | |
474cacfa AT |
383 | SSqlStatement* d_SearchRecordsQuery_stmt; |
384 | SSqlStatement* d_SearchCommentsQuery_stmt; | |
512eafef | 385 | |
770e6a9c | 386 | protected: |
136efa2f | 387 | bool d_dnssecQueries; |
b4ce8b4e | 388 | }; |
680f25f8 RK |
389 | |
390 | #endif /* PDNS_GSQLBACKEND_HH */ |