Dimedis-Sql
view release on metacpan or search on metacpan
dsql_test.pl view on Meta::CPAN
return $self->insert_update_check (
data => {
id => undef,
clob_data => \$memory_blob
},
what => 'insert',
);
}
sub insert_file_blob {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
return $self->insert_update_check (
data => {
id => undef,
clob_data => "/etc/group",
},
what => 'insert',
);
}
sub insert_utf8_latin_clob {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $data = do { use utf8; "Jörn Reder, ÃÃÃÃ\n" };
my $memory_blob = $data x 10;
return $self->insert_update_check (
data => {
id => undef,
clob_data => \$memory_blob,
str_short => "utf8_latin_clob",
},
what => 'insert',
);
}
sub delete_file_blob {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $sqlh = $self->{sqlh};
my $delete_id_key = $self->{"id_Dimedis::Sql::Test::insert_file_blob"};
my $cnt = $sqlh->do (
sql => "delete from dsql_test where id=?",
params => [ $delete_id_key ],
);
return $cnt == 1;
}
sub update {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
return $self->insert_update_check (
data => {
nr1 => 1,
nr2 => 2,
str_short => " updated test string",
},
what => 'update',
);
}
sub update_utf8_latin {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $data = do { use utf8; "ABC Jörn Reder, ÃÃÃÃ" };
my $str_short = do { use utf8; "Jörn Reder, ÃÃÃÃ" };
return $self->insert_update_check (
data => {
str_short => $data,
str_long => $data,
},
where => "str_short = ?",
params => [ $str_short ],
what => 'update',
);
}
sub update_memory_clob {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $memory_blob = "das äüöÄÜÖß ist ein anderer super CLOB\n" x 10;
return $self->insert_update_check (
data => {
clob_data => \$memory_blob
},
what => 'update',
);
}
sub update_file_clob {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
return $self->insert_update_check (
data => {
clob_data => "/etc/passwd",
},
what => 'update',
);
}
sub update_memory_blob {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $memory_blob = "das äüöÄÜÖß ist ein anderer ".chr(250)." super BLOB\n" x 10;
return $self->insert_update_check (
data => {
clob_data => \$memory_blob
},
what => 'update',
);
}
sub update_file_blob {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
return $self->insert_update_check (
data => {
clob_data => "/etc/fstab",
},
what => 'update',
);
}
sub update_utf8_latin_clob {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $data = do { use utf8; "Jörn Reder, ÃÃÃÃ\n" };
my $memory_blob = $data x 10;
return $self->insert_update_check (
data => {
clob_data => \$memory_blob
},
what => 'update',
where => "str_short = ?",
params => [ "utf8_latin_clob" ],
);
}
sub cmpi {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $id = $sqlh->insert (
table => "dsql_test",
data => {
id => undef,
test_case => "cmpi",
str_short => "BRA bra",
}
);
my $cond = $sqlh->cmpi (
col => "str_short",
val => "bra bra",
op => "=",
);
my ($read_id) = $sqlh->get (
sql => "select id
from dsql_test
where $cond",
);
return $read_id == $id;
}
sub contains {
my $self = shift;
my $sqlh = $self->{sqlh};
return if not $sqlh->get_features->{contains};
$self->msg;
my $id = $sqlh->insert (
table => "dsql_test",
data => {
id => undef,
test_case => "contains",
str_short => "BRA contains foo schnackel baz",
dsql_test.pl view on Meta::CPAN
str_short => 'Ä3',
},
what => 'insert',
);
unlink $file;
return $rc;
}
sub insert_clob_file_utf8 {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $clob = "Das ist ein Text mit Umläuten: ÄÖÜ äöü ß\n" x 10; # kein utf8 flag
my $file = $self->mem_to_file ( mem => \$clob, utf8 => 1 );
my $rc = $self->insert_update_check (
data => {
id => undef,
clob_data => $file,
str_short => 'Ä4',
},
what => 'insert',
);
unlink $file;
return $rc;
}
sub insert_clob_fh_utf8 {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $clob = "Das ist ein Text mit Umläuten: ÄÖÜ äöü ß\n" x 10; # kein utf8 flag
my $file = $self->mem_to_file ( mem => \$clob, utf8 => 1 );
my $fh = FileHandle->new;
open($fh, $file) or die "can't read $file";
my $rc = $self->insert_update_check (
data => {
id => undef,
clob_data => $fh,
str_short => 'Ä4',
},
what => 'insert',
);
close $fh;
unlink $file;
return $rc;
}
sub update_utf8 {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
return $self->insert_update_check (
data => {
nr1 => 44,
nr2 => 45,
str_short => "utf8 stuff: äüöÄÜÖß \x{263a}", # mit utf8-flag
str_short2 => "utf8 stuff: äüöÄÜÖß", # ohne utf8-flag
},
what => 'update',
where => "str_short = ?",
params => [ "utf8 stuff: äüöÄÜÖß \x{263a}" ],
);
}
sub update_blob_mem_utf8 {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $blob = "Das sind neue Binärdaten: ÄÖÜ äöü ß\n" x 3; # kein utf8 flag
my $rc = $self->insert_update_check (
data => {
blob_data => \$blob,
},
what => 'update',
where => "str_short = ?",
params => [ "Ä1" ],
);
return $rc;
}
sub update_clob_mem_utf8 {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
# mit utf8-flag
my $clob = "Das ist ein ßßß anderer Text mit Umläuten: \x{263a} ÄÖÜ äöü ß\n" x 10;
return $self->insert_update_check (
data => {
clob_data => \$clob,
},
what => 'update',
where => "str_short = ?",
params => [ "Ä2" ],
);
}
sub update_blob_file_utf8 {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $blob = "Das sind neue Binärdaten: ÄÖÜ äöü ß\n" x 3; # kein utf8 flag
my $file = $self->mem_to_file ( mem => \$blob, utf8 => 0 );
my $rc = $self->insert_update_check (
data => {
blob_data => $file,
},
what => 'update',
where => "str_short = ?",
params => [ "Ä3" ],
);
unlink $file;
return $rc;
}
sub update_clob_file_utf8 {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
# mit utf8-flag
my $clob = "Das ist ein ßßß anderer Text mit Umläuten: \x{263a} ÄÖÜ äöü ß\n" x 10;
my $file = $self->mem_to_file ( mem => \$clob, utf8 => 1 );
my $rc = $self->insert_update_check (
data => {
clob_data => $file,
},
what => 'update',
where => "str_short = ?",
params => [ "Ä4" ],
);
unlink $file;
return $rc;
}
sub get_utf8_array {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $str_short = "utf8 stuff: äüöÄÜÖß \x{263a}";
my $str_short2 = "utf8 stuff: äüöÄÜÖß";
my @array = $sqlh->get (
sql => "select str_short, str_short2
from dsql_test
where str_short = ? and str_short2 = ?",
params => [ $str_short, $str_short2 ],
);
return $array[0] eq $str_short and $array[1] eq $str_short2;
}
sub get_utf8_hash {
my $self = shift;
my $sqlh = $self->{sqlh};
$self->msg;
my $str_short = "utf8 stuff: äüöÄÜÖß \x{263a}";
my $str_short2 = "utf8 stuff: äüöÄÜÖß";
my $href = $sqlh->get (
sql => "select str_short, str_short2
from dsql_test
where str_short = ? and str_short2 = ?",
params => [ $str_short, $str_short2 ],
);
return $href->{str_short} eq $str_short and $href->{str_short2} eq $str_short2;
return 1;
}
( run in 2.458 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )