Changes in v3:

* RESET PLANS wont check for ACL_CREATE_TEMP anymore.
* Add prepare.h and portal.h to guc.c.

On 4/7/07, Neil Conway <[EMAIL PROTECTED]> wrote:
> * RESET SESSION does not ABORT anymore, instead fails if in transaction.

I think it's quite bizarre to have RESET SESSION fail if used in a
transaction, but to allow an equivalent sequence of commands to be
executed by hand inside a transaction.

I think implicit ABORT would annoy various tools that
partially parse user sql and expect to know what transaction
state currently is.  For them a new tranaction control statement
would be nuisance.

guc.c is missing some #includes.

For some reason gcc4.0 did not show any warnings by default.

> * DEALLOCATE PREPARE ALL gives bison conflicts.  Is that even needed?

Seems best to have it, for the sake of consistency. The shift/reduce
conflict is easy to workaround, provided you're content to duplicate the
body of the DEALLOCATE ALL rule -- e.g. see the attached incremental

Thanks, included.

> * Are the CommandComplete changes needed?

Seems warranted to me. BTW, why is CLOSE's command tag "CLOSE CURSOR",
not "CLOSE"? That seems needlessly verbose, and inconsistent with other
commands (e.g. DEALLOCATE).

Because the regular tag is "CLOSE CURSOR".  I did not
want to break any expectations.  But yes, the inconsistency
is weird.

> * ResetPlanCache() is implemented as PlanCacheCallback((Datum)0,
> InvalidOid); That seems to leave plans for utility commands untouched.
> Is it problem?

Yes, I'd think you'd also want to cleanup plans for utility commands.

Tom thought otherwise, so I kept the old way.


Attachment: reset_session_v3.diff
Description: Binary data

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?


Reply via email to