SQL-SimpleOps v2023.111.1 Perl 5 v5.32.1 x86_64-linux

Status
Pass
From
Slaven Rezić
Dist
SQL-SimpleOps v2023.111.1
Platform
Perl 5 v5.32.1 x86_64-linux
Date
2023-04-21 23:32:20
ID
c2ba83e2-e09c-11ed-bc47-f9e66d8775ea
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.111.1
on perl 5.32.1, created by CPAN-Reporter-1.2018.

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:

none provided

------------------------------
PROGRAM OUTPUT
------------------------------

Output from '/usr/bin/make test':

PERL_DL_NONLAZY=1 "/bbbike/perl-5.32.1/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
# rc: 0
# format: Delete( table=>"t1", force=>1 )
# result: DELETE FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 011
# rc: 0
# format: Delete( table=>"t1", where => [ fld => 123 ] )
# result: DELETE FROM t1 WHERE fld = '123'
# status: SUCCESSFUL
# ################################################################
# test: 020
# rc: 0
# format: Insert( table=>"t1", fields => { a => 1, b => 2, c => 3 } )
# result: INSERT INTO t1 (a,b,c) VALUES ('1','2','3')
# status: SUCCESSFUL
# ################################################################
# test: 021
# rc: 0
# format: Insert( table=>"t1", fields => [ "a","b","c" ], values => [ 1,2,3 ] )
# result: INSERT INTO t1 (a,b,c) VALUES ('1','2','3')
# status: SUCCESSFUL
# ################################################################
# test: 030
# rc: 0
# format: Update( table=>"t1", fields => { a => 1, b => 2 }, where => [ c => [ "!", 3 ] ] )
# result: UPDATE t1 SET a = '1', b = '2' WHERE c != '3'
# status: SUCCESSFUL
# ################################################################
# test: 031
# rc: 0
# format: Update( table=>"t1", fields => { a => '\concat(a,"xxxx")' }, force => 1 )
# result: UPDATE t1 SET a = concat(a,"xxxx")
# status: SUCCESSFUL
# ################################################################
# test: 040
# rc: 0
# format: Select( table=>"t1", fields => [ "a","b","c"] )
# result: SELECT a, b, c FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 041
# rc: 0
# format: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>4 ] )
# result: SELECT a, b, c FROM t1 WHERE d = '4'
# status: SUCCESSFUL
# ################################################################
# test: 043
# rc: 0
# format: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>4, e=>5 ] )
# result: SELECT a, b, c FROM t1 WHERE d = '4' AND e = '5'
# status: SUCCESSFUL
# ################################################################
# test: 044
# rc: 0
# format: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>'\substr(e,1,8)' ] )
# result: SELECT a, b, c FROM t1 WHERE d = substr(e,1,8)
# status: SUCCESSFUL
# ################################################################
# test: 045
# rc: 0
# format: Select( table=>["t1","t2"], fields => [ "t1.a","t2.b" ], where => [ 't1.a' => 't2.b' ] )
# result: SELECT t1.a, t2.b FROM t1, t2 WHERE t1.a = t2.b
# status: SUCCESSFUL
# ################################################################
# test: 050
# rc: 0
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_TOP, limit=>100 )
# note: Command=TOP, Cursor is empty
# result: SELECT a, b, c FROM t1 ORDER BY a ASC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 051
# rc: 0
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_NEXT, limit=>100 )
# note: Command=NEXT, Cursor is empty
# result: SELECT a, b, c FROM t1 ORDER BY a ASC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 052
# rc: 0
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_BACK, limit=>100 )
# note: Command=BACK, Cursor is empty
# result: SELECT a, b, c FROM t1 ORDER BY a DESC LIMIT 100
# status: SUCCESSFUL
# ################################################################
# test: 053
# rc: 0
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_NEXT, limit=>100 )
# 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
# rc: 0
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_BACK, limit=>100 )
# 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
# rc: 0
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_RELOAD, limit=>100 )
# 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
# rc: 0
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_LAST, limit=>100 )
# 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
# rc: 0
# format: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", cursor_command=>SQL_SIMPLE_CURSOR_TOP, limit=>0 )
# note: Command=TOP, Limit is ZERO
# result: SELECT a, b, c FROM t1 ORDER BY a ASC
# status: SUCCESSFUL
# ################################################################
# test: 060
# rc: 0
# format: Select( table=>"t1", fields => [ "distinct", "a" ] )
# note: Select with DISTINCT array sequence
# result: SELECT DISTINCT a FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 061
# rc: 0
# format: Select( table=>"t1", fields => [ "distinct" => "a" ] )
# note: Select with DISTINCT based hash
# result: SELECT DISTINCT a FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 062
# rc: 0
# format: Select( table=>"t1", fields => [ "count(*)" ] )
# result: SELECT count(*) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 063
# rc: 0
# format: Select( table=>"t1", fields => [ "max(t1.a)" ] )
# result: SELECT max(t1.a) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 064
# rc: 0
# format: Select( table=>"t1", fields => [ "max(a)" ] )
# result: SELECT max(a) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 065
# rc: 0
# format: Select( table=>"t1", fields => [ "substr(a,1,8)" ] )
# result: SELECT substr(a,1,8) FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 066
# rc: 0
# format: Select( table=>"t1", fields => [ "\aaa.bbb.ccc" ] )
# result: SELECT aaa.bbb.ccc FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 067
# rc: 0
# format: Select( table=>"t1", fields => [ "distinct","\aaa.bbb.ccc" ] )
# result: SELECT DISTINCT aaa.bbb.ccc FROM t1
# status: SUCCESSFUL
# ################################################################
# test: 070
# rc: 0
# format: Select( table=>["t1","t2"], fields => [ "t1.a","t2.b" ], where => [ 't1.a' => 't2.b' ], sql_save=>1 )
# note: SQL_SAVE enabled
# result: SELECT t1.a, t2.b FROM t1, t2 WHERE t1.a = t2.b
# savefile: /tmp/2023/202304/20230421/sql.teste.20230421.2538326.1
# savefile: removed
# 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,  1 wallclock secs ( 0.02 usr  0.01 sys +  0.22 cusr  0.06 csys =  0.31 CPU)
Result: PASS

