The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!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" );
}

$bin = $con->quote_bin( 'öäü' );
_check( $con->attr_set( 'charset' => 'ansi' ) );
$r = $con->do(
	qq/% INSERT INTO [_table1] ([name],[value]) VALUES('öäü',$bin)/ );
_check( $r );
_check( $con->attr_set( 'charset' => 'utf8' ) );
$r = $con->do(
	qq/% INSERT INTO [_table1] ([name],[value]) VALUES('öäü',$bin)/ );
_check( $r );
$res = $con->query( q/% SELECT * FROM [_table1]/ );
_check( $res );
_check( $res->num_rows >= 2 );
$res->row_seek( $res->num_rows - 2 );
$res->fetch_row( \%row1 );
$res->fetch_row( \%row2 );
_check( $row1{'name'} ne $row2{'name'} );
_check( $row1{'value'} eq $row2{'value'} );

BEGIN {
	$_tests = 8;
	$_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;
}