Acme-BeyondPerl-ToSQL

 view release on metacpan or  search on metacpan

lib/Acme/BeyondPerl/ToSQL.pm  view on Meta::CPAN


	_connect($dsn, $user, $pass, $opt) unless($Dbh);

	_overload();

	overload::constant (
		integer => \&_integer_handler,
		float   => \&_float_handler,
	);

	if(defined $hash{debug}){ $DEBUG = $hash{debug}; }

}


my $OPs = {
	'+'    => sub { shift->add(@_) },
	'-'    => sub { shift->sub(@_) },
	'*'    => sub { shift->mul(@_) },
	'/'    => sub { shift->div(@_) },
	'%'    => sub { shift->mod(@_) },

lib/Acme/BeyondPerl/ToSQL.pm  view on Meta::CPAN

 
 my $value = 5;
 
 print 2 + $value , "\n"; # 7
 print 1.2 - 0.2  , "\n"; # 1
 print 9 / 2      , "\n"; # 4.5
 
 
 # DEBUG MODE
 # use Acme::BeyondPerl::ToSQL ({
 #     dbi => ["dbi:SQLite:dbname=acme_db","",""], debug => 1,
 # });
 #
 # SELECT 1.2000000000000000 - 0.2000000000000000
 # SELECT 9.0 / 2.0
 # SELECT 2.0 + 5.0

 # use Acme::BeyondPerl::ToSQL ({
 #     dbi => ["dbi:Pg:dbname=$dbname;host=$host", $user, $pass], debug => 1,
 # });
 #
 # SELECT CAST(1.2 AS double precision) - CAST(0.2 AS double precision)
 # SELECT CAST(9 AS double precision) / CAST(2 AS double precision)
 # SELECT CAST(2 AS double precision) + CAST(5 AS double precision)

=head1 DESCRIPTION

When you use C<Acme::BeyondPerl::ToSQL>, your RDBMS will calculate
instead of Perl!

lib/Acme/BeyondPerl/ToSQL.pm  view on Meta::CPAN


=item Acme::BeyondPerl::ToSQL ($dsn, $user, $pass, $opts)

To use DBI, you must pass some arguments.

 use Acme::BeyondPerl::ToSQL ("dbi:SQLite:dbname=acme_db","","");

 use Acme::BeyondPerl::ToSQL
           ("dbi:Pg:dbname=$dbname;host=$host", $user, $pass, \%opts);

=item Acme::BeyondPerl::ToSQL ({dbi => $arrayref, debug => $true_or_false})

 use Acme::BeyondPerl::ToSQL ({
     dbi   => ["dbi:SQLite:dbname=acme_db","",""],
     debug => 1,
 });


=back

=head1 EXPORT

None.

=head1 BUGS

lib/Acme/BeyondPerl/ToSQL/Pg.pm  view on Meta::CPAN

   $user   = 'foo';
   $pass   = 'bar';
 }

 use Acme::BeyondPerl::ToSQL ("dbi:Pg:dbname=$dbname;host=$host", $user, $pass);
 
 # or 
 
 use Acme::BeyondPerl::ToSQL ({
     dbi => ["dbi:Pg:dbname=$dbname;host=$host", $user, $pass],
     debug => 1
 });

=head1 DESCRIPTION

This module implements a PostgreSQL version for Acme::BeyondPerl::ToSQL.
You don't need to use this module directly.

=head1 SEE ALSO

L<Acme::BeyondPerl::ToSQL>, 

lib/Acme/BeyondPerl/ToSQL/SQLite.pm  view on Meta::CPAN


Acme::BeyondPerl::ToSQL::SQLite - SQLite support for Acme::BeyondPerl::ToSQL

=head1 SYNOPSIS

 use Acme::BeyondPerl::ToSQL ("dbi:SQLite:dbname=acme_db","","");
 
 # or 
 
 use Acme::BeyondPerl::ToSQL ({
      dbi => ["dbi:SQLite:dbname=acme_db","",""], debug => 1,
 });

=head1 DESCRIPTION

This module implements a SQLite version for Acme::BeyondPerl::ToSQL.
You don't need to use this module directly.

=head1 SEE ALSO

L<Acme::BeyondPerl::ToSQL>, 

lib/Acme/BeyondPerl/ToSQL/mysql.pm  view on Meta::CPAN

   $user   = 'foo';
   $pass   = 'bar';
 }

 use Acme::BeyondPerl::ToSQL ("dbi:mysql:dbname=$dbname;host=$host", $user, $pass);
 
 # or 
 
 use Acme::BeyondPerl::ToSQL ({
     dbi => ["dbi:mysql:dbname=$dbname;host=$host", $user, $pass],
     debug => 1
 });

=head1 DESCRIPTION

This module implements a MySQL version for Acme::BeyondPerl::ToSQL.
You don't need to use this module directly.

=head1 SEE ALSO

L<Acme::BeyondPerl::ToSQL>, 

t/01-base.t  view on Meta::CPAN


use Test::More tests => 32;
use DBI;
use strict;

use Acme::BeyondPerl::ToSQL({
	dbi => ["dbi:SQLite:dbname=acme_db","",""],
	debug => 0,
});

my $value = 10;

isa_ok($value, 'Acme::BeyondPerl::ToSQL');
ok(defined $value);
is($value, 10);

$value = $value * 2;



( run in 1.169 second using v1.01-cache-2.11-cpan-49f99fa48dc )