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
| System | Port | Version |
|---|---|---|
| FreeBSD | databases/p5-SQL-SplitStatement | 1.00023 |
| DragonFly | databases/p5-SQL-SplitStatement | 1.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.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 1.00023 | 1.00023 | - | 1.00023 | 1.00023 |
| FreeBSD:14:quarterly | 1.00023 | 1.00023 | n/a | 1.00023 | 1.00023 |
| FreeBSD:15:latest | 1.00023 | 1.00023 | n/a | 1.00023 | 1.00023 |
| FreeBSD:15:quarterly | 1.00023 | 1.00023 | n/a | n/a | n/a |
| FreeBSD:16:latest | 1.00023 | 1.00023 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/a |
Dependencies
As this port's Makefile names them.
Build 3
p5-Class-Accessor>=0: devel/p5-Class-Accessorp5-List-MoreUtils>=0: lang/p5-List-MoreUtilsp5-Regexp-Common>=0: textproc/p5-Regexp-Common
Runtime 3
p5-Class-Accessor>=0: devel/p5-Class-Accessorp5-List-MoreUtils>=0: lang/p5-List-MoreUtilsp5-Regexp-Common>=0: textproc/p5-Regexp-Common
Test 2
p5-Test-Differences>=0.680: devel/p5-Test-Differencesp5-Test-Exception>=0.27: devel/p5-Test-Exception
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
| File | Size | SHA256 |
|---|---|---|
| SQL-SplitStatement-1.00023.tar.gz | 63709 | 1a748420cd2ad341c2524ef1185b76ef7172969f17a9e4bab6f4376f0de9f35e |
Master sites 1
- CPAN
Commit history 0
No commits in the history this site was built from.