The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
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.