]>
Commit | Line | Data |
---|---|---|
2ffc06cb BH |
1 | #include <string> |
2 | #include <map> | |
343546e5 | 3 | #include "ssql.hh" |
2ffc06cb BH |
4 | |
5 | using namespace std; | |
6 | ||
7 | /** The gMySQLBackend is a DNSBackend that can answer DNS related questions. It looks up data | |
8 | in PostgreSQL */ | |
9 | class gMySQLBackend : public DNSBackend | |
10 | { | |
11 | public: | |
12 | gMySQLBackend(const string &mode, const string &suffix); //!< Makes our connection to the database. Throws an exception if it fails. | |
13 | ~gMySQLBackend(); | |
14 | ||
15 | string sqlEscape(const string &name); | |
16 | void lookup(const QType &, const string &qdomain, DNSPacket *p=0, int zoneId=-1); | |
17 | bool list(int domain_id); | |
18 | bool get(DNSResourceRecord &r); | |
19 | bool isMaster(const string &domain, const string &ip); | |
20 | ||
21 | bool startTransaction(const string &domain, int domain_id=-1); | |
22 | bool commitTransaction(); | |
23 | bool abortTransaction(); | |
24 | bool feedRecord(const DNSResourceRecord &r); | |
25 | bool createSlaveDomain(const string &ip, const string &domain, const string &account); | |
26 | bool superMasterBackend(const string &ip, const string &domain, const vector<DNSResourceRecord>&nsset, string *account, DNSBackend **db); | |
27 | void setFresh(u_int32_t domain_id); | |
28 | void getUnfreshSlaveInfos(vector<DomainInfo> *domains); | |
29 | void getUpdatedMasters(vector<DomainInfo> *updatedDomains); | |
30 | bool getDomainInfo(const string &domain, DomainInfo &di); | |
31 | void setNotified(u_int32_t domain_id, u_int32_t serial); | |
32 | private: | |
33 | string d_qname; | |
34 | QType d_qtype; | |
35 | int d_count; | |
36 | SSql *d_db; | |
37 | SSql::result_t d_result; | |
38 | ||
39 | string d_wildCardNoIDQuery; | |
40 | string d_noWildCardNoIDQuery; | |
41 | string d_noWildCardIDQuery; | |
42 | string d_wildCardIDQuery; | |
43 | string d_wildCardANYNoIDQuery; | |
44 | string d_noWildCardANYNoIDQuery; | |
45 | string d_noWildCardANYIDQuery; | |
46 | string d_wildCardANYIDQuery; | |
47 | string d_listQuery; | |
48 | string d_logprefix; | |
49 | }; |