We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 8eb3c31 commit 8d54079Copy full SHA for 8d54079
1 file changed
fingerprint.go
@@ -3,12 +3,13 @@ package qshape
3
import pg_query "github.com/pganalyze/pg_query_go/v6"
4
5
func Fingerprint(sql string) (string, error) {
6
- // Normalize first so ORM variants share a fingerprint
7
- canonical, err := Normalize(sql)
8
- if err != nil {
9
- return "", err
+ // Normalize first so ORM variants share a fingerprint; fall back to raw
+ // SQL when normalization hits a deparse gap so we still return a fingerprint
+ target := sql
+ if canonical, err := Normalize(sql); err == nil {
10
+ target = canonical
11
}
- fp, err := pg_query.Fingerprint(canonical)
12
+ fp, err := pg_query.Fingerprint(target)
13
if err != nil {
14
return "", err
15
0 commit comments