Re: DROP [TEMP] TABLE syntax, as reason why not?

From: Vincenzo Romano <vincenzo(dot)romano(at)notorand(dot)it>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: DROP [TEMP] TABLE syntax, as reason why not?
Date: 2017-08-24 09:46:50
Message-ID: CAHjZ2x4AZiMTaqdapb-sVTkazJNvtpV7QQa2OkEGQmcj7RFZ9Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

2017-08-24 11:04 GMT+02:00 Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>:
>
>
> 2017-08-24 9:11 GMT+02:00 Vincenzo Romano <vincenzo(dot)romano(at)notorand(dot)it>:
>>
>> 2017-08-24 3:08 GMT+02:00 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
>> > "David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
>> >> I'm wondering if there is anything technical preventing someone from
>> >> making:
>> >
>> >> DROP TEMP TABLE tablename;
>> >
>> > There is no great need for that because you can get the semantics you're
>> > asking for with "DROP TABLE pg_temp.tablename".
>> >
>> > regards, tom lane
>>
>> This sounds like another syntax inconsistency/asymmetry.
>>
>> ALTER TABLE pg_temp.tablename ... is OK.
>> ALTER TEMP TABLE tablename ... is NOT OK.
>>
>> CREATE TEMP TABLE tablename ... is OK.
>> CREATE TABLE pg_temp.tablename ... is OK.
>>
>> DROP TABLE pg_temp.tablename ... is OK.
>> DROP TEMP TABLE tablename ... is NOT OK.
>>
>> Unless the standard explicitly forbids it, why not supporting both
>> syntaxes in all commands using the TABLE predicate?
>> Those are semantically equivalent. Aren't they?
>
>
> It can be issue when somebody will do port from PostgreSQL to any other
> databases.

Postgres is already creating issues to people porting DBs away from it
as it sports a number of extensions.
So this does not sounds like a good argument.

> There should be stronger reason for introduction possible NON
> ANSI SQL feature than syntactic sugar.

Once you accept that Postgres is already extending the standard, I
would focus on syntax consistency and symmetry as a yet-another-extra
value from Postgres.

Moreover, "DROP TEMP TABLE..." would make it clear and explicit that
the table is temporary.
And it would thus "protect the programmer from typos and errors"
(intentional tongue-in-cheek).

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Juliano 2017-08-24 10:05:23 Cluster, repmgr, pgbouncer, pgpool, ha proxy, virtual IP, replication, failover and load balance
Previous Message Pavel Stehule 2017-08-24 09:04:22 Re: DROP [TEMP] TABLE syntax, as reason why not?