[Info-ingres] Behaviour change on schema.table_name

Martin Bowes martin.bowes at ndph.ox.ac.uk
Tue Aug 27 09:47:33 UTC 2019


Hi All,

I've just realised we've had a behaviour change on the syntax rules on specifying tables to a query.

The manual (now) says:
To select data from a table you own, specify the name. To select data from a table you do not own,
specify schema.table, where schema is the name of the user that owns the table. However, if the
table is owned by the database DBA, the schema qualifier is not required.

And that is definitely how 11.1 work.

But in 10.1 and 10.2 I know for a fact that if the session was established with a specific (not default) groupname then the user could also drop the schema qualifier from a non dba owned table as well.

Eg. In database ddd owned by user downer, a user u1 has a table t1 on which they have granted group g1 select access.

Another user (u2) connects to the database specifying the -Gg1 connection attribute.

They select * from t1;

In 10.1 and 10.2 the user would get data from u1.t1

In 11.1 the query fails with E_US0845 Table 't1' does not exist or is not owned by you.

The trouble is that it appears we've built an app which relied upon the old behaviour.

I don't think this is a bug. Even though in our case there is no possibility of confusion on the many possible schema.t1s as each has a unique group associated with it, nonetheless I think it was a poor initial choice and we should code our way out of it.

What are peoples thoughts?

Martin Bowes




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.planetingres.org/pipermail/info-ingres/attachments/20190827/224fb7de/attachment.html>


More information about the Info-ingres mailing list