SQL-SimpleOps v2023.362.1 Perl 5 v5.32.0 i386-freebsd-thread-multi-64int

Status
Pass
From
Chris Williams (BINGOS)
Dist
SQL-SimpleOps v2023.362.1
Platform
Perl 5 v5.32.0 i386-freebsd-thread-multi-64int
Date
2024-01-02 09:49:03
ID
297d9b7a-a954-11ee-98b0-b3c3213a625c
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 CCELSO,

This is a computer-generated error report created automatically by
CPANPLUS, version 0.9914. Testers personal comments may appear
at the end of this report.


Thank you for uploading your work to CPAN.  Congratulations!
All tests were successful.

TEST RESULTS:

Below is the error stack from stage 'make test':

PERL_DL_NONLAZY=1 "/usr/home/cpan/pit/rel/perl-5.32.0/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 text README before doing any test
t/testDB.t ..... ok
t/testFirst.t .. ok
# STAGE1 - STAGE1 - STAGE1
# ################################################################
# test-S0700-1: Delete( table => "tab_noalias", force => 1 )
# returns.: DELETE FROM tab_noalias
# status..: SUCCESSFUL
# ################################################################
# test-S0701-1: Delete( table => "tab_alias1", force => 1 )
# returns.: DELETE FROM tab_real1
# status..: SUCCESSFUL
# ################################################################
# test-S0702-1: Delete( table => "tab_real1", force => 1 )
# returns.: DELETE FROM tab_real1
# status..: SUCCESSFUL
# ################################################################
# test-S0710-1: Delete( table => "tab_alias1", force => 1 )
# returns.: DELETE FROM tab_noalias1
# status..: SUCCESSFUL
# ################################################################
# test-S0711-1: Delete( table => "tab_alias1", force => 1 )
# returns.: DELETE FROM tab_real1
# status..: SUCCESSFUL
# ################################################################
# test-S0600-1: Insert( table => "tab_noalias", fields => { "fld_alias1" => "value1" } )
# returns.: INSERT INTO tab_noalias (fld_alias1) VALUES ('value1')
# status..: SUCCESSFUL
# ################################################################
# test-S0601-1: Insert( table => "tab_noalias", fields => [ "fld_alias1" ], values => [ "value1" ]
# returns.: INSERT INTO tab_noalias (fld_alias1) VALUES ('value1')
# status..: SUCCESSFUL
# ################################################################
# test-S0602-1: Insert( table => "tab_noalias", fields => { "fld_alias1" => "value1", "fld_alias2" => "value2" } )
# returns.: INSERT INTO tab_noalias (fld_alias1,fld_alias2) VALUES ('value1','value2')
# status..: SUCCESSFUL
# ################################################################
# test-S0603-1: Insert( table => "tab_noalias", fields => [ "fld_alias1","fld_alias2" ], values => [ "value1","value2" ] )
# returns.: INSERT INTO tab_noalias (fld_alias1,fld_alias2) VALUES ('value1','value2')
# status..: SUCCESSFUL
# ################################################################
# test-S0604-1: Insert( table => "tab_noalias", fields => [ "fld_alias1" ], values => [ "value1","value2" ] )
# returns.: INSERT INTO tab_noalias (fld_alias1) VALUES ('value1'),('value2')
# status..: SUCCESSFUL
# ################################################################
# test-S0605-1: Insert( table => "tab_noalias", fields => [ "tab_noalias.fld_alias1" ], values => [ "value1" ] )
# returns.: INSERT INTO tab_noalias (fld_alias1) VALUES ('value1')
# status..: SUCCESSFUL
# ################################################################
# test-S0607-1: Insert( table => "tab_noalias", fields => [ "bad_table.fld_alias1" ], values => [ "value1" ] )
# returns.: INSERT INTO tab_noalias (bad_table.fld_alias1) VALUES ('value1')
# status..: SUCCESSFUL
# ################################################################
# test-S0608-1: Insert( table => "tab_alias1", fields => { "fld_alias1" => "value1" } )
# returns.: INSERT INTO tab_real1 (fld_real1) VALUES ('value1')
# status..: SUCCESSFUL
# ################################################################
# test-S0609-1: Insert( table => "tab_real1", fields => { "fld_alias1" => "value1" } )
# returns.: INSERT INTO tab_real1 (fld_real1) VALUES ('value1')
# status..: SUCCESSFUL
# ################################################################
# test-S0610-1: Insert( table => "tab_alias1", fields => { "tab_alias1.fld_alias1" => "value1" } )
# returns.: INSERT INTO tab_real1 (fld_real1) VALUES ('value1')
# status..: SUCCESSFUL
# ################################################################
# test-S0611-1: Insert( table => "tab_real1", fields => { "tab_real1.fld_alias1" => "value1" } )
# returns.: INSERT INTO tab_real1 (fld_real1) VALUES ('value1')
# status..: SUCCESSFUL
# ################################################################
# test-S0612-1: Insert( table => "tab_alias1", fields => { "tab_alias1.fld_real1" => "value1" } )
# returns.: INSERT INTO tab_real1 (fld_real1) VALUES ('value1')
# status..: SUCCESSFUL
# ################################################################
# test-S0613-1: Insert( table => "tab_real1", fields => { "tab_real1.fld_alias1" => "value1" } )
# returns.: INSERT INTO tab_real1 (fld_real1) VALUES ('value1')
# status..: SUCCESSFUL
# ################################################################
# test-S0800-1: Update( table => "tab_noalias", fields => { "fld_alias1" => "value1" }, force => 1
# returns.: UPDATE tab_noalias SET fld_alias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0802-1: Update( table => "tab_noalias", fields => { "fld_alias1" => "value1", "fld_alias2" => "value2" }, force => 1 )
# returns.: UPDATE tab_noalias SET fld_alias1 = 'value1', fld_alias2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S0803-1: Update( table => "tab_alias1", fields => { "fld_alias1" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0804-1: Update( table => "tab_real1", fields => { "fld_alias1" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0805-1: Update( table => "tab_alias1", fields => { "fld_alias1" => "value1", "fld_alias2" => "value2", }, force => 1 )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value1', fld_real2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S0806-1: Update( table => "tab_real1", fields => { "fld_alias1" => "value1", "fld_alias2" => "value2", }, force => 1 )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value1', fld_real2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S0810-1: Update( table => "tab_alias1", fields => { "fld_noalias1" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 SET fld_noalias = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0811-1: Update( table => "tab_real1", fields => { "fld_noalias1" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 SET fld_noalias = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0812-1: Update( table => "tab_noalias", fields => { "tab_noalias.fld_alias1" => "value1" }, force => 1 )
# returns.: UPDATE tab_noalias SET fld_alias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0813-1: Update( table => "tab_noalias", fields => { "tab_noalias.fld_alias1" => "value1", "tab_noalias.fld_alias2" => "value2" }, force => 1 )
# returns.: UPDATE tab_noalias SET fld_alias1 = 'value1', fld_alias2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S0814-1: Update( table => "tab_alias1", fields => { "tab_alias1.fld_alias1" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0815-1: Update( table => "tab_real1", fields => { "tab_real1.fld_alias1" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0816-1: Update( table => "tab_alias1", fields => { "tab_alias1.fld_noalias" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 SET fld_noalias = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0817-1: Update( table => "tab_real1", fields => { "tab_real1.fld_noalias" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 SET fld_noalias = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0818-1: Update( table => "tab_alias1", fields => { "bad_alias1.fld_alias1" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 tab_alias1 SET bad_alias1.fld_alias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0819-1: Update( table => "tab_real1", fields => { "bad_alias1.fld_alias1" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 tab_alias1 SET bad_alias1.fld_alias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0820-1: Update( table => ["tab_noalias1","tab_noalias2"], fields => { "tab_noalias1.fld_alias1" => "value1", "tab_noalias2.fld_alias2" => "value2", }, force => 1 )
# returns.: UPDATE tab_noalias1, tab_noalias2 SET tab_noalias1.fld_alias1 = 'value1', tab_noalias2.fld_alias2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S0821-1: Update( table => ["tab_alias1","tab_noalias2"], fields => { "bad_alias1.fld_alias1" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 tab_alias1, tab_noalias2 SET bad_alias1.fld_alias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0822-1: Update( table => ["tab_alias1","tab_alias2"], fields => { "tab_alias1.fld_alias1" => "value1", "tab_real2.fld_alias2" => "value2" }, force => 1 )
# returns.: UPDATE tab_real1 tab_alias1, tab_real2 tab_alias2 SET tab_alias1.fld_real1 = 'value1', tab_alias2.fld_real2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S0823-1: Update( table => ["tab_alias1","tab_real2"], fields => { "tab_alias1.fld_alias1" => "value1", "tab_alias2.fld_alias2" => "value2" }, force => 1 )
# returns.: UPDATE tab_real1 tab_alias1, tab_real2 tab_alias2 SET tab_alias1.fld_real1 = 'value1', tab_alias2.fld_real2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S0824-1: Update( table => ["tab_alias1","tab_alias2"], fields => { "tab_alias1.fld_alias1" => "value1", "tab_real2.fld_alias2" => "value2" }, force => 1 )
# returns.: UPDATE tab_real1 tab_alias1, tab_real2 tab_alias2 SET tab_alias1.fld_real1 = 'value1', tab_alias2.fld_noalias = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S0825-1: Update( table => ["tab_alias1","tab_real2"], fields => { "tab_alias1.fld_alias1" => "value1", "tab_alias2.fld_alias2" => "value2" }, force => 1 )
# returns.: UPDATE tab_real1 tab_alias1, tab_real2 tab_alias2 SET tab_alias1.fld_real1 = 'value1', tab_alias2.fld_noalias = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S0826-1: Update( table => ["tab_alias1","tab_real2"], fields => { "bad_alias.fld_alias1" => "value1" }, force => 1 )
# returns.: UPDATE tab_real1 tab_alias1, tab_real2 tab_alias2 SET bad_alias.fld_alias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S0827-1: Update( table => ["tab_alias1","tab_real2"], fields => { "bad_alias.fld_alias1" => "value1", "tab_alias1.fld_alias1" => "value2" }, force => 1 )
# returns.: UPDATE tab_real1 tab_alias1, tab_real2 tab_alias2 SET bad_alias.fld_alias1 = 'value1', tab_alias1.fld_real1 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S0900-1: Select( table => "tab_noalias", fields => "fld_alias1" )
# returns.: SELECT fld_alias1 FROM tab_noalias
# status..: SUCCESSFUL
# ################################################################
# test-S0901-1: Select( table => "tab_noalias", fields => [ "fld_alias1" ] )
# returns.: SELECT fld_alias1 FROM tab_noalias
# status..: SUCCESSFUL
# ################################################################
# test-S0902-1: Select( table => "tab_alias1", fields => "fld_alias1" )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0903-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0904-1: Select( table => "tab_alias1", fields => "fld_alias1" )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0905-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0906-1: Select( table => "tab_alias1", fields => [ "fld_real1" ] )
# returns.: SELECT fld_real1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0907-1: Select( table => "tab_real1", fields => [ "fld_real1" ] )
# returns.: SELECT fld_real1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0908-1: Select( table => "tab_alias1", fields => [ "fld_noalias" ] )
# returns.: SELECT fld_noalias FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0909-1: Select( table => "tab_real1", fields => [ "fld_noalias" ] )
# returns.: SELECT fld_noalias FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0910-1: Select( table => "tab_noalias", fields => "tab_noalias.fld_alias1" )
# returns.: SELECT tab_noalias.fld_alias1 FROM tab_noalias
# status..: SUCCESSFUL
# ################################################################
# test-S0911-1: Select( table => "tab_alias1", fields => [ "tab_alias1.fld_alias1" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0912-1: Select( table => "tab_alias1", fields => [ "tab_real1.fld_alias1" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0913-1: Select( table => "tab_real1", fields => [ "tab_alias1.fld_alias1" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0914-1: Select( table => "tab_real1", fields => [ "tab_real1.fld_alias1" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S0915-1: Select( table => "tab_real1", fields => [ "bad_alias1.fld_alias1" ] )
# msg.....: 010E [select] Field 'bad_alias1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S0916-1: Select( table => "tab_real1", fields => [ "bad_real1.fld_alias1" ] )
# msg.....: 010E [select] Field 'bad_real1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S0917-1: Select( table => "tab_noalias", fields => [ "bad_alias1.fld_alias1" ] )
# msg.....: 010E [select] Field 'bad_alias1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S0918-1: Select( table => "tab_noalias", fields => [ "bad_real1.fld_alias1" ] )
# msg.....: 010E [select] Field 'bad_real1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S0919-1: Select( table => ["tab_noalias1","tab_noalias2"], fields => "fld_alias1"
# returns.: SELECT fld_alias1 FROM tab_noalias1, tab_noalias2
# status..: SUCCESSFUL
# ################################################################
# test-S0920-1: Select( table => ["tab_noalias1","tab_noalias2"], fields => [ "fld_alias1" ] )
# returns.: SELECT fld_alias1 FROM tab_noalias1, tab_noalias2
# status..: SUCCESSFUL
# ################################################################
# test-S0921-1: Select( table => ["tab_alias1","tab_alias2"], fields => "fld_alias1" )
# note....: The fld_alias1 defined in both tables, cannot translate, use: [table].[field]
# returns.: SELECT fld_alias1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S0922-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "fld_real1" ] )
# returns.: SELECT fld_real1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S0923-1: Select( table => ["tab_real1","tab_real2"], fields => "fld_alias1" )
# note....: The fld_alias1 defined in both tables, cannot translate, use: [table].[field]
# returns.: SELECT fld_alias1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S0924-1: Select( table => ["tab_real1","tab_real2"], fields => [ "fld_real1" ] )
# returns.: SELECT fld_real1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S0925-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "fld_noalias" ] )
# returns.: SELECT fld_noalias FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S0926-1: Select( table => "tab_real1", fields => [ "fld_noalias" ] )
# returns.: SELECT fld_noalias FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S0927-1: Select( table => ["tab_noalias1","tab_noalias2"], fields => "tab_noalias.fld_alias1 )
# msg.....: 010E [select] Field 'tab_noalias.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S0928-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "tab_alias1.fld_alias1" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S0929-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "tab_real1.fld_alias1" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S0930-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "tab_alias1.fld_alias1" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S0931-1: Select( table => ["tab_real1","tab_real2"], fields => [ "tab_real1.fld_alias1" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S0932-1: Select( table => ["tab_real1","tab_real2"], fields => [ "bad_alias1.fld_alias1" ] )
# msg.....: 010E [select] Field 'bad_alias1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S0933-1: Select( table => ["tab_real1","tab_real2"], fields => [ "bad_real1.fld_alias1" ] )
# msg.....: 010E [select] Field 'bad_real1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S0934-1: Select( table => ["tab_noalias1","tab_noalias2"], fields => [ "bad_alias1.fld_alias1" ] )
# msg.....: 010E [select] Field 'bad_alias1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S0935-1: Select( table => ["tab_noalias1","tab_noalias2"], fields => [ "bad_real1.fld_alias1" ] )
# msg.....: 010E [select] Field 'bad_real1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S1000-1: Select( table => "tab_noalias", fields => [ {"fld_alias1"=>"my1"} ] )
# returns.: SELECT fld_alias1 my1 FROM tab_noalias
# status..: SUCCESSFUL
# ################################################################
# test-S1001-1: Select( table => "tab_alias1", fields => [ {"fld_alias1"=>"my1"} ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1002-1: Select( table => "tab_real1", fields => [ {"fld_alias1"=>"my1"} ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1003-1: Select( table => "tab_alias1", fields => [ {"fld_real1"=>"my1"} ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1004-1: Select( table => "tab_real1", fields => [ {"fld_real1"=>"my1"} ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1005-1: Select( table => "tab_alias1", fields => [ {"fld_noalias"=>"my1} ] )
# returns.: SELECT fld_noalias my1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1006-1: Select( table => "tab_real1", fields => [ {"fld_noalias"=>"my1"} ] )
# returns.: SELECT fld_noalias my1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1007-1: Select( table => "tab_alias1", fields => [ {"tab_alias1.fld_alias1"=>"my1"} ] )
# returns.: SELECT tab_alias1.fld_real1 my1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1008-1: Select( table => "tab_alias1", fields => [ {"tab_real1.fld_alias1"=>"my1"} ] )
# returns.: SELECT tab_alias1.fld_real1 my1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1009-1: Select( table => "tab_real1", fields => [ {"tab_alias1.fld_alias1"=>"my1"} ] )
# returns.: SELECT tab_alias1.fld_real1 my1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1010-1: Select( table => "tab_real1", fields => [ {"tab_real1.fld_alias1"=>"my1"} ] )
# returns.: SELECT tab_alias1.fld_real1 my1 FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1011-1: Select( table => "tab_real1", fields => [ {"bad_alias1.fld_alias1"=>"my1"} ] )
# msg.....: 010E [select] Field 'bad_alias1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S1012-1: Select( table => "tab_real1", fields => [ {"bad_real1.fld_alias1"=>"my1"} ] )
# msg.....: 010E [select] Field 'bad_real1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S1013-1: Select( table => "tab_noalias", fields => [ {"bad_alias1.fld_alias1"=>"my1"} ] )
# msg.....: 010E [select] Field 'bad_alias1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S1014-1: Select( table => "tab_noalias", fields => [ {"bad_real1.fld_alias1"=>"my1"} ] )
# msg.....: 010E [select] Field 'bad_real1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S1015-1: Select( table => ["tab_noalias1","tab_noalias2"], fields => [ {"fld_alias1"=>"my1"} ] )
# returns.: SELECT fld_alias1 my1 FROM tab_noalias1, tab_noalias2
# status..: SUCCESSFUL
# ################################################################
# test-S1016-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"fld_real1"=>"my1"} ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S1017-1: Select( table => ["tab_real1","tab_real2"], fields => [ {"fld_real1"=>"my1"} ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S1018-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"fld_noalias"=>"my1"} ] )
# returns.: SELECT fld_noalias my1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S1019-1: Select( table => "tab_real1", fields => [ {"fld_noalias"=>"my1"} ] )
# returns.: SELECT fld_noalias my1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S1020-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_alias1.fld_alias1"=>"my1"} ] )
# returns.: SELECT tab_alias1.fld_real1 my1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S1021-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_real1.fld_alias1"=>"my1"} ] )
# returns.: SELECT tab_alias1.fld_real1 my1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S1022-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_alias1.fld_alias1"=>"my1"} ] )
# returns.: SELECT tab_alias1.fld_real1 my1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S1023-1: Select( table => ["tab_real1","tab_real2"], fields => [ {"tab_real1.fld_alias1"=>"my1"} ] )
# returns.: SELECT tab_alias1.fld_real1 my1 FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S1024-1: Select( table => ["tab_real1","tab_real2"], fields => [ {"bad_alias1.fld_alias1"=>"my1"} ] )
# msg.....: 010E [select] Field 'bad_alias1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S1025-1: Select( table => ["tab_real1","tab_real2"], fields => [ {"bad_real1.fld_alias1"=>"my1"} ] )
# msg.....: 010E [select] Field 'bad_real1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S1026-1: Select( table => ["tab_noalias1","tab_noalias2"], fields => [ {"bad_alias1.fld_alias1"=>"my1"} ] )
# msg.....: 010E [select] Field 'bad_alias1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S1027-1: Select( table => ["tab_noalias1","tab_noalias2"], fields => [ {"bad_real1.fld_alias1"=>"my1"} ] )
# msg.....: 010E [select] Field 'bad_real1.fld_alias1' not mapped in table list
# note....: *** no SQL command returns -- invalid arguments ***
# status..: SUCCESSFUL
# ################################################################
# test-S1028-1: Select( table => "tab_noalias1" )
# returns.: SELECT * FROM tab_noalias1
# status..: SUCCESSFUL
# ################################################################
# test-S1029-1: Select( table => "tab_alias1" )
# returns.: SELECT fld_real1 fld_alias1, fld_real2 fld_alias2, fld_realX fld_aliasX FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1030-1: Select( table => "tab_real1" )
# returns.: SELECT fld_real1 fld_alias1, fld_real2 fld_alias2, fld_realX fld_aliasX FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1031-1: Select( table => "tab_alias1", fields => "*" )
# returns.: SELECT * FROM tab_real1 tab_alias1
# status..: SUCCESSFUL
# ################################################################
# test-S1032-1: Select( table => ["tab_alias1","tab_alias2"], fields => "*" )
# returns.: SELECT * FROM tab_real1 tab_alias1, tab_real2 tab_alias2
# status..: SUCCESSFUL
# ################################################################
# test-S1032-1: Select( table => ["tab_alias1","tab_noalias"], fields => "*" )
# returns.: SELECT * FROM tab_real1 tab_alias1, tab_noalias
# status..: SUCCESSFUL
# ################################################################
# test-S1033-1: Select( table => ["tab_noalias1","tab_noalias2"] )
# returns.: SELECT * FROM tab_noalias1, tab_noalias2
# status..: SUCCESSFUL
# ################################################################
# test-S1400-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], group_by => [ "fld_alias1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 GROUP BY fld_real1
# status..: SUCCESSFUL
# ################################################################
# test-S1401-1: Select( table => "tab_alias1", fields => [ "fld_real1" ], group_by => [ "fld_real1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 GROUP BY fld_real1
# status..: SUCCESSFUL
# ################################################################
# test-S1402-1: Select( table => "tab_alias1", fields => [ "fld_real1" ], group_by => [ "fld_noalias" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 GROUP BY fld_noalias
# status..: SUCCESSFUL
# ################################################################
# test-S1403-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], group_by => [ "fld_alias1","fld_alias2" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 GROUP BY fld_real1, fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1404-1: Select( table => "tab_alias1", fields => [ "fld_real1" ], group_by => [ "fld_real1","fld_real2" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 GROUP BY fld_real1, fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1405-1: Select( table => "tab_alias1", fields => [ "fld_real1" ], group_by => [ "fld_noalias1","fld_noalias2" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 GROUP BY fld_noalias1, fld_noalias2
# status..: SUCCESSFUL
# ################################################################
# test-S1406-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], group_by => [ "tab_alias1.fld_alias1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 GROUP BY tab_alias1.fld_real1
# status..: SUCCESSFUL
# ################################################################
# test-S1407-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], group_by => [ "tab_alias1.fld_real1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 GROUP BY tab_alias1.fld_real1
# status..: SUCCESSFUL
# ################################################################
# test-S1408-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], group_by => [ "tab_real1.fld_alias1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 GROUP BY tab_alias1.fld_real1
# status..: SUCCESSFUL
# ################################################################
# test-S1409-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], group_by => [ "tab_real1.fld_real1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 GROUP BY tab_alias1.fld_real1
# status..: SUCCESSFUL
# ################################################################
# test-S1410-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], group_by => [ "tab_real1.fld_noalias1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 GROUP BY tab_alias1.fld_noalias1
# status..: SUCCESSFUL
# ################################################################
# test-S1411-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "fld_alias1","fld_alias2" ], group_by => [ "tab_real1.fld_alias1","tab_real2.fld_alias2" ] )
# note....: The fld_alias1 & fld_alias2 defined in both tables, cannot translate, use: [table].[field]
# returns.: SELECT fld_alias1, fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 GROUP BY tab_alias1.fld_real1, tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1412-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "fld_alias1","fld_alias2" ], group_by => [ "tab_real1.fld_real1","tab_real2.fld_real2" ] )
# note....: The fld_alias1 & fld_alias2 defined in both tables, cannot translate, use: [table].[field]
# returns.: SELECT fld_alias1, fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 GROUP BY tab_alias1.fld_real1, tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1413-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "fld_alias1","fld_alias2" ], group_by => [ "tab_real1.fld_noalias1","tab_real2.fld_noalias2" ] )
# note....: The fld_alias1 & fld_alias2 defined in both tables, cannot translate, use: [table].[field]
# returns.: SELECT fld_alias1, fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 GROUP BY tab_alias1.fld_noalias1, tab_alias2.fld_noalias2
# status..: SUCCESSFUL
# ################################################################
# test-S1414-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"fld_alias1"=>"my1"},{"fld_alias2"->"my2"} ], group_by => [ "tab_alias1.my1","tab_alias1.my2" ] )
# warning.: translate the table name 'tab_real1' but 'my2' is not assigned in same table -- DOT NOT USE
# returns.: SELECT fld_alias1 my1, fld_alias2 my2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 GROUP BY tab_alias1.my1, tab_alias1.my2
# status..: SUCCESSFUL
# ################################################################
# test-S1500-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"fld_alias1"=>"asc"} ] )
# note....: lower case is supported
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY fld_real1 ASC
# status..: SUCCESSFUL
# ################################################################
# test-S1501-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"fld_alias1"=>"ASC"} ] )
# note....: upper case is supported
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY fld_real1 ASC
# status..: SUCCESSFUL
# ################################################################
# test-S1502-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"fld_alias1"=>"AsC"} ] )
# note....: mixed case is supported
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY fld_real1 ASC
# status..: SUCCESSFUL
# ################################################################
# test-S1503-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"fld_real1"=>"asc"} ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY fld_real1 ASC
# status..: SUCCESSFUL
# ################################################################
# test-S1504-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"fld_noalias1"=>"asc"} ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY fld_noalias1 ASC
# status..: SUCCESSFUL
# ################################################################
# test-S1505-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"fld_alias1"=>"desc"} ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY fld_real1 DESC
# status..: SUCCESSFUL
# ################################################################
# test-S1506-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"tab_alias1.fld_real1"=>"asc"} ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY tab_alias1.fld_real1 ASC
# status..: SUCCESSFUL
# ################################################################
# test-S1507-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"tab_real1.fld_real1"=>"desc"} ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY tab_alias1.fld_real1 DESC
# status..: SUCCESSFUL
# ################################################################
# test-S1508-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"tab_alias1.fld_real1"=>"desc"} ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY tab_alias1.fld_real1 DESC
# status..: SUCCESSFUL
# ################################################################
# test-S1509-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"tab_real1.fld_alias1"=>"desc"} ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY tab_alias1.fld_real1 DESC
# status..: SUCCESSFUL
# ################################################################
# test-S1510-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"tab_noalias.fld_noalias1"=>"asc"} ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY tab_noalias.fld_noalias1 ASC
# status..: SUCCESSFUL
# ################################################################
# test-S1511-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"tab_noalias.fld_alias1"=>"asc"} ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY tab_noalias.fld_alias1 ASC
# status..: SUCCESSFUL
# ################################################################
# test-S1512-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], order_by => [ {"tab_noalias.fld_real1"=>"asc"} ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 ORDER BY tab_noalias.fld_real1 ASC
# status..: SUCCESSFUL
# ################################################################
# test-S1513-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "tab_alias1.fld_alias1","tab_alias2.fld_alias2" ], order_by => [ {"tab_alias1.fld_alias1"=>"asc"},{"tab_alias2.fld_alias2"=>"asc"} ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1, tab_alias2.fld_real2 fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 ORDER BY tab_alias1.fld_real1 ASC, tab_alias2.fld_real2 ASC
# status..: SUCCESSFUL
# ################################################################
# test-S1514-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "tab_alias1.fld_alias1","tab_alias2.fld_alias2" ], order_by => [ {"tab_real1.fld_alias1"=>"asc"},{"tab_real2.fld_alias2"=>"asc"} ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1, tab_alias2.fld_real2 fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 ORDER BY tab_alias1.fld_real1 ASC, tab_alias2.fld_real2 ASC
# status..: SUCCESSFUL
# ################################################################
# test-S1515-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "tab_alias1.fld_alias1","tab_alias2.fld_alias2" ], order_by => [ "tab_real1.fld_alias1","tab_real2.fld_alias2" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1, tab_alias2.fld_real2 fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 ORDER BY tab_alias1.fld_real1, tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1516-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "tab_alias1.fld_alias1","tab_alias2.fld_alias2" ], order_by => "tab_real1.fld_alias1" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1, tab_alias2.fld_real2 fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 ORDER BY tab_alias1.fld_real1
# status..: SUCCESSFUL
# ################################################################
# test-S1517-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "tab_alias1.fld_alias1","tab_alias2.fld_alias2" ], order_by => {"tab_real1.fld_alias1"=>"desc"} )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1, tab_alias2.fld_real2 fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 ORDER BY tab_alias1.fld_real1 DESC
# status..: SUCCESSFUL
# ################################################################
# test-S0270-1: 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)
# returns.: SELECT a, b, c FROM t1 WHERE a > '100' ORDER BY a ASC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0280-1: 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)
# returns.: SELECT a, b, c FROM t1 WHERE a < '101' ORDER BY a DESC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0290-1: 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)
# returns.: SELECT a, b, c FROM t1 WHERE a >= '1' ORDER BY a ASC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0300-1: 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)
# returns.: SELECT a, b, c FROM t1 ORDER BY a DESC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0310-1: 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
# returns.: SELECT a, b, c FROM t1 ORDER BY a ASC
# status..: SUCCESSFUL
# ################################################################
# test-S0311-1: SelectCursor( table=>["t1","t2"], fields => [ "t1.a","t1.b","t2.c"], cursor_info => \%cursor, cursor_key=>["t1.a","t2.c"], limit=>100 )
# note....: Option cursor_command is omited, curso_info was ignored
# returns.: SELECT t1.a, t1.b, t2.c FROM t1, t2 ORDER BY t1.a ASC, t2.c ASC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0312-1: SelectCursor( table=>["t1","t2"], fields => [ "t1.a","t1.b","t2.c"], cursor_info => \%cursor, cursor_key=>["t1.a","t2.c"], limit=>100, cursor_command=>SQL_SIMPLE_CURSOR_TOP )
# note....: The cursor_info was ignored
# returns.: SELECT t1.a, t1.b, t2.c FROM t1, t2 ORDER BY t1.a ASC, t2.c ASC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0313-1: SelectCursor( table=>["t1","t2"], fields => [ "t1.a","t1.b","t2.c"], cursor_info => \%cursor, cursor_key=>["t1.a","t2.c"], limit=>100, cursor_command=>SQL_SIMPLE_CURSOR_NEXT )
# note....: 
# returns.: SELECT t1.a, t1.b, t2.c FROM t1, t2 WHERE (t1.a > 'a' OR (t1.a = 'a' AND t2.c > '100')) ORDER BY t1.a ASC, t2.c ASC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0314-1: SelectCursor( table=>["t1","t2"], fields => [ "t1.a","t1.b","t2.c"], cursor_info => \%cursor, cursor_key=>["t1.a","t2.c"], limit=>100, cursor_command=>SQL_SIMPLE_CURSOR_BACK 
# note....: 
# returns.: SELECT t1.a, t1.b, t2.c FROM t1, t2 WHERE (t1.a < 'a' OR (t1.a = 'a' AND t2.c < '1')) ORDER BY t1.a DESC, t2.c DESC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0315-1: SelectCursor( table=>["t1","t2"], fields => [ "t1.a","t1.b","t2.c"], cursor_info => \%cursor, cursor_key=>["t1.a","t2.c"], limit=>100, cursor_command=>SQL_SIMPLE_CURSOR_LAST )
# note....: 
# returns.: SELECT t1.a, t1.b, t2.c FROM t1, t2 ORDER BY t1.a DESC, t2.c DESC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0316-1: SelectCursor( table=>["t1","t2"], fields => [ "t1.a","t1.b","t2.c"], cursor_info => \%cursor, cursor_key=>["t1.a","t2.c"], limit=>100, cursor_command=>SQL_SIMPLE_CURSOR_RELOAD
# note....: 
# returns.: SELECT t1.a, t1.b, t2.c FROM t1, t2 WHERE (t1.a >= 'a' OR (t1.a = 'a' AND t2.c >= '1')) ORDER BY t1.a ASC, t2.c ASC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0317-1: SelectCursor( table=>["t1","t2"], fields => [ "t1.a","t1.b","t2.c"], where => ["t1.a" => "\t2.a"], cursor_info => \%cursor, cursor_key=>["t1.a","t2.c"], limit=>100 )
# note....: Cursor command is omitted, cursor_info was ignored
# returns.: SELECT t1.a, t1.b, t2.c FROM t1, t2 WHERE t1.a = t2.a ORDER BY t1.a ASC, t2.c ASC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0318-1: SelectCursor( table=>["t1","t2"], fields => [ "t1.a","t1.b","t2.c"], where => ["t1.a" => "\t2.a"], cursor_info => \%cursor, cursor_key=>["t1.a","t2.c"], cursor_command=>SQL_SIMPLE_CURSOR_RELOAD, limit=>100 )
# note....: 
# returns.: SELECT t1.a, t1.b, t2.c FROM t1, t2 WHERE t1.a = t2.a AND (t1.a >= 'a' OR (t1.a = 'a' AND t2.c >= '1')) ORDER BY t1.a ASC, t2.c ASC LIMIT 100
# status..: SUCCESSFUL
Reference found where even-sized list expected at t/testSQL.t line 2453.
# ################################################################
# test-S0330-1: 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
# returns.: SELECT a, b, c FROM t1 ORDER BY a ASC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0331-1: SelectCursor( table=>"t1", fields => [ "a","b","c"], cursor_info => \%cursor , cursor_key=>"a", limit=>100 )
# note....: Command=TOP, Cursor is empty
# returns.: SELECT a, b, c FROM t1 ORDER BY a ASC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0332-1: 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
# returns.: SELECT a, b, c FROM t1 ORDER BY a ASC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S0333-1: 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
# returns.: SELECT a, b, c FROM t1 ORDER BY a DESC LIMIT 100
# status..: SUCCESSFUL
# ################################################################
# test-S1600-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], where => [ "fld_alias1" => \$mymod->SelectSubQuery( table => "ta_alias2", fields => [ "fld_alias2" ], where => [ "fld_alias2" => "value2" ] ) } )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 WHERE fld_real1 IN (SELECT fld_real2 fld_alias2 FROM tab_real2 tab_alias2 WHERE fld_real2 = 'value2')
# status..: SUCCESSFUL
# ################################################################
# test-S1601-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], where => [ "fld_alias1" => [ "!", \$mymod->SelectSubQuery( table => "ta_alias2", fields => [ "fld_alias2" ], where => [ "fld_alias2" => "value2" ] ) ] } )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 WHERE fld_real1 NOT IN (SELECT fld_real2 fld_alias2 FROM tab_real2 tab_alias2 WHERE fld_real2 = 'value2')
# status..: SUCCESSFUL
# ################################################################
# test-S1603-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], where => [ "fld_alias1" => \$mymod->Select( table => "ta_alias2", fields => [ "fld_alias2" ], where => [ "fld_alias2" => "value2" ], subquery => 1 ) } )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 WHERE fld_real1 IN (SELECT fld_real2 fld_alias2 FROM tab_real2 tab_alias2 WHERE fld_real2 = 'value2')
# status..: SUCCESSFUL
# ################################################################
# test-S1604-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], where => [ "fld_alias1" => [ "!", \$mymod->SelectSubQuery( table => "ta_alias2", fields => [ "fld_alias2" ], where => [ "fld_alias2" => "value2" ] ) ] } )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 WHERE fld_real1 NOT IN (SELECT fld_real2 fld_alias2 FROM tab_real2 tab_alias2 WHERE fld_real2 = 'value2')
# status..: SUCCESSFUL
# ################################################################
# test-S1605-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], where => [ "fld_alias1" => [ \$mymod->Select( table => "tab_alias2", fields => [ "fld_alias2" ], where => [ "fld_alias2" => "value2" ], subquery => 1 ), "..", \$mymod->Select( table => "tab_alias2", fields => [ "fld_alias2" ], where => [ "fld_alias2" => "value3" ], subquery => 1,), ], "fld_noalias1" => "value1" ] )
# note....: The option 'subquery=1' is mandatory for Select option, the SQL command results is string as return
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 WHERE fld_real1 BETWEEN ((SELECT fld_real2 fld_alias2 FROM tab_real2 tab_alias2 WHERE fld_real2 = 'value2'),(SELECT fld_real2 fld_alias2 FROM tab_real2 tab_alias2 WHERE fld_real2 = 'value3')) AND fld_noalias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1100-1: Delete( table => "tab_noalias", where => [ "fld_alias1" => 1 ], make_only=>1 )
# returns.: DELETE FROM tab_noalias WHERE fld_alias1 = '1'
# status..: SUCCESSFUL
# ################################################################
# test-S1101-1: Delete( table => "tab_alias1", where => [ "fld_alias1" => "value1" ], make_only=>1 )
# returns.: DELETE FROM tab_real1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1102-1: Delete( table => "tab_real1", where => [ "fld_alias1" => "value1" ], make_only=>1 )
# returns.: DELETE FROM tab_real1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1103-1: Delete( table => "tab_alias1", where => [ "fld_noalias1" => 1 ], make_only=>1 )
# returns.: DELETE FROM tab_real1 WHERE fld_noalias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1104-1: Delete( table => "tab_alias1", where => [ "fld_real1" => 1 ], make_only=>1 )
# returns.: DELETE FROM tab_real1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1105-1: Delete( table => "tab_noalias", where => [ "tab_noalias.fld_alias1" => "value1" ], make_only=>1 )
# returns.: DELETE FROM tab_noalias WHERE fld_alias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1106-1: Delete( table => "tab_alias1", where => [ "tab_alias1.fld_alias1" => "value1" ], make_only=>1 )
# returns.: DELETE FROM tab_real1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1107-1: Delete( table => "tab_real1", where => [ "tab_alias1.fld_alias1" => "value1" ], make_only=>1 )
# returns.: DELETE FROM tab_real1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1108-1: Delete( table => "tab_real1", where => [ "tab_alias1.fld_alias1" => "xx'xx" ], make_only=>1 )
# returns.: DELETE FROM tab_real1 WHERE fld_real1 = 'xx\'xx'
# status..: SUCCESSFUL
# ################################################################
# test-S1200-1: Update( table => "tab_noalias", fields => { "fld_alias1" => "value2" }, where => [ "fld_alias1" => "value1" ], make_only=>1 )
# returns.: UPDATE tab_noalias SET fld_alias1 = 'value2' WHERE fld_alias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1201-1: Update( table => "tab_alias1", fields => { "fld_alias1" => "value2" }, where => [ "fld_alias1" => "value1" ] )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value2' WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1202-1: Update( table => "tab_real1", fields => { "fld_alias1" => "value2" }, where => [ "fld_alias1" => "value1" ] )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value2' WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1203-1: Update( table => "tab_alias1", fields => { "fld_alias1" => "value2" }, where => [ "fld_noalias1" => "value1" ] )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value2' WHERE fld_noalias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1204-1: Update( table => "tab_alias1", fields => { "fld_alias1" => "value2" }, where => [ "fld_real1" => 1 ], make_only=>1 )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value2' WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1205-1: Update( table => "tab_noalias", fields => { "fld_alias1" => "value2" }, where => [ "tab_noalias.fld_alias1" => "value1" ], make_only=>1 )
# returns.: UPDATE tab_noalias SET fld_alias1 = 'value2' WHERE fld_alias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1206-1: Update( table => "tab_alias1", fields => { "fld_alias1" => "value2" }, where => [ "tab_alias1.fld_alias1" => "value1" ], make_only=>1 )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value2' WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1207-1: Update( table => "tab_real1", fields => { "fld_alias1" => "value2" }, where => [ "tab_alias1.fld_alias1" => "value1" ], make_only=>1 )
# returns.: UPDATE tab_real1 SET fld_real1 = 'value2' WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1210-1: Update( table => ["tab_noalias1","tab_noalias2"], fields => { "tab_noalias1.fld_alias1" => "value2", "tab_noalias2.fld_alias2" => "value1" }, where => [ "tab_noalias1.fld_alias1" => "value1", "tab_noalias2.fld_alias2" => "value2" ] )
# returns.: UPDATE tab_noalias1, tab_noalias2 SET tab_noalias1.fld_alias1 = 'value2', tab_noalias2.fld_alias2 = 'value1' WHERE tab_noalias1.fld_alias1 = 'value1' AND tab_noalias2.fld_alias2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S1211-1: Update( table => ["tab_alias1","tab_alias2"], fields => { "tab_alias1.fld_alias1" => "value2", "tab_alias2.fld_alias2" => "value1" }, where => [ "tab_alias1.fld_alias1" => "value1", "tab_alias2.fld_alias2" => "value2" ] )
# returns.: UPDATE tab_real1 tab_alias1, tab_real2 tab_alias2 SET tab_alias1.fld_real1 = 'value2', tab_alias2.fld_real2 = 'value1' WHERE tab_alias1.fld_real1 = 'value1' AND tab_alias2.fld_real2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S1212-1: Update( table => ["tab_real1","tab_real2"], fields => { "tab_real1.fld_alias1" => "value2", "tab_real2.fld_alias2" => "value1" }, where => [ "tab_real1.fld_alias1" => "value1", "tab_real2.fld_alias2" => "value2" ] )
# returns.: UPDATE tab_real1 tab_alias1, tab_real2 tab_alias2 SET tab_alias1.fld_real1 = 'value2', tab_alias2.fld_real2 = 'value1' WHERE tab_alias1.fld_real1 = 'value1' AND tab_alias2.fld_real2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S1213-1: Update( table => "tab_real1", fields => { "tab_real1.fld_alias1" => undef }, where => [ "tab_real1.fld_alias1" => undef ]
# returns.: UPDATE tab_real1 SET fld_real1 = NULL WHERE fld_real1 IS NULL
# status..: SUCCESSFUL
# ################################################################
# test-S1214-1: Update( table => "tab_real1", fields => { "tab_real1.fld_alias1" => undef }, where => [ "tab_real1.fld_alias1" => [ "!", undef ] ]
# returns.: UPDATE tab_real1 SET fld_real1 = NULL WHERE fld_real1 NOT NULL
# status..: SUCCESSFUL
# ################################################################
# test-S1215-1: Update( table => "tab_real1", fields => { "tab_real1.fld_alias1" => 'xx\'xx' }, where => [ "tab_real1.fld_alias1" => 'yy\'yy' ]
# returns.: UPDATE tab_real1 SET fld_real1 = 'xx\'xx' WHERE fld_real1 = 'yy\'yy'
# status..: SUCCESSFUL
# ################################################################
# test-S1300-1: Select( table => "tab_noalias", where => [ "fld_alias1" => 1 ], make_only=>1 )
# returns.: SELECT * FROM tab_noalias WHERE fld_alias1 = '1'
# status..: SUCCESSFUL
# ################################################################
# test-S1301-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], where => [ "fld_alias1" => "value1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1302-1: Select( table => "tab_real1", fields => [ "fld_alias1" ], where => [ "fld_alias1" => "value1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1303-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], where => [ "fld_noalias1" => "value1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 WHERE fld_noalias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1304-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], where => [ "fld_real1" => "value1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1305-1: Select( table => "tab_noalias", fields => [ "fld_alias1" ], where => [ "tab_noalias.fld_alias1" => "value1" ] )
# returns.: SELECT fld_alias1 FROM tab_noalias WHERE fld_alias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1306-1: Select( table => "tab_alias1", fields => [ "fld_alias1" ], where => [ "tab_alias1.fld_alias1" => "value1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1307-1: Select( table => "tab_real1", fields => [ "fld_alias1" ], where => [ "tab_alias1.fld_alias1" => "value1" ] )
# returns.: SELECT fld_real1 fld_alias1 FROM tab_real1 tab_alias1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1310-1: Select( table => ["tab_noalias1","tab_noalias2"], fields => [ "tab_noalias1.fld_alias1", "tab_noalias2.fld_alias2" ], where => [ "tab_noalias1.fld_alias1" => "value1", "tab_noalias2.fld_alias2" => "value2" ] )
# returns.: SELECT tab_noalias1.fld_alias1, tab_noalias2.fld_alias2 FROM tab_noalias1, tab_noalias2 WHERE tab_noalias1.fld_alias1 = 'value1' AND tab_noalias2.fld_alias2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S1311-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ "tab_alias1.fld_alias1", "tab_alias2.fld_alias2" ], where => [ "tab_alias1.fld_alias1" => "value1", "tab_alias2.fld_alias2" => "value2" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1, tab_alias2.fld_real2 fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = 'value1' AND tab_alias2.fld_real2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S1312-1: Select( table => ["tab_real1","tab_real2"], fields => [ "tab_real1.fld_alias1", "tab_real2.fld_alias2" ], where => [ "tab_real1.fld_alias1" => "value1", "tab_real2.fld_alias2" => "value2" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1, tab_alias2.fld_real2 fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = 'value1' AND tab_alias2.fld_real2 = 'value2'
# status..: SUCCESSFUL
# ################################################################
# test-S1313-1: Select( table => ["tab_alias1","tab_alias1"], fields => [ "tab_real1.fld_alias1", "tab_real2.fld_alias2" ], where => [ "tab_alias1.fld_alias1" => "\tab_alias2.fld_alias2" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1, tab_alias2.fld_real2 fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1314-1: Select( table => ["tab_alias1","tab_alias1"], fields => [ "tab_real1.fld_alias1", "tab_real2.fld_alias2" ], where => [ "tab_alias1.fld_alias1" => "\tab_alias2.fld_alias2" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1, tab_alias2.fld_real2 fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1315-1: Select( table => ["tab_alias1","tab_alias1"], fields => [ "tab_alias1.fld_alias1", "tab_alias2.fld_alias2" ], where => [ "tab_real1.fld_alias1" => "tab_real1.fld_alias2" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1, tab_alias2.fld_real2 fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1316-1: Select( table => ["tab_alias1","tab_alias1"], fields => [ "tab_alias1.fld_alias1", "tab_alias2.fld_alias2" ], where => [ "tab_real1.fld_real1" => "\tab_real1.fld_real2" ] )
# returns.: SELECT tab_alias1.fld_real1 fld_alias1, tab_alias2.fld_real2 fld_alias2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1320-1: Select( table => "tab_alias1", fields => [ {"fld_alias1"=>"my1"} ], where => [ "fld_alias1" => "value1" ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1321-1: Select( table => "tab_real1", fields => [ {"fld_alias1"=>"my1"} ], where => [ "fld_alias1" => "value1" ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1321-1: Select( table => "tab_alias1", fields => [ {"fld_alias1"=>"my1"} ], where => [ "fld_noalias1" => "value1" ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1 WHERE fld_noalias1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1322-1: Select( table => "tab_alias1", fields => [ {"fld_alias1"=>"my1"} ], where => [ "tab_alias1.fld_alias1" => "value1" ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1323-1: Select( table => "tab_real1", fields => [ {"fld_alias1"=>"my1"} ], where => [ "tab_alias1.fld_alias1" => "value1" ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1324-1: Select( table => "tab_alias1", fields => [ {"fld_alias1"=>"my1"} ], where => [ "tab_alias1.fld_real1" => "value1" ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1325-1: Select( table => "tab_alias1", fields => [ {"fld_alias1"=>"my1"} ], where => [ "tab_real1.fld_real1" => "value1" ] )
# returns.: SELECT fld_real1 my1 FROM tab_real1 tab_alias1 WHERE fld_real1 = 'value1'
# status..: SUCCESSFUL
# ################################################################
# test-S1326-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_alias1.fld_alias1"=>"my1"}, {"tab_alias2.fld_alias2"=>"my2"} ], where => [ "tab_alias1.fld_alias1" => "tab_alias2.fld_alias2" ] )
# returns.: SELECT tab_alias1.fld_real1 my1, tab_alias2.fld_real2 my2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1327-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_alias1.fld_alias1"=>"my1"}, {"tab_alias2.fld_alias2"=>"my2"} ], where => [ "tab_alias1.fld_real1" => "tab_alias2.fld_real2" ] )
# returns.: SELECT tab_alias1.fld_real1 my1, tab_alias2.fld_real2 my2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1328-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_alias1.fld_alias1"=>"my1"}, {"tab_alias2.fld_alias2"=>"my2"} ], where => [ "tab_real1.fld_alias1" => "tab_real2.fld_alias2" ] )
# returns.: SELECT tab_alias1.fld_real1 my1, tab_alias2.fld_real2 my2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1329-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_alias1.fld_alias1"=>"my1"}, {"tab_alias2.fld_alias2"=>"my2"} ], where => [ "tab_real1.fld_real1" => "tab_real2.fld_real2" ] )
# returns.: SELECT tab_alias1.fld_real1 my1, tab_alias2.fld_real2 my2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1330-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_alias1.fld_alias1"=>"my1"}, {"tab_alias2.fld_alias2"=>"my2"} ], where => [ "my1" => "\my2" ] )
# warning.: SQL command error --  matched [table].[field] is required -- DOT NOT USE
# returns.: SELECT tab_alias1.fld_real1 my1, tab_alias2.fld_real2 my2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1331-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_alias1.fld_alias1"=>"my1"}, {"tab_alias2.fld_alias2"=>"my2"} ], where => [ "tab_alias1.my1" => "\tab_alias2.my2" ] )
# returns.: SELECT tab_alias1.fld_real1 my1, tab_alias2.fld_real2 my2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1332-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_alias1.fld_alias1"=>"my1"}, {"tab_alias2.fld_alias2"=>"my2"} ], where => [ "tab_real1.my1" => "\tab_real2.my2" ] )
# returns.: SELECT tab_alias1.fld_real1 my1, tab_alias2.fld_real2 my2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1333-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_alias1.fld_alias1"=>"my1"}, {"tab_alias2.fld_alias2"=>"my2"} ], where => [ "tab_noalias1.my1" => "\tab_alias2.my2" ] )
# returns.: SELECT tab_alias1.fld_real1 my1, tab_alias2.fld_real2 my2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_noalias1.my1 = tab_alias2.fld_real2
# status..: SUCCESSFUL
# ################################################################
# test-S1334-1: Select( table => ["tab_alias1","tab_alias2"], fields => [ {"tab_alias1.fld_alias1"=>"my1"}, {"tab_alias2.fld_alias2"=>"my2"} ], where => [ "tab_alas1.my1" => "\tab_noalias2.my2" ] )
# returns.: SELECT tab_alias1.fld_real1 my1, tab_alias2.fld_real2 my2 FROM tab_real1 tab_alias1, tab_real2 tab_alias2 WHERE tab_alias1.fld_real1 = tab_noalias2.my2
# status..: SUCCESSFUL
# STAGE2 - STAGE2 - STAGE2
# ################################################################
# test-S0110-2: Delete( table=>"t1", where => [ fld => 123 ] )
# returns.: DELETE FROM t1 WHERE fld = '123'
# status..: SUCCESSFUL
# ################################################################
# test-S0120-2: Insert( table=>"t1", fields => { a => 1, b => 2, c => 3 } )
# returns.: INSERT INTO t1 (a,b,c) VALUES ('1','2','3')
# status..: SUCCESSFUL
# ################################################################
# test-S0121-2: Insert( table=>"t1", fields => { a => undef, b => undef, c => undef } )
# returns.: INSERT INTO t1 (a,b,c) VALUES (NULL,NULL,NULL)
# status..: SUCCESSFUL
# ################################################################
# test-S0122-2: Insert( table=>"t1", fields => [ "a","b","c" ], values => [ 1,2,3 ] )
# returns.: INSERT INTO t1 (a,b,c) VALUES ('1','2','3')
# status..: SUCCESSFUL
# ################################################################
# test-S0123-2: Insert( table=>"t1", fields => [ "a","b","c" ], values => [ undef,undef,undef ] )
# returns.: INSERT INTO t1 (a,b,c) VALUES (NULL,NULL,NULL)
# status..: SUCCESSFUL
# ################################################################
# test-S0124-2: Insert( table=>"t1", fields => [ "a","b","c" ], values => [ 1,2,3 ] )
# returns.: INSERT INTO t1 (a) VALUES ('1'),('2'),('3')
# status..: SUCCESSFUL
# ################################################################
# test-S0125-2: Insert( table=>"t1", fields => [ "a","b","c" ], values => [ undef,undef,undef ] )
# returns.: INSERT INTO t1 (a) VALUES (NULL),(NULL),(NULL)
# status..: SUCCESSFUL
# ################################################################
# test-S0126-2: Insert( table=>"t1", fields => { a => "xx'xx" )
# returns.: INSERT INTO t1 (a) VALUES ('xx\'xx')
# status..: SUCCESSFUL
# ################################################################
# test-S0127-2: Insert( table=>"t1", fields => [ "a" ], values => [ "xx'xx" ] )
# returns.: INSERT INTO t1 (a) VALUES ('xx\'xx')
# status..: SUCCESSFUL
# ################################################################
# test-S0128-2: Insert( table=>"t1", fields => [ "a" ], values => [ "xx'xx","yy'yy" ] )
# returns.: INSERT INTO t1 (a) VALUES ('xx\'xx'),('yy\'yy')
# status..: SUCCESSFUL
# ################################################################
# test-S0130-2: Update( table=>"t1", fields => { a => 1, b => 2 }, where => [ c => [ "!", 3 ] ] )
# returns.: UPDATE t1 SET a = '1', b = '2' WHERE c != '3'
# status..: SUCCESSFUL
# ################################################################
# test-S0140-2: Update( table=>"t1", fields => { a => '\concat(a,"xxxx")' }, force => 1 )
# returns.: UPDATE t1 SET a = concat(a,"xxxx")
# status..: SUCCESSFUL
# ################################################################
# test-S0150-2: Select( table=>"t1", fields => [ "a","b","c"] )
# returns.: SELECT a, b, c FROM t1
# status..: SUCCESSFUL
# ################################################################
# test-S0160-2: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>4 ] )
# returns.: SELECT a, b, c FROM t1 WHERE d = '4'
# status..: SUCCESSFUL
# ################################################################
# test-S0170-2: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>4, e=>5 ] )
# returns.: SELECT a, b, c FROM t1 WHERE d = '4' AND e = '5'
# status..: SUCCESSFUL
# ################################################################
# test-S0180-2: Select( table=>"t1", fields => [ "a","b","c"], where => [ d=>'\substr(e,1,8)' ] )
# returns.: SELECT a, b, c FROM t1 WHERE d = substr(e,1,8)
# status..: SUCCESSFUL
# ################################################################
# test-S0190-2: Select( table=>["t1","t2"], fields => [ "t1.a","t2.b" ], where => [ "t1.a" => "\t2.b" ] )
# returns.: SELECT t1.a, t2.b FROM t1, t2 WHERE t1.a = t2.b
# status..: SUCCESSFUL
# ################################################################
# test-S0200-2: Select( table=>"t1", fields => [ {"a"=>"aa"} ], where => [ 'a' => '0' ] )
# returns.: SELECT a aa FROM t1 WHERE a = '0'
# status..: SUCCESSFUL
# ################################################################
# test-S0210-2: Select( table=>"t1", fields => [ {"t1.a"=>"aa"} ], where => [ 't1.a' => '0' ] )
# returns.: SELECT t1.a aa FROM t1 WHERE a = '0'
# status..: SUCCESSFUL
# ################################################################
# test-S0220-2: Select( table=>["t1","t2"], fields => [ {"t1.a"=>"aa"}, {"t2.b"=>"bb"} ], where => [ "t1.a" => "\t2.b" ] )
# returns.: SELECT t1.a aa, t2.b bb FROM t1, t2 WHERE t1.a = t2.b
# status..: SUCCESSFUL
# ################################################################
# test-S0230-2: Select( table=>"t1", fields => [ {"sum(a)"=>"a1"}, {"sum(t1.a)"=>"a2"}, {"\sum(a)"=>"a3"} ], where => [ 'a' => '0' ] )
# returns.: SELECT sum(a) a1, sum(t1.a) a2, sum(a) a3 FROM t1 WHERE a = '0'
# status..: SUCCESSFUL
# ################################################################
# test-S0320-2: Select( table=>"t1", fields => [ "distinct", "a" ] )
# note....: Select with DISTINCT array sequence
# returns.: SELECT DISTINCT a FROM t1
# status..: SUCCESSFUL
# ################################################################
# test-S0330-2: Select( table=>"t1", fields => [ "distinct" => "a" ] )
# note....: Select with DISTINCT based hash
# returns.: SELECT DISTINCT a FROM t1
# status..: SUCCESSFUL
# ################################################################
# test-S0340-2: Select( table=>"t1", fields => [ "count(*)" ] )
# returns.: SELECT count(*) FROM t1
# status..: SUCCESSFUL
# ################################################################
# test-S0350-2: Select( table=>"t1", fields => [ "max(t1.a)" ] )
# returns.: SELECT max(t1.a) FROM t1
# status..: SUCCESSFUL
# ################################################################
# test-S0360-2: Select( table=>"t1", fields => [ "max(a)" ] )
# returns.: SELECT max(a) FROM t1
# status..: SUCCESSFUL
# ################################################################
# test-S0370-2: Select( table=>"t1", fields => [ "substr(a,1,8)" ] )
# returns.: SELECT substr(a,1,8) FROM t1
# status..: SUCCESSFUL
# ################################################################
# test-S0380-2: Select( table=>"t1", fields => [ "\aaa.bbb.ccc" ] )
# returns.: SELECT aaa.bbb.ccc FROM t1
# status..: SUCCESSFUL
# ################################################################
# test-S0390-2: Select( table=>"t1", fields => [ "distinct","\aaa.bbb.ccc" ] )
# returns.: SELECT DISTINCT aaa.bbb.ccc FROM t1
# status..: SUCCESSFUL
# ################################################################
# test-S0400-2: Select( table=>["t1","t2"], fields => [ "t1.a","t2.b" ], where => [ 't1.a' => 't2.b' ], sql_save=>1 )
# note....: SQL_SAVE enabled
# returns.: SELECT t1.a, t2.b FROM t1, t2 WHERE t1.a = 't2.b'
# savefile: /tmp/2024/202401/20240102/sql.teste.20240102.50909.1
# savefile: removed
# status: SUCCESSFUL
# ################################################################
# test-S0410-2: Select( table=>"t1", order_by => "t1.a" )
# returns.: SELECT * FROM t1 ORDER BY t1.a
# status..: SUCCESSFUL
# ################################################################
# test-S0420-2: Select( table=>"t1", order_by => [ {"t1.a" => "asc"} ] )
# returns.: SELECT * FROM t1 ORDER BY t1.a ASC
# status..: SUCCESSFUL
# ################################################################
# test-S0430-2: Select( table=>"t1", order_by => [ {"t1.a" => "desc"} ] )
# returns.: SELECT * FROM t1 ORDER BY t1.a DESC
# status..: SUCCESSFUL
# ################################################################
# test-S0440-2: Select( table=>"t1", order_by => [ "t1.a", "t1.b" ] )
# returns.: SELECT * FROM t1 ORDER BY t1.a, t1.b
# status..: SUCCESSFUL
# ################################################################
# test-S0450-2: Select( table=>"t1", order_by => [ {"t1.a" => "asc"}, "t1.b" ] )
# returns.: SELECT * FROM t1 ORDER BY t1.a ASC, t1.b
# status..: SUCCESSFUL
# ################################################################
# test-S0460-2: Select( table=>"t1", order_by => [ "t1.a", {"t1.b"=>"desc"} ] )
# returns.: SELECT * FROM t1 ORDER BY t1.a, t1.b DESC
# status..: SUCCESSFUL
# ################################################################
# test-S0470-2: Select( table=>"t1", order_by => {"t1.b"=>"desc"} )
# returns.: SELECT * FROM t1 ORDER BY t1.b DESC
# status..: SUCCESSFUL
# ################################################################
# test-S0480-2: Select( table=>"t1", fields => [{"t1.abc"=>"_abc"},"t1.cde",{"t1.fgh"=>"_fgh"}], where => [ "_abc" => 123 ] )
# returns.: SELECT t1.abc _abc, t1.cde, t1.fgh _fgh FROM t1 WHERE abc = '123'
# status..: SUCCESSFUL
# ################################################################
# test-S0481-2: Select( table=>"t1", fields => [{"t1.abc"=>"_abc"},"t1.cde",{"t1.fgh"=>"_fgh"}], where => [ "_abc" => 123, "cde" => 234, "t1.abc" => 345] )
# returns.: SELECT t1.abc _abc, t1.cde, t1.fgh _fgh FROM t1 WHERE abc = '123' AND cde = '234' AND abc = '345'
# status..: SUCCESSFUL
# ################################################################
# test-S0490-2: Select( table=>["t1","t2"], fields => [{"t1.abc"=>"_abc"},"t1.cde",{"t2.fgh"=>"_fgh"},"t2.ijk"], where => [ "_abc" => 123, "cde" => 234, "t1.abc" => 345, "ijk" => 456] )
# returns.: SELECT t1.abc _abc, t1.cde, t2.fgh _fgh, t2.ijk FROM t1, t2 WHERE t1.abc = '123' AND cde = '234' AND t1.abc = '345' AND ijk = '456'
# status..: SUCCESSFUL
# ################################################################
# test-S0500-2: Select( table=>"t1", fields => [{"t1.abc"=>"_a"}], where => [ "substr(_a,1,4)" => 1234 ] )
# returns.: SELECT t1.abc _a FROM t1 WHERE substr(abc,1,4) = '1234'
# status..: SUCCESSFUL
# ################################################################
# test-S0510-2: Select( table=>"t1", fields => [{"t1.abc"=>"_a"}], where => [ "concat(substr(_a,1,3),1)" => 1231 ] )
# returns.: SELECT t1.abc _a FROM t1 WHERE concat(substr(abc,1,4),1) = '1231'
# status..: SUCCESSFUL
# ################################################################
# test-S0520-2: Select( table=>"t1", fields => [{"t1.abc"=>"_a"}], where => [ "func1(func2(_a))" => 1231 ] )
# returns.: SELECT t1.abc _a FROM t1 WHERE func1(func2(abc)) = '1231'
# status..: SUCCESSFUL
# ################################################################
# test-S0530-2: Select( table=>"t1", fields => [{"t1.abc"=>"_a"}], where => [ "func1(_a)" => 123, "func1(t1.abc)" => 456 ] )
# returns.: SELECT t1.abc _a FROM t1 WHERE func1(abc) = '123' AND func1(t1.abc) = '456'
# 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
# 
# ################################################################
# test-W0101: where => [ 'id', 'info']
# returns.: id = 'info'
# status..: SUCCESSFUL
# ################################################################
# test-W0102: where => [ 'id', [ '=', 'info' ]]
# returns.: id = 'info'
# status..: SUCCESSFUL
# ################################################################
# test-W0103: where => [ 'id', [ '!', 'info' ]]
# returns.: id != 'info'
# status..: SUCCESSFUL
# ################################################################
# test-W0104: where => [ 'id', [ '<', 'info' ]]
# returns.: id < 'info'
# status..: SUCCESSFUL
# ################################################################
# test-W0105: where => [ 'id', [ '>', 'info' ]]
# returns.: id > 'info'
# status..: SUCCESSFUL
# ################################################################
# test-W0106: where => [ 'id', [ '^%', 'info' ]]
# returns.: id LIKE 'info%'
# status..: SUCCESSFUL
# ################################################################
# test-W0107: where => [ 'id', [ '%%', 'info' ]]
# returns.: id LIKE '%info%'
# status..: SUCCESSFUL
# ################################################################
# test-W0108: where => [ 'id', [ '%^', 'info' ]]
# returns.: id LIKE '%info'
# status..: SUCCESSFUL
# ################################################################
# test-W0109: where => [ 'id', [ '^^', 'info' ]]
# returns.: id LIKE 'info'
# status..: SUCCESSFUL
# ################################################################
# test-W0110: where => [ 'id', undef]
# returns.: id IS NULL
# status..: SUCCESSFUL
# ################################################################
# test-W0111: where => [ 'id', [ '!', undef ]]
# returns.: id NOT NULL
# status..: SUCCESSFUL
# ################################################################
# test-W0112: where => [ 'id', [ 'info1', 'info2' ]]
# returns.: id IN ('info1','info2')
# status..: SUCCESSFUL
# ################################################################
# test-W0113: where => [ 'id', [ '!', 'info1', 'info2' ]]
# returns.: id NOT IN ('info1','info2')
# status..: SUCCESSFUL
# ################################################################
# test-W0114: where => [ 'id', [ 'info1', '..', 'info2' ]]
# returns.: id BETWEEN ('info1','info2')
# status..: SUCCESSFUL
# ################################################################
# test-W0115: where => [ 'id', [ '!', 'info1', '..', 'info2' ]]
# returns.: id NOT BETWEEN ('info1','info2')
# status..: SUCCESSFUL
# ################################################################
# test-W0120: where => [ 'id', 'info', 'id', 'info2', 'no', 'no1', 'no', 'no2']
# returns.: id = 'info' AND id = 'info2' AND no = 'no1' AND no = 'no2'
# status..: SUCCESSFUL
# ################################################################
# test-W0121: where => [ 'id', 'info', 'id', 'info2', 'or', 'no', 'no1', 'no', 'no2']
# returns.: id = 'info' AND id = 'info2' OR no = 'no1' AND no = 'no2'
# status..: SUCCESSFUL
# ################################################################
# test-W0200: where => [ 't1.id', '\\t2.id']
# returns.: t1.id = t2.id
# status..: SUCCESSFUL
# ################################################################
# test-W0201: where => [ 't1.id', [ '=', '\\t2.id' ]]
# returns.: t1.id = t2.id
# status..: SUCCESSFUL
# ################################################################
# test-W0202: where => [ 't1.id', [ '!', '\\t2.id' ]]
# returns.: t1.id != t2.id
# status..: SUCCESSFUL
# ################################################################
# test-W0210: where => [ 't1.id', '\\t2.id', 't1.id', '\\t3.id']
# returns.: t1.id = t2.id AND t1.id = t3.id
# status..: SUCCESSFUL
# ################################################################
# test-W0211: where => [ 't1.id', [ '=', '\\t2.id' ], 't1.id', [ '=', '\\t3.id' ]]
# returns.: t1.id = t2.id AND t1.id = t3.id
# status..: SUCCESSFUL
# ################################################################
# test-W0212: where => [ 't1.id', [ '!', '\\t2.id' ], 't1.id', [ '!', '\\t3.id' ]]
# returns.: t1.id != t2.id AND t1.id != t3.id
# status..: SUCCESSFUL
# ################################################################
# test-W0213: where => [ 't1.id', '\\t2.id', 'or', 't1.id', '\\t3.id']
# returns.: t1.id = t2.id OR t1.id = t3.id
# status..: SUCCESSFUL
# ################################################################
# test-W0214: where => [ 't1.id', '\\t2.id', 't1.id', [ '1234', '..', '5678' ], [ 't1.id', [ '!', 0 ], 'or', 't2.id', [ '!', 0 ] ]]
# returns.: t1.id = t2.id AND t1.id BETWEEN ('1234','5678') AND (t1.id != '0' OR t2.id != '0')
# status..: SUCCESSFUL
# ################################################################
# test-W0220: where => [ [ 'id', 1, 'id', 2 ], [ 'no', 3, 'no', 4 ]]
# returns.: (id = '1' AND id = '2') AND (no = '3' AND no = '4')
# status..: SUCCESSFUL
# ################################################################
# test-W0221: where => [ 'id', [ '^%', 1, 2 ], 'no', [ '%^', 3, 4 ]]
# returns.: (id LIKE '1%' OR id LIKE '2%') AND (no LIKE '%3' OR no LIKE '%4')
# status..: SUCCESSFUL
# ################################################################
# test-W0222: where => [ 'id', [ '!^%', 1, 2 ], 'no', [ '!%^', 3, 4 ]]
# returns.: (id NOT LIKE '1%' AND id NOT LIKE '2%') AND (no NOT LIKE '%3' AND no NOT LIKE '%4')
# status..: SUCCESSFUL
# ################################################################
# test-W0223: where => [ 'id', [ '!^%', 1, 2 ], 'or', 'no', [ '!%^', 3, 4 ]]
# returns.: (id NOT LIKE '1%' AND id NOT LIKE '2%') OR (no NOT LIKE '%3' AND no NOT LIKE '%4')
# status..: SUCCESSFUL
# ################################################################
# test-W0224: where => [ 'id', [ '!', undef ], 'or', 'no', undef]
# returns.: id NOT NULL OR no IS NULL
# status..: SUCCESSFUL
# ################################################################
# test-W0225: where => [ [ [ 'a', 1, 'b', 2 ], 'or', [ 'c', 3, 'd', 4 ] ], 'e', 5]
# returns.: ((a = '1' AND b = '2') OR (c = '3' AND d = '4')) AND e = '5'
# status..: SUCCESSFUL
# ################################################################
# test-W0230: where => [ 'a', '\\concat(a,\'abc\')']
# returns.: a = concat(a,'abc')
# status..: SUCCESSFUL
# ################################################################
# test-W0231: where => [ 'a', [ '!', '\\concat(a,\'abc\')' ]]
# returns.: a != concat(a,'abc')
# status..: SUCCESSFUL
# ################################################################
# test-W0232: where => [ 'a', 'xx\'xx']
# returns.: a = 'xx\'xx'
# status..: SUCCESSFUL
# ################################################################
# test-W0233: where => [ 'a', [ '!', 'xx\'xx' ]]
# returns.: a != 'xx\'xx'
# status..: SUCCESSFUL
# ################################################################
# test-W0234: where => [ 'a', [ 'xx\'xx', 'yy\'yy' ]]
# returns.: a IN ('xx\'xx','yy\'yy')
# status..: SUCCESSFUL
# ################################################################
# test-W0235: where => [ 'a', [ 'xx\'xx', '..', 'yy\'yy' ]]
# returns.: a BETWEEN ('xx\'xx','yy\'yy')
# status..: SUCCESSFUL
# ################################################################
# test-W0240: where => [ 'a', 1, [ [ 'b', [], 'or', 'c', 2 ] ]]
# returns.: a = '1' AND c = '2'
# status..: SUCCESSFUL
# ################################################################
# test-W0241: where => [ 'a', 1, [ [ 'b', [] ], 'or', [ 'c', 2 ] ]]
# returns.: a = '1' AND c = '2'
# status..: 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=4, Tests=6,  3 wallclock secs ( 0.06 usr  0.08 sys +  1.25 cusr  0.56 csys =  1.95 CPU)
Result: PASS


