Postgresql ODBC "The function 'pg_get_expr(d.adbin, d.adrelid)' is an unknown form"

Solution Verified - Updated -

Issue

  • Below WARN in logs when connecting via PostgreSQL ODBC driver:
14-09-29 20:08:06,504 WARN  [org.teiid.ODBC] (Worker343_QueryProcessorQueue110841:) Error occurred
org.teiid.jdbc.TeiidSQLException: Error Code:ERR.015.008.0039 Message:The function 'pg_get_expr(d.adbin, d.adrelid)' is an unknown form.  Check that the function name and number of arguments is correct.
    at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:113)
    at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:70)
    at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:644)
    at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:62)
    at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:547)
    at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:130)
    at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:37)
    at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:75)
    at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:772)
    at org.teiid.dqp.internal.process.RequestWorkItem.close(RequestWorkItem.java:475)
    at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:317)
    at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
    at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:218)
    at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:244)
    at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:122)
    at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:292)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: org.teiid.api.exception.query.QueryResolverException: Error Code:ERR.015.008.0039 Message:The function 'pg_get_expr(d.adbin, d.adrelid)' is an unknown form.  Check that the function name and number of arguments is correct.
    at org.teiid.query.resolver.util.ResolverVisitor.resolveFunction(ResolverVisitor.java:525)
    at org.teiid.query.resolver.util.ResolverVisitor.visit(ResolverVisitor.java:352)
    at org.teiid.query.sql.symbol.Function.acceptVisitor(Function.java:182)
    at org.teiid.query.sql.navigator.AbstractNavigator.visitVisitor(AbstractNavigator.java:52)
    at org.teiid.query.sql.navigator.PreOrPostOrderNavigator.postVisitVisitor(PreOrPostOrderNavigator.java:140)
    at org.teiid.query.resolver.command.SimpleQueryResolver$QueryResolverVisitor.postVisitVisitor(SimpleQueryResolver.java:218)
    at org.teiid.query.sql.navigator.PreOrPostOrderNavigator.visit(PreOrPostOrderNavigator.java:276)
    at org.teiid.query.sql.symbol.Function.acceptVisitor(Function.java:182)
    at org.teiid.query.sql.navigator.AbstractNavigator.visitNode(AbstractNavigator.java:61)
    at org.teiid.query.sql.navigator.PreOrPostOrderNavigator.visit(PreOrPostOrderNavigator.java:260)
    at org.teiid.query.sql.symbol.ExpressionSymbol.acceptVisitor(ExpressionSymbol.java:82)
    at org.teiid.query.sql.navigator.AbstractNavigator.visitNode(AbstractNavigator.java:61)
    at org.teiid.query.sql.navigator.AbstractNavigator.visitNodes(AbstractNavigator.java:72)
    at org.teiid.query.sql.navigator.PreOrPostOrderNavigator.visit(PreOrPostOrderNavigator.java:425)
    at org.teiid.query.sql.lang.Select.acceptVisitor(Select.java:168)
    at org.teiid.query.sql.navigator.AbstractNavigator.visitNode(AbstractNavigator.java:61)
    at org.teiid.query.resolver.command.SimpleQueryResolver$QueryResolverVisitor.visit(SimpleQueryResolver.java:236)
    at org.teiid.query.resolver.command.SimpleQueryResolver.resolveCommand(SimpleQueryResolver.java:103)
    at org.teiid.query.resolver.QueryResolver.resolveCommand(QueryResolver.java:294)
    at org.teiid.query.resolver.QueryResolver.resolveCommand(QueryResolver.java:147)
    at org.teiid.dqp.internal.process.Request.resolveCommand(Request.java:300)
    at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:400)
    at org.teiid.dqp.internal.process.Request.processRequest(Request.java:469)
    at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:522)
    at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:279)

Environment

  • Red Hat JBoss Data Services (EDS) 5.3.1
  • Red Hat JBoss Data Virtualization (DV) 6.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content