diff options
| author | fukachan <fukachan> | 2001-03-15 15:24:23 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2001-03-15 15:24:23 +0000 |
| commit | 2ffa0e8cb666b1826df83483c5259010db6358d9 (patch) | |
| tree | 7a66029d512756af9325ccb4923c286d27a3522e /fml/lib/IO | |
| parent | e68a1cdf02dccfbb04e991a6507bd0bb82025610 (diff) | |
| download | fml8-2ffa0e8cb666b1826df83483c5259010db6358d9.tar.gz fml8-2ffa0e8cb666b1826df83483c5259010db6358d9.tar.bz2 fml8-2ffa0e8cb666b1826df83483c5259010db6358d9.zip | |
implemente primitive getline() call to MySQL and the cheker of it.
fix the name to toymode.pm not .pl
TODO is things not yet imported from fml 4.0.
Diffstat (limited to 'fml/lib/IO')
| -rw-r--r-- | fml/lib/IO/Adapter/MySQL/TODO (renamed from fml/lib/IO/Adapter/MySQL/toymodel.pl) | 114 | ||||
| -rw-r--r-- | fml/lib/IO/Adapter/MySQL/toymodel.pm | 140 |
2 files changed, 140 insertions, 114 deletions
diff --git a/fml/lib/IO/Adapter/MySQL/toymodel.pl b/fml/lib/IO/Adapter/MySQL/TODO index 78a58b2e..1fc250aa 100644 --- a/fml/lib/IO/Adapter/MySQL/toymodel.pl +++ b/fml/lib/IO/Adapter/MySQL/TODO @@ -1,114 +1,3 @@ -#-*- perl -*- -# -# Copyright (C) 2000 Ken'ichi Fukamachi -# All rights reserved. -# -# $Id$ -# - - -package IO::Adapter::MySQL::toymodel; - - -use strict; -use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD); -use Carp; - -=head1 NAME - -IO::Adapter::MySQL::toymodel - toymodel with SQL - -=head1 SYNOPSIS - -=head1 DESCRIPTION - -=head1 METHODS - -=head2 C<open($args)> - -=head2 C<close($args)> - -=cut - - -# Descriptions: -# Arguments: $self $args -# Side Effects: -# Return Value: none -sub open -{ - my ($self, $args) = @_; - - use DBI; - use DBD::mysql; - - my $driver = 'mysql'; - my $database = $args->{ database_name } || 'fml'; - my $host = $args->{ sql_server } || 'localhost'; - my $dsn = "DBI:$driver:$database:$host"; - my $user = $args->{ sql_user } || 'fml' || ''; - my $password = $args->{ sql_user_password} || ''; - - my $dbh = DBI->connect($dsn, $user, $password); - unless (defined $dbh) { - $args->{'error'} = $DBI::errstr; - return undef; - } - - $self->{ _dbh } = $dbh; -} - - -# Descriptions: -# Arguments: $self $args -# Side Effects: -# Return Value: none -sub close -{ - my ($self, $args) = @_; - my $res = $self->{ _res }; - my $dbh = $self->{ _dbh }; - - $res->finish if defined $res; - $dbh->disconnect if defined $dbh; -} - - -=head2 C<execute($args) - -execute sql query. - - $args->{ - query => sql_query_statment, - }; - -=cut - -sub execute -{ - my ($self, $args) = @_; - my $dhb = $self->{ _dbh }; - - if (defined $dbh) { - my $res = $dbh->prepare($query); - $res->execute; - - unless (defined $res) { - $self->error_reason( $DBI::errstr ); - return undef; - } - else { - return $res; - } - } - else { - return undef; - } -} - - - - ##################################################################### @@ -473,6 +362,3 @@ sub Dump } print "--- end\n"; } - - -1; diff --git a/fml/lib/IO/Adapter/MySQL/toymodel.pm b/fml/lib/IO/Adapter/MySQL/toymodel.pm new file mode 100644 index 00000000..dbf4bfdf --- /dev/null +++ b/fml/lib/IO/Adapter/MySQL/toymodel.pm @@ -0,0 +1,140 @@ +#-*- perl -*- +# +# Copyright (C) 2000 Ken'ichi Fukamachi +# All rights reserved. +# +# $Id$ +# + + +package IO::Adapter::MySQL::toymodel; + + +use strict; +use vars qw(@ISA @EXPORT @EXPORT_OK $AUTOLOAD); +use Carp; + +=head1 NAME + +IO::Adapter::MySQL::toymodel - toymodel with SQL + +=head1 SYNOPSIS + +=head1 DESCRIPTION + +=head1 METHODS + +=cut + +sub new +{ + my ($self) = @_; + my ($type) = ref($self) || $self; + my $me = {}; + return bless $me, $type; +} + + +=head2 C<open($args)> + +=head2 C<close($args)> + +=cut + + +# Descriptions: +# Arguments: $self $args +# Side Effects: +# Return Value: none +sub open +{ + my ($self, $args) = @_; + + use DBI; + use DBD::mysql; + + my $driver = 'mysql'; + my $database = $args->{ database_name } || 'fml'; + my $host = $args->{ sql_server } || 'localhost'; + my $dsn = "DBI:$driver:$database:$host"; + my $user = $args->{ sql_user } || 'fml' || ''; + my $password = $args->{ sql_user_password} || ''; + + my $dbh = DBI->connect($dsn, $user, $password); + unless (defined $dbh) { + $args->{'error'} = $DBI::errstr; + return undef; + } + + $self->{ _dbh } = $dbh; +} + + +# Descriptions: +# Arguments: $self $args +# Side Effects: +# Return Value: none +sub close +{ + my ($self, $args) = @_; + my $res = $self->{ _res }; + my $dbh = $self->{ _dbh }; + + $res->finish if defined $res; + $dbh->disconnect if defined $dbh; +} + + +=head2 C<getline()> + +=cut + +sub getline +{ + my ($self, $args) = @_; + + unless ($self->{ _res }) { + $self->execute( { query => 'select address from ml' } ); + } + + my @row = $self->{ _res }->fetchrow_array; + $row[0]; +} + + +=head2 C<execute($args) + +execute sql query. + + $args->{ + query => sql_query_statment, + }; + +=cut + +sub execute +{ + my ($self, $args) = @_; + my $dbh = $self->{ _dbh }; + my $query = $args->{ query }; + + if (defined $dbh) { + my $res = $dbh->prepare($query); + $res->execute; + + unless (defined $res) { + $self->error_reason( $DBI::errstr ); + return undef; + } + else { + $self->{ _res } = $res; + return $res; + } + } + else { + return undef; + } +} + + +1; |
