diff --git a/sanitize.go b/sanitize.go index 2e808ba6..db280d64 100644 --- a/sanitize.go +++ b/sanitize.go @@ -76,6 +76,8 @@ func (c *Connection) SanitizeSql(sql string, args ...interface{}) (output string var s string s, err = int64SliceToArrayString(arg) return c.QuoteString(s) + case nil: + return "null" default: err = fmt.Errorf("Unable to sanitize type: %T", arg) return "" diff --git a/sanitize_test.go b/sanitize_test.go index 0c1055b5..ef02db99 100644 --- a/sanitize_test.go +++ b/sanitize_test.go @@ -19,6 +19,10 @@ func TestQuoteString(t *testing.T) { func TestSanitizeSql(t *testing.T) { conn := getSharedConnection(t) + if san, err := conn.SanitizeSql("select $1", nil); err != nil || san != "select null" { + t.Errorf("Failed to translate nil to null: %v - %v", san, err) + } + if san, err := conn.SanitizeSql("select $1", "Jack's"); err != nil || san != "select 'Jack''s'" { t.Errorf("Failed to sanitize string: %v - %v", san, err) }