We use PostgreSQL 8.3 twice: once to test push-down to the source and the other to test not-pushed-down queries. The following works fine with the push-down. It's not so good when we use simple-capabilities.
The query is:
SELECT IntKey, BooleanValue, DECODEINTEGER(BooleanValue, 'false,3,true,7') AS Decoded FROM BQT1.SmallA ORDER BY IntKey
What happens is:
$ ./RunQT jdbc:teiid:QT_PostgreSQL83@mm://localhost:31000 user user yes "SELECT IntKey, BooleanValue, DECODEINTEGER(BooleanValue, 'false,3,true,7') AS Decoded FROM BQT1.SmallA ORDER BY IntKey"
In the case of query testing, all subsequent queries fail due to a closed socket error.
Dev indicated "That's a bug with the rewriter. We are just converting the decode function into a searched case statement, but are leaving the then values as string - rather than converting them to integers. The pushdown works because the resulting string value is converted to an integer via the translator/driver logic."