db_type = SQL_TYPE_SQLITE;
} else if (strcasecmp(p, "sqlite3") == 0) {
db_type = SQL_TYPE_SQLITE3;
+ } else if (strcasecmp(p, "ingres") == 0) {
+ db_type = SQL_TYPE_INGRES;
} else {
Jmsg1(jcr, M_ABORT, 0, _("Unknown database type: %s\n"), p);
}
}
if (max_conn && max_concurrent_jobs && max_concurrent_jobs > max_conn) {
Mmsg(mdb->errmsg,
- _("On db_name=%s, %s max_connections=%d is lower than Director "
- "MaxConcurentJobs=%d\n"),
- mdb->db_name, db_get_type(), max_conn, max_concurrent_jobs);
+ _("Potential performance problem:\n"
+ "max_connections=%d set for %s database \"%s\" should be larger than Director's "
+ "MaxConcurrentJobs=%d\n"),
+ max_conn, db_get_type(), mdb->db_name, max_concurrent_jobs);
Jmsg(jcr, M_WARNING, 0, "%s", mdb->errmsg);
ret = false;
}
void _db_lock(const char *file, int line, B_DB *mdb)
{
int errstat;
- if ((errstat=rwl_writelock(&mdb->lock)) != 0) {
+ if ((errstat=rwl_writelock_p(&mdb->lock, file, line)) != 0) {
berrno be;
e_msg(file, line, M_FATAL, 0, "rwl_writelock failure. stat=%d: ERR=%s\n",
errstat, be.bstrerror(errstat));