------------------------------
PREREQUISITES
------------------------------

Prerequisite modules loaded:

requires:

    Module              Need Have    
    ------------------- ---- --------
    Date::Calc          0    6.4     
    DBI                 0    1.643   
    File::Path          0    2.16    
    File::Spec          0    3.78    
    IO::File            0    1.41    
    JSON                0    4.10    
    Sys::Syslog         0    0.36    

build_requires:

    Module              Need Have    
    ------------------- ---- --------
    DBD::SQLite         0    1.72    
    Test::More          0    1.302175

configure_requires:

    Module              Need Have    
    ------------------- ---- --------
    ExtUtils::MakeMaker 0    7.44    


------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------

Environment variables:

    LANG = C
    PATH = /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/cpansand/bin/linux-gnu:/home/cpansand/bin/sh:/home/cpansand/bin:/usr/games:/home/cpansand/devel:/home/eserte/src/srezic-misc/scripts
    PERL5LIB = /home/cpansand/.cpan/build/2023042123/JSON-4.10-0/blib/arch:/home/cpansand/.cpan/build/2023042123/JSON-4.10-0/blib/lib:/home/cpansand/.cpan/build/2023042123/Date-Calc-6.4-0/blib/arch:/home/cpansand/.cpan/build/2023042123/Date-Calc-6.4-0/blib/lib:/home/cpansand/.cpan/build/2023042123/Bit-Vector-7.4-0/blib/arch:/home/cpansand/.cpan/build/2023042123/Bit-Vector-7.4-0/blib/lib:/home/cpansand/.cpan/build/2023042123/Carp-Clan-6.08-0/blib/arch:/home/cpansand/.cpan/build/2023042123/Carp-Clan-6.08-0/blib/lib:/home/cpansand/.cpan/build/2023042123/DBD-SQLite-1.72-0/blib/arch:/home/cpansand/.cpan/build/2023042123/DBD-SQLite-1.72-0/blib/lib:/home/cpansand/.cpan/build/2023042123/DBI-1.643-0/blib/arch:/home/cpansand/.cpan/build/2023042123/DBI-1.643-0/blib/lib
    PERL5OPT = 
    PERL5_CPANPLUS_IS_RUNNING = 2536459
    PERL5_CPAN_IS_RUNNING = 2536459
    PERL5_CPAN_IS_RUNNING_IN_RECURSION = 2359296,2536459
    PERLDOC = -MPod::Perldoc::ToTextOverstrike
    PERL_BATCH = yes
    PERL_CANARY_STABILITY_NOPROMPT = 1
    PERL_CPAN_REPORTER_CONFIG = /var/tmp/cpansmoker-1023/2023042117/cpanreporter_000_config.ini
    PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
    PERL_USE_UNSAFE_INC = 1
    SHELL = /usr/bin/zsh
    TERM = screen
    TMPDIR = /var/tmp/cpansmoker-1023/2023042117

Perl special variables (and OS-specific diagnostics, for MSWin32):

    $^X = /bbbike/perl-5.32.1/bin/perl
    $UID/$EUID = 1023 / 1023
    $GID = 1023 1023
    $EGID = 1023 1023

