Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Comoderator of RU.CGI.PERL           2:5020/371.32  22 Dec 2000  15:24:43
 To : Yu
 Subject : Moderatorial [+] (Re: MySQL)
 -------------------------------------------------------------------------------- 
 
 В твоём письме от Thu, 21 Dec 2000 21:10:06 +0300 написано:
 
 yfku> Serge Rodovnichenko <Serge.Rodovnichenko@f696.n5020.z2.fidonet.org> wrote:
 yfku> 
 SR>> Hello Serg!
 yfku> 
 SR>> Wednesday December 13 2000 08:12, Serg Wereskov wrote to All:
 yfku> 
 >>>> php. Потому что на нем сложно сваять достаточно нетривиальный проект,
 >>>> в котором ты упрешься в то, что mySQL это  не настоящая база данных.
 yfku> 
 SW>>> В каком смысле ненастоящая? И что лучше ?
 yfku> 
 SR>> MySQL не умеет триггеров, stored procedures. Транзакции только-только в
 SR>> последней версии научился (3.23.??). Зато быстрый и неприхотливый в смысле
 SR>> железа.
 yfku> 
 yfku> Задачка: угадать результат исполнения на 3.23.latest такого  кода,
 yfku> например: use DBI; my $dbh ; my $in_tx = 0; eval {  $dbh =
 yfku> DBI->connect('dbi:mysql:database=test;hostname=127.0.0.1;port=3306')    or
 yfku> die "Can't connect: ".$DBI::errstr; 
 $dbh->>do('SET AUTOCOMMIT=0');# <<< mysql specific
 yfku> 
 $dbh->>do('BEGIN WORK') or die "can't start TX: ".$DBI::errstr;
 yfku>   $in_tx = 1;
 $dbh->>do(q{ CREATE TABLE myTable ( id integer, str char(20) ) })
 yfku>  or die "Can't create table: ".$DBI::errstr;
 $dbh->>do('ROLLBACK')
 yfku>  or die "Can't rollback: ".$DBI::errstr;
 yfku>   $in_tx = 0;
 $dbh->>do('SET AUTOCOMMIT=1'); # <<< mysql specific
 $dbh->>do('INSERT INTO myTable (id,str) VALUES (1,"one")')
 yfku>  or die "Can't insert: ".$DBI::errstr;
 yfku>   
 yfku>   print "Oops. Insert completed :-]\n";
 yfku>   };
 yfku> if ($@) {
 yfku>   print STDERR $@;
 $dbh->>do('ROLLBACK') if $in_tx;
 yfku>   }
 $dbh->>disconnect if defined $dbh;
 yfku> exit 0;
 yfku> 
 yfku> p.s. DBD::mysql не "кушает" $dbh->commit и $dbh->rollback
 yfku> p.p.s. Hа DBD::Informix  результат выполнения малость подправленного
 yfku> кода будет таким:
 yfku>   DBD::Informix::db do failed: SQL: -206: The specified table (mytable) 
 yfku>   is not in the database.
 yfku> 
 yfku> 
 
 Оффтопик.
 --- slrn/0.9.6.3-as (Linux)
  * Origin: AKA с подствольным плюсомётом (2:5020/371.32)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Moderatorial [+] (Re: MySQL)   Comoderator of RU.CGI.PERL   22 Dec 2000 15:24:43 
Архивное /ru.cgi.perl/7355081b88b5c.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional