Revision history for SQL-SplitStatement
1.00023 2021-06-05 22:10:21 IDT
1.00022 2021-06-05 21:53:11 IDT (TRIAL RELEASE)
*
support REPLACE as an INSERT alternative (gh #5)
*
allow { and } to pass through in PL/Perl functions (gh #2)
1.00021 2021-06-04 15:21:30 IDT (TRIAL RELEASE)
*
fix POD issues
*
fix issues with options in bin/sql-split (breaking, but wasn't working anyways)
1.00020 2011-03-26 11:05:02 Europe/Rome
*
Emergency release: fixed several problems caused by the new
SQL::Tokenizer (0.21 and above) releases. SQL::Tokenizer 0.22 now
required.
*
Minor doc additions and fixes.
1.00009 2011-02-09 10:37:48 Europe/Rome
*
Fixed a corner case where an empty statement was not removed (upon request)
if it was closed by a /strange/ DELIMITER-defined terminator.
*
Added a test for this.
*
Fixed "t/90-mysql_sakila.t" and "t/92-postgresql_pagila.t" for older Perls
(pre 5.8.7 it seems). Thank you CPAN Testers!
*
POD formatting fixes to obtain a better (automatically generated)
README.mkdn
1.00000 2011-02-09 01:40:58 Europe/Rome
*
PL/SQL PACKAGE limitation removed: now a PACKAGE with an initialization
block is correctly recognized even if it lacks both the package name at the
END and the slash terminator.
*
PL/SQL parser fully rewritten again.
*
Added a new terminator: semicolon followed by a period on its own line
followed by a forward slash on its own line (PL/SQL).
*
Extended dollar-quoted strings handling, that is strings like "$TAG$", are
now handled correctly (whereas before only "$$" was permitted as a
dollar-quote).
*
Two new types of placeholders added: /dollar sign numbers/
($1, $2, ..., $n) and /named parameters/ (:foo, :bar, :baz).
*
PL/SQL "DECLARE CURSOR" handling;
*
Fixed missing PL/SQL "END CASE" check;
*
Fixed a bug with DELIMITER-defined terminators when their scope persisted
over multiple statements.
*
Fixed a bug which caused certain DELIMITER-defined terminators not to be
removed in the returned statements (when "keep_terminators" was set to
false).
*
Many further improvements and fixes.
*
Added the new "slash_terminates" option (NOT a change in the default
behavior, but please read the docs).
*
Massive test additions (the two popular Sakila and Pagila sample db now
included).
*
Docs updates.
*
Markdown README added (via Dist::Zilla::Plugin::ReadmeMarkdownFromPod).
0.30000 2011-01-23 11:00:02 Europe/Rome
*
Fixed a PL/SQL problem where a FUNCTION or PROCEDURE inside a PACKAGE,
could cause the parser to trip over the end of the package.
*
Tests for this.
*
keep_terminator as a keep_terminators alias fix.
*
Minor doc fixes.
0.20000 2011-01-21 18:53:11 Europe/Rome
*
Removed the limitation on the BEGIN, DECLARE, FUNCTION and PROCEDURE
keywords: they can now be used even as unquoted identifiers! :-)
*
Minor docs enhancements.
0.10000 2011-01-20 07:00:00 Europe/Rome
*
Moose dropped in favour of Class::Accessor::Fast, since some people think
Moose is an overkill for such a simple module.
*
Command line SQL splitting utility sql-split added.
*
Added GRANT support: thanks Alexander Sennhauser for the report.
*
Added MySQL DELIMITER support; closes bug #60401: thanks ed.shrock.
*
Private methods heavily refactored.
*
Many improvements and additions on docs and tests.
0.07000 2010-06-26 04:00:00 Europe/Rome
*
Much improved procedural blocks handling:
*
dollar quoted blocks handling;
*
better "CREATE ... FUNCTION|PROCEDURE" handling.
*
Minimum required SQL::Tokenizer version is now 0.20
(thanks Igor Sutton for this new version).
*
End of deprecation cycle on the "keep_semicolon" option (has now been
removed for good).
*
Tests and docs additions.
0.05003_1 2010-06-21 08:30:00 Europe/Rome
*
Fixed a bug which caused a PL/SQL package without the package name after
the END to not be split correctly. Kindly reported by Dan Horne: thanks!
*
Tests for this.
*
Updated the LIMITATIONS section in the docs to explain that we cannot
handle a PL/SQL PACKAGE block _with_ an initialization block inside, if the
package lacks _both_ its name after the END and the trailing slash.
0.05003 2010-06-20 00:00:00 Europe/Rome
*
A bit more robust "CREATE ... PACKAGE" handling, so that it is now
accepted the use of the "PACKAGE" keyword as an identifier (even unquoted).
*
Tests for that.
*
Better explained LIMITATIONS.
*
Minor doc fixes.
*
Cleaned MANIFEST up from a perl stackdump.
0.05002 2010-06-17 08:00:00 Europe/Rome
*
Now handles also the presence of a so-called "initialization block" inside
a "PACKAGE" block.
*
Tests for that.
0.05001 2010-06-17 06:00:00 Europe/Rome
*
Now handles also the PL/SQL "CREATE ... PACKAGE" construct (thanks
Dan Horne for his info about that!)
*
Tests for that.
0.05000 2010-06-17 04:00:00 Europe/Rome
*
Now handles transactions (starting either with "BEGIN" and "START")
correclty.
Closes bug #58032. Thanks Frew Schmidt.
*
Now handles procedural code as well.
Closes bug #57971. Thanks Dan Horne (thank you Dan also for the info by
private mail!)
*
Now handle also Oracle-style statement terminators (slash and
semicolon-newline-slash-newline).
*
Start of deprecation cycle on the "keep_semicolon" option which has been
renamed to "keep_terminator" (as now different terminator tokens are
recognized).
*
Many tests and docs additions.
*
Switch from Class::Accessor to Moose.
0.03000 2010-05-30 03:00:00 Europe/Rome
*
"split_with_placeholders" method added.
*
Tests and docs for "split_with_placeholders".
*
Assorted minor code and docs enhancements.
0.01002 2010-05-28 20:30:00 Europe/Rome
*
Removed "use DBI" from some tests, which was left there for error (and
caused said tests to fail, where DBI was not installed).
*
Minor docs enhancements.
0.01001 2010-05-28 19:00:00 Europe/Rome
*
Added the ability to discard/keep comments.
Really, this is a change in the API, since now comments are discarded by
default, while before they were returned instead.
I hope this won't harm any user, given the young age of this module
(furthermore there isn't any difference when feeding the returned
statements to a DBMS, the differences are just /cosmetic/).
Sorry anyway!
*
Added tests and docs for this.
0.01000 2010-05-27 08:00:00 Europe/Rome
*
Initial release.