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 of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.