/* SQLite */
"LIKE" /* MATCH doesn't seems to work anymore... */
};
-
+
+const char *sql_like[] =
+{
+ /* MySQL */
+ "LIKE",
+ /* PostgreSQL */
+ "ILIKE",
+ /* SQLite */
+ "LIKE"
+};
+
static const char *insert_counter_values_default =
"INSERT INTO Counters (Counter, MinValue, "
"MaxValue, CurrentValue, WrapCounter) "
Mmsg(cmd,
"SELECT Job "
"FROM Job "
- " %s WHERE lower(Job.Job) LIKE lower('%%%s%%') %s", join, esc, where_tmp);
+ " %s WHERE Job.Job %s '%%%s%%' %s", join, sql_like[bdb_get_type_index()], esc, where_tmp);
if (jr->limit > 0) {
char ed1[50];
where_tmp = get_acls(DB_ACL_BIT(DB_ACL_CLIENT), 0);
Mmsg(cmd, "SELECT Name "
- "FROM Client WHERE lower(Name) LIKE lower('%%%s%%') %s",
+ "FROM Client WHERE Name %s '%%%s%%' %s",
+ sql_like[bdb_get_type_index()],
esc, where_tmp);
if (rec->limit > 0) {
mdbr->limit = 50;
}
- Mmsg(cmd, "SELECT VolumeName FROM Media %s WHERE lower(Media.VolumeName) LIKE lower('%%%s%%') %s LIMIT %u",
+ Mmsg(cmd, "SELECT VolumeName FROM Media %s WHERE Media.VolumeName %s '%%%s%%' %s LIMIT %u",
join,
+ sql_like[bdb_get_type_index()],
esc,
where,
mdbr->limit);
POOL_MEM esc;
esc.check_size(strlen(pattern) * 2 + 1);
bdb_escape_string(jcr, esc.c_str(), pattern, strlen(pattern));
- Mmsg(tmp, "lower(Log.LogText) LIKE lower('%%%s%%') ", esc.c_str());
+ Mmsg(tmp, "Log.LogText %s '%%%s%%' ", sql_like[bdb_get_type_index()], esc.c_str());
append_filter(where2.handle(), tmp.c_str());
}