Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-SQL-Abstract-Pg for
openSUSE:Factory checked in at 2026-11-06 19:43:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-SQL-Abstract-Pg (Old)
and /work/SRC/openSUSE:Factory/.perl-SQL-Abstract-Pg.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-SQL-Abstract-Pg"
Fri Nov 6 19:43:45 2026 rev:3 rq:1395142 version:1.10.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-SQL-Abstract-Pg/perl-SQL-Abstract-Pg.changes
2025-02-09 20:47:47.104815744 +0100
+++
/work/SRC/openSUSE:Factory/.perl-SQL-Abstract-Pg.new.3759290/perl-SQL-Abstract-Pg.changes
2026-11-06 19:49:25.136680334 +0100
@@ -1,0 +2,9 @@
+Sun Oct 25 09:53:36 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 1.10.0 (1.01)
+ see /usr/share/doc/packages/perl-SQL-Abstract-Pg/Changes
+
+ 1.01 2026-10-25
+ - Added support for bulk inserts. (array of hashes)
+
+-------------------------------------------------------------------
Old:
----
SQL-Abstract-Pg-1.0.tar.gz
New:
----
README.md
SQL-Abstract-Pg-1.01.tar.gz
_scmsync.obsinfo
build.specials.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-SQL-Abstract-Pg.spec ++++++
--- /var/tmp/diff_new_pack.cS8z2x/_old 2026-11-06 19:49:26.494737227 +0100
+++ /var/tmp/diff_new_pack.cS8z2x/_new 2026-11-06 19:49:26.502737563 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-SQL-Abstract-Pg
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,15 +18,16 @@
%define cpan_name SQL-Abstract-Pg
Name: perl-SQL-Abstract-Pg
-Version: 1.0.0
+Version: 1.10.0
Release: 0
-# 1.0 -> normalize -> 1.0.0
-%define cpan_version 1.0
+# 1.01 -> normalize -> 1.10.0
+%define cpan_version 1.01
License: Artistic-2.0
Summary: PostgreSQL features for SQL::Abstract
URL: https://metacpan.org/release/%{cpan_name}
Source0:
https://cpan.metacpan.org/authors/id/S/SR/SRI/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
+Source100: README.md
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
++++++ README.md ++++++
## Build Results
Current state of perl in openSUSE:Factory is

The current state of perl in the devel project build (devel:languages:perl)