Perl module toolchain versions installed:

    Module              Have    
    ------------------- --------
    CPAN                2.27    
    CPAN::Meta          2.150010
    Cwd                 3.78    
    ExtUtils::CBuilder  0.280234
    ExtUtils::Command   7.44    
    ExtUtils::Install   2.14    
    ExtUtils::MakeMaker 7.44    
    ExtUtils::Manifest  1.72    
    ExtUtils::ParseXS   3.40    
    File::Spec          3.78    
    JSON                4.10    
    JSON::PP            4.04    
    Module::Build       n/a     
    Module::Signature   n/a     
    Parse::CPAN::Meta   2.150010
    Test::Harness       3.42    
    Test::More          1.302175
    YAML                1.30    
    YAML::Syck          1.34    
    version             0.9924  


--

Summary of my perl5 (revision 5 version 32 subversion 1) configuration:
   
  Platform:
    osname=linux
    osvers=5.10.0-13-amd64
    archname=x86_64-linux
    uname='linux eserte 5.10.0-13-amd64 #1 smp debian 5.10.106-1 (2022-03-17) x86_64 gnulinux '
    config_args='-ds -e -Dprefix=/opt/perl-5.32.1 -Dcf_email=srezic@cpan.org'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=undef
    usemultiplicity=undef
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    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
    libs=-lpthread -lnsl -lgdbm -ldb -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_MALLOC_WRAP
    PERL_OP_PARENT
    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
  Built under linux
  Compiled at May 17 2022 17:22:49
  %ENV:
    PERL5LIB="/home/cpansand/.cpan/build/2023042123/JSON-4.10-0/blib/arch:/home/cpansand/.cpan/build/2023042123/JSON-4.10-0/blib/lib:/home/cpansand/.cpan/build/2023042123/Date-Calc-6.4-0/blib/arch:/home/cpansand/.cpan/build/2023042123/Date-Calc-6.4-0/blib/lib:/home/cpansand/.cpan/build/2023042123/Bit-Vector-7.4-0/blib/arch:/home/cpansand/.cpan/build/2023042123/Bit-Vector-7.4-0/blib/lib:/home/cpansand/.cpan/build/2023042123/Carp-Clan-6.08-0/blib/arch:/home/cpansand/.cpan/build/2023042123/Carp-Clan-6.08-0/blib/lib:/home/cpansand/.cpan/build/2023042123/DBD-SQLite-1.72-0/blib/arch:/home/cpansand/.cpan/build/2023042123/DBD-SQLite-1.72-0/blib/lib:/home/cpansand/.cpan/build/2023042123/DBI-1.643-0/blib/arch:/home/cpansand/.cpan/build/2023042123/DBI-1.643-0/blib/lib"
    PERL5OPT=""
    PERL5_CPANPLUS_IS_RUNNING="2536459"
    PERL5_CPAN_IS_RUNNING="2536459"
    PERL5_CPAN_IS_RUNNING_IN_RECURSION="2359296,2536459"
    PERLDOC="-MPod::Perldoc::ToTextOverstrike"
    PERL_BATCH="yes"
    PERL_CANARY_STABILITY_NOPROMPT="1"
    PERL_CPAN_REPORTER_CONFIG="/var/tmp/cpansmoker-1023/2023042117/cpanreporter_000_config.ini"
    PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
    PERL_USE_UNSAFE_INC="1"
  @INC:
    /home/cpansand/.cpan/build/2023042123/JSON-4.10-0/blib/arch
    /home/cpansand/.cpan/build/2023042123/JSON-4.10-0/blib/lib
    /home/cpansand/.cpan/build/2023042123/Date-Calc-6.4-0/blib/arch
    /home/cpansand/.cpan/build/2023042123/Date-Calc-6.4-0/blib/lib
    /home/cpansand/.cpan/build/2023042123/Bit-Vector-7.4-0/blib/arch
    /home/cpansand/.cpan/build/2023042123/Bit-Vector-7.4-0/blib/lib
    /home/cpansand/.cpan/build/2023042123/Carp-Clan-6.08-0/blib/arch
    /home/cpansand/.cpan/build/2023042123/Carp-Clan-6.08-0/blib/lib
    /home/cpansand/.cpan/build/2023042123/DBD-SQLite-1.72-0/blib/arch
    /home/cpansand/.cpan/build/2023042123/DBD-SQLite-1.72-0/blib/lib
    /home/cpansand/.cpan/build/2023042123/DBI-1.643-0/blib/arch
    /home/cpansand/.cpan/build/2023042123/DBI-1.643-0/blib/lib
    /opt/perl-5.32.1/lib/site_perl/5.32.1/x86_64-linux
    /opt/perl-5.32.1/lib/site_perl/5.32.1
    /opt/perl-5.32.1/lib/5.32.1/x86_64-linux
    /opt/perl-5.32.1/lib/5.32.1
    .