Thanks! I've just successfully rebuilt my Windows Machine (from NT4 ->
2000 replacing the crashed hd and non-functional cdrom), so hopefully I can
apply this patch and fix the bug with undef/null values in parameters in the
next week or so.
Thomas
On Mon, Aug 18, 2003 at 12:18:27PM +0200, Steffen Goeldner wrote:
> Hi Thomas,
>
> attached is a small patch to provide correct types
> in metadata result sets.
>
>
> Steffen
> *** ADO.orig Sat Nov 09 21:08:44 2002
> --- ADO.pm Sun Aug 17 22:45:38 2003
> ***************
> *** 1141,1148 ****
> $conn->{CursorLocation} = $tmpCursorLocation;
>
> DBI->connect('dbi:Sponge:','','', { RaiseError => 1 })->prepare(
> ! $QueryType, { rows => [EMAIL PROTECTED], NAME =>
> ! [ qw( TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME DATA_TYPE
> TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE REMARKS
> COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION
> IS_NULLABLE ) ]});
> }
>
> sub primary_key_info {
> --- 1141,1150 ----
> $conn->{CursorLocation} = $tmpCursorLocation;
>
> DBI->connect('dbi:Sponge:','','', { RaiseError => 1 })->prepare(
> ! $QueryType, { rows => [EMAIL PROTECTED]
> ! , NAME => [ qw( TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
> DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE
> REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION
> IS_NULLABLE ) ]
> ! , TYPE => [ 12, 12, 12, 12,
> 5, 12, 4, 4, 5, 5, 5,
> 12, 12, 5, 5, 4, 4,
> 12 ]
> ! });
> }
>
> sub primary_key_info {
> ***************
> *** 1177,1184 ****
> $conn->{CursorLocation} = $tmpCursorLocation;
>
> DBI->connect('dbi:Sponge:','','', { RaiseError => 1
> })->prepare(
> ! $QueryType, { rows => [EMAIL PROTECTED], NAME =>
> ! [ qw( TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ
> PK_NAME ) ]});
> }
>
>
> --- 1179,1188 ----
> $conn->{CursorLocation} = $tmpCursorLocation;
>
> DBI->connect('dbi:Sponge:','','', { RaiseError => 1
> })->prepare(
> ! $QueryType, { rows => [EMAIL PROTECTED]
> ! , NAME => [ qw( TABLE_CAT TABLE_SCHEM TABLE_NAME
> COLUMN_NAME KEY_SEQ PK_NAME ) ]
> ! , TYPE => [ 12, 12, 12,
> 12, 5, 12 ]
> ! });
> }
>
>
> ***************
> *** 1223,1230 ****
> $conn->{CursorLocation} = $tmpCursorLocation;
>
> DBI->connect('dbi:Sponge:','','', { RaiseError => 1 })->prepare(
> ! $QueryType, { rows => [EMAIL PROTECTED], NAME =>
> ! [ qw( PKTABLE_CAT PKTABLE_SCHEM PKTABLE_NAME PKCOLUMN_NAME
> FKTABLE_CAT FKTABLE_SCHEM FKTABLE_NAME FKCOLUMN_NAME KEY_SEQ UPDATE_RULE DELETE_RULE
> FK_NAME PK_NAME DEFERRABILITY ) ]});
> }
>
> sub type_info_all {
> --- 1227,1236 ----
> $conn->{CursorLocation} = $tmpCursorLocation;
>
> DBI->connect('dbi:Sponge:','','', { RaiseError => 1 })->prepare(
> ! $QueryType, { rows => [EMAIL PROTECTED]
> ! , NAME => [ qw( PKTABLE_CAT PKTABLE_SCHEM PKTABLE_NAME
> PKCOLUMN_NAME FKTABLE_CAT FKTABLE_SCHEM FKTABLE_NAME FKCOLUMN_NAME KEY_SEQ
> UPDATE_RULE DELETE_RULE FK_NAME PK_NAME DEFERRABILITY ) ]
> ! , TYPE => [ 12, 12, 12,
> 12, 12, 12, 12, 12, 5, 5,
> 5, 12, 12, 5 ]
> ! });
> }
>
> sub type_info_all {