DBD::ODBC test

Main

Hostnamefreddy
uname -aLinux freddy 4.10.0-22-generic #24-Ubuntu SMP Mon May 22 17:43:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
date2017-06-16

Running Mkbootstrap for DBD::ODBC ()
chmod 644 "ODBC.bs"
PERL_DL_NONLAZY=1 PERL_USE_UNSAFE_INC=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/01base.t ................... 
1..6
ok 1 - require DBI;
ok 2 - import DBI
ok 3 - DBI->internal is DBI::dr
ok 4 - install ODBC
ok 5 - Install ODBC driver OK
ok 6 - Version is not empty
ok
t/02simple.t ................. 
1..65
ok 1 - use DBI;
ok 2 - use ODBCTEST;
# 
# Perl 5.24.1
# osname=linux, osvers=3.16.0, archname=x86_64-linux-gnu-thread-multi
# Using DBI 1.636
# Using DBD::ODBC 1.52
# Using DBMS_NAME 'Microsoft SQL Server'
# Using DBMS_VER '09.00.5000'
# Using DRIVER_NAME 'libtdsodbc.so'
# Using DRIVER_VER '01.00.9999'
# odbc_has_unicode 
ok 3 - ReadOnly set
ok 4 - ReadOnly cleared
ok 5 - dbc private_attribute_info result
ok 6 - dbc private_attribute_info is hashref
ok 7 - dbc private_attribute_info has some attributes
ok 8 - stmt private_attribute_info result
ok 9 - stmt private_attribute_info is hashref
ok 10 - stmt private_attribute_info has some attributes
ok 11 - Set Auto commit off
ok 12 - Auto commit off retrieved
ok 13 - Set Auto commit on
ok 14 - Auto commit on restored
ok 15 - create test table
ok 16 - test table exists
ok 17 - insert test data
ok 18 - NUM_OF_FIELDS
ok 19 - NAME returns right number of columns
ok 20 - column name for column 1
ok 21 - column name for column 2
ok 22 - column name for column 3
ok 23 - column name for column 4
ok 24 - long strings compare
ok 25 - long strings compare 255
ok 26 - select test data
ok 27 - Get LongReadLen starting value
ok 28 - LongReadLen is numeric
ok 29 - Set LongReadLen
ok 30 - Read changed LongReadLen back
ok 31 - Get LongTruncOk starting value
ok 32 - Set LongTruncOk on
ok 33 - LongTruncOk on
ok 34 - Set Print Error
ok 35 - Select Long data, LongTruncOk
ok 36 - err not set on LongTruncOk handle
ok 37 - Truncated column to LongReadLen
ok 38 - Set Long TruncOk 0
ok 39 - Select Long Data failure
ok 40 - error set on truncated handle
ok 41 - errstr set on truncated handle
ok 42 - state set on truncated handle
ok 43 - prepare select from table
ok 44 - Execute select
ok 45 - NUM_OF_FIELDS = ColAttributes(SQL_COLUMN_COUNT)
ok 46 - Col count matches correct col count
ok 47 - Set RaiseError 0
ok 48 - Set PrintError 0
ok 49 - Error reported on bad query
ok 50 - date check select
ok 51 - date check execute
ok 52 - date check rows
ok 53 - group by query prepare
ok 54 - group by query execute
ok 55 - group by query returned rows
ok 56 - data sources test
ok 57 - test ping method
ok 58 - Attrib odbc_ignore_named_placeholders 0 to start
ok 59 - Attrib odbc_ignore_named_placeholders set to 1
ok 60 - test connecting twice to the same database
ok 61 - database name is returned successfully
ok 62 - automatically finish when execute run again
ok 63 - INVALID DSN Test: [unixODBC][Driver Manager]Data source name not found, and no default driver specified (SQL-IM002)
# 
ok 64 - Connection with DSN=dbi:ODBC:DSN=sqlexpress
ok 65 - Connection with DSN=dbi:ODBC:DSN=sqlexpress and UID and PWD are set
ok
t/03dbatt.t .................. 
1..30
ok 1 - use DBI;
ok 2 - use ODBCTEST;
ok 3 - Set Long Read Len
ok 4 - Create tables
ok 5 - AutoCommit set on dbh
ok 6 - commitTest with AutoCommit
ok 7 - AutoCommit turned off
ok 8 - commitTest with AutoCommit off
ok 9 - Ensure autocommit back on
ok 10 - 'sth {NAME} returns ref to array' isa 'ARRAY'
# 
# N.B. Some drivers (postgres/cache) may return ODBC 2.0 column names for the SQLTables result-set e.g. TABLE_QUALIFIER instead of TABLE_CAT
ok 11 - Column test for table_info 0
ok 12 - Column test for table_info 1
ok 13 - Column test for table_info 2
ok 14 - Column test for table_info 3
ok 15 - Column test for table_info 4
ok 16 - must be some tables out there?
ok 17 - tables returns array
ok 18 - column info returns more than one row for test table
ok 19 - primary key count
ok 20 - prepare update statement returns valid sth 
ok 21 - update statement has 0 columns returned
ok 22 - update statement has 0 columns returned 2
ok 23 - verify default dbh odbc_query_timeout = 0
ok 24 - verify default sth odbc_query_timeout = 0
ok 25 - Verify odbc_query_timeout set ok
ok 26 - verify dbh setting for query_timeout passed to sth
ok 27 - verify sth query_timeout can be overridden
ok 28 - verify default for odbc_column_display_size
ok 29 - set odbc_column_display_size
ok 30 - verify changed odbc_column_display_size
ok
t/05meth.t ................... 
1..15
ok 1 - use DBI;
ok 2 - use ODBCTEST;
ok 3 - Create tables
ok 4 - delete prepared statement
ok 5 - Number of rows > 0
ok 6 - Number of rows from DBI matches sth
ok 7 - finished and rolled back
ok 8 - no error
ok 9 - ?
ok 10 - ??
ok 11 - Active
ok 12 - ping
ok 13 - disconnect
ok 14 - Active
ok 15 - ping
ok
t/07bind.t ................... 
1..25
ok 1 - use ODBCTEST;
ok 2 - Create tables
ok 3 - Table insert test
ok 4 - Ensure long readlen set correctly
ok 5 - Select tests
ok 6 - Insert with bind tests
ok 7 - select long test data
ok 8 - update long test data
ok 9 - select long test data again
ok 10 - ParamValues returns a hash ref
ok 11 - ParamValues test integer
ok 12 - Paramvalues test string
ok 13 - ParamValues returns a hash ref
ok 14 - p1 exists
ok 15 - p2 exists
ok 16 - p1 is a hash reference
ok 17 - p2 is a hash reference
ok 18 - p1 TYPE exists
ok 19 - p2 TYPE exists
ok 20 - numeric SQL type on p1
ok 21 - numeric SQL type on p2
ok 22 - insert with numbered placeholders
ok 23 - ...inserted one row
ok 24 - insert with named placeholders
ok 25 - ...inserted one row
ok
t/08bind2.t .................. 
1..6
ok 1 - use ODBCTEST;
ok 2 - use Data::Dumper;
ok 3 - Create tables
ok 4 - insert \#1 various test data no dates, no long data
ok 5 - insert \#2 various test data no dates, with long data
ok 6 # skip SQLDescribeParam not supported using Microsoft SQL Server
# 
ok
t/09multi.t .................. 
1..7
ok 1 - use strict;
ok 2 - use DBI;
ok 3 - use ODBCTEST;
ok 4 - count number of result sets
ok 5 - Multiple result sets with different column counts (less then more)
ok 6 - Multiple result sets with different column counts (more then less)
ok 7 - Multiple result sets with multiple cols, then second result set with one col
ok
t/10handler.t ................ 
1..10
ok 1 - use ODBCTEST;
ok 2 - Error handler called
ok 3 - Error handler called - state seen
ok 4 - Error handler called - message seen
ok 5 - Error handler called - native seen
ok 6 - Error handler called - error passed on
ok 7 - Error handler called - error propagated
ok 8 - Handler cancelled
ok 9 - Handler filtered all messages
ok 10 - eval complete
ok
t/12blob.t ................... 
1..24
ok 1 - use ODBCTEST;
ok 2 - default putdata_start
ok 3 - type_info_all
ok 4 - table DBD_ODBC_drop_me created
ok 5 - prepare for insert
ok 6 - insert clob
ok 7 - select test data back
ok 8 - sizes of insert/select compare
ok 9 - data read back compares
ok 10 - delete records from test table
ok 11 - retrieved putdata_start = set value
ok 12 - prepare for insert
ok 13 - insert clob
ok 14 - select test data back
ok 15 - sizes of insert/select compare
ok 16 - data read back compares
ok 17 - delete records from test table
ok 18 - retrieved putdata_start = set value
ok 19 - prepare for insert
ok 20 - insert clob
ok 21 - select test data back
ok 22 - sizes of insert/select compare
ok 23 - data read back compares
ok 24 - delete records from test table
ok
t/20SqlServer.t .............. 
1..67
ok 1 - use ODBCTEST;
ok 2 - got DBMS name: Microsoft SQL Server
ok 3 - got DBMS version: 09.00.5000
ok 4 - got DBMS major version: 09
ok 5 - got Driver Name: libtdsodbc.so
ok 6 - create PERL_DBD_TABLE1 and insert test data
ok 7 - fetchrow for varchar(max)
ok 8 - data received from varchar(max)
ok 9 - all data (1000) received from varchar(max)
ok 10 - create PERL_DBD_TABLE1 and insert test data
ok 11 - fetchrow for varbinary(max)
ok 12 - data received from varbinary(max)
ok 13 - all data (1000) received from varbinary(max)
ok 14 - create PERL_DBD_TABLE1 and insert test data
ok 15 - fetchrow for nvarchar(max)
ok 16 - data received from nvarchar(max)
ok 17 - all data (1000) received from nvarchar(max)
ok 18 - create perl_dbd_proc1 procedure
ok 19 - create perl_dbd_proc2 procedure
ok 20 - prepare for PERL_DBD_PROC1
ok 21 - execute for PERL_DBD_PROC1
ok 22 - NUM_OF_FIELDS for PERL_DBD_PROC1
ok 23 - numeric fields
ok 24 - prepare for PERL_DBD_PROC2
ok 25 - execute for PERL_DBD_PROC2
ok 26 - NUM_OF_FIELDS for PERL_DBD_PROC2
ok 27 - numeric fields
ok 28 - errors on data comparison
ok 29 - temporary table handling
ok 30 - bind param in out with insert result set
ok 31 - test output params accurate
ok 32 - verify select data
ok 33 - timestamp handling
ok 34 - execute for non searched update via procedure
ok 35 - 0/unknown rows updated
ok 36 - procedure outputs results as result set
ok 37 - procedure outputs results as result set2
ok 38 - procedure outputs results as result set 3
ok 39 - setting force_rebind
ok 40 - resetting force_rebind
ok 41 - testing force rebind after procedure call
ok 42 - execute for non searched update via procedure, force_rebind
ok 43 - force rebind test part 2
ok 44 - force rebind test part 3
ok 45 - force rebind test part 4
ok 46 - forced rebind final
ok 47 - Select data available
ok 48 - output param not yet available
ok 49 - output param not yet available2
ok 50 - Output param data available
ok 51 - Output param data available 2
ok 52 - select data done
ok 53 - valid output data
ok 54 - test procedure with no input params
ok 55 - test odbc_async_exec attribute NOT set
ok 56 - dbcc messages being returned
ok 57 - reset async exec
ok 58 - test setting odbc_exec_direct
ok 59 - Valid select results with print statements
ok 60 - ensure 2 error messages from two print statements
ok 61 - validate error messages being retrieved
ok 62 - Connected with MARS_Connection
ok 63 - Multiple concurrent statements should fail
ok 64 - Multiple concurrent statements succeed (odbc_cursortype set)
# DBD::ODBC::st execute failed: [FreeTDS][SQL Server]Invalid cursor state (SQL-24000) at t/20SqlServer.t line 206.
# DSN=dbi:ODBC:DSN=sqlexpress;MARS_Connection=yes;
# 
# NOTE: You failed this test because your SQL Server driver
# is too old to handle the MARS_Connection attribute. This test cannot
# easily skip this test for old drivers as there is no definite SQL Server
# driver version it can check.
# 
ok 65 # skip WARNING: driver does NOT support MARS_Connection
ok 66 - passed timeout on query using odbc_query_timeout using do with bind params
ok 67 - passed timeout on query using odbc_query_timeout using do without bind params
ok
t/30Oracle.t ................. 
1..4
ok 1 - use ODBCTEST;
ok 2 # skip Oracle tests not supported using Microsoft SQL Server
ok 3 # skip Oracle tests not supported using Microsoft SQL Server
ok 4 # skip Oracle tests not supported using Microsoft SQL Server
ok
t/40UnicodeRoundTrip.t ....... 
1..61
ok 1 - DBI connect
ok 2 # skip Unicode-specific tests disabled - not a unicode build
ok 3 # skip Unicode-specific tests disabled - not a unicode build
ok 4 # skip Unicode-specific tests disabled - not a unicode build
ok 5 # skip Unicode-specific tests disabled - not a unicode build
ok 6 # skip Unicode-specific tests disabled - not a unicode build
ok 7 # skip Unicode-specific tests disabled - not a unicode build
ok 8 # skip Unicode-specific tests disabled - not a unicode build
ok 9 # skip Unicode-specific tests disabled - not a unicode build
ok 10 # skip Unicode-specific tests disabled - not a unicode build
ok 11 # skip Unicode-specific tests disabled - not a unicode build
ok 12 # skip Unicode-specific tests disabled - not a unicode build
ok 13 # skip Unicode-specific tests disabled - not a unicode build
ok 14 # skip Unicode-specific tests disabled - not a unicode build
ok 15 # skip Unicode-specific tests disabled - not a unicode build
ok 16 # skip Unicode-specific tests disabled - not a unicode build
ok 17 # skip Unicode-specific tests disabled - not a unicode build
ok 18 # skip Unicode-specific tests disabled - not a unicode build
ok 19 # skip Unicode-specific tests disabled - not a unicode build
ok 20 # skip Unicode-specific tests disabled - not a unicode build
ok 21 # skip Unicode-specific tests disabled - not a unicode build
ok 22 # skip Unicode-specific tests disabled - not a unicode build
ok 23 # skip Unicode-specific tests disabled - not a unicode build
ok 24 # skip Unicode-specific tests disabled - not a unicode build
ok 25 # skip Unicode-specific tests disabled - not a unicode build
ok 26 # skip Unicode-specific tests disabled - not a unicode build
ok 27 # skip Unicode-specific tests disabled - not a unicode build
ok 28 # skip Unicode-specific tests disabled - not a unicode build
ok 29 # skip Unicode-specific tests disabled - not a unicode build
ok 30 # skip Unicode-specific tests disabled - not a unicode build
ok 31 # skip Unicode-specific tests disabled - not a unicode build
ok 32 # skip Unicode-specific tests disabled - not a unicode build
ok 33 # skip Unicode-specific tests disabled - not a unicode build
ok 34 # skip Unicode-specific tests disabled - not a unicode build
ok 35 # skip Unicode-specific tests disabled - not a unicode build
ok 36 # skip Unicode-specific tests disabled - not a unicode build
ok 37 # skip Unicode-specific tests disabled - not a unicode build
ok 38 # skip Unicode-specific tests disabled - not a unicode build
ok 39 # skip Unicode-specific tests disabled - not a unicode build
ok 40 # skip Unicode-specific tests disabled - not a unicode build
ok 41 # skip Unicode-specific tests disabled - not a unicode build
ok 42 # skip Unicode-specific tests disabled - not a unicode build
ok 43 # skip Unicode-specific tests disabled - not a unicode build
ok 44 # skip Unicode-specific tests disabled - not a unicode build
ok 45 # skip Unicode-specific tests disabled - not a unicode build
ok 46 # skip Unicode-specific tests disabled - not a unicode build
ok 47 # skip Unicode-specific tests disabled - not a unicode build
ok 48 # skip Unicode-specific tests disabled - not a unicode build
ok 49 # skip Unicode-specific tests disabled - not a unicode build
ok 50 # skip Unicode-specific tests disabled - not a unicode build
ok 51 # skip Unicode-specific tests disabled - not a unicode build
ok 52 # skip Unicode-specific tests disabled - not a unicode build
ok 53 # skip Unicode-specific tests disabled - not a unicode build
ok 54 # skip Unicode-specific tests disabled - not a unicode build
ok 55 # skip Unicode-specific tests disabled - not a unicode build
ok 56 # skip Unicode-specific tests disabled - not a unicode build
ok 57 # skip Unicode-specific tests disabled - not a unicode build
ok 58 # skip Unicode-specific tests disabled - not a unicode build
ok 59 # skip Unicode-specific tests disabled - not a unicode build
ok 60 # skip Unicode-specific tests disabled - not a unicode build
ok 61 # skip Unicode-specific tests disabled - not a unicode build
ok
t/41Unicode.t ................ 
1..55
ok 1 - DBI connect
ok 2 # skip Unicode-specific tests disabled - not a unicode build
ok 3 # skip Unicode-specific tests disabled - not a unicode build
ok 4 # skip Unicode-specific tests disabled - not a unicode build
ok 5 # skip Unicode-specific tests disabled - not a unicode build
ok 6 # skip Unicode-specific tests disabled - not a unicode build
ok 7 # skip Unicode-specific tests disabled - not a unicode build
ok 8 # skip Unicode-specific tests disabled - not a unicode build
ok 9 # skip Unicode-specific tests disabled - not a unicode build
ok 10 # skip Unicode-specific tests disabled - not a unicode build
ok 11 # skip Unicode-specific tests disabled - not a unicode build
ok 12 # skip Unicode-specific tests disabled - not a unicode build
ok 13 # skip Unicode-specific tests disabled - not a unicode build
ok 14 # skip Unicode-specific tests disabled - not a unicode build
ok 15 # skip Unicode-specific tests disabled - not a unicode build
ok 16 # skip Unicode-specific tests disabled - not a unicode build
ok 17 # skip Unicode-specific tests disabled - not a unicode build
ok 18 # skip Unicode-specific tests disabled - not a unicode build
ok 19 # skip Unicode-specific tests disabled - not a unicode build
ok 20 # skip Unicode-specific tests disabled - not a unicode build
ok 21 # skip Unicode-specific tests disabled - not a unicode build
ok 22 # skip Unicode-specific tests disabled - not a unicode build
ok 23 # skip Unicode-specific tests disabled - not a unicode build
ok 24 # skip Unicode-specific tests disabled - not a unicode build
ok 25 # skip Unicode-specific tests disabled - not a unicode build
ok 26 # skip Unicode-specific tests disabled - not a unicode build
ok 27 # skip Unicode-specific tests disabled - not a unicode build
ok 28 # skip Unicode-specific tests disabled - not a unicode build
ok 29 # skip Unicode-specific tests disabled - not a unicode build
ok 30 # skip Unicode-specific tests disabled - not a unicode build
ok 31 # skip Unicode-specific tests disabled - not a unicode build
ok 32 # skip Unicode-specific tests disabled - not a unicode build
ok 33 # skip Unicode-specific tests disabled - not a unicode build
ok 34 # skip Unicode-specific tests disabled - not a unicode build
ok 35 # skip Unicode-specific tests disabled - not a unicode build
ok 36 # skip Unicode-specific tests disabled - not a unicode build
ok 37 # skip Unicode-specific tests disabled - not a unicode build
ok 38 # skip Unicode-specific tests disabled - not a unicode build
ok 39 # skip Unicode-specific tests disabled - not a unicode build
ok 40 # skip Unicode-specific tests disabled - not a unicode build
ok 41 # skip Unicode-specific tests disabled - not a unicode build
ok 42 # skip Unicode-specific tests disabled - not a unicode build
ok 43 # skip Unicode-specific tests disabled - not a unicode build
ok 44 # skip Unicode-specific tests disabled - not a unicode build
ok 45 # skip Unicode-specific tests disabled - not a unicode build
ok 46 # skip Unicode-specific tests disabled - not a unicode build
ok 47 # skip Unicode-specific tests disabled - not a unicode build
ok 48 # skip Unicode-specific tests disabled - not a unicode build
ok 49 # skip Unicode-specific tests disabled - not a unicode build
ok 50 # skip Unicode-specific tests disabled - not a unicode build
ok 51 # skip Unicode-specific tests disabled - not a unicode build
ok 52 # skip Unicode-specific tests disabled - not a unicode build
ok 53 # skip Unicode-specific tests disabled - not a unicode build
ok 54 # skip Unicode-specific tests disabled - not a unicode build
ok 55 # skip Unicode-specific tests disabled - not a unicode build
ok
t/45_unicode_varchar.t ....... # Driver: libtdsodbc.so

