[yum-commits] Branch 'yum-3_2_X' - 3 commits - yum/sqlitesack.py
James Antill
james at osuosl.org
Mon Mar 9 14:10:52 UTC 2009
yum/sqlitesack.py | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
New commits:
commit a3d0365fdaa5e62d247db99cbc42bb78b631bdc2
Author: James Antill <james at and.org>
Date: Mon Mar 9 10:05:26 2009 -0400
Make querytype nicer for Seth :)
diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index 47e12fa..aa9fec4 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -1138,7 +1138,13 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
if ignore_case:
patterns = self._sql_esc_glob(patterns)
else:
- patterns = [(pat, misc.re_glob(pat) and 1) for pat in patterns]
+ tmp = []
+ for pat in patterns:
+ if misc.re_glob(pat):
+ tmp.append((pat, 'glob'))
+ else:
+ tmp.append((pat, '='))
+ patterns = tmp
for (repo,cache) in self.primarydb.items():
if (repoid == None or repoid == repo.id):
@@ -1154,8 +1160,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
if ignore_case:
pat_sqls.append("%s LIKE ?%s" % (field, rest))
else:
- querytype = rest and 'GLOB' or '='
- pat_sqls.append("%s %s ?" % (field, querytype))
+ pat_sqls.append("%s %s ?" % (field, rest))
pat_data.append(pattern)
if pat_sqls:
qsql = _FULL_PARSE_QUERY_BEG + " OR ".join(pat_sqls)
commit dae41b5e2fb12201610dc0eab8a57b74d3fda1a5
Author: Ville Skyttä <ville.skytta at iki.fi>
Date: Fri Mar 6 00:27:09 2009 +0200
Use = instead of GLOB when possible in _buildPkgObjList().
diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index 2b84141..47e12fa 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -1138,7 +1138,7 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
if ignore_case:
patterns = self._sql_esc_glob(patterns)
else:
- patterns = [(pat, '') for pat in patterns]
+ patterns = [(pat, misc.re_glob(pat) and 1) for pat in patterns]
for (repo,cache) in self.primarydb.items():
if (repoid == None or repoid == repo.id):
@@ -1149,12 +1149,13 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
pat_sqls = []
pat_data = []
- for (pattern, esc) in patterns:
+ for (pattern, rest) in patterns:
for field in fields:
if ignore_case:
- pat_sqls.append("%s LIKE ?%s" % (field, esc))
+ pat_sqls.append("%s LIKE ?%s" % (field, rest))
else:
- pat_sqls.append("%s GLOB ?" % field)
+ querytype = rest and 'GLOB' or '='
+ pat_sqls.append("%s %s ?" % (field, querytype))
pat_data.append(pattern)
if pat_sqls:
qsql = _FULL_PARSE_QUERY_BEG + " OR ".join(pat_sqls)
commit 230f2d5009d94b44496119b69b7911d24a599237
Author: Ville Skyttä <ville.skytta at iki.fi>
Date: Fri Mar 6 00:24:49 2009 +0200
SQL-escape patterns only once in _buildPkgObjList().
diff --git a/yum/sqlitesack.py b/yum/sqlitesack.py
index 7599808..2b84141 100644
--- a/yum/sqlitesack.py
+++ b/yum/sqlitesack.py
@@ -1135,6 +1135,10 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
pat_max = constants.PATTERNS_INDEXED_MAX
if len(patterns) > pat_max:
patterns = []
+ if ignore_case:
+ patterns = self._sql_esc_glob(patterns)
+ else:
+ patterns = [(pat, '') for pat in patterns]
for (repo,cache) in self.primarydb.items():
if (repoid == None or repoid == repo.id):
@@ -1145,10 +1149,6 @@ class YumSqlitePackageSack(yumRepo.YumPackageSack):
pat_sqls = []
pat_data = []
- if ignore_case:
- patterns = self._sql_esc_glob(patterns)
- else:
- patterns = [(pat, '') for pat in patterns]
for (pattern, esc) in patterns:
for field in fields:
if ignore_case:
More information about the Yum-commits
mailing list