comparison ZDBInterfaceFolder.py @ 15:9fb0d4f24486

comments with a bit of documentation
author casties
date Thu, 17 Nov 2011 14:06:52 +0100
parents 9cea47dc6926
children
comparison
equal deleted inserted replaced
14:9cea47dc6926 15:9fb0d4f24486
86 args.append(val + "%") 86 args.append(val + "%")
87 elif op == "ct": 87 elif op == "ct":
88 wheres.append(param + " ILIKE %s") 88 wheres.append(param + " ILIKE %s")
89 args.append("%" + val + "%") 89 args.append("%" + val + "%")
90 elif op == "all": 90 elif op == "all":
91 # p="a b c" -> WHERE (p ILIKE '%a%' AND p ILIKE '%b%' AND p ILIKE '%c%')
91 words = [] 92 words = []
92 for word in val.split(" "): 93 for word in val.split(" "):
93 words.append(param + " ILIKE %s") 94 words.append(param + " ILIKE %s")
94 args.append("%" + word + "%") 95 args.append("%" + word + "%")
95 wheres.append("(" + " AND ".join(words) + ")") 96 wheres.append("(" + " AND ".join(words) + ")")
96 elif op == "one": 97 elif op == "one":
98 # p="a b c" -> WHERE (p ILIKE '%a%' OR p ILIKE '%b%' OR p ILIKE '%c%')
97 words = [] 99 words = []
98 for word in val.split(" "): 100 for word in val.split(" "):
99 words.append(param + " ILIKE %s") 101 words.append(param + " ILIKE %s")
100 args.append("%" + word + "%") 102 args.append("%" + word + "%")
101 wheres.append("(" + " OR ".join(words) + ")") 103 wheres.append("(" + " OR ".join(words) + ")")
102 elif op == "in": 104 elif op == "in":
105 # p="a b c" -> WHERE p IN ('a', 'b', 'c')
103 words = [] 106 words = []
104 for word in val.split(" "): 107 for word in val.split(" "):
105 words.append("%s") 108 words.append("%s")
106 args.append(word) 109 args.append(word)
107 wheres.append(param + " in (" + ", ".join(words) + ")") 110 wheres.append(param + " IN (" + ", ".join(words) + ")")
108 else: 111 else:
109 logging.error("getSQLquery: unknown op=%s!"%op) 112 logging.error("getSQLquery: unknown op=%s!"%op)
110 113
111 return 114 return
112 115