1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
#!/usr/bin/env perl
use strict;
use warnings;
use SQL::SplitStatement;
use Test::More tests => 3;
my $sql_splitter = SQL::SplitStatement->new({
keep_terminator => 1,
keep_empty_statements => 1
});
my @statements = $sql_splitter->split( 'SELECT 1;' );
cmp_ok (
scalar(@statements), '==', 2,
'number of atomic statements w/ semicolon'
);
is (
join( '', @statements ), 'SELECT 1;',
'SQL code successfully rebuilt w/ semicolon'
);
my $sql = <<'SQL';
CREATE TABLE foo (
foo_field_1 VARCHAR,
foo_field_2 VARCHAR
);
-- Comment with semicolon;
CREATE TABLE bar (
bar_field_1 VARCHAR,
bar_field_2 VARCHAR
);
SQL
my $verbatim_splitter = SQL::SplitStatement->new({
keep_terminator => 1,
keep_extra_spaces => 1,
keep_comments => 1,
keep_empty_statements => 1
});
my @verbatim_statements = $verbatim_splitter->split($sql);
is (
join( '', @verbatim_statements ), $sql,
'SQL code verbatim rebuilt'
);
#$sql eq join '', @verbatim_statements;
|