Обсуждение: [Redirect] Simple CREATE TABLE in DBI::Pg?

Поиск
Список
Период
Сортировка

[Redirect] Simple CREATE TABLE in DBI::Pg?

От
Ken McGlothlen
Дата:
[I posted this to [GENERAL] on Sunday; scrappy@hub.org quite rightly pointed
out that it should go here.  Voila.]

Here's the program, in Perl; I've pared it down to the bare minimum:

    #!/usr/local/bin/perl

    use DBI;

    sub tbl_easy_init {
        local( $dbh ) = shift;
        local( $sth ) = $dbh->prepare( "create table tbl_easy (id int4)" );
        $sth->execute();
    }

    $dbh = DBI->connect( "dbi:Pg:dbname=booga", "", "",
                 { "PrintError" => 0, "AutoCommit" => 0 } );

    $rv = &tbl_easy_init( $dbh );

This program fails.  I've tried it with all global variables, tried a number of
different CREATE TABLE statements, and so on, and $rv always winds up being
equal to -1.  Yet, typing in the CREATE TABLE statement in psql works.

If the table is already created in psql, I can use all manner of select
statements in the above program skeleton, and it'll work.

So.  What am I doing wrong?

                            ---Ken

Take two: Simple CREATE TABLE in DBI::Pg?

От
Ken McGlothlen
Дата:
[This is the second time I've asked this on this list.  Is anyone else getting
my messages?  I would *really* like to get an answer here.]

Here's the program, in Perl; I've pared it down to the bare minimum:

    #!/usr/local/bin/perl

    use DBI;

    sub tbl_easy_init {
        local( $dbh ) = shift;
        local( $sth ) = $dbh->prepare( "create table tbl_easy (id int4)" );
        $sth->execute();
    }

    $dbh = DBI->connect( "dbi:Pg:dbname=booga", "", "",
                 { "PrintError" => 0, "AutoCommit" => 0 } );

    $rv = &tbl_easy_init( $dbh );

This program fails.  I've tried it with all global variables, tried a number of
different CREATE TABLE statements, and so on, and $rv always winds up being
equal to -1.  Yet, typing in the CREATE TABLE statement in psql works.

If the table is already created in psql, I can use all manner of select
statements in the above program skeleton, and it'll work.

So.  What am I doing wrong?

                            ---Ken


Re: [INTERFACES] Take two: Simple CREATE TABLE in DBI::Pg?

От
Felix Morley Finch
Дата:
>>In article <199806210737.AAA20815@ralf.serv.net>, Ken McGlothlen <mcglk@serv.net> writes:

> [This is the second time I've asked this on this list.  Is anyone
> else getting my messages?  I would *really* like to get an answer
> here.]

> Here's the program, in Perl; I've pared it down to the bare minimum:

>     #!/usr/local/bin/perl

>     use DBI;

>     sub tbl_easy_init {
>         local( $dbh ) = shift;
>         local( $sth ) = $dbh->prepare( "create table tbl_easy (id int4)" );
>         $sth->execute();
=====>        $dbh->commit;
>     }

>     $dbh = DBI->connect( "dbi:Pg:dbname=booga", "", "",
>                  { "PrintError" => 0, "AutoCommit" => 0 } );

>     $rv = &tbl_easy_init( $dbh );

> This program fails.  I've tried it with all global variables, tried
> a number of different CREATE TABLE statements, and so on, and $rv
> always winds up being equal to -1.  Yet, typing in the CREATE TABLE
> statement in psql works.

--
            ... _._. ._ ._. . _._. ._. ___ .__ ._. . .__. ._ .. ._.
     Felix Finch: scarecrow repairman & rocket surgeon / felix@crowfix.com
  PGP = 91 B3 94 7C E9 E8 76 2D   E1 63 51 AA A0 48 89 2F  ITAR license #4933
I've found a solution to Fermat's Last Theorem but I see I've run out of room o

Re: [INTERFACES] Take two: Simple CREATE TABLE in DBI::Pg?

От
Ken McGlothlen
Дата:
felix@crowfix.com (Felix Morley Finch) writes:
| >>Ken McGlothlen <mcglk@serv.net> writes:
|
| >         $sth->execute();
| =====>        $dbh->commit;

(* roll eyes, pound self on head *)  Thank you, Felix, for succinctly and
patiently pointing out my silliest mistake this month.  :)

(Woo-hoo!  I'm on my way!)

                            ---Ken

Re: [INTERFACES] Take two: Simple CREATE TABLE in DBI::Pg?

От
Felix Morley Finch
Дата:
>>In article <199806212317.QAA23037@ralf.serv.net>, Ken McGlothlen <mcglk@serv.net> writes:

> (* roll eyes, pound self on head *)  Thank you, Felix, for succinctly and
> patiently pointing out my silliest mistake this month.  :)

See, I figure if I were perfect, I wouldn't even have to subscribe to
any mailing list.  It's also easiest to recognize mistakes similar to
my own :-)

--
            ... _._. ._ ._. . _._. ._. ___ .__ ._. . .__. ._ .. ._.
     Felix Finch: scarecrow repairman & rocket surgeon / felix@crowfix.com
  PGP = 91 B3 94 7C E9 E8 76 2D   E1 63 51 AA A0 48 89 2F  ITAR license #4933
I've found a solution to Fermat's Last Theorem but I see I've run out of room o