Le 14/10/2021 à 19:44, Tom Lane a écrit :
As for the proposal itself, I'm kind of allergic to the terminology you've suggested, because the column is in no way hidden. It's still visible in the catalogs, you can still select it explicitly, etc. Anybody who thinks this is useful from a security standpoint is mistaken, but these words suggest that it is. Perhaps some terminology like "not expanded" or "unexpanded" would serve better to indicate that "SELECT *" doesn't expand to include the column. Or STAR versus NO STAR, maybe.
Agree, I also had this feeling. I decide to use HIDDEN like in DB2 just because UNEXPANDED looks to me difficult to understand by users and that hidden or Invisible column are well known. This is a kind of "vendor standard" now. But I agree that it can confuse uninformed people and doesn't reflect the real feature. I will rename the keyword as "UNEXPANDED", will do.
I also do not care for the syntax you propose: AFAICS the only reason you've gotten away with making HIDDEN not fully reserved is that you require it to be the last attribute of a column, which is something that will trip users up all the time. Plus, it does not scale to the next thing we might want to add. So if you can't make it a regular, position-independent element of the ColQualList you shouldn't do it at all.
Yes I have also noted that and wanted to improve this later if the proposal was accepted.
What I think is actually important is the ALTER COLUMN syntax. We could easily get away with having that be the only syntax for this --- compare the precedent of ALTER COLUMN SET STATISTICS.
Ok great, I'm fine with that, especially for the previous point :-) I will remove it from the CREATE TABLE syntax except in the INCLUDING like option.
BTW, you do NOT get to add an information_schema column for this. The information_schema is defined in the SQL standard. Yes, I'm aware that mysql feels free to "extend" the standard in that area; but our policy is that the only point of having the information_schema views at all is if they're standard-compliant.
Ok, I will remove it. -- Gilles Darold