diff --git a/conn.go b/conn.go index 073694fa..d86c4025 100644 --- a/conn.go +++ b/conn.go @@ -396,11 +396,13 @@ where ( t.typtype in('b', 'p', 'r', 'e') and (base_type.oid is null or base_type.typtype in('b', 'p', 'r')) )`) + isCrateDB := false if err != nil { // Check if CrateDB specific approach might still allow us to connect. if rows, err = c.crateDBTypesQuery(err); err != nil { return err } + isCrateDB = true } for rows.Next() { @@ -420,6 +422,11 @@ where ( c.ConnInfo = pgtype.NewConnInfo() c.ConnInfo.InitializeDataTypes(nameOIDs) + if isCrateDB { + // CrateDB does not support enums (initConnInfoEnumArray), so we return + // early here. + return nil + } return c.initConnInfoEnumArray() }