44 void set_host(
const hk_string& h);
49 void set_user(
const hk_string& u);
54 void set_password(
const hk_string& p);
55 hk_string password(
void);
59 void set_tcp_port(
unsigned int t);
60 unsigned int tcp_port(
void);
61 void set_defaultdatabase(
const hk_string&);
62 hk_string defaultdatabase(
void)
const;
66 virtual unsigned int default_tcp_port(
void)
const;
77 bool disconnect(
void);
81 bool is_connected(
void);
91 vector<hk_string>* dblist(
void);
98 hk_database* new_database(
const hk_string& name=
"");
100 bool rename_database(
const hk_string& originalname,
const hk_string& new_name);
106 SUPPORTS_AUTOINCCOLUMN=1,
107 SUPPORTS_BOOLCOLUMN=2,
108 SUPPORTS_DATECOLUMN=3,
109 SUPPORTS_TIMECOLUMN=4,
110 SUPPORTS_DATETIMECOLUMN=5,
111 SUPPORTS_BINARYCOLUMN=6,
112 SUPPORTS_MEMOCOLUMN=7,
113 SUPPORTS_TIMESTAMPCOLUMN=8,
115 SUPPORTS_TEXTCOLUMN=9,
116 SUPPORTS_INTEGERCOLUMN=10,
117 SUPPORTS_SMALLINTEGERCOLUMN=11,
118 SUPPORTS_FLOATINGCOLUMN=12,
119 SUPPORTS_SMALLFLOATINGCOLUMN=13,
121 SUPPORTS_PROPRIETARYCOLUMN=19,
124 SUPPORTS_TRANSACTIONS=101,
125 SUPPORTS_REFERENTIALINTEGRITY=102,
126 SUPPORTS_NEW_DATABASE=103,
127 SUPPORTS_DELETE_DATABASE=104,
128 SUPPORTS_NEW_TABLE=105,
129 SUPPORTS_ALTER_TABLE=106,
130 SUPPORTS_DELETE_TABLE=107,
131 SUPPORTS_CREATE_INDEX=108,
132 SUPPORTS_DELETE_INDEX=109,
133 SUPPORTS_CHANGE_PASSWORD=110,
134 SUPPORTS_RENAME_DATABASE=111,
135 SUPPORTS_RENAME_TABLE=112,
137 SUPPORTS_NEW_VIEW=114,
138 SUPPORTS_ALTER_VIEW=115,
139 SUPPORTS_DELETE_VIEW=116,
140 SUPPORTS_ADD_COLUMN=117,
141 SUPPORTS_DELETE_COLUMN=118,
142 SUPPORTS_CHANGE_COLUMNTYPE=119,
143 SUPPORTS_CHANGE_COLUMNNAME=120,
144 SUPPORTS_ALTER_PRIMARY_KEY=121,
145 SUPPORTS_ALTER_NOT_NULL=122,
147 SUPPORTS_SQL_GROUP_BY=180,
148 SUPPORTS_SQL_ORDER_BY=181,
149 SUPPORTS_SQL_HAVING=182,
150 SUPPORTS_SQL_WHERE=183,
151 SUPPORTS_SQL_ALIAS=184,
152 SUPPORTS_SQL_SUBSELECTS=185,
153 SUPPORTS_SQL_JOINS=186,
154 SUPPORTS_SQL_UNION=187,
156 SUPPORTS_LOCAL_FILEFORMAT=200,
157 SUPPORTS_NONALPHANUM_FIELDNAMES=201,
158 SUPPORTS_NONASCII_FIELDNAMES=202,
159 SUPPORTS_SPACE_FIELDNAMES=203
176 NEEDS_SQLDELIMITER=4,
178 NEEDS_DATABASENAME=6,
179 NEEDS_BOOLEANEMULATION=7,
180 NEEDS_NULL_TERMINATED_SQL=8,
181 NEEDS_TABLE_ALIAS_AS=9,
182 NEEDS_MANUAL_CHARSET=10,
183 NEEDS_DIRECTORY_AS_DATABASE=11
194 static void set_passworddialog(password_dialogtype*);
198 virtual bool create_database(
const hk_string& dbase);
204 virtual bool delete_database(
const hk_string& dbase,
enum_interaction c=interactive);
208 bool database_exists(
const hk_string& databasename);
215 bool set_newpassword(
const hk_string& newpassword);
221 void show_newpassworddialog(
void);
226 static void set_newpassworddialog(newpassword_dialogtype*);
231 bool show_passworddialog(
void);
236 virtual hk_string drivername(
void)
const;
242 void set_booleanemulation(
bool emulate);
243 bool booleanemulation(
void)
const;
252 bool copy_database(
hk_database* fromdatabase,
bool schema_and_data,
bool copy_local_files,progress_dialogtype* progressdialog=NULL);
253 hk_string last_servermessage(
void){
return p_lastservermessage;}
254 hk_string databasepath(
void);
263 virtual hk_string
mimetype(
void)
const {
return "";}
264 virtual unsigned int maxfieldnamesize(
void)
const {
return (
unsigned int)-1;}
271 virtual hk_string left_join_statement(
void) {
return " LEFT JOIN ";}
272 virtual hk_string inner_join_statement(
void) {
return " INNER JOIN ";}
274 bool is_sqlstatement(
const hk_string&);
279 virtual bool driver_specific_connect(
void){
return false;}
280 virtual bool driver_specific_disconnect(
void){
return false;}
281 virtual bool driver_specific_rename_database(
const hk_string& ,
const hk_string& ){
return false;}
282 virtual vector<hk_string>* driver_specific_dblist(
void){
return NULL;}
283 virtual hk_database* driver_specific_new_database(
void){
return NULL;}
284 virtual bool driver_specific_new_password(
const hk_string&){
return false;}
285 virtual bool driver_specific_delete_database(
const hk_string& dbase);
288 hk_string sqldelimiter(
void) ;
289 void inform_databases_connect(
void);
290 void inform_databases_disconnect(
void);
291 vector<hk_string> p_databaselist;
292 list<hk_string> p_sqlstatements;
300 virtual void loaddata(xmlNodePtr definition);
302 void set_last_servermessage(
const hk_string& m);
303 hk_database* database(
void)
const {
return p_database;}
305 void delete_databasedirectory(
const hk_string& db);
306 void delete_directory(
const hk_string& d);
308 void load_configuration(
void);
309 void save_configuration(
void);
310 bool copy_local_files(
hk_database* fromdb,
hk_database* todb,objecttype f,progress_dialogtype* progressdialog);
311 hk_string ask_dbname(
void);
312 void make_databasedir(
const hk_string& dbname);
313 void set_classespath(hk_string& p);
316 unsigned int p_debug_counter;
317 static password_dialogtype* p_passworddialog;
318 static newpassword_dialogtype* p_newpassworddialog;
320 hk_string p_lastservermessage;
represents a particular database on the SQL Server
Definition: hk_database.h:48
basic class for all other defined classes.
Definition: hk_class.h:52
connects to the SQL Server
Definition: hk_connection.h:31
need_enum
Definition: hk_connection.h:169
enum_interaction
Definition: hk_class.h:60
virtual void savedata(ostream &s)
Definition: hk_class.cpp:251
virtual bool server_needs(need_enum) const
Definition: hk_connection.h:188
virtual void loaddata(xmlNodePtr definition)
Definition: hk_class.cpp:262
virtual bool server_supports(support_enum) const
Definition: hk_connection.h:165
Definition: hk_connection.cpp:61
support_enum
Definition: hk_connection.h:104
virtual hk_string mimetype(void) const
Definition: hk_connection.h:263
Database Driver administration.
Definition: hk_drivermanager.h:38
virtual long int maxcharsize(void) const
Definition: hk_connection.h:269