SQL-SimpleOps v2023.274.1 Perl 5 v5.24.4 x86_64-linux
- Status
- Pass
- From
- David Cantrell (DCANTRELL)
- Dist
-
SQL-SimpleOps v2023.274.1
- Platform
- Perl 5 v5.24.4 x86_64-linux
- Date
- 2023-10-09 23:04:20
- ID
- 2ddc1ae6-66f8-11ee-bfc5-f72c45104082
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language. See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org
--
Dear Carlos Celso de Almeida,
This is a computer-generated report for SQL-SimpleOps-2023.274.1
on perl 5.24.4, created by CPAN-Reporter-1.2019.
Thank you for uploading your work to CPAN. Congratulations!
All tests were successful.
Sections of this report:
* Tester comments
* Program output
* Prerequisites
* Environment and other context
------------------------------
TESTER COMMENTS
------------------------------
Additional comments from tester:
this report is from an automated smoke testing program
and was not reviewed by a human for accuracy
------------------------------
PROGRAM OUTPUT
------------------------------
Output from '/usr/bin/make test':
PERL_DL_NONLAZY=1 "/home/david/cpantesting/perl-5.24.4/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
# No type of test found
# See README.txt before doing any test
t/testDB.t ..... ok
#
# ################################################################
# test: 010
# format: Delete( table=>"t1", force=>1 )
# rc: 0
# result: DELETE FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 011
# format: Delete( table=>"t1", where => [ fld => 123 ] )
# rc: 0
# result: DELETE FROM t1 WHERE fld = '123'
# status: SUCCESSFUL
# ################################################################
# test: 020
# format: Insert( table=>"t1", fields => { a => 1, b => 2, c => 3 } )
# rc: 0
# result: INSERT INTO t1 (a,b,c) VALUES ('1','2','3')
# status: SUCCESSFUL
# ################################################################
# test: 021
# format: Insert( table=>"t1", fields => [ "a","b","c" ], values => [ 1,2,3 ] )
# rc: 0
# result: INSERT INTO t1 (a,b,c) VALUES ('1','2','3')
# status: SUCCESSFUL
# ################################################################
# test: 030
# format: Update( table=>"t1", fields => { a => 1, b => 2 }, where => [ c => [ "!", 3 ] ] )
# rc: 0
# result: UPDATE t1 SET a = '1', b = '2' WHERE c != '3'
# status: SUCCESSFUL
# ################################################################
# test: 031
# format: Update( table=>"t1", fields => { a => '\concat(a,"xxxx")' }, force => 1 )
# rc: 0
# result: UPDATE t1 SET a = concat(a,"xxxx")
# status: SUCCESSFUL
# ################################################################
# test: 040
# format: Select( table=>"t1", fields => [ "a","b","c"] )
# rc: 0
# result: SELECT a, b, c FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 041
# format: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>4 ] )
# rc: 0
# result: SELECT a, b, c FROM t1 WHERE d = '4'
# status: SUCCESSFUL
# ################################################################
# test: 043
# format: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>4, e=>5 ] )
# rc: 0
# result: SELECT a, b, c FROM t1 WHERE d = '4' AND e = '5'
# status: SUCCESSFUL
# ################################################################
# test: 044
# format: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>'\substr(e,1,8)' ] )
# rc: 0
# result: SELECT a, b, c FROM t1 WHERE d = substr(e,1,8)
# status: SUCCESSFUL
# ################################################################
# test: 045
# format: Select( table=>["t1","t2"], fields => [ "t1.a","t2.b" ], where => [ 't1.a' => 't2.b' ] )
# rc: 0
# result: SELECT t1.a, t2.b FROM t1, t2 WHERE t1.a = t2.b
# status: SUCCESSFUL
# ################################################################
# test: 046
# format: Select( table=>"t1", fields => [ {"a"=>"aa"} ], where => [ 'a' => '0' ] )
# rc: 0
# result: SELECT a aa FROM t1 WHERE a = '0'
# status: SUCCESSFUL
# ################################################################
# test: 047
# format: Select( table=>"t1", fields => [ {"t1.a"=>"aa"} ], where => [ 't1.a' => '0' ] )
# rc: 0
# result: SELECT t1.a aa FROM t1 WHERE t1.a = '0'
# status: SUCCESSFUL
# ################################################################
# test: 048
# format: Select( table=>["t1","t2"], fields => [ {"t1.a"=>"aa"}, {"t2.b"=>"bb"} ], where => [ 't1.a' => 't2.b' ] )
# rc: 0
# result: SELECT t1.a aa, t2.b bb FROM t1, t2 WHERE t1.a = t2.b
# status: SUCCESSFUL
# ################################################################
# test: 049
# format: Select( table=>"t1", fields => [ {"sum(a)"=>"a1"}, {"sum(t1.a)"=>"a2"}, {"\sum(a)"=>"a3"} ], where => [ 'a' => '0' ] )
# rc: 0
# result: SELECT sum(a) a1, sum(t1.a) a2, sum(a) a3 FROM t1 WHERE a = '0'
# status: SUCCESSFUL
# ################################################################
# test: 050
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_TOP, limit=>100 )
# rc: 0
# note: Command=TOP, Cursor is empty
# result: SELECT a, b, c FROM t1 ORDER BY a ASC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 051
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_NEXT, limit=>100 )
# rc: 0
# note: Command=NEXT, Cursor is empty
# result: SELECT a, b, c FROM t1 ORDER BY a ASC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 052
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_BACK, limit=>100 )
# rc: 0
# note: Command=BACK, Cursor is empty
# result: SELECT a, b, c FROM t1 ORDER BY a DESC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 053
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_NEXT, limit=>100 )
# rc: 0
# note: Command=NEXT, Cursor is first(1) and last(100)
# result: SELECT a, b, c FROM t1 WHERE a > '100' ORDER BY a ASC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 054
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_BACK, limit=>100 )
# rc: 0
# note: Command=BACK, Cursor is first(101) and last(200)
# result: SELECT a, b, c FROM t1 WHERE a < '101' ORDER BY a DESC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 055
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_RELOAD, limit=>100 )
# rc: 0
# note: Command=RELOAD, Cursor is first(1) and last(100)
# result: SELECT a, b, c FROM t1 WHERE a > '1' ORDER BY a ASC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 056
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_LAST, limit=>100 )
# rc: 0
# note: Command=LAST, Cursor is first(1) and last(100)
# result: SELECT a, b, c FROM t1 ORDER BY a DESC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 057
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_TOP, limit=>0 )
# rc: 0
# note: Command=TOP, Limit is ZERO
# result: SELECT a, b, c FROM t1 ORDER BY a ASC
# status: SUCCESSFUL
# ################################################################
# test: 060
# format: Select( table=>"t1", fields => [ "distinct", "a" ] )
# rc: 0
# note: Select with DISTINCT array sequence
# result: SELECT DISTINCT a FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 061
# format: Select( table=>"t1", fields => [ "distinct" => "a" ] )
# rc: 0
# note: Select with DISTINCT based hash
# result: SELECT DISTINCT a FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 062
# format: Select( table=>"t1", fields => [ "count(*)" ] )
# rc: 0
# result: SELECT count(*) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 063
# format: Select( table=>"t1", fields => [ "max(t1.a)" ] )
# rc: 0
# result: SELECT max(t1.a) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 064
# format: Select( table=>"t1", fields => [ "max(a)" ] )
# rc: 0
# result: SELECT max(a) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 065
# format: Select( table=>"t1", fields => [ "substr(a,1,8)" ] )
# rc: 0
# result: SELECT substr(a,1,8) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 066
# format: Select( table=>"t1", fields => [ "\aaa.bbb.ccc" ] )
# rc: 0
# result: SELECT aaa.bbb.ccc FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 067
# format: Select( table=>"t1", fields => [ "distinct","\aaa.bbb.ccc" ] )
# rc: 0
# result: SELECT DISTINCT aaa.bbb.ccc FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 070
# format: Select( table=>["t1","t2"], fields => [ "t1.a","t2.b" ], where => [ 't1.a' => 't2.b' ], sql_save=>1 )
# rc: 0
# note: SQL_SAVE enabled
# result: SELECT t1.a, t2.b FROM t1, t2 WHERE t1.a = t2.b
# savefile: /tmp/2023/202310/20231010/sql.teste.20231010.880572.1
# savefile: removed
# status: SUCCESSFUL
# ################################################################
# test: 071
# format: Select( table=>"t1", order_by => "t1.a" )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a
# status: SUCCESSFUL
# ################################################################
# test: 072
# format: Select( table=>"t1", order_by => [ {"t1.a" => "asc"} ] )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a ASC
# status: SUCCESSFUL
# ################################################################
# test: 073
# format: Select( table=>"t1", order_by => [ {"t1.a" => "desc"} ] )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a DESC
# status: SUCCESSFUL
# ################################################################
# test: 074
# format: Select( table=>"t1", order_by => [ "t1.a", "t1.b" ] )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a, t1.b
# status: SUCCESSFUL
# ################################################################
# test: 075
# format: Select( table=>"t1", order_by => [ {"t1.a" => "asc"}, "t1.b" ] )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a ASC, t1.b
# status: SUCCESSFUL
# ################################################################
# test: 076
# format: Select( table=>"t1", order_by => [ "t1.a", {"t1.b"=>"desc"} ] )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.a, t1.b DESC
# status: SUCCESSFUL
# ################################################################
# test: 077
# format: Select( table=>"t1", order_by => {"t1.b"=>"desc"} )
# rc: 0
# result: SELECT * FROM t1 ORDER BY t1.b DESC
# status: SUCCESSFUL
# ################################################################
#
# To see the input options used to create the 'where' clause, rerun the test with:
#
# export SQL_SIMPLE_SQL_SHOW_OK=1
#
t/testSQL.t .... ok
#
# ################################################################
# result: id = 'info'
# test: 101, SUCCESSFUL
# ################################################################
# result: id = 'info'
# test: 102, SUCCESSFUL
# ################################################################
# result: id != 'info'
# test: 103, SUCCESSFUL
# ################################################################
# result: id < 'info'
# test: 104, SUCCESSFUL
# ################################################################
# result: id > 'info'
# test: 105, SUCCESSFUL
# ################################################################
# result: id LIKE 'info%'
# test: 106, SUCCESSFUL
# ################################################################
# result: id LIKE '%info%'
# test: 107, SUCCESSFUL
# ################################################################
# result: id LIKE '%info'
# test: 108, SUCCESSFUL
# ################################################################
# result: id LIKE 'info'
# test: 109, SUCCESSFUL
# ################################################################
# result: id IS NULL
# test: 110, SUCCESSFUL
# ################################################################
# result: id NOT NULL
# test: 111, SUCCESSFUL
# ################################################################
# result: id IN ('info1','info2')
# test: 112, SUCCESSFUL
# ################################################################
# result: id NOT IN ('info1','info2')
# test: 113, SUCCESSFUL
# ################################################################
# result: id BETWEEN ('info1','info2')
# test: 114, SUCCESSFUL
# ################################################################
# result: id NOT BETWEEN ('info1','info2')
# test: 115, SUCCESSFUL
# ################################################################
# result: id = 'info' AND id = 'info2' AND no = 'no1' AND no = 'no2'
# test: 120, SUCCESSFUL
# ################################################################
# result: id = 'info' AND id = 'info2' OR no = 'no1' AND no = 'no2'
# test: 121, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id
# test: 200, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id
# test: 201, SUCCESSFUL
# ################################################################
# result: t1.id != t2.id
# test: 202, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id AND t1.id = t3.id
# test: 210, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id AND t1.id = t3.id
# test: 211, SUCCESSFUL
# ################################################################
# result: t1.id != t2.id AND t1.id != t3.id
# test: 212, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id OR t1.id = t3.id
# test: 213, SUCCESSFUL
# ################################################################
# result: t1.id = t2.id AND t1.id BETWEEN ('1234','5678') AND (t1.id != '0' OR t2.id != '0')
# test: 214, SUCCESSFUL
# ################################################################
# result: (id = '1' AND id = '2') AND (no = '3' AND no = '4')
# test: 220, SUCCESSFUL
# ################################################################
# result: (id LIKE '1%' OR id LIKE '2%') AND (no LIKE '%3' OR no LIKE '%4')
# test: 221, SUCCESSFUL
# ################################################################
# result: (id NOT LIKE '1%' AND id NOT LIKE '2%') AND (no NOT LIKE '%3' AND no NOT LIKE '%4')
# test: 222, SUCCESSFUL
# ################################################################
# result: (id NOT LIKE '1%' AND id NOT LIKE '2%') OR (no NOT LIKE '%3' AND no NOT LIKE '%4')
# test: 223, SUCCESSFUL
# ################################################################
# result: id NOT NULL OR no IS NULL
# test: 224, SUCCESSFUL
# ################################################################
# result: ((a = '1' AND b = '2') OR (c = '3' AND d = '4')) AND e = '5'
# test: 225, SUCCESSFUL
# ################################################################
# result: a = concat(a,'abc')
# test: 230, SUCCESSFUL
# ################################################################
# result: a != concat(a,'abc')
# test: 231, SUCCESSFUL
#
# To see the input options used to create the 'where' clause, rerun the test with:
#
# export SQL_SIMPLE_WHERE_SHOW_OK=1
#
t/testWhere.t .. ok
All tests successful.
Files=3, Tests=5, 8 wallclock secs ( 0.07 usr 0.03 sys + 0.83 cusr 0.14 csys = 1.07 CPU)
Result: PASS
------------------------------
PREREQUISITES
------------------------------
Prerequisite modules loaded:
requires:
Module Need Have
------------------- ---- --------
Date::Calc 0 6.4
DBI 0 1.643
File::Path 0 2.18
File::Spec 0 3.75
IO::File 0 1.51
JSON 0 4.10
Sys::Syslog 0 0.36
build_requires:
Module Need Have
------------------- ---- --------
DBD::SQLite 0 1.72
Test::More 0 1.302195
configure_requires:
Module Need Have
------------------- ---- --------
ExtUtils::MakeMaker 0 7.70
------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------
Environment variables:
AUTOMATED_TESTING = 1
LANG = en_GB.UTF-8
LANGUAGE = en_GB:en
LC_TERMINAL = iTerm2
LC_TERMINAL_VERSION = 3.4.21
NONINTERACTIVE_TESTING = 1
PATH = /home/david/.nvm/versions/node/v18.18.0/bin:/home/david/.cargo/bin:/home/david/perl5/perlbrew/bin:/home/david/perl5/perlbrew/perls/perl-5.30.2/bin:/home/david/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
PERL = 5.24.4
PERL5LIB =
PERL5OPT =
PERL5_CPANPLUS_IS_RUNNING = 873269
PERL5_CPAN_IS_RUNNING = 873269
PERLBREW_HOME = /home/david/.perlbrew
PERLBREW_MANPATH = /home/david/perl5/perlbrew/perls/perl-5.30.2/man
PERLBREW_PATH = /home/david/perl5/perlbrew/bin:/home/david/perl5/perlbrew/perls/perl-5.30.2/bin
PERLBREW_PERL = perl-5.30.2
PERLBREW_ROOT = /home/david/perl5/perlbrew
PERLBREW_SHELLRC_VERSION = 0.98
PERLBREW_VERSION = 0.98
PERLVER = 5.24.4
PERL_INLINE_DIRECTORY = /home/david/.Inline-5.24.4
PERL_MM_USE_DEFAULT = 1
PERL_USE_UNSAFE_INC = 0
SHELL = /bin/bash
TERM = screen
Perl special variables (and OS-specific diagnostics, for MSWin32):
$^X = /home/david/cpantesting/perl-5.24.4/bin/perl
$UID/$EUID = 1000 / 1000
$GID = 1000 24 25 27 29 30 44 46 109 1000
$EGID = 1000 24 25 27 29 30 44 46 109 1000
Perl module toolchain versions installed:
Module Have
------------------- --------
CPAN 2.11_01
CPAN::Meta 2.150010
Cwd 3.75
ExtUtils::CBuilder 0.280236
ExtUtils::Command 7.70
ExtUtils::Install 2.22
ExtUtils::MakeMaker 7.70
ExtUtils::Manifest 1.75
ExtUtils::ParseXS 3.44
File::Spec 3.75
JSON 4.10
JSON::PP 4.16
Module::Build 0.4234
Module::Signature n/a
Parse::CPAN::Meta 2.150010
Test2 1.302195
Test::Harness 3.44
Test::More 1.302195
YAML 1.30
YAML::Syck n/a
version 0.9929
--
Summary of my perl5 (revision 5 version 24 subversion 4) configuration:
Platform:
osname=linux, osvers=5.10.0-11-amd64, archname=x86_64-linux
uname='linux cpantesting-linux 5.10.0-11-amd64 #1 smp debian 5.10.92-1 (2022-01-18) x86_64 gnulinux '
config_args='-de -Dprefix=/home/david/cpantesting/perl-5.24.4'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2',
optimize='-O2',
cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion='', gccversion='10.2.1 20210110', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/local/lib /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64
libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=libc-2.31.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.31'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT
USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
USE_PERLIO USE_PERL_ATOF
Locally applied patches:
Devel::PatchPerl 2.08
Built under linux
Compiled at Jul 5 2023 22:39:55
%ENV:
PERL="5.24.4"
PERL5LIB=""
PERL5OPT=""
PERL5_CPANPLUS_IS_RUNNING="873269"
PERL5_CPAN_IS_RUNNING="873269"
PERLBREW_HOME="/home/david/.perlbrew"
PERLBREW_MANPATH="/home/david/perl5/perlbrew/perls/perl-5.30.2/man"
PERLBREW_PATH="/home/david/perl5/perlbrew/bin:/home/david/perl5/perlbrew/perls/perl-5.30.2/bin"
PERLBREW_PERL="perl-5.30.2"
PERLBREW_ROOT="/home/david/perl5/perlbrew"
PERLBREW_SHELLRC_VERSION="0.98"
PERLBREW_VERSION="0.98"
PERLVER="5.24.4"
PERL_INLINE_DIRECTORY="/home/david/.Inline-5.24.4"
PERL_MM_USE_DEFAULT="1"
PERL_USE_UNSAFE_INC="0"
@INC:
/home/david/cpantesting/perl-5.24.4/lib/site_perl/5.24.4/x86_64-linux
/home/david/cpantesting/perl-5.24.4/lib/site_perl/5.24.4
/home/david/cpantesting/perl-5.24.4/lib/5.24.4/x86_64-linux
/home/david/cpantesting/perl-5.24.4/lib/5.24.4
.