| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: perl-SQL-Abstract | Distribution: openSUSE Tumbleweed |
| Version: 2.000001 | Vendor: openSUSE |
| Release: 1.12 | Build date: Sun Jan 24 04:08:49 2021 |
| Group: Unspecified | Build host: reproducible |
| Size: 358953 | Source RPM: perl-SQL-Abstract-2.000001-1.12.src.rpm |
| Packager: http://bugs.opensuse.org | |
| Url: https://metacpan.org/release/SQL-Abstract | |
| Summary: Generate SQL from Perl data structures | |
This module was inspired by the excellent DBIx::Abstract. However, in using
that module I found that what I really wanted to do was generate SQL, but
still retain complete control over my statement handles and use the DBI
interface. So, I set out to create an abstract SQL generation module.
While based on the concepts used by DBIx::Abstract, there are several
important differences, especially when it comes to WHERE clauses. I have
modified the concepts used to make the SQL easier to generate from Perl
data structures and, IMO, more intuitive. The underlying idea is for this
module to do what you mean, based on the data structures you provide it.
The big advantage is that you don't have to modify your code every time
your data changes, as this module figures it out.
To begin with, an SQL INSERT is as easy as just specifying a hash of
'key=value' pairs:
my %data = (
name => 'Jimbo Bobson',
phone => '123-456-7890',
address => '42 Sister Lane',
city => 'St. Louis',
state => 'Louisiana',
);
The SQL can then be generated with this:
my($stmt, @bind) = $sql->insert('people', \%data);
Which would give you something like this:
$stmt = "INSERT INTO people
(address, city, name, phone, state)
VALUES (?, ?, ?, ?, ?)";
@bind = ('42 Sister Lane', 'St. Louis', 'Jimbo Bobson',
'123-456-7890', 'Louisiana');
These are then used directly in your DBI code:
my $sth = $dbh->prepare($stmt);
$sth->execute(@bind);
Artistic-1.0 OR GPL-1.0-or-later
* Sun Jan 24 2021 Tina Müller <timueller+perl@suse.de>
- updated to 2.000001
see /usr/share/doc/packages/perl-SQL-Abstract/Changes
2.000001 - 2021-01-23
- Remove Module::Runtime requirement
2.000000 - 2021-01-21
- Collapse custom join conditions back to something DBIC might understand
1.90_03 - 2019-10-13
- Add proof of concept DBIx::Class::SQLMaker::Role::SQLA2Passthrough
- _where_field_IN/BETWEEN are documented as subclassable; feature restored
1.90_02 - 2019-10-12
- fix DBIC ident op expander compat wrapper to handle call as unop
1.90_01 - 2019-10-09
- Complete overhaul of the internals, see the SQL::Abstract::Reference
docs to understand the new implementation's affordances.
* Tue Jun 02 2020 Tina Müller <timueller+perl@suse.de>
- updated to 1.87
see /usr/share/doc/packages/perl-SQL-Abstract/Changes
1.87 - 2020-06-02
- Add runtime dependency on Test::Deep and Test::Builder::Module for
SQL::Abstract::Test (RT#131623)
* Tue Jul 10 2018 coolo@suse.com
- updated to 1.86
see /usr/share/doc/packages/perl-SQL-Abstract/Changes
1.86 - 2018-07-09
- Remove obsolete documentation about arrayrefref as the $source
argument for ->select (removed in version 1.74)
- Factor out the field list part of SELECT for subclassability (GH#13)
- Do not replace literal '0' with empty string in WHERE clauses (GH#14)
* Wed Jan 31 2018 coolo@suse.com
- updated to 1.85
see /usr/share/doc/packages/perl-SQL-Abstract/Changes
1.85 - 2018-01-27
- Restore perl version requirement missed in the Distar port
- Factor out the SET ... part of UPDATE for subclassability (GH#12)
* Tue Apr 04 2017 coolo@suse.com
- updated to 1.84
see /usr/share/doc/packages/perl-SQL-Abstract/Changes
1.84 - 2017-04-03
- Restore 'dynamic_config => 0' missed in the Distar port
1.83 - 2017-04-03
- Support for DELETE ... RETURNING (GH#9)
- Port to Distar
* Tue Mar 21 2017 coolo@suse.com
- updated to 1.82
see /usr/share/doc/packages/perl-SQL-Abstract/Changes
revision 1.82 2017-03-20
- ------------------------
- Add explicit dependency on Sub::Quote (GH#8)
- Fix syntax errors in ORDER BY docs (GH#7)
revision 1.81_01 2017-02-28
- ---------------------------
- Fix order clauses with bind parameters in ->where
- Fix ->insert($table, \@values) with >26 values (RT#112684)
- Teach ::Tree that ILIKE (PostgreSQL) and REGEXP (MySQL) are binary ops
- Support for UPDATE ... RETURNING
- Documentation improvements for ORDER BY
* Wed Nov 12 2014 coolo@suse.com
- updated to 1.81
- Fix overly-enthusiastic parenthesis unroller (RT#99503)
revision 1.80 2014-10-05
- ---------------------------
- Fix erroneous behavior of is_literal_value($) wrt { -ident => ... }
- Explicitly croak on top-level special ops (they didn't work anyway)
revision 1.79 2014-09-25
- ---------------------------
- New exportable functions: is_literal_value($) and is_plain_value($)
- New attribute 'escape_char' allowing for proper escape of quote_chars
present in an identifier
- Deprecate { "" => \... } constructs
- Treat { -value => undef } as plain undef in all cases
- Explicitly throw on { -ident => undef }
* Mon Sep 15 2014 coolo@suse.com
- updated to 1.78
- Fix parsing of binary ops to correctly take up only a single LHS
element, instead of gobbling up the entire parse-to-date
- Explicitly handle ROW_NUMBER() OVER as the snowflake-operator it is
- Improve signatures/documentation of is_same_sql_bind / eq_sql_bind
- Retire script/format-sql - the utility needs more work to be truly
end-user convenient
* Mon Feb 24 2014 coolo@suse.com
- updated to 1.77
- Reintroduce { -not => undef } column operator (regression from 1.75)
- *UPCOMING INCOMPATIBLE BUGFIX*: SQLA used to generate incorrect SQL
on undef-containing lists fed to -in and -not_in. An exception will
be raised for a while before properly fixing this, to avoid quiet
but subtle changes to query results in production
- Deprecate and warn when supplying an empty arrayref to like/not_like
operators (likely to be removed before 2.0)
- Warn when using an inequality operator with a multi-value array to
arrive at what amounts to a 1=1 condition (no pre-2.0 plans to fix
this behavior due to backwards comp concerns)
- Fix false negative comparison of ORDER BY <function> ASC
- More improvements of incorrect parsing (placeholder at end of list
element)
- Fix typos in POD and comments (RT#87776)
- Augment -not_bool example with nesting (RT#89601)
* Sat Jul 27 2013 coolo@suse.com
- updated to 1.74
- Fix insufficient parenthesis unroll during operator comparison
- 'ORDER BY foo' and 'ORDER BY foo ASC' are now considered equal
by default (with a switch to reenable old behavior when necessary)
- Change parser to not eagerly slurp RHS expressions it doesn't recognize
/usr/lib/perl5/vendor_perl/5.42.0/DBIx /usr/lib/perl5/vendor_perl/5.42.0/DBIx/Class /usr/lib/perl5/vendor_perl/5.42.0/DBIx/Class/SQLMaker /usr/lib/perl5/vendor_perl/5.42.0/DBIx/Class/SQLMaker/Role /usr/lib/perl5/vendor_perl/5.42.0/DBIx/Class/SQLMaker/Role/SQLA2Passthrough.pm /usr/lib/perl5/vendor_perl/5.42.0/DBIx/Class/Storage /usr/lib/perl5/vendor_perl/5.42.0/DBIx/Class/Storage/Debug /usr/lib/perl5/vendor_perl/5.42.0/DBIx/Class/Storage/Debug/PrettyPrint.pm /usr/lib/perl5/vendor_perl/5.42.0/SQL /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract.pm /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract/Formatter.pm /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract/Parts.pm /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract/Plugin /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract/Plugin/BangOverrides.pm /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract/Plugin/ExtraClauses.pm /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract/Reference.pm /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract/Role /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract/Role/Plugin.pm /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract/Test.pm /usr/lib/perl5/vendor_perl/5.42.0/SQL/Abstract/Tree.pm /usr/share/doc/packages/perl-SQL-Abstract /usr/share/doc/packages/perl-SQL-Abstract/Changes /usr/share/doc/packages/perl-SQL-Abstract/README /usr/share/doc/packages/perl-SQL-Abstract/examples /usr/share/doc/packages/perl-SQL-Abstract/examples/bangdbic.pl /usr/share/doc/packages/perl-SQL-Abstract/examples/console.pl /usr/share/doc/packages/perl-SQL-Abstract/examples/dbic-console.pl /usr/share/doc/packages/perl-SQL-Abstract/examples/sqla-format /usr/share/doc/packages/perl-SQL-Abstract/examples/sqla2passthrough.pl /usr/share/licenses/perl-SQL-Abstract /usr/share/licenses/perl-SQL-Abstract/LICENSE /usr/share/man/man3/DBIx::Class::SQLMaker::Role::SQLA2Passthrough.3pm.gz /usr/share/man/man3/DBIx::Class::Storage::Debug::PrettyPrint.3pm.gz /usr/share/man/man3/SQL::Abstract.3pm.gz /usr/share/man/man3/SQL::Abstract::Plugin::BangOverrides.3pm.gz /usr/share/man/man3/SQL::Abstract::Plugin::ExtraClauses.3pm.gz /usr/share/man/man3/SQL::Abstract::Reference.3pm.gz /usr/share/man/man3/SQL::Abstract::Role::Plugin.3pm.gz /usr/share/man/man3/SQL::Abstract::Test.3pm.gz /usr/share/man/man3/SQL::Abstract::Tree.3pm.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Thu Oct 23 22:37:43 2025