Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: validating SQL using DBI

by Errto (Vicar)
on Jun 29, 2009 at 13:48 UTC ( #775674=note: print w/replies, xml ) Need Help??

in reply to validating SQL using DBI

I don't know Postgres, but in databases I've used, DDL statements are indifferent to transactions and can't be rolled back. Not sure that will be an issue.

But in general, using transactions to validate SQL is not a bad idea. I have an application that does something similar.

If you're having data values interpreted as placeholders, it sounds like your SQL text may not actually be in a form that's valid for an individual statement. I don't know the COPY statement so I may be out of my league here.

Replies are listed 'Best First'.
Re^2: validating SQL using DBI
by erix (Parson) on Jun 29, 2009 at 14:44 UTC

    Yes, PostgreSQL does transactional DDL, see this page for an example. It is a handy feature but as you can see from that page, not widely implemented.

    It lets you try out changes (adding or dropping indexes, for instance) and evaluating their effects, before actually COMMITting them (or ROLLBACK, as the case may be). (Other sessions are not effected.)

    See also the -1 option of psql (the cli client):

            -1 ("one")      execute command file as a single transaction

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://775674]
[Corion]: shmem: Yeah. I guess they have a sequence number but distribute the events across threads or machines or whatever.
[karlgoethebier]: choroba: another chapter of "Learning English At The Monastry"?
[shmem]: Corion, well then... next issue, sequence number not a shared resource :P
[Discipulus]: shmem i'm searching it.. but failing i was sure was in Re: Let's Make PerlMonks Great Again! -- suggestions and dreams
erix recommends Vanished Kingdoms
[Corion]: shmem: Yeah, something like that. Not that that would be a solved issue. Simply process all events that come in from a single interface sequentially. Ah well.
[Discipulus]: their

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (11)
As of 2017-05-23 08:27 GMT
Find Nodes?
    Voting Booth?