++++++ SQL-Abstract-Pg-1.0.tar.gz -> SQL-Abstract-Pg-1.01.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/SQL-Abstract-Pg-1.0/Changes
new/SQL-Abstract-Pg-1.01/Changes
--- old/SQL-Abstract-Pg-1.0/Changes 2021-02-20 17:28:49.000000000 +0100
+++ new/SQL-Abstract-Pg-1.01/Changes 2026-10-25 01:59:31.000000000 +0200
@@ -1,3 +1,6 @@
+1.01 2026-10-25
+ - Added support for bulk inserts. (array of hashes)
+
1.0 2021-02-20
- First release.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/SQL-Abstract-Pg-1.0/META.json
new/SQL-Abstract-Pg-1.01/META.json
--- old/SQL-Abstract-Pg-1.0/META.json 2021-02-20 17:52:55.000000000 +0100
+++ new/SQL-Abstract-Pg-1.01/META.json 2026-10-25 02:00:01.000000000 +0200
@@ -4,7 +4,7 @@
"Sebastian Riedel <[email protected]>"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter
version 2.150010",
+ "generated_by" : "ExtUtils::MakeMaker version 7.76, CPAN::Meta::Converter
version 2.150010",
"license" : [
"artistic_2"
],
@@ -54,10 +54,10 @@
"web" : "https://github.com/mojolicious/sql-abstract-pg"
},
"x_IRC" : {
- "url" : "irc://chat.freenode.net/#mojo",
- "web" : "https://webchat.freenode.net/#mojo"
+ "url" : "irc://irc.libera.chat/#mojo",
+ "web" : "https://web.libera.chat/#mojo"
}
},
- "version" : "1.0",
- "x_serialization_backend" : "JSON::PP version 4.06"
+ "version" : "1.01",
+ "x_serialization_backend" : "JSON::PP version 4.16"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/SQL-Abstract-Pg-1.0/META.yml
new/SQL-Abstract-Pg-1.01/META.yml
--- old/SQL-Abstract-Pg-1.0/META.yml 2021-02-20 17:52:55.000000000 +0100
+++ new/SQL-Abstract-Pg-1.01/META.yml 2026-10-25 02:00:01.000000000 +0200
@@ -7,7 +7,7 @@
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter version
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.76, CPAN::Meta::Converter version
2.150010'
license: artistic_2
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -24,11 +24,11 @@
perl: '5.016'
resources:
IRC:
- url: irc://chat.freenode.net/#mojo
- web: https://webchat.freenode.net/#mojo
+ url: irc://irc.libera.chat/#mojo
+ web: https://web.libera.chat/#mojo
bugtracker: https://github.com/mojolicious/sql-abstract-pg/issues
homepage: https://mojolicious.org
license: http://www.opensource.org/licenses/artistic-license-2.0
repository: https://github.com/mojolicious/sql-abstract-pg.git
-version: '1.0'
-x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
+version: '1.01'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.020'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/SQL-Abstract-Pg-1.0/Makefile.PL
new/SQL-Abstract-Pg-1.01/Makefile.PL
--- old/SQL-Abstract-Pg-1.0/Makefile.PL 2021-02-20 17:41:35.000000000 +0100
+++ new/SQL-Abstract-Pg-1.01/Makefile.PL 2026-10-25 01:59:31.000000000
+0200
@@ -26,7 +26,7 @@
url => 'https://github.com/mojolicious/sql-abstract-pg.git',
web => 'https://github.com/mojolicious/sql-abstract-pg',
},
- x_IRC => {url => 'irc://chat.freenode.net/#mojo', web =>
'https://webchat.freenode.net/#mojo'}
+ x_IRC => {url => 'irc://irc.libera.chat/#mojo', web =>
'https://web.libera.chat/#mojo'}
},
},
PREREQ_PM => {'SQL::Abstract' => '2.0'},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/SQL-Abstract-Pg-1.0/README.md
new/SQL-Abstract-Pg-1.01/README.md
--- old/SQL-Abstract-Pg-1.0/README.md 2021-02-20 17:51:58.000000000 +0100
+++ new/SQL-Abstract-Pg-1.01/README.md 2021-10-29 21:05:30.000000000 +0200
@@ -20,5 +20,4 @@
## Want to know more?
- Take a look at our excellent
- [documentation](https://mojolicious.org/perldoc/SQL/Abstract/Pg)!
+ Take a look at our excellent
[documentation](https://mojolicious.org/perldoc/SQL/Abstract/Pg)!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/SQL-Abstract-Pg-1.0/lib/SQL/Abstract/Pg.pm
new/SQL-Abstract-Pg-1.01/lib/SQL/Abstract/Pg.pm
--- old/SQL-Abstract-Pg-1.0/lib/SQL/Abstract/Pg.pm 2021-02-20
17:35:43.000000000 +0100
+++ new/SQL-Abstract-Pg-1.01/lib/SQL/Abstract/Pg.pm 2026-10-25
01:59:31.000000000 +0200
@@ -6,7 +6,7 @@
use parent 'SQL::Abstract';
-our $VERSION = '1.0';
+our $VERSION = '1.01';
BEGIN { *puke = \&SQL::Abstract::puke }
@@ -28,6 +28,31 @@
return $self;
}
+sub _expand_insert_clause_from {
+ my ($self, undef, $data) = @_;
+
+ # Bulk insert (array of hashes)
+ return $self->SUPER::_expand_insert_clause_from(undef, $data)
+ unless ref $data eq 'ARRAY' && ref $data->[0] eq 'HASH' && grep { !/^-/ }
keys %{$data->[0]};
+ puke 'bulk insert values must all be hash references' if grep { ref $_ ne
'HASH' } @$data;
+
+ my %fields = map { $_ => 1 } map { keys %$_ } @$data;
+ my @fields = sort keys %fields;
+ my @rows;
+ for my $row (@$data) {
+ push @rows, {
+ -row => [
+ map {
+ local $SQL::Abstract::Cur_Col_Meta = $_;
+ exists $row->{$_} ? $self->_expand_insert_value($row->{$_}) :
{-keyword => 'default'}
+ } @fields
+ ]
+ };
+ }
+
+ return (from => {-values => \@rows}, fields => $self->expand_expr({-row =>
\@fields}, -ident));
+}
+
sub _insert_returning {
my ($self, $options) = @_;
@@ -217,7 +242,19 @@
=head1 INSERT
- $abstract->insert($table, \@values || \%fieldvals, \%options);
+ $abstract->insert($table, \@values || \%fieldvals || \@fieldvals, \%options);
+
+=head2 BULK INSERT
+
+The C<$data> argument now also accepts array references containing hash
references, to generate C<INSERT> queries
+with multiple rows. Fields missing from some rows will be set to C<DEFAULT>.
Keep in mind that PostgreSQL limits the
+number of bind values per query to 65535, so very large inserts need to be
split up.
+
+ # "INSERT INTO t (a, b) VALUES ('c', 'd'), ('e', DEFAULT)"
+ $abstract->insert('t', [{a => 'c', b => 'd'}, {a => 'e'}]);
+
+ # "INSERT INTO t (a) VALUES ('b'), ('c') ON CONFLICT DO NOTHING RETURNING id"
+ $abstract->insert('t', [{a => 'b'}, {a => 'c'}], {on_conflict => undef,
returning => 'id'});
=head2 ON CONFLICT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/SQL-Abstract-Pg-1.0/t/sql.t
new/SQL-Abstract-Pg-1.01/t/sql.t
--- old/SQL-Abstract-Pg-1.0/t/sql.t 2021-02-20 17:34:16.000000000 +0100
+++ new/SQL-Abstract-Pg-1.01/t/sql.t 2026-10-25 01:59:31.000000000 +0200
@@ -19,7 +19,7 @@
subtest 'Basics' => sub {
is_query [$abstract->insert('foo', {bar => 'baz'})], ['INSERT INTO "foo" (
"bar") VALUES ( ? )', 'baz'],
'right query';
- is_query [$abstract->select('foo', '*')], ['SELECT * FROM "foo"'], 'right
query';
+ is_query [$abstract->select('foo', '*')], ['SELECT * FROM
"foo"'], 'right query';
is_query [$abstract->select(['foo', 'bar', 'baz'])], ['SELECT * FROM "foo",
"bar", "baz"'], 'right query';
};
@@ -43,6 +43,23 @@
is_query \@sql, $result, 'right query';
};
+subtest 'Bulk insert' => sub {
+ my @sql = $abstract->insert('foo', [{bar => 'baz', yada => 1}, {bar =>
'yada', yada => 2}]);
+ is_query \@sql, ['INSERT INTO "foo" ( "bar", "yada") VALUES ( ?, ? ), ( ?, ?
)', 'baz', 1, 'yada', 2], 'right query';
+ @sql = $abstract->insert('foo', [{bar => 'baz'}, {yada => 2}]);
+ is_query \@sql, ['INSERT INTO "foo" ( "bar", "yada") VALUES ( ?, DEFAULT ),
( DEFAULT, ? )', 'baz', 2], 'right query';
+ @sql = $abstract->insert('foo', [{bar => 'baz'}, {bar => 'yada'}],
{on_conflict => undef, returning => 'id'});
+ is_query \@sql,
+ ['INSERT INTO "foo" ( "bar") VALUES ( ? ), ( ? ) ON CONFLICT DO NOTHING
RETURNING "id"', 'baz', 'yada'],
+ 'right query';
+ @sql = $abstract->insert('foo', [{bar => [1, 2]}, {bar => {-json => [3]}},
{bar => \'now()'}]);
+ is_query \@sql, ['INSERT INTO "foo" ( "bar") VALUES ( ? ), ( ? ), ( now()
)', [1, 2], {json => [3]}], 'right query';
+ @sql = $abstract->insert('foo', ['baz', {-json => [1]}]);
+ is_query \@sql, ['INSERT INTO "foo" VALUES ( ?, ? )', 'baz', {json => [1]}],
'right query';
+ eval { $abstract->insert('foo', [{bar => 'baz'}, 'yada']) };
+ like $@, qr/bulk insert values must all be hash references/, 'right error';
+};
+
subtest 'ON CONFLICT (unsupported value)' => sub {
eval { $abstract->insert('foo', {bar => 'baz'}, {on_conflict => [[], []]}) };
like $@, qr/on_conflict value must be in the form \[\$target, \\\%set\]/,
'right error';
++++++ _scmsync.obsinfo ++++++
mtime: 1792922016
commit: c89ad4e87e96ee17a6908917f83f910abff04d171c7781037c50c262ece9cede
url: https://src.opensuse.org/perl/perl-SQL-Abstract-Pg
revision: c89ad4e87e96ee17a6908917f83f910abff04d171c7781037c50c262ece9cede
projectscmsync: https://src.opensuse.org/perl/_ObsPrj
++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore 2026-10-25 10:53:36.000000000 +0100
@@ -0,0 +1 @@
+.osc