# Not a unicode build of DBD::ODBC
1..0 # SKIP Not a unicode build of DBD::ODBC
skipped: Not a unicode build of DBD::ODBC
t/50_odbc_utf8_on.t .......... 
1..3
ok 1 - odbc_utf8_on exists with value=0
ok 2 - odbc_utf8_on is off by default
ok 3 - odbc_utf8_on set value=1
ok
t/70execute_array_dbi.t ...... # 
# 
# NOTE: This tests execute_array and execute_for_fetch using DBI's version and not the native DBD::ODBC execute_for_fetch. It should work as it is using nothing special in DBD::ODBC other than the normal methods.

# Using driver ODBC
# ***** error handler called *****
# Table dropped
ok 1 - create test table
# simple tests array_context = 1, raise = 1
#   all param arrays the same size
#     Autocommit: 1
# insert array_context = 1, tuple = ARRAY(0x555758c7f088), error = 0, raise = 1, sts = 5, commit = '', affected = 5
ok 2 - no error in execute_array eval
ok 3 - execute_array returned 5 rows executed
ok 4 - total affected 5
ok 5 - no error captured
ok 6 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       1
#                     ];
ok 7 - tuple status is an array
ok 8 - status arrays same size
ok 9 - row 0 tuple status
ok 10 - row 1 tuple status
ok 11 - row 2 tuple status
ok 12 - row 3 tuple status
ok 13 - row 4 tuple status
ok 14 - row 0 p1 data
ok 15 - row 0 p2 data
ok 16 - row 1 p1 data
ok 17 - row 1 p2 data
ok 18 - row 2 p1 data
ok 19 - row 2 p2 data
ok 20 - row 3 p1 data
ok 21 - row 3 p2 data
ok 22 - row 4 p1 data
ok 23 - row 4 p2 data
#     Autocommit: 0
# insert tuple = ARRAY(0x555758d4afb8), array_context = 1, error = 0, sts = 5, raise = 1, commit = 1, affected = 5
ok 24 - no error in execute_array eval
ok 25 - execute_array returned 5 rows executed
ok 26 - total affected 5
ok 27 - no error captured
ok 28 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       1
#                     ];
ok 29 - tuple status is an array
ok 30 - status arrays same size
ok 31 - row 0 tuple status
ok 32 - row 1 tuple status
ok 33 - row 2 tuple status
ok 34 - row 3 tuple status
ok 35 - row 4 tuple status
ok 36 - row 0 p1 data
ok 37 - row 0 p2 data
ok 38 - row 1 p1 data
ok 39 - row 1 p2 data
ok 40 - row 2 p1 data
ok 41 - row 2 p2 data
ok 42 - row 3 p1 data
ok 43 - row 3 p2 data
ok 44 - row 4 p1 data
ok 45 - row 4 p2 data
#   Not all param arrays the same size
# insert tuple = ARRAY(0x555758c7efb0), array_context = 1, error = 0, raise = 1, sts = 5, commit = 0, affected = 5
ok 46 - no error in execute_array eval
ok 47 - execute_array returned 5 rows executed
ok 48 - total affected 5
ok 49 - no error captured
ok 50 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       1
#                     ];
ok 51 - tuple status is an array
ok 52 - status arrays same size
ok 53 - row 0 tuple status
ok 54 - row 1 tuple status
ok 55 - row 2 tuple status
ok 56 - row 3 tuple status
ok 57 - row 4 tuple status
ok 58 - row 0 p1 data
ok 59 - row 0 p2 data
ok 60 - row 1 p1 data
ok 61 - row 1 p2 data
ok 62 - row 2 p1 data
ok 63 - row 2 p2 data
ok 64 - row 3 p1 data
ok 65 - row 3 p2 data
ok 66 - row 4 p1 data
ok 67 - row 4 p2 data
#   Not all param arrays the same size with bind on execute_array
# insert affected = 5, commit = 0, sts = 5, raise = 1, error = 0, tuple = ARRAY(0x555758d4e710), array_context = 1, params = ARRAY(0x555758d4ec80)
ok 68 - no error in execute_array eval
ok 69 - execute_array returned 5 rows executed
ok 70 - total affected 5
ok 71 - no error captured
ok 72 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       1
#                     ];
ok 73 - tuple status is an array
ok 74 - status arrays same size
ok 75 - row 0 tuple status
ok 76 - row 1 tuple status
ok 77 - row 2 tuple status
ok 78 - row 3 tuple status
ok 79 - row 4 tuple status
ok 80 - row 0 p1 data
ok 81 - row 0 p2 data
ok 82 - row 1 p1 data
ok 83 - row 1 p2 data
ok 84 - row 2 p1 data
ok 85 - row 2 p2 data
ok 86 - row 3 p1 data
ok 87 - row 3 p2 data
ok 88 - row 4 p1 data
ok 89 - row 4 p2 data
#   no parameters
# insert params = ARRAY(0x555758d52468), tuple = ARRAY(0x555758c7f3a0), array_context = 1, error = 0, raise = 1, sts = '0E0', commit = 0, affected = 0
ok 90 - no error in execute_array eval
ok 91 - execute_array returned '0E0' rows executed
ok 92 - total affected 0
ok 93 - no error captured
ok 94 - 0E0 rows in tuple_status
# $ArrayTupleStatus = [];
ok 95 - tuple status is an array
ok 96 - status arrays same size
# simple tests raise = 1, array_context = 0
#   all param arrays the same size
#     Autocommit: 1
# insert tuple = ARRAY(0x555758d55958), array_context = 0, error = 0, sts = 5, raise = 1, affected = 5, commit = ''
ok 97 - no error in execute_array eval
ok 98 - execute_array returned 5 rows executed
ok 99 - no error captured
ok 100 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       1
#                     ];
ok 101 - tuple status is an array
ok 102 - status arrays same size
ok 103 - row 0 tuple status
ok 104 - row 1 tuple status
ok 105 - row 2 tuple status
ok 106 - row 3 tuple status
ok 107 - row 4 tuple status
ok 108 - row 0 p1 data
ok 109 - row 0 p2 data
ok 110 - row 1 p1 data
ok 111 - row 1 p2 data
ok 112 - row 2 p1 data
ok 113 - row 2 p2 data
ok 114 - row 3 p1 data
ok 115 - row 3 p2 data
ok 116 - row 4 p1 data
ok 117 - row 4 p2 data
#     Autocommit: 0
# insert commit = 1, affected = 5, raise = 1, sts = 5, error = 0, tuple = ARRAY(0x555758d4e5c0), array_context = 0
ok 118 - no error in execute_array eval
ok 119 - execute_array returned 5 rows executed
ok 120 - no error captured
ok 121 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       1
#                     ];
ok 122 - tuple status is an array
ok 123 - status arrays same size
ok 124 - row 0 tuple status
ok 125 - row 1 tuple status
ok 126 - row 2 tuple status
ok 127 - row 3 tuple status
ok 128 - row 4 tuple status
ok 129 - row 0 p1 data
ok 130 - row 0 p2 data
ok 131 - row 1 p1 data
ok 132 - row 1 p2 data
ok 133 - row 2 p1 data
ok 134 - row 2 p2 data
ok 135 - row 3 p1 data
ok 136 - row 3 p2 data
ok 137 - row 4 p1 data
ok 138 - row 4 p2 data
#   Not all param arrays the same size
# insert error = 0, sts = 5, raise = 1, tuple = ARRAY(0x555758d52390), array_context = 0, affected = 5, commit = 0
ok 139 - no error in execute_array eval
ok 140 - execute_array returned 5 rows executed
ok 141 - no error captured
ok 142 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       1
#                     ];
ok 143 - tuple status is an array
ok 144 - status arrays same size
ok 145 - row 0 tuple status
ok 146 - row 1 tuple status
ok 147 - row 2 tuple status
ok 148 - row 3 tuple status
ok 149 - row 4 tuple status
ok 150 - row 0 p1 data
ok 151 - row 0 p2 data
ok 152 - row 1 p1 data
ok 153 - row 1 p2 data
ok 154 - row 2 p1 data
ok 155 - row 2 p2 data
ok 156 - row 3 p1 data
ok 157 - row 3 p2 data
ok 158 - row 4 p1 data
ok 159 - row 4 p2 data
#   Not all param arrays the same size with bind on execute_array
# insert params = ARRAY(0x555758d58d38), error = 0, sts = 5, raise = 1, tuple = ARRAY(0x555758d55430), array_context = 0, affected = 5, commit = 0
ok 160 - no error in execute_array eval
ok 161 - execute_array returned 5 rows executed
ok 162 - no error captured
ok 163 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       1
#                     ];
ok 164 - tuple status is an array
ok 165 - status arrays same size
ok 166 - row 0 tuple status
ok 167 - row 1 tuple status
ok 168 - row 2 tuple status
ok 169 - row 3 tuple status
ok 170 - row 4 tuple status
ok 171 - row 0 p1 data
ok 172 - row 0 p2 data
ok 173 - row 1 p1 data
ok 174 - row 1 p2 data
ok 175 - row 2 p1 data
ok 176 - row 2 p2 data
ok 177 - row 3 p1 data
ok 178 - row 3 p2 data
ok 179 - row 4 p1 data
ok 180 - row 4 p2 data
#   no parameters
# insert commit = 0, affected = 0, sts = '0E0', raise = 1, error = 0, array_context = 0, tuple = ARRAY(0x555758d4eda0), params = ARRAY(0x555758d5f120)
ok 181 - no error in execute_array eval
ok 182 - execute_array returned '0E0' rows executed
ok 183 - no error captured
ok 184 - 0E0 rows in tuple_status
# $ArrayTupleStatus = [];
ok 185 - tuple status is an array
ok 186 - status arrays same size
# error tests raise = 1, array_context = 1
# Last row in error
# insert sts = undef, raise = 1, error = 1, array_context = 1, tuple = ARRAY(0x555758d5ed90), commit = 0, affected = undef
# ***** error handler called *****
ok 187 - error in execute_array eval
ok 188 - error captured
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       [
#                         1,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__6FD49106\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'. (SQL-23000) [state was 23000 now 01000]
# [FreeTDS][SQL Server]The statement has been terminated. (SQL-01000)',
#                         '01000'
#                       ]
#                     ];
ok 189 - tuple status is an array
ok 190 - status arrays same size
ok 191 - row 0 tuple status
ok 192 - row 1 tuple status
ok 193 - row 2 tuple status
ok 194 - row 3 tuple status
ok 195 - array in array tuple status
ok 196 - 3 elements in array tuple status error
ok 197 - row 0 p1 data
ok 198 - row 0 p2 data
ok 199 - row 1 p1 data
ok 200 - row 1 p2 data
ok 201 - row 2 p1 data
ok 202 - row 2 p2 data
ok 203 - row 3 p1 data
ok 204 - row 3 p2 data
# 2nd last row in error
# insert error = 1, sts = undef, raise = 1, array_context = 1, tuple = ARRAY(0x555758d611c8), commit = 0, affected = undef
# ***** error handler called *****
ok 205 - error in execute_array eval
ok 206 - error captured
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       [
#                         1,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__6FD49106\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'. (SQL-23000) [state was 23000 now 01000]
# [FreeTDS][SQL Server]The statement has been terminated. (SQL-01000)',
#                         '01000'
#                       ],
#                       1
#                     ];
ok 207 - tuple status is an array
ok 208 - status arrays same size
ok 209 - row 0 tuple status
ok 210 - row 1 tuple status
ok 211 - row 2 tuple status
ok 212 - array in array tuple status
ok 213 - 3 elements in array tuple status error
ok 214 - row 4 tuple status
ok 215 - row 0 p1 data
ok 216 - row 0 p2 data
ok 217 - row 1 p1 data
ok 218 - row 1 p2 data
ok 219 - row 2 p1 data
ok 220 - row 2 p2 data
ok 221 - row 3 p1 data
ok 222 - row 3 p2 data
# error tests array_context = 0, raise = 1
# Last row in error
# insert commit = 0, affected = undef, raise = 1, sts = undef, error = 1, array_context = 0, tuple = ARRAY(0x555758d61798)
# ***** error handler called *****
ok 223 - error in execute_array eval
ok 224 - error captured
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       [
#                         1,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__6FD49106\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'. (SQL-23000) [state was 23000 now 01000]
# [FreeTDS][SQL Server]The statement has been terminated. (SQL-01000)',
#                         '01000'
#                       ]
#                     ];
ok 225 - tuple status is an array
ok 226 - status arrays same size
ok 227 - row 0 tuple status
ok 228 - row 1 tuple status
ok 229 - row 2 tuple status
ok 230 - row 3 tuple status
ok 231 - array in array tuple status
ok 232 - 3 elements in array tuple status error
ok 233 - row 0 p1 data
ok 234 - row 0 p2 data
ok 235 - row 1 p1 data
ok 236 - row 1 p2 data
ok 237 - row 2 p1 data
ok 238 - row 2 p2 data
ok 239 - row 3 p1 data
ok 240 - row 3 p2 data
# 2nd last row in error
# insert commit = 0, affected = undef, tuple = ARRAY(0x555758d683c8), array_context = 0, sts = undef, raise = 1, error = 1
# ***** error handler called *****
ok 241 - error in execute_array eval
ok 242 - error captured
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       [
#                         1,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__6FD49106\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'. (SQL-23000) [state was 23000 now 01000]
# [FreeTDS][SQL Server]The statement has been terminated. (SQL-01000)',
#                         '01000'
#                       ],
#                       1
#                     ];
ok 243 - tuple status is an array
ok 244 - status arrays same size
ok 245 - row 0 tuple status
ok 246 - row 1 tuple status
ok 247 - row 2 tuple status
ok 248 - array in array tuple status
ok 249 - 3 elements in array tuple status error
ok 250 - row 4 tuple status
ok 251 - row 0 p1 data
ok 252 - row 0 p2 data
ok 253 - row 1 p1 data
ok 254 - row 1 p2 data
ok 255 - row 2 p1 data
ok 256 - row 2 p2 data
ok 257 - row 3 p1 data
ok 258 - row 3 p2 data
# error tests array_context = 1, raise = 0
# Last row in error
# insert affected = undef, commit = 0, array_context = 1, tuple = ARRAY(0x555758d688d8), raise = 0, sts = undef, error = 1
# ***** error handler called *****
ok 259 - no error in execute_array eval
ok 260 - execute_array returned undef rows executed
ok 261 - total affected undef
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       [
#                         1,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__6FD49106\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'. (SQL-23000) [state was 23000 now 01000]
# [FreeTDS][SQL Server]The statement has been terminated. (SQL-01000)',
#                         '01000'
#                       ]
#                     ];
ok 262 - tuple status is an array
ok 263 - status arrays same size
ok 264 - row 0 tuple status
ok 265 - row 1 tuple status
ok 266 - row 2 tuple status
ok 267 - row 3 tuple status
ok 268 - array in array tuple status
ok 269 - 3 elements in array tuple status error
ok 270 - row 0 p1 data
ok 271 - row 0 p2 data
ok 272 - row 1 p1 data
ok 273 - row 1 p2 data
ok 274 - row 2 p1 data
ok 275 - row 2 p2 data
ok 276 - row 3 p1 data
ok 277 - row 3 p2 data
# 2nd last row in error
# insert array_context = 1, tuple = ARRAY(0x555758d70218), sts = undef, raise = 0, error = 1, affected = undef, commit = 0
# ***** error handler called *****
ok 278 - no error in execute_array eval
ok 279 - execute_array returned undef rows executed
ok 280 - total affected undef
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       [
#                         1,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__6FD49106\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'. (SQL-23000) [state was 23000 now 01000]
# [FreeTDS][SQL Server]The statement has been terminated. (SQL-01000)',
#                         '01000'
#                       ],
#                       1
#                     ];
ok 281 - tuple status is an array
ok 282 - status arrays same size
ok 283 - row 0 tuple status
ok 284 - row 1 tuple status
ok 285 - row 2 tuple status
ok 286 - array in array tuple status
ok 287 - 3 elements in array tuple status error
ok 288 - row 4 tuple status
ok 289 - row 0 p1 data
ok 290 - row 0 p2 data
ok 291 - row 1 p1 data
ok 292 - row 1 p2 data
ok 293 - row 2 p1 data
ok 294 - row 2 p2 data
ok 295 - row 3 p1 data
ok 296 - row 3 p2 data
# error tests raise = 0, array_context = 0
# Last row in error
# insert raise = 0, sts = undef, error = 1, array_context = 0, tuple = ARRAY(0x555758d70968), affected = undef, commit = 0
# ***** error handler called *****
ok 297 - no error in execute_array eval
ok 298 - execute_array returned undef rows executed
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       [
#                         1,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__6FD49106\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'. (SQL-23000) [state was 23000 now 01000]
# [FreeTDS][SQL Server]The statement has been terminated. (SQL-01000)',
#                         '01000'
#                       ]
#                     ];
ok 299 - tuple status is an array
ok 300 - status arrays same size
ok 301 - row 0 tuple status
ok 302 - row 1 tuple status
ok 303 - row 2 tuple status
ok 304 - row 3 tuple status
ok 305 - array in array tuple status
ok 306 - 3 elements in array tuple status error
ok 307 - row 0 p1 data
ok 308 - row 0 p2 data
ok 309 - row 1 p1 data
ok 310 - row 1 p2 data
ok 311 - row 2 p1 data
ok 312 - row 2 p2 data
ok 313 - row 3 p1 data
ok 314 - row 3 p2 data
# 2nd last row in error
# insert array_context = 0, tuple = ARRAY(0x555758d724c0), error = 1, sts = undef, raise = 0, commit = 0, affected = undef
# ***** error handler called *****
ok 315 - no error in execute_array eval
ok 316 - execute_array returned undef rows executed
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       [
#                         1,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__6FD49106\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'. (SQL-23000) [state was 23000 now 01000]
# [FreeTDS][SQL Server]The statement has been terminated. (SQL-01000)',
#                         '01000'
#                       ],
#                       1
#                     ];
ok 317 - tuple status is an array
ok 318 - status arrays same size
ok 319 - row 0 tuple status
ok 320 - row 1 tuple status
ok 321 - row 2 tuple status
ok 322 - array in array tuple status
ok 323 - 3 elements in array tuple status error
ok 324 - row 4 tuple status
ok 325 - row 0 p1 data
ok 326 - row 0 p2 data
ok 327 - row 1 p1 data
ok 328 - row 1 p2 data
ok 329 - row 2 p1 data
ok 330 - row 2 p2 data
ok 331 - row 3 p1 data
ok 332 - row 3 p2 data
# row_size via execute_for_fetch
# insert fetch = CODE(0x555758c4a5e8), commit = 0, affected = 5, tuple = ARRAY(0x555758d6ea28), array_context = 1, error = 0, sts = 5, raise = 1
# fetch_sub 0
# fetch_sub 1
# fetch_sub 2
# fetch_sub 3
# fetch_sub 4
# fetch_sub 5
# returning undef
ok 333 - no error in execute_array eval
ok 334 - execute_array returned 5 rows executed
ok 335 - total affected 5
ok 336 - no error captured
ok 337 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       1
#                     ];
ok 338 - tuple status is an array
ok 339 - status arrays same size
ok 340 - row 0 tuple status
ok 341 - row 1 tuple status
ok 342 - row 2 tuple status
ok 343 - row 3 tuple status
ok 344 - row 4 tuple status
# row_size via select
ok 345 - execute on second table
ok 346 - second statement is in executed state
# insert sts = 5, raise = 1, error = 0, array_context = 1, tuple = ARRAY(0x555758d728b0), requires_mas = 1, commit = 0, affected = 5, fetch = DBI::st=HASH(0x555758d68980)
# ***** error handler called *****
# 
# This test died with DBD::ODBC::st execute_array failed: executing 5 generated 5 errors at t/ExecuteArray.pm line 209.
# It requires multiple active statement support in the driver and I cannot easily determine if your driver supports MAS. Ignoring the rest of this test.
# 1,[FreeTDS][SQL Server]Invalid cursor state (SQL-24000),24000
# 1,[FreeTDS][SQL Server]Invalid cursor state (SQL-24000),24000
# 1,[FreeTDS][SQL Server]Invalid cursor state (SQL-24000),24000
# 1,[FreeTDS][SQL Server]Invalid cursor state (SQL-24000),24000
# 1,[FreeTDS][SQL Server]Invalid cursor state (SQL-24000),24000
# update test
# insert raise = 1, sts = 5, error = 0, array_context = 1, tuple = ARRAY(0x555758d68980), commit = 0, affected = 5, fetch = CODE(0x555758c4a5e8)
# fetch_sub 0
# fetch_sub 1
# fetch_sub 2
# fetch_sub 3
# fetch_sub 4
# fetch_sub 5
# returning undef
ok 347 - no error in execute_array eval
ok 348 - execute_array returned 5 rows executed
ok 349 - total affected 5
ok 350 - no error captured
ok 351 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       1
#                     ];
ok 352 - tuple status is an array
ok 353 - status arrays same size
ok 354 - row 0 tuple status
ok 355 - row 1 tuple status
ok 356 - row 2 tuple status
ok 357 - row 3 tuple status
ok 358 - row 4 tuple status
ok 359 - row 0 p1 data
ok 360 - row 0 p2 data
ok 361 - row 1 p1 data
ok 362 - row 1 p2 data
ok 363 - row 2 p1 data
ok 364 - row 2 p2 data
ok 365 - row 3 p1 data
ok 366 - row 3 p2 data
ok 367 - row 4 p1 data
ok 368 - row 4 p2 data
# insert raise = 1, sts = 5, error = 0, tuple = ARRAY(0x555758d6de58), array_context = 1, affected = 5, commit = 0
ok 369 - no error in execute_array eval
ok 370 - execute_array returned 5 rows executed
ok 371 - total affected 5
ok 372 - no error captured
ok 373 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       1
#                     ];
ok 374 - tuple status is an array
ok 375 - status arrays same size
ok 376 - row 0 tuple status
ok 377 - row 1 tuple status
ok 378 - row 2 tuple status
ok 379 - row 3 tuple status
ok 380 - row 4 tuple status
ok 381 - row 0 p1 data
ok 382 - row 0 p2 data
ok 383 - row 1 p1 data
ok 384 - row 1 p2 data
ok 385 - row 2 p1 data
ok 386 - row 2 p2 data
ok 387 - row 3 p1 data
ok 388 - row 3 p2 data
ok 389 - row 4 p1 data
ok 390 - row 4 p2 data
# insert affected = 4, commit = 0, tuple = ARRAY(0x555758d79308), array_context = 1, error = 0, sts = 5, raise = 1
ok 391 - no error in execute_array eval
ok 392 - execute_array returned 5 rows executed
ok 393 - total affected 4
ok 394 - no error captured
ok 395 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       1,
#                       1,
#                       1,
#                       1,
#                       '0E0'
#                     ];
ok 396 - tuple status is an array
ok 397 - status arrays same size
ok 398 - row 0 tuple status
ok 399 - row 1 tuple status
ok 400 - row 2 tuple status
ok 401 - row 3 tuple status
ok 402 - row 4 tuple status
ok 403 - row 0 p1 data
ok 404 - row 0 p2 data
ok 405 - row 1 p1 data
ok 406 - row 1 p2 data
ok 407 - row 2 p1 data
ok 408 - row 2 p2 data
ok 409 - row 3 p1 data
ok 410 - row 3 p2 data
ok 411 - row 4 p1 data
ok 412 - row 4 p2 data
# insert commit = 0, affected = 5, error = 0, raise = 1, sts = 2, array_context = 1, tuple = ARRAY(0x555758d6dea0)
ok 413 - no error in execute_array eval
ok 414 - execute_array returned 2 rows executed
ok 415 - total affected 5
ok 416 - no error captured
ok 417 - 2 rows in tuple_status
# $ArrayTupleStatus = [
#                       4,
#                       1
#                     ];
ok 418 - tuple status is an array
ok 419 - status arrays same size
ok 420 - row 0 tuple status
ok 421 - row 1 tuple status
ok 422 - row 0 p1 data
ok 423 - row 0 p2 data
ok 424 - row 1 p1 data
ok 425 - row 1 p2 data
ok 426 - row 2 p1 data
ok 427 - row 2 p2 data
ok 428 - row 3 p1 data
ok 429 - row 3 p2 data
ok 430 - row 4 p1 data
ok 431 - row 4 p2 data
# error tests raise = 1, array_context = 1, notuplestatus = 1
# Last row in error
# insert commit = 0, affected = undef, tuple = ARRAY(0x555758d72fe8), notuplestatus = 1, array_context = 1, error = 1, sts = undef, raise = 1
# ***** error handler called *****
ok 432 - error in execute_array eval
ok 433 - error captured
ok 434 - row 0 p1 data
ok 435 - row 0 p2 data
ok 436 - row 1 p1 data
ok 437 - row 1 p2 data
ok 438 - row 2 p1 data
ok 439 - row 2 p2 data
ok 440 - row 3 p1 data
ok 441 - row 3 p2 data
# 2nd last row in error
# insert error = 1, raise = 1, sts = undef, notuplestatus = 1, tuple = ARRAY(0x555758d84168), array_context = 1, commit = 0, affected = undef
# ***** error handler called *****
ok 442 - error in execute_array eval
ok 443 - error captured
ok 444 - row 0 p1 data
ok 445 - row 0 p2 data
ok 446 - row 1 p1 data
ok 447 - row 1 p2 data
ok 448 - row 2 p1 data
ok 449 - row 2 p2 data
ok 450 - row 3 p1 data
ok 451 - row 3 p2 data
# error tests raise = 1, array_context = 0, notuplestatus = 1
# Last row in error
# insert notuplestatus = 1, array_context = 0, tuple = ARRAY(0x555758d83da8), raise = 1, sts = undef, error = 1, commit = 0, affected = undef
# ***** error handler called *****
ok 452 - error in execute_array eval
ok 453 - error captured
ok 454 - row 0 p1 data
ok 455 - row 0 p2 data
ok 456 - row 1 p1 data
ok 457 - row 1 p2 data
ok 458 - row 2 p1 data
ok 459 - row 2 p2 data
ok 460 - row 3 p1 data
ok 461 - row 3 p2 data
# 2nd last row in error
# insert error = 1, raise = 1, sts = undef, notuplestatus = 1, array_context = 0, tuple = ARRAY(0x555758d8a278), affected = undef, commit = 0
# ***** error handler called *****
ok 462 - error in execute_array eval
ok 463 - error captured
ok 464 - row 0 p1 data
ok 465 - row 0 p2 data
ok 466 - row 1 p1 data
ok 467 - row 1 p2 data
ok 468 - row 2 p1 data
ok 469 - row 2 p2 data
ok 470 - row 3 p1 data
ok 471 - row 3 p2 data
# error tests notuplestatus = 1, array_context = 1, raise = 0
# Last row in error
# insert tuple = ARRAY(0x555758d6ec98), array_context = 1, notuplestatus = 1, raise = 0, sts = undef, error = 1, commit = 0, affected = undef
# ***** error handler called *****
ok 472 - no error in execute_array eval
ok 473 - execute_array returned undef rows executed
ok 474 - total affected undef
ok 475 - row 0 p1 data
ok 476 - row 0 p2 data
ok 477 - row 1 p1 data
ok 478 - row 1 p2 data
ok 479 - row 2 p1 data
ok 480 - row 2 p2 data
ok 481 - row 3 p1 data
ok 482 - row 3 p2 data
# 2nd last row in error
# insert affected = undef, commit = 0, tuple = ARRAY(0x555758d8c860), array_context = 1, notuplestatus = 1, error = 1, raise = 0, sts = undef
# ***** error handler called *****
ok 483 - no error in execute_array eval
ok 484 - execute_array returned undef rows executed
ok 485 - total affected undef
ok 486 - row 0 p1 data
ok 487 - row 0 p2 data
ok 488 - row 1 p1 data
ok 489 - row 1 p2 data
ok 490 - row 2 p1 data
ok 491 - row 2 p2 data
ok 492 - row 3 p1 data
ok 493 - row 3 p2 data
# error tests notuplestatus = 1, array_context = 0, raise = 0
# Last row in error
# insert affected = undef, commit = 0, error = 1, sts = undef, raise = 0, array_context = 0, notuplestatus = 1, tuple = ARRAY(0x555758d7f6f8)
# ***** error handler called *****
ok 494 - no error in execute_array eval
ok 495 - execute_array returned undef rows executed
ok 496 - row 0 p1 data
ok 497 - row 0 p2 data
ok 498 - row 1 p1 data
ok 499 - row 1 p2 data
ok 500 - row 2 p1 data
ok 501 - row 2 p2 data
ok 502 - row 3 p1 data
ok 503 - row 3 p2 data
# 2nd last row in error
# insert affected = undef, commit = 0, array_context = 0, tuple = ARRAY(0x555758d8f370), notuplestatus = 1, raise = 0, sts = undef, error = 1
# ***** error handler called *****
ok 504 - no error in execute_array eval
ok 505 - execute_array returned undef rows executed
ok 506 - row 0 p1 data
ok 507 - row 0 p2 data
ok 508 - row 1 p1 data
ok 509 - row 1 p2 data
ok 510 - row 2 p1 data
ok 511 - row 2 p2 data
ok 512 - row 3 p1 data
ok 513 - row 3 p2 data
# Table dropped
1..513
ok
t/70execute_array_native.t ... # 
# 
# NOTE: This is an experimental test. Since DBD::ODBC added the execute_for_fetch method this tests the native method and not DBI's fallback method. If you fail this test it probably means the ODBC driver you are using does not have sufficient support (or is buggy) for array operations. If you pass this test your ODBC Driver seems ok and you can get faster insert/update/delete operations using DBI's execute_array or execute_for_fetch methods by setting the odbc_array_operations to true.
# 
# If this test fails it should not stop you installing DBD::ODBC but if it fails with an error other than something indicating 'connection busy' I'd strongly suggest you don't set odbc_array_operations and stick with DBI's default implementation.
# 
# If this test fails for your driver I'd like to hear about it so I can compile a list of working drivers and perhaps pass bug reports on to the maintainers. Please rerun this test with TEST_VERBOSE set or using prove and send the results to the dbi-users mailing list.
# 
# 
# Perl 5.24.1
# osname=linux, osvers=3.16.0, archname=x86_64-linux-gnu-thread-multi
# Using DBI 1.636
# Using DBD::ODBC 1.52
# Using DBMS_NAME 'Microsoft SQL Server'
# Using DBMS_VER '09.00.5000'
# Using DRIVER_NAME 'libtdsodbc.so'
# Using DRIVER_VER '01.00.9999'
# odbc_has_unicode 0

# Using driver ODBC
# ***** error handler called *****
# Table dropped
ok 1 - create test table
# simple tests array_context = 1, raise = 1
#   all param arrays the same size
#     Autocommit: 1
# insert sts = 5, commit = '', affected = 5, raise = 1, array_context = 1, error = 0, tuple = ARRAY(0x564cd2d531b0)
ok 2 - no error in execute_array eval
ok 3 - execute_array returned 5 rows executed
ok 4 - total affected 5
ok 5 - no error captured
ok 6 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 7 - tuple status is an array
ok 8 - status arrays same size
ok 9 - row 0 tuple status unknown
ok 10 - row 1 tuple status unknown
ok 11 - row 2 tuple status unknown
ok 12 - row 3 tuple status unknown
ok 13 - row 4 tuple status unknown
ok 14 - row 0 p1 data
ok 15 - row 0 p2 data
ok 16 - row 1 p1 data
ok 17 - row 1 p2 data
ok 18 - row 2 p1 data
ok 19 - row 2 p2 data
ok 20 - row 3 p1 data
ok 21 - row 3 p2 data
ok 22 - row 4 p1 data
ok 23 - row 4 p2 data
#     Autocommit: 0
# insert error = 0, array_context = 1, raise = 1, tuple = ARRAY(0x564cd2d66458), commit = 1, sts = 5, affected = 5
ok 24 - no error in execute_array eval
ok 25 - execute_array returned 5 rows executed
ok 26 - total affected 5
ok 27 - no error captured
ok 28 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 29 - tuple status is an array
ok 30 - status arrays same size
ok 31 - row 0 tuple status unknown
ok 32 - row 1 tuple status unknown
ok 33 - row 2 tuple status unknown
ok 34 - row 3 tuple status unknown
ok 35 - row 4 tuple status unknown
ok 36 - row 0 p1 data
ok 37 - row 0 p2 data
ok 38 - row 1 p1 data
ok 39 - row 1 p2 data
ok 40 - row 2 p1 data
ok 41 - row 2 p2 data
ok 42 - row 3 p1 data
ok 43 - row 3 p2 data
ok 44 - row 4 p1 data
ok 45 - row 4 p2 data
#   Not all param arrays the same size
# insert affected = 5, sts = 5, commit = 0, tuple = ARRAY(0x564cd2d662f0), error = 0, array_context = 1, raise = 1
ok 46 - no error in execute_array eval
ok 47 - execute_array returned 5 rows executed
ok 48 - total affected 5
ok 49 - no error captured
ok 50 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 51 - tuple status is an array
ok 52 - status arrays same size
ok 53 - row 0 tuple status unknown
ok 54 - row 1 tuple status unknown
ok 55 - row 2 tuple status unknown
ok 56 - row 3 tuple status unknown
ok 57 - row 4 tuple status unknown
ok 58 - row 0 p1 data
ok 59 - row 0 p2 data
ok 60 - row 1 p1 data
ok 61 - row 1 p2 data
ok 62 - row 2 p1 data
ok 63 - row 2 p2 data
ok 64 - row 3 p1 data
ok 65 - row 3 p2 data
ok 66 - row 4 p1 data
ok 67 - row 4 p2 data
#   Not all param arrays the same size with bind on execute_array
# insert tuple = ARRAY(0x564cd2db0ee8), raise = 1, error = 0, array_context = 1, commit = 0, params = ARRAY(0x564cd2d72e00), affected = 5, sts = 5
ok 68 - no error in execute_array eval
ok 69 - execute_array returned 5 rows executed
ok 70 - total affected 5
ok 71 - no error captured
ok 72 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 73 - tuple status is an array
ok 74 - status arrays same size
ok 75 - row 0 tuple status unknown
ok 76 - row 1 tuple status unknown
ok 77 - row 2 tuple status unknown
ok 78 - row 3 tuple status unknown
ok 79 - row 4 tuple status unknown
ok 80 - row 0 p1 data
ok 81 - row 0 p2 data
ok 82 - row 1 p1 data
ok 83 - row 1 p2 data
ok 84 - row 2 p1 data
ok 85 - row 2 p2 data
ok 86 - row 3 p1 data
ok 87 - row 3 p2 data
ok 88 - row 4 p1 data
ok 89 - row 4 p2 data
#   no parameters
# insert commit = 0, raise = 1, error = 0, array_context = 1, tuple = ARRAY(0x564cd2c9aa80), sts = '0E0', affected = 0, params = ARRAY(0x564cd2db3f20)
ok 90 - no error in execute_array eval
ok 91 - execute_array returned '0E0' rows executed
ok 92 - total affected 0
ok 93 - no error captured
ok 94 - 0E0 rows in tuple_status
# $ArrayTupleStatus = [];
ok 95 - tuple status is an array
ok 96 - status arrays same size
# simple tests array_context = 0, raise = 1
#   all param arrays the same size
#     Autocommit: 1
# insert affected = 5, sts = 5, commit = '', tuple = ARRAY(0x564cd2d46438), raise = 1, error = 0, array_context = 0
ok 97 - no error in execute_array eval
ok 98 - execute_array returned 5 rows executed
ok 99 - no error captured
ok 100 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 101 - tuple status is an array
ok 102 - status arrays same size
ok 103 - row 0 tuple status unknown
ok 104 - row 1 tuple status unknown
ok 105 - row 2 tuple status unknown
ok 106 - row 3 tuple status unknown
ok 107 - row 4 tuple status unknown
ok 108 - row 0 p1 data
ok 109 - row 0 p2 data
ok 110 - row 1 p1 data
ok 111 - row 1 p2 data
ok 112 - row 2 p1 data
ok 113 - row 2 p2 data
ok 114 - row 3 p1 data
ok 115 - row 3 p2 data
ok 116 - row 4 p1 data
ok 117 - row 4 p2 data
#     Autocommit: 0
# insert raise = 1, array_context = 0, error = 0, tuple = ARRAY(0x564cd2d66560), commit = 1, sts = 5, affected = 5
ok 118 - no error in execute_array eval
ok 119 - execute_array returned 5 rows executed
ok 120 - no error captured
ok 121 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 122 - tuple status is an array
ok 123 - status arrays same size
ok 124 - row 0 tuple status unknown
ok 125 - row 1 tuple status unknown
ok 126 - row 2 tuple status unknown
ok 127 - row 3 tuple status unknown
ok 128 - row 4 tuple status unknown
ok 129 - row 0 p1 data
ok 130 - row 0 p2 data
ok 131 - row 1 p1 data
ok 132 - row 1 p2 data
ok 133 - row 2 p1 data
ok 134 - row 2 p2 data
ok 135 - row 3 p1 data
ok 136 - row 3 p2 data
ok 137 - row 4 p1 data
ok 138 - row 4 p2 data
#   Not all param arrays the same size
# insert sts = 5, commit = 0, affected = 5, array_context = 0, error = 0, raise = 1, tuple = ARRAY(0x564cd2c9aa80)
ok 139 - no error in execute_array eval
ok 140 - execute_array returned 5 rows executed
ok 141 - no error captured
ok 142 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 143 - tuple status is an array
ok 144 - status arrays same size
ok 145 - row 0 tuple status unknown
ok 146 - row 1 tuple status unknown
ok 147 - row 2 tuple status unknown
ok 148 - row 3 tuple status unknown
ok 149 - row 4 tuple status unknown
ok 150 - row 0 p1 data
ok 151 - row 0 p2 data
ok 152 - row 1 p1 data
ok 153 - row 1 p2 data
ok 154 - row 2 p1 data
ok 155 - row 2 p2 data
ok 156 - row 3 p1 data
ok 157 - row 3 p2 data
ok 158 - row 4 p1 data
ok 159 - row 4 p2 data
#   Not all param arrays the same size with bind on execute_array
# insert commit = 0, tuple = ARRAY(0x564cd2dbba40), raise = 1, array_context = 0, error = 0, affected = 5, sts = 5, params = ARRAY(0x564cd2db0e58)
ok 160 - no error in execute_array eval
ok 161 - execute_array returned 5 rows executed
ok 162 - no error captured
ok 163 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 164 - tuple status is an array
ok 165 - status arrays same size
ok 166 - row 0 tuple status unknown
ok 167 - row 1 tuple status unknown
ok 168 - row 2 tuple status unknown
ok 169 - row 3 tuple status unknown
ok 170 - row 4 tuple status unknown
ok 171 - row 0 p1 data
ok 172 - row 0 p2 data
ok 173 - row 1 p1 data
ok 174 - row 1 p2 data
ok 175 - row 2 p1 data
ok 176 - row 2 p2 data
ok 177 - row 3 p1 data
ok 178 - row 3 p2 data
ok 179 - row 4 p1 data
ok 180 - row 4 p2 data
#   no parameters
# insert sts = '0E0', affected = 0, params = ARRAY(0x564cd2dbc640), commit = 0, raise = 1, array_context = 0, error = 0, tuple = ARRAY(0x564cd2d46288)
ok 181 - no error in execute_array eval
ok 182 - execute_array returned '0E0' rows executed
ok 183 - no error captured
ok 184 - 0E0 rows in tuple_status
# $ArrayTupleStatus = [];
ok 185 - tuple status is an array
ok 186 - status arrays same size
# error tests array_context = 1, raise = 1
# Last row in error
# insert commit = 0, sts = undef, affected = undef, raise = 1, array_context = 1, error = 1, tuple = ARRAY(0x564cd2dbb8c0)
# ***** error handler called *****
ok 187 - error in execute_array eval
ok 188 - error captured
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       [
#                         2627,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__73A521EA\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'.',
#                         '23000'
#                       ]
#                     ];
ok 189 - tuple status is an array
ok 190 - status arrays same size
ok 191 - row 0 tuple status unknown
ok 192 - row 1 tuple status unknown
ok 193 - row 2 tuple status unknown
ok 194 - row 3 tuple status unknown
ok 195 - array in array tuple status
ok 196 - 3 elements in array tuple status error
ok 197 - row 0 p1 data
ok 198 - row 0 p2 data
ok 199 - row 1 p1 data
ok 200 - row 1 p2 data
ok 201 - row 2 p1 data
ok 202 - row 2 p2 data
ok 203 - row 3 p1 data
ok 204 - row 3 p2 data
# 2nd last row in error
# insert tuple = ARRAY(0x564cd2dc5b10), error = 1, array_context = 1, raise = 1, affected = undef, commit = 0, sts = undef
# ***** error handler called *****
ok 205 - error in execute_array eval
ok 206 - error captured
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       [
#                         2627,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__73A521EA\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'.',
#                         '23000'
#                       ],
#                       -1
#                     ];
ok 207 - tuple status is an array
ok 208 - status arrays same size
ok 209 - row 0 tuple status unknown
ok 210 - row 1 tuple status unknown
ok 211 - row 2 tuple status unknown
ok 212 - array in array tuple status
ok 213 - 3 elements in array tuple status error
ok 214 - row 4 tuple status unknown
ok 215 - row 0 p1 data
ok 216 - row 0 p2 data
ok 217 - row 1 p1 data
ok 218 - row 1 p2 data
ok 219 - row 2 p1 data
ok 220 - row 2 p2 data
ok 221 - row 3 p1 data
ok 222 - row 3 p2 data
# error tests array_context = 0, raise = 1
# Last row in error
# insert affected = undef, sts = undef, commit = 0, tuple = ARRAY(0x564cd2dc5eb8), array_context = 0, error = 1, raise = 1
# ***** error handler called *****
ok 223 - error in execute_array eval
ok 224 - error captured
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       [
#                         2627,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__73A521EA\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'.',
#                         '23000'
#                       ]
#                     ];
ok 225 - tuple status is an array
ok 226 - status arrays same size
ok 227 - row 0 tuple status unknown
ok 228 - row 1 tuple status unknown
ok 229 - row 2 tuple status unknown
ok 230 - row 3 tuple status unknown
ok 231 - array in array tuple status
ok 232 - 3 elements in array tuple status error
ok 233 - row 0 p1 data
ok 234 - row 0 p2 data
ok 235 - row 1 p1 data
ok 236 - row 1 p2 data
ok 237 - row 2 p1 data
ok 238 - row 2 p2 data
ok 239 - row 3 p1 data
ok 240 - row 3 p2 data
# 2nd last row in error
# insert tuple = ARRAY(0x564cd2dc1cd8), error = 1, array_context = 0, raise = 1, affected = undef, commit = 0, sts = undef
# ***** error handler called *****
ok 241 - error in execute_array eval
ok 242 - error captured
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       [
#                         2627,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__73A521EA\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'.',
#                         '23000'
#                       ],
#                       -1
#                     ];
ok 243 - tuple status is an array
ok 244 - status arrays same size
ok 245 - row 0 tuple status unknown
ok 246 - row 1 tuple status unknown
ok 247 - row 2 tuple status unknown
ok 248 - array in array tuple status
ok 249 - 3 elements in array tuple status error
ok 250 - row 4 tuple status unknown
ok 251 - row 0 p1 data
ok 252 - row 0 p2 data
ok 253 - row 1 p1 data
ok 254 - row 1 p2 data
ok 255 - row 2 p1 data
ok 256 - row 2 p2 data
ok 257 - row 3 p1 data
ok 258 - row 3 p2 data
# error tests raise = 0, array_context = 1
# Last row in error
# insert affected = undef, sts = undef, commit = 0, tuple = ARRAY(0x564cd2dc22c0), raise = 0, error = 1, array_context = 1
# ***** error handler called *****
ok 259 - no error in execute_array eval
ok 260 - execute_array returned undef rows executed
ok 261 - total affected undef
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       [
#                         2627,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__73A521EA\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'.',
#                         '23000'
#                       ]
#                     ];
ok 262 - tuple status is an array
ok 263 - status arrays same size
ok 264 - row 0 tuple status unknown
ok 265 - row 1 tuple status unknown
ok 266 - row 2 tuple status unknown
ok 267 - row 3 tuple status unknown
ok 268 - array in array tuple status
ok 269 - 3 elements in array tuple status error
ok 270 - row 0 p1 data
ok 271 - row 0 p2 data
ok 272 - row 1 p1 data
ok 273 - row 1 p2 data
ok 274 - row 2 p1 data
ok 275 - row 2 p2 data
ok 276 - row 3 p1 data
ok 277 - row 3 p2 data
# 2nd last row in error
# insert sts = undef, commit = 0, affected = undef, error = 1, array_context = 1, raise = 0, tuple = ARRAY(0x564cd2dd1110)
# ***** error handler called *****
ok 278 - no error in execute_array eval
ok 279 - execute_array returned undef rows executed
ok 280 - total affected undef
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       [
#                         2627,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__73A521EA\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'.',
#                         '23000'
#                       ],
#                       -1
#                     ];
ok 281 - tuple status is an array
ok 282 - status arrays same size
ok 283 - row 0 tuple status unknown
ok 284 - row 1 tuple status unknown
ok 285 - row 2 tuple status unknown
ok 286 - array in array tuple status
ok 287 - 3 elements in array tuple status error
ok 288 - row 4 tuple status unknown
ok 289 - row 0 p1 data
ok 290 - row 0 p2 data
ok 291 - row 1 p1 data
ok 292 - row 1 p2 data
ok 293 - row 2 p1 data
ok 294 - row 2 p2 data
ok 295 - row 3 p1 data
ok 296 - row 3 p2 data
# error tests array_context = 0, raise = 0
# Last row in error
# insert raise = 0, error = 1, array_context = 0, tuple = ARRAY(0x564cd2dd16c8), commit = 0, sts = undef, affected = undef
# ***** error handler called *****
ok 297 - no error in execute_array eval
ok 298 - execute_array returned undef rows executed
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       [
#                         2627,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__73A521EA\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'.',
#                         '23000'
#                       ]
#                     ];
ok 299 - tuple status is an array
ok 300 - status arrays same size
ok 301 - row 0 tuple status unknown
ok 302 - row 1 tuple status unknown
ok 303 - row 2 tuple status unknown
ok 304 - row 3 tuple status unknown
ok 305 - array in array tuple status
ok 306 - 3 elements in array tuple status error
ok 307 - row 0 p1 data
ok 308 - row 0 p2 data
ok 309 - row 1 p1 data
ok 310 - row 1 p2 data
ok 311 - row 2 p1 data
ok 312 - row 2 p2 data
ok 313 - row 3 p1 data
ok 314 - row 3 p2 data
# 2nd last row in error
# insert affected = undef, commit = 0, sts = undef, tuple = ARRAY(0x564cd2dd3f70), raise = 0, array_context = 0, error = 1
# ***** error handler called *****
ok 315 - no error in execute_array eval
ok 316 - execute_array returned undef rows executed
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       [
#                         2627,
#                         '[FreeTDS][SQL Server]Violation of PRIMARY KEY constraint \'PK__PERL_DBD_execute__73A521EA\'. Cannot insert duplicate key in object \'dbo.PERL_DBD_execute_array\'.',
#                         '23000'
#                       ],
#                       -1
#                     ];
ok 317 - tuple status is an array
ok 318 - status arrays same size
ok 319 - row 0 tuple status unknown
ok 320 - row 1 tuple status unknown
ok 321 - row 2 tuple status unknown
ok 322 - array in array tuple status
ok 323 - 3 elements in array tuple status error
ok 324 - row 4 tuple status unknown
ok 325 - row 0 p1 data
ok 326 - row 0 p2 data
ok 327 - row 1 p1 data
ok 328 - row 1 p2 data
ok 329 - row 2 p1 data
ok 330 - row 2 p2 data
ok 331 - row 3 p1 data
ok 332 - row 3 p2 data
# row_size via execute_for_fetch
# insert commit = 0, fetch = CODE(0x564cd2c560c0), array_context = 1, error = 0, raise = 1, tuple = ARRAY(0x564cd2dd38c8), sts = 5, affected = 5
# fetch_sub 0
# fetch_sub 1
# fetch_sub 2
# fetch_sub 3
# fetch_sub 4
# fetch_sub 5
# returning undef
ok 333 - no error in execute_array eval
ok 334 - execute_array returned 5 rows executed
ok 335 - total affected 5
ok 336 - no error captured
ok 337 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 338 - tuple status is an array
ok 339 - status arrays same size
ok 340 - row 0 tuple status unknown
ok 341 - row 1 tuple status unknown
ok 342 - row 2 tuple status unknown
ok 343 - row 3 tuple status unknown
ok 344 - row 4 tuple status unknown
# row_size via select
ok 345 - execute on second table
ok 346 - second statement is in executed state
# insert tuple = ARRAY(0x564cd2dced58), raise = 1, requires_mas = 1, array_context = 1, fetch = DBI::st=HASH(0x564cd2dd3e20), error = 0, commit = 0, affected = 5, sts = 5
ok 347 - no error in execute_array eval
ok 348 - execute_array returned 5 rows executed
ok 349 - total affected 5
ok 350 - no error captured
ok 351 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 352 - tuple status is an array
ok 353 - status arrays same size
ok 354 - row 0 tuple status unknown
ok 355 - row 1 tuple status unknown
ok 356 - row 2 tuple status unknown
ok 357 - row 3 tuple status unknown
ok 358 - row 4 tuple status unknown
ok 359 - row 0 p1 data
ok 360 - row 0 p2 data
ok 361 - row 1 p1 data
ok 362 - row 1 p2 data
ok 363 - row 2 p1 data
ok 364 - row 2 p2 data
ok 365 - row 3 p1 data
ok 366 - row 3 p2 data
ok 367 - row 4 p1 data
ok 368 - row 4 p2 data
# update test
# insert affected = 5, sts = 5, tuple = ARRAY(0x564cd2dda0e0), raise = 1, fetch = CODE(0x564cd2c560c0), array_context = 1, error = 0, commit = 0
# fetch_sub 0
# fetch_sub 1
# fetch_sub 2
# fetch_sub 3
# fetch_sub 4
# fetch_sub 5
# returning undef
ok 369 - no error in execute_array eval
ok 370 - execute_array returned 5 rows executed
ok 371 - total affected 5
ok 372 - no error captured
ok 373 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 374 - tuple status is an array
ok 375 - status arrays same size
ok 376 - row 0 tuple status unknown
ok 377 - row 1 tuple status unknown
ok 378 - row 2 tuple status unknown
ok 379 - row 3 tuple status unknown
ok 380 - row 4 tuple status unknown
ok 381 - row 0 p1 data
ok 382 - row 0 p2 data
ok 383 - row 1 p1 data
ok 384 - row 1 p2 data
ok 385 - row 2 p1 data
ok 386 - row 2 p2 data
ok 387 - row 3 p1 data
ok 388 - row 3 p2 data
ok 389 - row 4 p1 data
ok 390 - row 4 p2 data
# insert affected = 5, commit = 0, sts = 5, tuple = ARRAY(0x564cd2dda350), raise = 1, array_context = 1, error = 0
ok 391 - no error in execute_array eval
ok 392 - execute_array returned 5 rows executed
ok 393 - total affected 5
ok 394 - no error captured
ok 395 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 396 - tuple status is an array
ok 397 - status arrays same size
ok 398 - row 0 tuple status unknown
ok 399 - row 1 tuple status unknown
ok 400 - row 2 tuple status unknown
ok 401 - row 3 tuple status unknown
ok 402 - row 4 tuple status unknown
ok 403 - row 0 p1 data
ok 404 - row 0 p2 data
ok 405 - row 1 p1 data
ok 406 - row 1 p2 data
ok 407 - row 2 p1 data
ok 408 - row 2 p2 data
ok 409 - row 3 p1 data
ok 410 - row 3 p2 data
ok 411 - row 4 p1 data
ok 412 - row 4 p2 data
# insert sts = 5, commit = 0, affected = 4, raise = 1, array_context = 1, error = 0, tuple = ARRAY(0x564cd2ddddf0)
ok 413 - no error in execute_array eval
ok 414 - execute_array returned 5 rows executed
ok 415 - total affected 4
ok 416 - no error captured
ok 417 - 5 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1,
#                       -1,
#                       -1,
#                       -1
#                     ];
ok 418 - tuple status is an array
ok 419 - status arrays same size
ok 420 - row 0 tuple status unknown
ok 421 - row 1 tuple status unknown
ok 422 - row 2 tuple status unknown
ok 423 - row 3 tuple status unknown
ok 424 - row 4 tuple status unknown
ok 425 - row 0 p1 data
ok 426 - row 0 p2 data
ok 427 - row 1 p1 data
ok 428 - row 1 p2 data
ok 429 - row 2 p1 data
ok 430 - row 2 p2 data
ok 431 - row 3 p1 data
ok 432 - row 3 p2 data
ok 433 - row 4 p1 data
ok 434 - row 4 p2 data
# insert sts = 2, commit = 0, affected = 5, array_context = 1, error = 0, raise = 1, tuple = ARRAY(0x564cd2dda350)
ok 435 - no error in execute_array eval
ok 436 - execute_array returned 2 rows executed
ok 437 - total affected 5
ok 438 - no error captured
ok 439 - 2 rows in tuple_status
# $ArrayTupleStatus = [
#                       -1,
#                       -1
#                     ];
ok 440 - tuple status is an array
ok 441 - status arrays same size
ok 442 - row 0 tuple status unknown
ok 443 - row 1 tuple status unknown
ok 444 - row 0 p1 data
ok 445 - row 0 p2 data
ok 446 - row 1 p1 data
ok 447 - row 1 p2 data
ok 448 - row 2 p1 data
ok 449 - row 2 p2 data
ok 450 - row 3 p1 data
ok 451 - row 3 p2 data
ok 452 - row 4 p1 data
ok 453 - row 4 p2 data
# error tests notuplestatus = 1, array_context = 1, raise = 1
# Last row in error
# insert array_context = 1, error = 1, raise = 1, tuple = ARRAY(0x564cd2ddd6d0), commit = 0, sts = undef, notuplestatus = 1, affected = undef
# ***** error handler called *****
ok 454 - error in execute_array eval
ok 455 - error captured
ok 456 - row 0 p1 data
ok 457 - row 0 p2 data
ok 458 - row 1 p1 data
ok 459 - row 1 p2 data
ok 460 - row 2 p1 data
ok 461 - row 2 p2 data
ok 462 - row 3 p1 data
ok 463 - row 3 p2 data
# 2nd last row in error
# insert affected = undef, notuplestatus = 1, sts = undef, tuple = ARRAY(0x564cd2decab8), raise = 1, error = 1, array_context = 1, commit = 0
# ***** error handler called *****
ok 464 - error in execute_array eval
ok 465 - error captured
ok 466 - row 0 p1 data
ok 467 - row 0 p2 data
ok 468 - row 1 p1 data
ok 469 - row 1 p2 data
ok 470 - row 2 p1 data
ok 471 - row 2 p2 data
ok 472 - row 3 p1 data
ok 473 - row 3 p2 data
# error tests array_context = 0, raise = 1, notuplestatus = 1
# Last row in error
# insert affected = undef, notuplestatus = 1, sts = undef, tuple = ARRAY(0x564cd2dd9018), array_context = 0, error = 1, raise = 1, commit = 0
# ***** error handler called *****
ok 474 - error in execute_array eval
ok 475 - error captured
ok 476 - row 0 p1 data
ok 477 - row 0 p2 data
ok 478 - row 1 p1 data
ok 479 - row 1 p2 data
ok 480 - row 2 p1 data
ok 481 - row 2 p2 data
ok 482 - row 3 p1 data
ok 483 - row 3 p2 data
# 2nd last row in error
# insert affected = undef, sts = undef, notuplestatus = 1, tuple = ARRAY(0x564cd2ded850), raise = 1, array_context = 0, error = 1, commit = 0
# ***** error handler called *****
ok 484 - error in execute_array eval
ok 485 - error captured
ok 486 - row 0 p1 data
ok 487 - row 0 p2 data
ok 488 - row 1 p1 data
ok 489 - row 1 p2 data
ok 490 - row 2 p1 data
ok 491 - row 2 p2 data
ok 492 - row 3 p1 data
ok 493 - row 3 p2 data
# error tests array_context = 1, raise = 0, notuplestatus = 1
# Last row in error
# insert affected = undef, notuplestatus = 1, sts = undef, commit = 0, tuple = ARRAY(0x564cd2deca10), array_context = 1, error = 1, raise = 0
# ***** error handler called *****
ok 494 - no error in execute_array eval
ok 495 - execute_array returned undef rows executed
ok 496 - total affected undef
ok 497 - row 0 p1 data
ok 498 - row 0 p2 data
ok 499 - row 1 p1 data
ok 500 - row 1 p2 data
ok 501 - row 2 p1 data
ok 502 - row 2 p2 data
ok 503 - row 3 p1 data
ok 504 - row 3 p2 data
# 2nd last row in error
# insert commit = 0, tuple = ARRAY(0x564cd2df0170), error = 1, array_context = 1, raise = 0, affected = undef, sts = undef, notuplestatus = 1
# ***** error handler called *****
ok 505 - no error in execute_array eval
ok 506 - execute_array returned undef rows executed
ok 507 - total affected undef
ok 508 - row 0 p1 data
ok 509 - row 0 p2 data
ok 510 - row 1 p1 data
ok 511 - row 1 p2 data
ok 512 - row 2 p1 data
ok 513 - row 2 p2 data
ok 514 - row 3 p1 data
ok 515 - row 3 p2 data
# error tests raise = 0, array_context = 0, notuplestatus = 1
# Last row in error
# insert affected = undef, sts = undef, notuplestatus = 1, commit = 0, tuple = ARRAY(0x564cd2de6c48), raise = 0, error = 1, array_context = 0
# ***** error handler called *****
ok 516 - no error in execute_array eval
ok 517 - execute_array returned undef rows executed
ok 518 - row 0 p1 data
ok 519 - row 0 p2 data
ok 520 - row 1 p1 data
ok 521 - row 1 p2 data
ok 522 - row 2 p1 data
ok 523 - row 2 p2 data
ok 524 - row 3 p1 data
ok 525 - row 3 p2 data
# 2nd last row in error
# insert commit = 0, tuple = ARRAY(0x564cd2df2040), raise = 0, error = 1, array_context = 0, affected = undef, sts = undef, notuplestatus = 1
# ***** error handler called *****
ok 526 - no error in execute_array eval
ok 527 - execute_array returned undef rows executed
ok 528 - row 0 p1 data
ok 529 - row 0 p2 data
ok 530 - row 1 p1 data
ok 531 - row 1 p2 data
ok 532 - row 2 p1 data
ok 533 - row 2 p2 data
ok 534 - row 3 p1 data
ok 535 - row 3 p2 data
# Table dropped
1..535
ok
t/80_odbc_diags.t ............ 
ok 1 - no dbh diags after successful connect
ok 2 - SQLGetInfo fails
ok 3 -    and 3 diag fields returned
# $diags = [
#            'HY092',
#            0,
#            '[FreeTDS][SQL Server]Option not supported'
#          ];
# diag field -1249 errored
# diag field 7 errored
# diag field 12 errored
# 2 = 1
# 1 = -1
# diag field 3 errored
# 8 = ODBC 3.0
# -1247 = -2
# 10 = 51
# 6 = Option not supported
# 5 = undef
# -1248 = 94072668684286
# 11 = FREETDS\SQLEXPRESS
# 4 = HY092
# 9 = ODBC 3.0
ok 4 -    and no second record diags
ok 5 - select on non-existant table fails
ok 6 -    and 3 diag fields returned
# $diags = [
#            '42S02',
#            208,
#            '[FreeTDS][SQL Server]Invalid object name \'table_does_not_exist\'.'
#          ];
# -1249 = undef
# 7 = undef
# 12 = undef
# 2 = 2
# 1 = -1
# 3 = -1
# 8 = undef
# -1247 = undef
# 10 = undef
# 6 = undef
# 5 = undef
# -1248 = undef
# 11 = undef
# 4 = undef
# 9 = undef
1..6
ok
t/82_table_info.t ............ 
ok 1 - catalogs only
# Catalog is defined as tempdb
# Table is defined as hogexxx
# Catalog is defined as tempdb
# Table is defined as PERL_DBD_DROP_ME
# Catalog is defined as tempdb
# Table is defined as PERL_DBD_TEST
# Catalog is defined as tempdb
# Table is defined as stat_t
# Catalog is defined as tempdb
# Table is defined as CHECK_CONSTRAINTS
# Catalog is defined as tempdb
# Table is defined as COLUMN_DOMAIN_USAGE
# Catalog is defined as tempdb
# Table is defined as COLUMN_PRIVILEGES
# Catalog is defined as tempdb
# Table is defined as COLUMNS
# Catalog is defined as tempdb
# Table is defined as CONSTRAINT_COLUMN_USAGE
# Catalog is defined as tempdb
# Table is defined as CONSTRAINT_TABLE_USAGE
# Catalog is defined as tempdb
# Table is defined as DOMAIN_CONSTRAINTS
# Catalog is defined as tempdb
# Table is defined as DOMAINS
# Catalog is defined as tempdb
# Table is defined as KEY_COLUMN_USAGE
# Catalog is defined as tempdb
# Table is defined as PARAMETERS
# Catalog is defined as tempdb
# Table is defined as REFERENTIAL_CONSTRAINTS
# Catalog is defined as tempdb
# Table is defined as ROUTINE_COLUMNS
# Catalog is defined as tempdb
# Table is defined as ROUTINES
# Catalog is defined as tempdb
# Table is defined as SCHEMATA
# Catalog is defined as tempdb
# Table is defined as TABLE_CONSTRAINTS
# Catalog is defined as tempdb
# Table is defined as TABLE_PRIVILEGES
# Catalog is defined as tempdb
# Table is defined as TABLES
# Catalog is defined as tempdb
# Table is defined as VIEW_COLUMN_USAGE
# Catalog is defined as tempdb
# Table is defined as VIEW_TABLE_USAGE
# Catalog is defined as tempdb
# Table is defined as VIEWS
# Catalog is defined as tempdb
# Table is defined as all_columns
# Catalog is defined as tempdb
# Table is defined as all_objects
# Catalog is defined as tempdb
# Table is defined as all_parameters
# Catalog is defined as tempdb
# Table is defined as all_sql_modules
# Catalog is defined as tempdb
# Table is defined as all_views
# Catalog is defined as tempdb
# Table is defined as allocation_units
# Catalog is defined as tempdb
# Table is defined as assemblies
# Catalog is defined as tempdb
# Table is defined as assembly_files
# Catalog is defined as tempdb
# Table is defined as assembly_modules
# Catalog is defined as tempdb
# Table is defined as assembly_references
# Catalog is defined as tempdb
# Table is defined as assembly_types
# Catalog is defined as tempdb
# Table is defined as asymmetric_keys
# Catalog is defined as tempdb
# Table is defined as backup_devices
# Catalog is defined as tempdb
# Table is defined as certificates
# Catalog is defined as tempdb
# Table is defined as check_constraints
# Catalog is defined as tempdb
# Table is defined as column_type_usages
# Catalog is defined as tempdb
# Table is defined as column_xml_schema_collection_usages
# Catalog is defined as tempdb
# Table is defined as columns
# Catalog is defined as tempdb
# Table is defined as computed_columns
# Catalog is defined as tempdb
# Table is defined as configurations
# Catalog is defined as tempdb
# Table is defined as conversation_endpoints
# Catalog is defined as tempdb
# Table is defined as conversation_groups
# Catalog is defined as tempdb
# Table is defined as credentials
# Catalog is defined as tempdb
# Table is defined as crypt_properties
# Catalog is defined as tempdb
# Table is defined as data_spaces
# Catalog is defined as tempdb
# Table is defined as database_files
# Catalog is defined as tempdb
# Table is defined as database_mirroring
# Catalog is defined as tempdb
# Table is defined as database_mirroring_endpoints
# Catalog is defined as tempdb
# Table is defined as database_mirroring_witnesses
# Catalog is defined as tempdb
# Table is defined as database_permissions
# Catalog is defined as tempdb
# Table is defined as database_principal_aliases
# Catalog is defined as tempdb
# Table is defined as database_principals
# Catalog is defined as tempdb
# Table is defined as database_recovery_status
# Catalog is defined as tempdb
# Table is defined as database_role_members
# Catalog is defined as tempdb
# Table is defined as databases
# Catalog is defined as tempdb
# Table is defined as default_constraints
# Catalog is defined as tempdb
# Table is defined as destination_data_spaces
# Catalog is defined as tempdb
# Table is defined as dm_broker_activated_tasks
# Catalog is defined as tempdb
# Table is defined as dm_broker_connections
# Catalog is defined as tempdb
# Table is defined as dm_broker_forwarded_messages
# Catalog is defined as tempdb
# Table is defined as dm_broker_queue_monitors
# Catalog is defined as tempdb
# Table is defined as dm_clr_appdomains
# Catalog is defined as tempdb
# Table is defined as dm_clr_loaded_assemblies
# Catalog is defined as tempdb
# Table is defined as dm_clr_properties
# Catalog is defined as tempdb
# Table is defined as dm_clr_tasks
# Catalog is defined as tempdb
# Table is defined as dm_db_file_space_usage
# Catalog is defined as tempdb
# Table is defined as dm_db_index_usage_stats
# Catalog is defined as tempdb
# Table is defined as dm_db_mirroring_connections
# Catalog is defined as tempdb
# Table is defined as dm_db_missing_index_details
# Catalog is defined as tempdb
# Table is defined as dm_db_missing_index_group_stats
# Catalog is defined as tempdb
# Table is defined as dm_db_missing_index_groups
# Catalog is defined as tempdb
# Table is defined as dm_db_partition_stats
# Catalog is defined as tempdb
# Table is defined as dm_db_session_space_usage
# Catalog is defined as tempdb
# Table is defined as dm_db_task_space_usage
# Catalog is defined as tempdb
# Table is defined as dm_exec_background_job_queue
# Catalog is defined as tempdb
# Table is defined as dm_exec_background_job_queue_stats
# Catalog is defined as tempdb
# Table is defined as dm_exec_cached_plans
# Catalog is defined as tempdb
# Table is defined as dm_exec_connections
# Catalog is defined as tempdb
# Table is defined as dm_exec_query_memory_grants
# Catalog is defined as tempdb
# Table is defined as dm_exec_query_optimizer_info
# Catalog is defined as tempdb
# Table is defined as dm_exec_query_resource_semaphores
# Catalog is defined as tempdb
# Table is defined as dm_exec_query_stats
# Catalog is defined as tempdb
# Table is defined as dm_exec_query_transformation_stats
# Catalog is defined as tempdb
# Table is defined as dm_exec_requests
# Catalog is defined as tempdb
# Table is defined as dm_exec_sessions
# Catalog is defined as tempdb
# Table is defined as dm_fts_active_catalogs
# Catalog is defined as tempdb
# Table is defined as dm_fts_index_population
# Catalog is defined as tempdb
# Table is defined as dm_fts_memory_buffers
# Catalog is defined as tempdb
# Table is defined as dm_fts_memory_pools
# Catalog is defined as tempdb
# Table is defined as dm_fts_population_ranges
# Catalog is defined as tempdb
# Table is defined as dm_io_backup_tapes
# Catalog is defined as tempdb
# Table is defined as dm_io_cluster_shared_drives
# Catalog is defined as tempdb
# Table is defined as dm_io_pending_io_requests
# Catalog is defined as tempdb
# Table is defined as dm_os_buffer_descriptors
# Catalog is defined as tempdb
# Table is defined as dm_os_child_instances
# Catalog is defined as tempdb
# Table is defined as dm_os_cluster_nodes
# Catalog is defined as tempdb
# Table is defined as dm_os_hosts
# Catalog is defined as tempdb
# Table is defined as dm_os_latch_stats
# Catalog is defined as tempdb
# Table is defined as dm_os_loaded_modules
# Catalog is defined as tempdb
# Table is defined as dm_os_memory_allocations
# Catalog is defined as tempdb
# Table is defined as dm_os_memory_cache_clock_hands
# Catalog is defined as tempdb
# Table is defined as dm_os_memory_cache_counters
# Catalog is defined as tempdb
# Table is defined as dm_os_memory_cache_entries
# Catalog is defined as tempdb
# Table is defined as dm_os_memory_cache_hash_tables
# Catalog is defined as tempdb
# Table is defined as dm_os_memory_clerks
# Catalog is defined as tempdb
# Table is defined as dm_os_memory_objects
# Catalog is defined as tempdb
# Table is defined as dm_os_memory_pools
# Catalog is defined as tempdb
# Table is defined as dm_os_performance_counters
# Catalog is defined as tempdb
# Table is defined as dm_os_ring_buffers
# Catalog is defined as tempdb
# Table is defined as dm_os_schedulers
# Catalog is defined as tempdb
# Table is defined as dm_os_stacks
# Catalog is defined as tempdb
# Table is defined as dm_os_sublatches
# Catalog is defined as tempdb
# Table is defined as dm_os_sys_info
# Catalog is defined as tempdb
# Table is defined as dm_os_tasks
# Catalog is defined as tempdb
# Table is defined as dm_os_threads
# Catalog is defined as tempdb
# Table is defined as dm_os_virtual_address_dump
# Catalog is defined as tempdb
# Table is defined as dm_os_wait_stats
# Catalog is defined as tempdb
# Table is defined as dm_os_waiting_tasks
# Catalog is defined as tempdb
# Table is defined as dm_os_worker_local_storage
# Catalog is defined as tempdb
# Table is defined as dm_os_workers
# Catalog is defined as tempdb
# Table is defined as dm_qn_subscriptions
# Catalog is defined as tempdb
# Table is defined as dm_repl_articles
# Catalog is defined as tempdb
# Table is defined as dm_repl_schemas
# Catalog is defined as tempdb
# Table is defined as dm_repl_tranhash
# Catalog is defined as tempdb
# Table is defined as dm_repl_traninfo
# Catalog is defined as tempdb
# Table is defined as dm_tran_active_snapshot_database_transactions
# Catalog is defined as tempdb
# Table is defined as dm_tran_active_transactions
# Catalog is defined as tempdb
# Table is defined as dm_tran_current_snapshot
# Catalog is defined as tempdb
# Table is defined as dm_tran_current_transaction
# Catalog is defined as tempdb
# Table is defined as dm_tran_database_transactions
# Catalog is defined as tempdb
# Table is defined as dm_tran_locks
# Catalog is defined as tempdb
# Table is defined as dm_tran_session_transactions
# Catalog is defined as tempdb
# Table is defined as dm_tran_top_version_generators
# Catalog is defined as tempdb
# Table is defined as dm_tran_transactions_snapshot
# Catalog is defined as tempdb
# Table is defined as dm_tran_version_store
# Catalog is defined as tempdb
# Table is defined as endpoint_webmethods
# Catalog is defined as tempdb
# Table is defined as endpoints
# Catalog is defined as tempdb
# Table is defined as event_notification_event_types
# Catalog is defined as tempdb
# Table is defined as event_notifications
# Catalog is defined as tempdb
# Table is defined as events
# Catalog is defined as tempdb
# Table is defined as extended_procedures
# Catalog is defined as tempdb
# Table is defined as extended_properties
# Catalog is defined as tempdb
# Table is defined as filegroups
# Catalog is defined as tempdb
# Table is defined as foreign_key_columns
# Catalog is defined as tempdb
# Table is defined as foreign_keys
# Catalog is defined as tempdb
# Table is defined as fulltext_catalogs
# Catalog is defined as tempdb
# Table is defined as fulltext_document_types
# Catalog is defined as tempdb
# Table is defined as fulltext_index_catalog_usages
# Catalog is defined as tempdb
# Table is defined as fulltext_index_columns
# Catalog is defined as tempdb
# Table is defined as fulltext_indexes
# Catalog is defined as tempdb
# Table is defined as fulltext_languages
# Catalog is defined as tempdb
# Table is defined as http_endpoints
# Catalog is defined as tempdb
# Table is defined as identity_columns
# Catalog is defined as tempdb
# Table is defined as index_columns
# Catalog is defined as tempdb
# Table is defined as indexes
# Catalog is defined as tempdb
# Table is defined as internal_tables
# Catalog is defined as tempdb
# Table is defined as key_constraints
# Catalog is defined as tempdb
# Table is defined as key_encryptions
# Catalog is defined as tempdb
# Table is defined as linked_logins
# Catalog is defined as tempdb
# Table is defined as login_token
# Catalog is defined as tempdb
# Table is defined as master_files
# Catalog is defined as tempdb
# Table is defined as master_key_passwords
# Catalog is defined as tempdb
# Table is defined as message_type_xml_schema_collection_usages
# Catalog is defined as tempdb
# Table is defined as messages
# Catalog is defined as tempdb
# Table is defined as module_assembly_usages
# Catalog is defined as tempdb
# Table is defined as numbered_procedure_parameters
# Catalog is defined as tempdb
# Table is defined as numbered_procedures
# Catalog is defined as tempdb
# Table is defined as objects
# Catalog is defined as tempdb
# Table is defined as openkeys
# Catalog is defined as tempdb
# Table is defined as parameter_type_usages
# Catalog is defined as tempdb
# Table is defined as parameter_xml_schema_collection_usages
# Catalog is defined as tempdb
# Table is defined as parameters
# Catalog is defined as tempdb
# Table is defined as partition_functions
# Catalog is defined as tempdb
# Table is defined as partition_parameters
# Catalog is defined as tempdb
# Table is defined as partition_range_values
# Catalog is defined as tempdb
# Table is defined as partition_schemes
# Catalog is defined as tempdb
# Table is defined as partitions
# Catalog is defined as tempdb
# Table is defined as plan_guides
# Catalog is defined as tempdb
# Table is defined as procedures
# Catalog is defined as tempdb
# Table is defined as remote_logins
# Catalog is defined as tempdb
# Table is defined as remote_service_bindings
# Catalog is defined as tempdb
# Table is defined as routes
# Catalog is defined as tempdb
# Table is defined as schemas
# Catalog is defined as tempdb
# Table is defined as securable_classes
# Catalog is defined as tempdb
# Table is defined as server_assembly_modules
# Catalog is defined as tempdb
# Table is defined as server_event_notifications
# Catalog is defined as tempdb
# Table is defined as server_events
# Catalog is defined as tempdb
# Table is defined as server_permissions
# Catalog is defined as tempdb
# Table is defined as server_principals
# Catalog is defined as tempdb
# Table is defined as server_role_members
# Catalog is defined as tempdb
# Table is defined as server_sql_modules
# Catalog is defined as tempdb
# Table is defined as server_trigger_events
# Catalog is defined as tempdb
# Table is defined as server_triggers
# Catalog is defined as tempdb
# Table is defined as servers
# Catalog is defined as tempdb
# Table is defined as service_broker_endpoints
# Catalog is defined as tempdb
# Table is defined as service_contract_message_usages
# Catalog is defined as tempdb
# Table is defined as service_contract_usages
# Catalog is defined as tempdb
# Table is defined as service_contracts
# Catalog is defined as tempdb
# Table is defined as service_message_types
# Catalog is defined as tempdb
# Table is defined as service_queue_usages
# Catalog is defined as tempdb
# Table is defined as service_queues
# Catalog is defined as tempdb
# Table is defined as services
# Catalog is defined as tempdb
# Table is defined as soap_endpoints
# Catalog is defined as tempdb
# Table is defined as sql_dependencies
# Catalog is defined as tempdb
# Table is defined as sql_logins
# Catalog is defined as tempdb
# Table is defined as sql_modules
# Catalog is defined as tempdb
# Table is defined as stats
# Catalog is defined as tempdb
# Table is defined as stats_columns
# Catalog is defined as tempdb
# Table is defined as symmetric_keys
# Catalog is defined as tempdb
# Table is defined as synonyms
# Catalog is defined as tempdb
# Table is defined as sysaltfiles
# Catalog is defined as tempdb
# Table is defined as syscacheobjects
# Catalog is defined as tempdb
# Table is defined as syscharsets
# Catalog is defined as tempdb
# Table is defined as syscolumns
# Catalog is defined as tempdb
# Table is defined as syscomments
# Catalog is defined as tempdb
# Table is defined as sysconfigures
# Catalog is defined as tempdb
# Table is defined as sysconstraints
# Catalog is defined as tempdb
# Table is defined as syscurconfigs
# Catalog is defined as tempdb
# Table is defined as syscursorcolumns
# Catalog is defined as tempdb
# Table is defined as syscursorrefs
# Catalog is defined as tempdb
# Table is defined as syscursors
# Catalog is defined as tempdb
# Table is defined as syscursortables
# Catalog is defined as tempdb
# Table is defined as sysdatabases
# Catalog is defined as tempdb
# Table is defined as sysdepends
# Catalog is defined as tempdb
# Table is defined as sysdevices
# Catalog is defined as tempdb
# Table is defined as sysfilegroups
# Catalog is defined as tempdb
# Table is defined as sysfiles
# Catalog is defined as tempdb
# Table is defined as sysforeignkeys
# Catalog is defined as tempdb
# Table is defined as sysfulltextcatalogs
# Catalog is defined as tempdb
# Table is defined as sysindexes
# Catalog is defined as tempdb
# Table is defined as sysindexkeys
# Catalog is defined as tempdb
# Table is defined as syslanguages
# Catalog is defined as tempdb
# Table is defined as syslockinfo
# Catalog is defined as tempdb
# Table is defined as syslogins
# Catalog is defined as tempdb
# Table is defined as sysmembers
# Catalog is defined as tempdb
# Table is defined as sysmessages
# Catalog is defined as tempdb
# Table is defined as sysobjects
# Catalog is defined as tempdb
# Table is defined as sysoledbusers
# Catalog is defined as tempdb
# Table is defined as sysopentapes
# Catalog is defined as tempdb
# Table is defined as sysperfinfo
# Catalog is defined as tempdb
# Table is defined as syspermissions
# Catalog is defined as tempdb
# Table is defined as sysprocesses
# Catalog is defined as tempdb
# Table is defined as sysprotects
# Catalog is defined as tempdb
# Table is defined as sysreferences
# Catalog is defined as tempdb
# Table is defined as sysremotelogins
# Catalog is defined as tempdb
# Table is defined as syssegments
# Catalog is defined as tempdb
# Table is defined as sysservers
# Catalog is defined as tempdb
# Table is defined as system_columns
# Catalog is defined as tempdb
# Table is defined as system_components_surface_area_configuration
# Catalog is defined as tempdb
# Table is defined as system_internals_allocation_units
# Catalog is defined as tempdb
# Table is defined as system_internals_partition_columns
# Catalog is defined as tempdb
# Table is defined as system_internals_partitions
# Catalog is defined as tempdb
# Table is defined as system_objects
# Catalog is defined as tempdb
# Table is defined as system_parameters
# Catalog is defined as tempdb
# Table is defined as system_sql_modules
not ok 2 - schema only
# Catalog is defined as tempdb
# Table is defined as system_views
# Catalog is defined as tempdb
# Table is defined as systypes
# Catalog is defined as tempdb
# Table is defined as sysusers
# Catalog is defined as tempdb
# Table is defined as tables
# Catalog is defined as tempdb
# Table is defined as tcp_endpoints
# Catalog is defined as tempdb
# Table is defined as trace_categories
# Catalog is defined as tempdb
# Table is defined as trace_columns
# Catalog is defined as tempdb
# Table is defined as trace_event_bindings
# Catalog is defined as tempdb
# Table is defined as trace_events
# Catalog is defined as tempdb
# Table is defined as trace_subclass_values
# Catalog is defined as tempdb
# Table is defined as traces
# Catalog is defined as tempdb
# Table is defined as transmission_queue
# Catalog is defined as tempdb
# Table is defined as trigger_events
# Catalog is defined as tempdb
# Table is defined as triggers
# Catalog is defined as tempdb
# Table is defined as type_assembly_usages
# Catalog is defined as tempdb
# Table is defined as types
# Catalog is defined as tempdb
# Table is defined as user_token
# Catalog is defined as tempdb
# Table is defined as via_endpoints
# Catalog is defined as tempdb
# Table is defined as views
# Catalog is defined as tempdb
# Table is defined as xml_indexes
# Catalog is defined as tempdb
# Table is defined as xml_schema_attributes
# Catalog is defined as tempdb
# Table is defined as xml_schema_collections
# Catalog is defined as tempdb
# Table is defined as xml_schema_component_placements
# Catalog is defined as tempdb
# Table is defined as xml_schema_components
# Catalog is defined as tempdb
# Table is defined as xml_schema_elements
# Catalog is defined as tempdb
# Table is defined as xml_schema_facets
# Catalog is defined as tempdb
# Table is defined as xml_schema_model_groups
# Catalog is defined as tempdb
# Table is defined as xml_schema_namespaces
# Catalog is defined as tempdb
# Table is defined as xml_schema_types
# Catalog is defined as tempdb
# Table is defined as xml_schema_wildcard_namespaces
# Catalog is defined as tempdb
# Table is defined as xml_schema_wildcards

#   Failed test 'schema only'
#   at t/82_table_info.t line 91.
# $VAR1 = [
#           [
#             'tempdb',
#             'dbo',
#             'hogexxx',
#             'TABLE',
#             undef
#           ],
#           [
#             'tempdb',
#             'dbo',
#             'PERL_DBD_DROP_ME',
#             'TABLE',
#             undef
#           ],
#           [
#             'tempdb',
#             'dbo',
#             'PERL_DBD_TEST',
#             'TABLE',
#             undef
#           ],
#           [
#             'tempdb',
#             'dbo',
#             'stat_t',
#             'TABLE',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'CHECK_CONSTRAINTS',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'COLUMN_DOMAIN_USAGE',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'COLUMN_PRIVILEGES',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'COLUMNS',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'CONSTRAINT_COLUMN_USAGE',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'CONSTRAINT_TABLE_USAGE',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'DOMAIN_CONSTRAINTS',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'DOMAINS',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'KEY_COLUMN_USAGE',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'PARAMETERS',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'REFERENTIAL_CONSTRAINTS',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'ROUTINE_COLUMNS',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'ROUTINES',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'SCHEMATA',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'TABLE_CONSTRAINTS',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'TABLE_PRIVILEGES',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'TABLES',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'VIEW_COLUMN_USAGE',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'VIEW_TABLE_USAGE',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'INFORMATION_SCHEMA',
#             'VIEWS',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'all_columns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'all_objects',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'all_parameters',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'all_sql_modules',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'all_views',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'allocation_units',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'assemblies',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'assembly_files',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'assembly_modules',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'assembly_references',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'assembly_types',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'asymmetric_keys',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'backup_devices',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'certificates',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'check_constraints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'column_type_usages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'column_xml_schema_collection_usages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'columns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'computed_columns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'configurations',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'conversation_endpoints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'conversation_groups',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'credentials',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'crypt_properties',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'data_spaces',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'database_files',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'database_mirroring',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'database_mirroring_endpoints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'database_mirroring_witnesses',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'database_permissions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'database_principal_aliases',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'database_principals',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'database_recovery_status',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'database_role_members',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'databases',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'default_constraints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'destination_data_spaces',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_broker_activated_tasks',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_broker_connections',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_broker_forwarded_messages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_broker_queue_monitors',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_clr_appdomains',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_clr_loaded_assemblies',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_clr_properties',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_clr_tasks',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_db_file_space_usage',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_db_index_usage_stats',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_db_mirroring_connections',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_db_missing_index_details',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_db_missing_index_group_stats',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_db_missing_index_groups',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_db_partition_stats',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_db_session_space_usage',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_db_task_space_usage',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_exec_background_job_queue',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_exec_background_job_queue_stats',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_exec_cached_plans',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_exec_connections',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_exec_query_memory_grants',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_exec_query_optimizer_info',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_exec_query_resource_semaphores',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_exec_query_stats',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_exec_query_transformation_stats',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_exec_requests',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_exec_sessions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_fts_active_catalogs',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_fts_index_population',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_fts_memory_buffers',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_fts_memory_pools',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_fts_population_ranges',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_io_backup_tapes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_io_cluster_shared_drives',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_io_pending_io_requests',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_buffer_descriptors',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_child_instances',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_cluster_nodes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_hosts',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_latch_stats',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_loaded_modules',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_memory_allocations',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_memory_cache_clock_hands',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_memory_cache_counters',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_memory_cache_entries',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_memory_cache_hash_tables',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_memory_clerks',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_memory_objects',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_memory_pools',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_performance_counters',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_ring_buffers',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_schedulers',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_stacks',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_sublatches',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_sys_info',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_tasks',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_threads',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_virtual_address_dump',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_wait_stats',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_waiting_tasks',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_worker_local_storage',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_os_workers',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_qn_subscriptions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_repl_articles',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_repl_schemas',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_repl_tranhash',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_repl_traninfo',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_tran_active_snapshot_database_transactions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_tran_active_transactions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_tran_current_snapshot',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_tran_current_transaction',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_tran_database_transactions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_tran_locks',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_tran_session_transactions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_tran_top_version_generators',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_tran_transactions_snapshot',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'dm_tran_version_store',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'endpoint_webmethods',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'endpoints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'event_notification_event_types',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'event_notifications',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'events',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'extended_procedures',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'extended_properties',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'filegroups',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'foreign_key_columns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'foreign_keys',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'fulltext_catalogs',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'fulltext_document_types',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'fulltext_index_catalog_usages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'fulltext_index_columns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'fulltext_indexes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'fulltext_languages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'http_endpoints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'identity_columns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'index_columns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'indexes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'internal_tables',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'key_constraints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'key_encryptions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'linked_logins',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'login_token',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'master_files',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'master_key_passwords',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'message_type_xml_schema_collection_usages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'messages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'module_assembly_usages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'numbered_procedure_parameters',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'numbered_procedures',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'objects',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'openkeys',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'parameter_type_usages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'parameter_xml_schema_collection_usages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'parameters',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'partition_functions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'partition_parameters',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'partition_range_values',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'partition_schemes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'partitions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'plan_guides',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'procedures',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'remote_logins',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'remote_service_bindings',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'routes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'schemas',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'securable_classes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'server_assembly_modules',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'server_event_notifications',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'server_events',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'server_permissions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'server_principals',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'server_role_members',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'server_sql_modules',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'server_trigger_events',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'server_triggers',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'servers',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'service_broker_endpoints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'service_contract_message_usages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'service_contract_usages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'service_contracts',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'service_message_types',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'service_queue_usages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'service_queues',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'services',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'soap_endpoints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sql_dependencies',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sql_logins',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sql_modules',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'stats',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'stats_columns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'symmetric_keys',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'synonyms',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysaltfiles',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syscacheobjects',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syscharsets',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syscolumns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syscomments',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysconfigures',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysconstraints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syscurconfigs',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syscursorcolumns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syscursorrefs',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syscursors',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syscursortables',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysdatabases',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysdepends',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysdevices',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysfilegroups',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysfiles',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysforeignkeys',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysfulltextcatalogs',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysindexes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysindexkeys',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syslanguages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syslockinfo',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syslogins',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysmembers',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysmessages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysobjects',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysoledbusers',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysopentapes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysperfinfo',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syspermissions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysprocesses',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysprotects',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysreferences',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysremotelogins',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'syssegments',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysservers',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'system_columns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'system_components_surface_area_configuration',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'system_internals_allocation_units',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'system_internals_partition_columns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'system_internals_partitions',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'system_objects',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'system_parameters',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'system_sql_modules',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'system_views',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'systypes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'sysusers',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'tables',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'tcp_endpoints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'trace_categories',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'trace_columns',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'trace_event_bindings',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'trace_events',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'trace_subclass_values',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'traces',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'transmission_queue',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'trigger_events',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'triggers',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'type_assembly_usages',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'types',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'user_token',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'via_endpoints',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'views',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_indexes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_schema_attributes',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_schema_collections',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_schema_component_placements',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_schema_components',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_schema_elements',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_schema_facets',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_schema_model_groups',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_schema_namespaces',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_schema_types',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_schema_wildcard_namespaces',
#             'VIEW',
#             undef
#           ],
#           [
#             'tempdb',
#             'sys',
#             'xml_schema_wildcards',
#             'VIEW',
#             undef
#           ]
#         ];
ok 3 - table found
ok 4 - table only
1..4
# Looks like you failed 1 test of 4.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/4 subtests 
t/87_odbc_lob_read.t ......... 
ok 1 - Created test table
ok 2 - inserted test data
ok 3 - preparing select
ok 4 - executing select
ok 5 - binding
ok 6 - fetching
ok 7 - correct chunk size
ok 8 - 0 at end
ok 9 - received correct amount of bytes
ok 10 - data correct
ok 11 - 0 at end after another read
ok 12 - correct chunk size
ok 13 - 0 at end
ok 14 - received correct amount of bytes
ok 15 - data correct
ok 16 - 0 at end after another read
1..16
ok
t/90_trace_flags.t ........... 
ok 1 - odbcunicode
ok 2 - odbcconnection
ok 3 - parse_trace_flags
1..3
ok
t/odbc_describe_parameter.t .. 
1..17
ok 1 - use ODBCTEST;
ok 2 - create test table with integer
ok 3 - prepare insert
ok 4 - execute ok
ok 5 - ParamTypes is a hash
ok 6 - one parameter
ok 7 - integer parameter
ok 8 - prepare insert
ok 9 - execute ok
ok 10 - ParamTypes is a hash
ok 11 - one parameter
ok 12 - char parameter (prepare)
ok 13 - prepare insert
ok 14 - execute ok
ok 15 - ParamTypes is a hash
ok 16 - one parameter
ok 17 - char parameter (connect)
ok
t/pod-coverage.t ............. 
1..1
ok 1 - Pod::Coverage
# Test::Pod::Coverage 1.04 required for testing POD coverage
ok
t/pod.t ...................... 
1..4
ok 1 # skip Test::Pod 1.00 required for testing POD
ok 2 # skip Test::Pod 1.00 required for testing POD
ok 3 # skip Test::Pod 1.00 required for testing POD
ok 4 # skip Test::Pod 1.00 required for testing POD
ok
t/rt_101579.t ................ 
ok 1 - use ODBCTEST;
ok 2 - Inserted 8295.6
ok 3 - Inserted 181161.8
ok 4 - Inserted 6514.15
1..4
ok
t/rt_38977.t ................. 
1..14
ok 1 - use ODBCTEST;
ok 2 - got DBMS name: Microsoft SQL Server
ok 3 - got DBMS version: 09.00.5000
ok 4 - got DRIVER name: libtdsodbc.so
ok 5 - got DRIVER version 01.00.9999
ok 6 - create test table with varchar(max)
ok 7 - prepare insert
ok 8 - execute insert
ok 9 - create test table with varbinary(max)
ok 10 - prepare insert
DBD::ODBC::st execute failed: [FreeTDS][SQL Server]Statement(s) could not be prepared. (SQL-42000) [state was 42000 now 22018]
[FreeTDS][SQL Server]Operand type clash: text is incompatible with varbinary(max) (SQL-22018) at t/rt_38977.t line 128.
DBD::ODBC::st execute failed: [FreeTDS][SQL Server]Statement(s) could not be prepared. (SQL-42000) [state was 42000 now 22018]
[FreeTDS][SQL Server]Operand type clash: text is incompatible with varbinary(max) (SQL-22018) at t/rt_38977.t line 128.
# Looks like you planned 14 tests but ran 10.
# Looks like your test exited with 255 just after 10.
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 4/14 subtests 
t/rt_39841.t ................. 
1..28
ok 1 - use ODBCTEST;
ok 2 - got DBMS name: Microsoft SQL Server
ok 3 - got DBMS version: 09.00.5000
ok 4 # skip not SQL Server ODBC or native client driver
ok 5 # skip not SQL Server ODBC or native client driver
ok 6 # skip not SQL Server ODBC or native client driver
ok 7 # skip not SQL Server ODBC or native client driver
ok 8 # skip not SQL Server ODBC or native client driver
ok 9 # skip not SQL Server ODBC or native client driver
ok 10 # skip not SQL Server ODBC or native client driver
ok 11 # skip not SQL Server ODBC or native client driver
ok 12 # skip not SQL Server ODBC or native client driver
ok 13 # skip not SQL Server ODBC or native client driver
ok 14 # skip not SQL Server ODBC or native client driver
ok 15 # skip not SQL Server ODBC or native client driver
ok 16 # skip not SQL Server ODBC or native client driver
ok 17 # skip not SQL Server ODBC or native client driver
ok 18 # skip not SQL Server ODBC or native client driver
ok 19 # skip not SQL Server ODBC or native client driver
ok 20 # skip not SQL Server ODBC or native client driver
ok 21 # skip not SQL Server ODBC or native client driver
ok 22 # skip not SQL Server ODBC or native client driver
ok 23 # skip not SQL Server ODBC or native client driver
ok 24 # skip not SQL Server ODBC or native client driver
ok 25 # skip not SQL Server ODBC or native client driver
ok 26 # skip not SQL Server ODBC or native client driver
ok 27 # skip not SQL Server ODBC or native client driver
ok 28 # skip not SQL Server ODBC or native client driver
ok
t/rt_39897.t ................. 
1..6
ok 1 - use ODBCTEST;
ok 2 - create test table with varchar
ok 3 - prepare insert
ok 4 - execute insert
ok 5 - issue select on test table
ok 6 - fetch varchar(100) from test table
ok
t/rt_43384.t ................. 
1..8
ok 1 - use ODBCTEST;
ok 2 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok 3 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok 4 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok 5 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok 6 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok 7 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok 8 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok
t/rt_46597.t ................. 
1..6
ok 1 - use ODBCTEST;
ok 2 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok 3 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok 4 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok 5 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok 6 # skip Microsoft Access tests not supported using Microsoft SQL Server
ok
t/rt_50852.t ................. 
1..5
ok 1 - use ODBCTEST;
ok 2 - dropped test table
ok 3 - set up test table
ok 4 - prepared sql
ok 5 - execute sql
ok
t/rt_57957.t ................. 
1..8
ok 1 - use ODBCTEST;
# 
# Some of these tests may fail for your driver - please let me know if they do along with the strings Microsoft SQL Server/libtdsodbc.so
ok 2 - Prepare with trailing comment and named placeholder
ok 3 - Prepare with leading comment and named placeholder
ok 4 - Prepare with line comment named placeholder
ok 5 - Prepare with leading comment and ? placeholder
ok 6 - Prepare with line comment and ? placeholder
ok 7 - Prepare with ? placeholder in literal
ok 8 - Prepare with named placeholder in literal
ok
t/rt_59621.t ................. 
1..11
ok 1 - use ODBCTEST;
ok 2 - got DBMS name: Microsoft SQL Server
ok 3 - got DBMS version: 09.00.5000
ok 4 - got DRIVER name: libtdsodbc.so
ok 5 - got DRIVER version 01.00.9999
ok 6 - created test table
ok 7 - prepare insert
ok 8 - execute insert
ok 9 - expected select on XML type too big failed
not ok 10 - data truncation error

#   Failed test 'data truncation error'
#   at t/rt_59621.t line 110.
#          got: 'HY000'
#     expected: '01004'
ok 11 - select on XML type with LongReadLen ok
# Looks like you failed 1 test of 11.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/11 subtests 
t/rt_61370.t ................. 
ok 1 - use ODBCTEST;
ok 2 - got DBMS name: Microsoft SQL Server
ok 3 - got DBMS version: 09.00.5000
ok 4 - got DRIVER name: libtdsodbc.so
ok 5 - got DRIVER version 01.00.9999
# DBD::ODBC not built with unicode support
1..5
ok
t/rt_62033.t ................. 
ok 1 - use ODBCTEST;
ok 2 - got DBMS name: Microsoft SQL Server
ok 3 - got DBMS version: 09.00.5000
ok 4 - got DRIVER name: libtdsodbc.so
ok 5 - got DRIVER version 01.00.9999
ok 6 - created test table
ok 7 - Error for constraint - expected
# For some drivers (freeTDS/MS SQL Server for Linux) there is no way out of this so expect further errors
ok 8 - Execute ok
ok 9 - Identity
1..9
ok
t/rt_63550.t ................. 
ok 1 - use ODBCTEST;
ok 2 - Statement is defined
1..2
ok
t/rt_78838.t ................. 
ok 1 - use ODBCTEST;
ok 2 - got DBMS name: Microsoft SQL Server
ok 3 - statement prepared
ok 4 - bound parameter correctly stringified
ok 5 - bound parameter copied and not a reference
ok 6 - rebound parameter correctly retrieved
ok 7 - cannot bind a plain reference
1..7
ok
t/rt_79190.t ................. 
ok 1 - use ODBCTEST;
ok 2 - User/pass appended to DSN
1..2
ok
t/rt_79397.t ................. 
ok 1 - use ODBCTEST;
ok 2 - got DBMS name: Microsoft SQL Server
ok 3 - got DBMS version: 09.00.5000
ok 4 - got DRIVER name: libtdsodbc.so
ok 5 - got DRIVER version 01.00.9999
ok 6 - statement prepared
ok 7 - foo bound
ok 8 - bar bound
DBD::ODBC::st execute failed: [FreeTDS][SQL Server]The formal parameter "@P1" was not declared as an OUTPUT parameter, but the actual parameter passed in requested output. (SQL-42000)
[FreeTDS][SQL Server]Statement(s) could not be prepared. (SQL-42000) at t/rt_79397.t line 67.
not ok 9 - execute first time

#   Failed test 'execute first time'
#   at t/rt_79397.t line 67.
ok 10 # skip Failed to execute
ok 11 # skip Failed to execute
ok 12 # skip Failed to execute
ok 13 # skip Failed to execute
1..13
# Looks like you failed 1 test of 13.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/13 subtests 
	(less 4 skipped subtests: 8 okay)
t/rt_81911.t ................. 
ok 1 - use ODBCTEST;
ok 2 - affected from execute insert
ok 3 - execute and odbc_rows agree on insert
ok 4 - affected from execute insert
ok 5 - execute and odbc_rows agree on insert 2 
ok 6 - affected from execute update none
ok 7 - execute and odbc_rows agree on update none
ok 8 - affected from execute update 1
ok 9 - execute and odbc_rows agree on update 1
ok 10 - affected from execute update 2
ok 11 - execute and odbc_rows agree on update 2
1..11
ok
t/rt_null_nvarchar.t ......... 
1..8
ok 1 - got DBMS name: Microsoft SQL Server
ok 2 - got DBMS version: 09.00.5000
ok 3 - got DRIVER name: libtdsodbc.so
ok 4 - got DRIVER version 01.00.9999
ok 5 - create test table with nvarchar(max)
ok 6 - prepare insert
ok 7 - execute insert
ok 8 - insert NULL into VARCHAR(MAX)
ok
t/sql_type_cast.t ............ 
1..16
ok 1 - use ODBCTEST;
ok 2 - create test table with integer
ok 3 - insert into table
ok 4 - correct value returned
ok 5 - ! ivok no bind
ok 6 - correct value returned Bind
ok 7 - ! ivok bind
ok 8 - correct value returned SQL_NUMERIC
ok 9 - ivok bind integer
ok 10 - PV bind integer
ok 11 - correct value returned SQL_NUMERIC|DiscardString
ok 12 - ivok bind integer discard
ok 13 - not PV bind integer discard
ok 14 - correct value returned SQL_NUMERIC|DiscardString
ok 15 - ivok bind integer discard
ok 16 - not PV bind integer discard
ok

Test Summary Report
-------------------
t/82_table_info.t          (Wstat: 256 Tests: 4 Failed: 1)
  Failed test:  2
  Non-zero exit status: 1
t/rt_38977.t               (Wstat: 65280 Tests: 10 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 14 tests but ran 10.
t/rt_59621.t               (Wstat: 256 Tests: 11 Failed: 1)
  Failed test:  10
  Non-zero exit status: 1
t/rt_79397.t               (Wstat: 256 Tests: 13 Failed: 1)
  Failed test:  9
  Non-zero exit status: 1
Files=42, Tests=1636, 15 wallclock secs ( 0.59 usr  0.12 sys +  4.87 cusr  1.17 csys =  6.75 CPU)
Result: FAIL
Failed 4/42 test programs. 3/1636 subtests failed.
Makefile:978: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 255

Main