forked from pool/perl-SQL-Abstract
Accepting request 177566 from home:coolo:update-perl
- updated to 1.73 - Fix parsing of ORDER BY foo + ? - Stop filling in placeholders in `format-sql` since it does not support passing values for them anyway - Fix parsing of NOT EXISTS - Fix over-eager parenthesis unrolling - Fix deep recursion warnings while parsing obnoxiously long sql statements - Fix incorrect comparison of malformed lists - Fix incorrect reporting of mismatch-members in SQLA::Test - Migrate the -ident operator from DBIC into SQLA - Migrate the -value operator from DBIC into SQLA OBS-URL: https://build.opensuse.org/request/show/177566 OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-SQL-Abstract?expand=0&rev=8
This commit is contained in:
committed by
Git OBS Bridge
parent
ea5c93ca01
commit
4706e7316f
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package perl-SQL-Abstract
|
||||
#
|
||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -17,31 +17,41 @@
|
||||
|
||||
|
||||
Name: perl-SQL-Abstract
|
||||
Version: 1.72
|
||||
Version: 1.73
|
||||
Release: 0
|
||||
%define cpan_name SQL-Abstract
|
||||
Summary: Generate SQL from Perl data structures
|
||||
License: GPL-1.0+ or Artistic-1.0
|
||||
License: Artistic-1.0 or GPL-1.0+
|
||||
Group: Development/Libraries/Perl
|
||||
Url: http://search.cpan.org/dist/SQL-Abstract/
|
||||
Source: http://www.cpan.org/authors/id/F/FR/FREW/SQL-Abstract-%{version}.tar.gz
|
||||
Source: http://www.cpan.org/authors/id/F/FR/FREW/%{cpan_name}-%{version}.tar.gz
|
||||
BuildArch: noarch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: perl
|
||||
BuildRequires: perl-macros
|
||||
BuildRequires: perl(Class::Accessor::Grouped) >= 0.10002
|
||||
BuildRequires: perl(Getopt::Long::Descriptive) >= 0.086
|
||||
BuildRequires: perl(Class::Accessor::Grouped) >= 0.10005
|
||||
BuildRequires: perl(Getopt::Long::Descriptive) >= 0.091
|
||||
BuildRequires: perl(Hash::Merge) >= 0.12
|
||||
BuildRequires: perl(List::Util)
|
||||
BuildRequires: perl(Scalar::Util)
|
||||
BuildRequires: perl(Test::Deep) >= 0.106
|
||||
BuildRequires: perl(Test::Exception)
|
||||
BuildRequires: perl(Test::More) >= 0.92
|
||||
BuildRequires: perl(Test::Warn)
|
||||
Requires: perl(Class::Accessor::Grouped) >= 0.10002
|
||||
Requires: perl(Getopt::Long::Descriptive) >= 0.086
|
||||
#BuildRequires: perl(CPANPLUS::Backend)
|
||||
#BuildRequires: perl(DBIx::Class::Storage::Debug::PrettyPrint)
|
||||
#BuildRequires: perl(DBIx::Class::Storage::Statistics)
|
||||
#BuildRequires: perl(inc::Module::Install) >= 1.06
|
||||
#BuildRequires: perl(JSON)
|
||||
#BuildRequires: perl(LWP::Simple)
|
||||
#BuildRequires: perl(Module::AutoInstall)
|
||||
#BuildRequires: perl(Module::Build)
|
||||
#BuildRequires: perl(Module::Install::Base)
|
||||
#BuildRequires: perl(Parse::CPAN::Meta)
|
||||
#BuildRequires: perl(SQL::Abstract)
|
||||
#BuildRequires: perl(SQL::Abstract::Test)
|
||||
#BuildRequires: perl(SQL::Abstract::Tree)
|
||||
#BuildRequires: perl(YAML::Tiny)
|
||||
Requires: perl(Class::Accessor::Grouped) >= 0.10005
|
||||
Requires: perl(Getopt::Long::Descriptive) >= 0.091
|
||||
Requires: perl(Hash::Merge) >= 0.12
|
||||
Requires: perl(List::Util)
|
||||
Requires: perl(Scalar::Util)
|
||||
%{perl_requires}
|
||||
|
||||
%description
|
||||
@@ -59,8 +69,37 @@ 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);
|
||||
|
||||
%prep
|
||||
%setup -q -n %{cpan_name}-%{version}
|
||||
find . -type f -print0 | xargs -0 chmod 644
|
||||
|
||||
%build
|
||||
%{__perl} Makefile.PL INSTALLDIRS=vendor
|
||||
@@ -75,7 +114,7 @@ your data changes, as this module figures it out.
|
||||
%perl_gen_filelist
|
||||
|
||||
%files -f %{name}.files
|
||||
%defattr(644,root,root,755)
|
||||
%doc Changes
|
||||
%defattr(-,root,root,755)
|
||||
%doc Changes examples
|
||||
|
||||
%changelog
|
||||
|
Reference in New Issue
Block a user