Обсуждение: [Redirect] Simple CREATE TABLE in DBI::Pg?
[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
[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
>>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
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
>>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