8
0

- regenerate spec to install LICENSE

OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-SQL-SplitStatement?expand=0&rev=3
This commit is contained in:
Stephan Kulow
2015-01-27 19:58:00 +00:00
committed by Git OBS Bridge
parent 814ddf41a2
commit 2251c64b42
2 changed files with 38 additions and 16 deletions

View File

@@ -1,8 +1,7 @@
#
# spec file for package perl-SQL-SplitStatement
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright Andrey Karepin <egdfree@opensuse.org>
# Copyright (c) 2015 SUSE LINUX 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,26 +16,25 @@
#
%define cpan_name SQL-SplitStatement
Name: perl-%{cpan_name}
Name: perl-SQL-SplitStatement
Version: 1.00020
Release: 0
%define cpan_name SQL-SplitStatement
Summary: Split any SQL code into atomic statements
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/SQL-SplitStatement/
Source: %{cpan_name}-%{version}.tar.gz
Source: http://www.cpan.org/authors/id/E/EM/EMAZEP/%{cpan_name}-%{version}.tar.gz
BuildArch: noarch
## for SLE
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Carp)
BuildRequires: perl(Class::Accessor::Fast)
BuildRequires: perl(List::MoreUtils)
BuildRequires: perl(Regexp::Common)
BuildRequires: perl(SQL::Tokenizer) >= 0.22
Requires: perl(Carp)
BuildRequires: perl(Test::Exception) >= 0.27
BuildRequires: perl(Test::More) >= 0.7
Requires: perl(Class::Accessor::Fast)
Requires: perl(List::MoreUtils)
Requires: perl(Regexp::Common)
@@ -45,14 +43,33 @@ Requires: perl(SQL::Tokenizer) >= 0.22
%description
This is a simple module which tries to split any SQL code, even including
non-standard extensions, into the atomic statements it is composed of.
non-standard extensions (for the details see the the /SUPPORTED DBMSs
manpage section below), into the atomic statements it is composed of.
The logic used to split the SQL code is more sophisticated than a raw split
on the ; (semicolon) character: first, various different statement terminator
tokens are recognized (see below for the list), then this module is able to
correctly handle the presence of said tokens inside identifiers, values,
comments, BEGIN ... END blocks (even nested), dollar-quoted strings, MySQL
custom DELIMITERs, procedural code etc.
The logic used to split the SQL code is more sophisticated than a raw
'split' on the ';' (semicolon) character: first, various different
statement terminator _tokens_ are recognized (see below for the list), then
this module is able to correctly handle the presence of said tokens inside
identifiers, values, comments, 'BEGIN ... END' blocks (even nested),
_dollar-quoted_ strings, MySQL custom 'DELIMITER's, procedural code etc.,
as (partially) exemplified in the the /SYNOPSIS manpage above.
Consider however that this is by no means a validating parser (technically
speaking, it's just a _context-sensitive tokenizer_). It should rather be
seen as an in-progress _heuristic_ approach, which will gradually improve
as test cases will be reported. This also means that, except for the the
/LIMITATIONS manpage detailed below, there is no known (to the author) SQL
code the most current release of this module can't correctly split.
The test suite bundled with the distribution (which now includes the
popular _Sakila_ and _Pagila_ sample db schemata, as detailed in the the
/SHOWCASE manpage section below) should give you an idea of the
capabilities of this module
If your atomic statements are to be fed to a DBMS, you are encouraged to
use the DBIx::MultiStatementDo manpage instead, which uses this module and
also (optionally) offers automatic transactions support, so that you'll
have the _all-or-nothing_ behavior you would probably want.
%prep
%setup -q -n %{cpan_name}-%{version}
@@ -71,6 +88,6 @@ custom DELIMITERs, procedural code etc.
%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes README
%doc Changes LICENSE README
%changelog