PREREQUISITES:

Here is a list of prerequisites you specified and versions we
managed to load:

	  Module Name                        Have     Want
	  DBD::SQLite                        1.74        0
	  DBI                               1.643        0
	  Date::Calc                          6.4        0
	  File::Path                         2.18        0
	  File::Spec                         3.78        0
	  IO::File                           1.41        0
	  JSON                               4.10        0
	  Sys::Syslog                        0.36        0
	  Test::More                     1.302198        0

Perl module toolchain versions installed:
	Module Name                        Have
	CPANPLUS                         0.9914
	CPANPLUS::Dist::Build              0.90
	Cwd                                3.78
	ExtUtils::CBuilder             0.280236
	ExtUtils::Command                  7.70
	ExtUtils::Install                  2.22
	ExtUtils::MakeMaker                7.70
	ExtUtils::Manifest                 1.75
	ExtUtils::ParseXS                  3.51
	File::Spec                         3.78
	Module::Build                    0.4234
	Pod::Parser                           0
	Pod::Simple                        3.40
	Test2                          1.302198
	Test::Harness                      3.48
	Test::More                     1.302198
	version                          0.9930

******************************** NOTE ********************************
The comments above are created mechanically, possibly without manual
checking by the sender.  As there are many people performing automatic
tests on each upload to CPAN, it is likely that you will receive
identical messages about the same problem.

