Fix tld_enum comparison - cast to text instead of LOWER()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
primal
2026-02-01 19:13:21 -05:00
parent f2978e7ab5
commit 7011b126fe
+5 -5
View File
@@ -92,7 +92,7 @@ func buildTLDSearchQuery(sq SearchQuery) (string, []interface{}) {
UNION UNION
-- Exact domain match -- Exact domain match
SELECT tld::text as tld, host || '.' || tld as source_host SELECT tld::text as tld, host || '.' || tld as source_host
FROM domains WHERE LOWER(host) = $2 AND LOWER(tld) = $3 FROM domains WHERE LOWER(host) = $2 AND tld::text = $3
UNION UNION
-- Feeds matching URL -- Feeds matching URL
SELECT tld, source_host FROM feeds WHERE tld IS NOT NULL AND LOWER(url) LIKE $1 SELECT tld, source_host FROM feeds WHERE tld IS NOT NULL AND LOWER(url) LIKE $1
@@ -202,7 +202,7 @@ func buildDomainSearchQuery(sq SearchQuery, tldFilter string, argNum int) (strin
LOWER(f.url) LIKE $%d OR LOWER(f.url) LIKE $%d OR
LOWER(f.title) LIKE $%d OR LOWER(f.title) LIKE $%d OR
LOWER(f.description) LIKE $%d OR LOWER(f.description) LIKE $%d OR
(LOWER(d.host) = $%d AND LOWER(d.tld) = $%d) (LOWER(d.host) = $%d AND d.tld::text = $%d)
)`, argNum, argNum+1, argNum+1, argNum+1, argNum+1, argNum+2, argNum+3) )`, argNum, argNum+1, argNum+1, argNum+1, argNum+1, argNum+2, argNum+3)
args = []interface{}{tldFilter, pattern, strings.ToLower(sq.DomainHost), strings.ToLower(sq.DomainTLD)} args = []interface{}{tldFilter, pattern, strings.ToLower(sq.DomainHost), strings.ToLower(sq.DomainTLD)}
argNum += 4 argNum += 4
@@ -223,7 +223,7 @@ func buildDomainSearchQuery(sq SearchQuery, tldFilter string, argNum int) (strin
LOWER(f.url) LIKE $%d OR LOWER(f.url) LIKE $%d OR
LOWER(f.title) LIKE $%d OR LOWER(f.title) LIKE $%d OR
LOWER(f.description) LIKE $%d OR LOWER(f.description) LIKE $%d OR
(LOWER(d.host) = $%d AND LOWER(d.tld) = $%d) (LOWER(d.host) = $%d AND d.tld::text = $%d)
)`, argNum, argNum, argNum, argNum, argNum+1, argNum+2) )`, argNum, argNum, argNum, argNum, argNum+1, argNum+2)
args = []interface{}{pattern, strings.ToLower(sq.DomainHost), strings.ToLower(sq.DomainTLD)} args = []interface{}{pattern, strings.ToLower(sq.DomainHost), strings.ToLower(sq.DomainTLD)}
argNum += 3 argNum += 3
@@ -442,7 +442,7 @@ func (c *Crawler) handleAPIDomains(w http.ResponseWriter, r *http.Request) {
LOWER(f.url) LIKE $%d OR LOWER(f.url) LIKE $%d OR
LOWER(f.title) LIKE $%d OR LOWER(f.title) LIKE $%d OR
LOWER(f.description) LIKE $%d OR LOWER(f.description) LIKE $%d OR
(LOWER(d.host) = $%d AND LOWER(d.tld) = $%d) (LOWER(d.host) = $%d AND d.tld::text = $%d)
)`, argNum, argNum, argNum, argNum, argNum+1, argNum+2) )`, argNum, argNum, argNum, argNum, argNum+1, argNum+2)
args = append(args, searchPattern, strings.ToLower(searchQuery.DomainHost), strings.ToLower(searchQuery.DomainTLD)) args = append(args, searchPattern, strings.ToLower(searchQuery.DomainHost), strings.ToLower(searchQuery.DomainTLD))
argNum += 3 argNum += 3
@@ -1634,7 +1634,7 @@ func (c *Crawler) handleAPISearchStats(w http.ResponseWriter, r *http.Request) {
if sq.DomainHost != "" && sq.DomainTLD != "" { if sq.DomainHost != "" && sq.DomainTLD != "" {
domainWhere = `( domainWhere = `(
LOWER(host) LIKE $1 OR LOWER(host) LIKE $1 OR
(LOWER(host) = $2 AND LOWER(tld) = $3) OR (LOWER(host) = $2 AND tld::text = $3) OR
EXISTS (SELECT 1 FROM feeds f WHERE f.source_host = (host || '.' || tld) AND ( EXISTS (SELECT 1 FROM feeds f WHERE f.source_host = (host || '.' || tld) AND (
LOWER(f.url) LIKE $1 OR LOWER(f.title) LIKE $1 OR LOWER(f.description) LIKE $1 LOWER(f.url) LIKE $1 OR LOWER(f.title) LIKE $1 OR LOWER(f.description) LIKE $1
)) ))