BSD Ports

databases/p5-SQL-SplitStatement 1.00023 FreeBSD

Split any SQL code into atomic statements

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
License
ART10, GPLv1+
Categories
databases, perl5
Package size
35.5 KiB, 104.1 KiB installed

Description

SQL::SplitStatement is a simple module which tries to split any SQL code, even including non-standard extensions, 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., as (partially) exemplified in the "SYNOPSIS" 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 "LIMITATIONS" detailed below, there is no known (to the author) SQL code the most current release of this module can't correctly split.

In the other systems

SystemPortVersion
FreeBSDdatabases/p5-SQL-SplitStatement1.00023
DragonFlydatabases/p5-SQL-SplitStatement1.00023

Install

Binary package:

pkg install p5-SQL-SplitStatement

From the ports tree:

cd /usr/ports/databases/p5-SQL-SplitStatement/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	p5-SQL-SplitStatement>0:databases/p5-SQL-SplitStatement

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest1.000231.00023-1.000231.00023
FreeBSD:14:quarterly1.000231.00023n/a1.000231.00023
FreeBSD:15:latest1.000231.00023n/a1.000231.00023
FreeBSD:15:quarterly1.000231.00023n/an/an/a
FreeBSD:16:latest1.000231.00023n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Build 3

Runtime 3

Test 2

The full lists below include those, and their dependencies in turn.

Build dependencies 6
Run dependencies 6

Configuration

No options to configure.

USES
perl5
Service scripts
none

Files

pkg-plist 6
  • bin/sql-split
  • %%SITE_PERL%%/SQL/SplitStatement.pm
  • %%SITE_PERL%%/SQL/SplitStatement/Tokenizer.pm
  • %%PERL5_MAN1%%/sql-split.1.gz
  • %%PERL5_MAN3%%/SQL::SplitStatement.3.gz
  • %%PERL5_MAN3%%/SQL::SplitStatement::Tokenizer.3.gz
distinfo 1
FileSizeSHA256
SQL-SplitStatement-1.00023.tar.gz637091a748420cd2ad341c2524ef1185b76ef7172969f17a9e4bab6f4376f0de9f35e
Master sites 1
  • CPAN

Commit history 0

No commits in the history this site was built from.