I have a group of ldap users coming in through extuser to a particular role. When they attempt submit any sql that contains a subquery like:
SELECT f1, f2 FROM (SELECT f1, f2 FROM foo.bar) sub;
They receive the error:
5931: Illegal Operation on EXTUSER
Users in other roles, but with similar permissions don't have this problem. It doesn't appear to be specific to any database, and it's only extusers in this role submitting sql containing a subquery (I didn't try subqueries in the SELECT or WHERE portion of the statement, only the FROM, but I can have them give it a shot if it helps troubleshoot).
We are running 15.0.
This message seems to indicate that there is an unqualified object name in the SQL and a default database has not been set, i.e. session default database is (still) EXTUSER.
I never follows up on this reply from the beginning of the year and just found the post again. I wanted to say that your suspicion of no default database being set was dead on. It wasn't that it was an LDAP user, but that the person's ODBC connection didn't specify a default database.