#!perl print "1..$_tests\n"; require DBE; #DBE->trace( 3 ); $con = DBE->connect( 'driver' => 'Text', 'dbq' => '.', 'croak' => 0, 'warn' => 1, ); if( ! $con ) { &_skip_all( "connection failed" ); } $res = $con->query( q/% SELECT * FROM [_table1]/ ); _check( $res ) or _skip_all(); _check( $res->num_rows == 10 ); _check( $res->bind_column( 2, $name ) ); _check( $res->bind_column( 3, $value ) ); @names = $res->fetch_names(); _check( @names == 4 ); _check( $res->fetch_row( \%row ) ); _check( $row{'name'} eq 'key1' ); _check( $row{'name'} eq $name ); _check( $row{'value'} eq $value ); _check( $res->row_tell == 1 ); _check( $res->fetch_row( \@row ) ); _check( $row[1] eq 'key2' ); _check( $row[1] eq $name ); _check( $row[2] eq $value ); _check( $res->row_tell == 2 ); _check( $row = $res->fetchrow_hashref ); _check( $row->{'name'} eq 'key3' ); _check( $row->{'name'} eq $name ); _check( $row->{'value'} eq $value ); _check( $res->row_tell == 3 ); _check( $row = $res->fetchrow_arrayref ); _check( $row->[1] eq 'key4' ); _check( $row->[1] eq $name ); _check( $row->[2] eq $value ); _check( $res->row_tell == 4 ); _check( $res->fetch ); _check( $name eq 'key5' ); _check( $value eq 'data5' ); _check( $res->row_seek( 0 ) == 5 ); _check( $res->row_tell == 0 ); _check( $res->fetch ); _check( $name eq 'key1' ); _check( $res->num_fields == 4 ); _check( $res->field_seek(1) == 0 ); %field = $res->fetch_field; _check( $field{'COLUMN_NAME'} eq 'name' ); _check( $res->field_tell == 2 ); BEGIN { $_tests = 36; $_pos = 1; unless( defined $ENV{'HARNESS_ACTIVE'} ) { unshift @INC, 'blib/lib', 'blib/arch'; } } 1; sub _check { my( $val ) = @_; print "" . ($val ? "ok" : "not ok") . " $_pos\n"; $_pos ++; return $val; } sub _skip_all { print STDERR "Skipped: " . ($_[0] || "for various reasons") . "\n"; for( ; $_pos <= $_tests; $_pos ++ ) { print "ok $_pos\n"; } exit; }