/*
- Copyright (C) 2000, 2001, 2002 Kern Sibbald and John Walker
+ Copyright (C) 2000-2003 Kern Sibbald and John Walker
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
#ifdef HAVE_BACULA_DB
+uint32_t bacula_db_version = 0;
+
/* Forward referenced functions */
extern char *working_directory;
* never have errors, or it is really fatal.
*/
B_DB *
-db_init_database(void *jcr, char *db_name, char *db_user, char *db_password)
+db_init_database(JCR *jcr, char *db_name, char *db_user, char *db_password,
+ char *db_address, int db_port, char *db_socket)
{
B_DB *mdb;
P(mutex); /* lock DB queue */
}
}
Dmsg0(200, "db_open first time\n");
- mdb = (B_DB *) malloc(sizeof(B_DB));
+ mdb = (B_DB *)malloc(sizeof(B_DB));
memset(mdb, 0, sizeof(B_DB));
Dmsg0(200, "DB struct init\n");
mdb->db_name = bstrdup(db_name);
qinsert(&db_list, &mdb->bq); /* put db in list */
Dmsg0(200, "Done db_open_database()\n");
mdb->cfd = -1;
- mdb->jcr = jcr;
V(mutex);
+ Jmsg(jcr, M_WARNING, 0, _("WARNING!!!! The Internal Database is for TESTING ONLY!\n"));
+ Jmsg(jcr, M_WARNING, 0, _("You should use either SQLite or MySQL\n"));
+
return mdb;
}
* which are returned in the errmsg
*/
int
-db_open_database(B_DB *mdb)
+db_open_database(JCR *jcr, B_DB *mdb)
{
char *dbf;
int fd, badctl;
BDB_VERSION, mdb->control.bdb_version);
badctl = 1;
}
+ bacula_db_version = mdb->control.bdb_version;
if (badctl) {
V(mutex);
return 0;
return 1;
}
-void db_close_database(B_DB *mdb)
+void db_close_database(JCR *jcr, B_DB *mdb)
{
P(mutex);
mdb->ref_count--;
if (mdb->filesetfd) {
fclose(mdb->filesetfd);
}
-/* pthread_mutex_destroy(&mdb->mutex); */
rwl_destroy(&mdb->lock);
free_pool_memory(mdb->errmsg);
free_pool_memory(mdb->cmd);
void db_escape_string(char *snew, char *old, int len)
{
- strcpy(snew, old);
+ memset(snew, 0, len);
+ bstrncpy(snew, old, len);
}
char *db_strerror(B_DB *mdb)
* much more efficient. Usually started when inserting
* file attributes.
*/
-void db_start_transaction(B_DB *mdb)
+void db_start_transaction(JCR *jcr, B_DB *mdb)
{
}
-void db_end_transaction(B_DB *mdb)
+void db_end_transaction(JCR *jcr, B_DB *mdb)
{
}