If you believe that the message is mistaken, please reply to the first
one with correction and/or additional informations, and do not take
it personally.  We appreciate your patience. :)
**********************************************************************

Additional comments:


This report was machine-generated by CPANPLUS::Dist::YACSmoke 1.08.
Powered by minismokebox version 0.68

CPANPLUS is prefering Build.PL

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

Environment variables:

    AUTOMATED_TESTING = 1
    NONINTERACTIVE_TESTING = 1
    PATH = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/cpan/bin
    PERL5LIB = /usr/home/cpan/pit/jail/z6vdP8h2oE/lib/perl5:/usr/home/cpan/pit/rel/conf/perl-5.32.0/.cpanplus/5.32.0/build/cw3ObQOuc8/SQL-SimpleOps-2023.362.1/blib/lib:/usr/home/cpan/pit/rel/conf/perl-5.32.0/.cpanplus/5.32.0/build/cw3ObQOuc8/SQL-SimpleOps-2023.362.1/blib/arch
    PERL5_CPANPLUS_IS_RUNNING = 50137
    PERL5_CPANPLUS_IS_VERSION = 0.9914
    PERL5_MINISMOKEBOX = 0.68
    PERL5_YACSMOKE_BASE = /usr/home/cpan/pit/rel/conf/perl-5.32.0
    PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
    PERL_LOCAL_LIB_ROOT = /usr/home/cpan/pit/jail/z6vdP8h2oE
    PERL_MB_OPT = --install_base "/usr/home/cpan/pit/jail/z6vdP8h2oE"
    PERL_MM_OPT = INSTALL_BASE=/usr/home/cpan/pit/jail/z6vdP8h2oE
    PERL_MM_USE_DEFAULT = 1
    SHELL = /usr/local/bin/bash
    TERM = screen

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

    Perl: $^X = /usr/home/cpan/pit/rel/perl-5.32.0/bin/perl
    UID:  $<  = 1002
    EUID: $>  = 1002
    GID:  $(  = 1002 1002
    EGID: $)  = 1002 1002


