Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Fix pkg query with complex evaluation string
Baptiste Daroussin committed 11 years ago
commit 6953eb4ba1ce92e55245b482c0cb493a1d331434
parent 3cd1453
1 file changed +12 -13
modified src/query.c
@@ -515,52 +515,51 @@ format_sql_condition(const char *str, struct sbuf *sqlcond, bool for_remote)
				case '#': /* FALLTHROUGH */
				case '?':
					str++;
-
					const char *dbstr = for_remote ? "'%1$s'." : "";
					const char *sqlop = (str[0] == '#' ? "COUNT(*)" : "COUNT(*) > 0");
					switch (str[0]) {
						case 'd':
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %sdeps AS d WHERE d.package_id=p.id)", sqlop, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM deps AS d WHERE d.package_id=p.id)", sqlop);
							break;
						case 'r':
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %sdeps AS d WHERE d.origin=p.origin)", sqlop, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM deps AS d WHERE d.origin=p.origin)", sqlop);
							break;
						case 'C':
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %spkg_categories AS d WHERE d.package_id=p.id)", sqlop, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM pkg_categories AS d WHERE d.package_id=p.id)", sqlop);
							break;
						case 'F':
							if (for_remote)
								goto bad_option;
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %sfiles AS d WHERE d.package_id=p.id)", sqlop, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM files AS d WHERE d.package_id=p.id)", sqlop);
							break;
						case 'O':
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %soption JOIN %spkg_option USING(option_id) AS d WHERE d.package_id=p.id)", sqlop, dbstr, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM option JOIN pkg_option USING(option_id) AS d WHERE d.package_id=p.id)", sqlop);
							break;
						case 'D':
							if (for_remote)
								goto bad_option;
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %spkg_directories AS d WHERE d.package_id=p.id)", sqlop, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM pkg_directories AS d WHERE d.package_id=p.id)", sqlop);
							break;
						case 'L':
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %spkg_licenses AS d WHERE d.package_id=p.id)", sqlop, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM pkg_licenses AS d WHERE d.package_id=p.id)", sqlop);
							break;
						case 'U':
							if (for_remote)
								goto bad_option;
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %spkg_users AS d WHERE d.package_id=p.id)", sqlop, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM pkg_users AS d WHERE d.package_id=p.id)", sqlop);
							break;
						case 'G':
							if (for_remote)
								goto bad_option;
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %spkg_groups AS d WHERE d.package_id=p.id)", sqlop, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM pkg_groups AS d WHERE d.package_id=p.id)", sqlop);
							break;
						case 'B':
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %spkg_shlibs_required AS d WHERE d.package_id=p.id)", sqlop, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM pkg_shlibs_required AS d WHERE d.package_id=p.id)", sqlop);
							break;
						case 'b':
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %spkg_shlibs_provided AS d WHERE d.package_id=p.id)", sqlop, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM pkg_shlibs_provided AS d WHERE d.package_id=p.id)", sqlop);
							break;
						case 'A':
-
							sbuf_printf(sqlcond, "(SELECT %s FROM %spkg_annotation AS d WHERE d.package_id=p.id)", sqlop, dbstr);
+
							sbuf_printf(sqlcond, "(SELECT %s FROM pkg_annotation AS d WHERE d.package_id=p.id)", sqlop);
							break;
						default:
							goto bad_option;