2 Replies Latest reply on Jan 5, 2018 9:21 AM by Divyesh Vallabh

    Support for column typreceive in pg_type

    Divyesh Vallabh Newbie

      I've recently been evaluating Teiid to be used as common data gateway for multiple datasources for BI tools like tableau and powerbi. I was able to get connection to work with a ODBC File DSN for Powerbi, but having a hard time getting the DSN less connection or the ProgresSQL Driver to work. Came across NPGSql library for DotNet projects, but when it establishes a connection with Teiid (session is successfully created in teiid), it immediately issues the following sql command



      SELECT ns.nspname, a.typname, a.oid, a.typrelid, a.typbasetype,

      CASE WHEN pg_proc.proname = 'array_recv' THEN 'a'

      ELSE a.typtype

      END AS type,

      CASE WHEN pg_proc.proname = 'array_recv' THEN a.typelem

      ELSE 0

      END AS elemoid,

      CASE WHEN pg_proc.proname IN ('array_recv', 'oidvectorrecv') THEN 3

      WHEN a.typtype = 'r' THEN 2

      WHEN a.typtype = 'd' THEN 1

      ELSE 0

      END AS ord

      FROM ((pg_type AS a INNER JOIN pg_namespace AS ns ON ns.oid = a.typnamespace) INNER JOIN pg_proc ON pg_proc.oid = a.typreceive)

      LEFT OUTER JOIN pg_type AS b ON b.oid = a.typelem

      WHERE ((a.typtype IN ('b', 'r', 'e', 'd')) AND ((b.typtype IS NULL) OR (b.typtype IN ('b', 'r', 'e', 'd')))) OR ((a.typname IN ('record', 'void')) AND (a.typtype = 'p')) ORDER BY ord



      The connection ends up terminating because the column "typreceive" is not currently supported in Teiid. Would it be possible to add support for  missing columns from the pg_type table (https://www.postgresql.org/docs/9.2/static/catalog-pg-type.html)



      I understand the issue is with the provider sending this command, but would great is these columns would be supported



      Work around is to use the ODBC drive from ProgresSQL and create a file DSN.