-------------------------------


--

Summary of my perl5 (revision 5 version 32 subversion 0) configuration:
   
  Platform:
    osname=freebsd
    osvers=12.4-release
    archname=i386-freebsd-thread-multi-64int
    uname='freebsd ffyrc 12.4-release freebsd 12.4-release r372781 generic i386 '
    config_args='-des -Dprefix=/usr/home/cpan/pit/rel/perl-5.32.0 -Dusethreads -Duse64bitint'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=undef
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='cc'
    ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    optimize='-O2'
    cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='FreeBSD Clang 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303)'
    gccosandvers=''
    intsize=4
    longsize=4
    ptrsize=4
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=12
    longdblkind=3
    ivtype='long long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=4
    prototype=define
  Linker and Libraries:
    ld='cc'
    ldflags ='-pthread -Wl,-E  -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/lib /usr/local/lib /usr/lib/clang/13.0.0/lib /usr/lib
    libs=-lpthread -lgdbm -ldl -lm -lcrypt -lutil
    perllibs=-lpthread -ldl -lm -lcrypt -lutil
    libc=
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags=' '
    cccdlflags='-DPIC -fPIC'
    lddlflags='-shared  -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl): 
  Compile-time options:
    HAS_TIMES
    MULTIPLICITY
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_IMPLICIT_CONTEXT
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    USE_64_BIT_INT
    USE_ITHREADS
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
    USE_REENTRANT_API
    USE_THREAD_SAFE_LOCALE
  Locally applied patches:
    Devel::PatchPerl 2.08
  Built under freebsd
  Compiled at Apr  6 2023 02:39:08
  %ENV:
    PERL5LIB="/usr/home/cpan/pit/jail/z6vdP8h2oE/lib/perl5:/usr/home/cpan/pit/rel/conf/perl-5.32.0/.cpanplus/5.32.0/build/cw3ObQOuc8/SQL-SimpleOps-2023.362.1/blib/lib:/usr/home/cpan/pit/rel/conf/perl-5.32.0/.cpanplus/5.32.0/build/cw3ObQOuc8/SQL-SimpleOps-2023.362.1/blib/arch"
    PERL5_CPANPLUS_IS_RUNNING="50137"
    PERL5_CPANPLUS_IS_VERSION="0.9914"
    PERL5_MINISMOKEBOX="0.68"
    PERL5_YACSMOKE_BASE="/usr/home/cpan/pit/rel/conf/perl-5.32.0"
    PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
    PERL_LOCAL_LIB_ROOT="/usr/home/cpan/pit/jail/z6vdP8h2oE"
    PERL_MB_OPT="--install_base "/usr/home/cpan/pit/jail/z6vdP8h2oE""
    PERL_MM_OPT="INSTALL_BASE=/usr/home/cpan/pit/jail/z6vdP8h2oE"
    PERL_MM_USE_DEFAULT="1"
  @INC:
    /usr/home/cpan/pit/jail/z6vdP8h2oE/lib/perl5/5.32.0/i386-freebsd-thread-multi-64int
    /usr/home/cpan/pit/jail/z6vdP8h2oE/lib/perl5/5.32.0
    /usr/home/cpan/pit/jail/z6vdP8h2oE/lib/perl5/i386-freebsd-thread-multi-64int
    /usr/home/cpan/pit/jail/z6vdP8h2oE/lib/perl5
    /usr/home/cpan/pit/rel/conf/perl-5.32.0/.cpanplus/5.32.0/build/cw3ObQOuc8/SQL-SimpleOps-2023.362.1/blib/lib
    /usr/home/cpan/pit/rel/conf/perl-5.32.0/.cpanplus/5.32.0/build/cw3ObQOuc8/SQL-SimpleOps-2023.362.1/blib/arch
    /usr/home/cpan/pit/rel/perl-5.32.0/lib/site_perl/5.32.0/i386-freebsd-thread-multi-64int
    /usr/home/cpan/pit/rel/perl-5.32.0/lib/site_perl/5.32.0
    /usr/home/cpan/pit/rel/perl-5.32.0/lib/5.32.0/i386-freebsd-thread-multi-64int
    /usr/home/cpan/pit/rel/perl-5.32.0/lib/5.32.0