Fix for length in libpq from Tom Lane.
This commit is contained in:
parent
3a9c626a86
commit
d9d8169858
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.67 1998/09/04 05:03:02 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.68 1998/09/10 15:18:02 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -541,6 +541,16 @@ getRowDescriptions(PGconn *conn)
|
||||
PQclear(result);
|
||||
return EOF;
|
||||
}
|
||||
/*
|
||||
* Since pqGetInt treats 2-byte integers as unsigned, we need to
|
||||
* coerce the special value "-1" to signed form. (-1 is sent for
|
||||
* variable-length fields.) Formerly, libpq effectively did a
|
||||
* sign-extension on the 2-byte value by storing it in a signed short.
|
||||
* Now we only coerce the single value 65535 == -1; values
|
||||
* 32768..65534 are taken as valid field lengths.
|
||||
*/
|
||||
if (typlen == 0xFFFF)
|
||||
typlen = -1;
|
||||
result->attDescs[i].name = strdup(typName);
|
||||
result->attDescs[i].typid = typid;
|
||||
result->attDescs[i].typlen = typlen;
|
||||
@ -1488,7 +1498,7 @@ PQoidStatus(PGresult *res)
|
||||
if (strncmp(res->cmdStatus, "INSERT ", 7) != 0)
|
||||
return "";
|
||||
|
||||
/*
|
||||
/*----------
|
||||
* The cmdStatus string looks like
|
||||
* INSERT oid count\0
|
||||
* In order to be able to return an ordinary C string without
|
||||
@ -1498,6 +1508,7 @@ PQoidStatus(PGresult *res)
|
||||
* INSERT oid count\0oid\0
|
||||
* ^ our return value points here
|
||||
* Pretty klugy eh? This routine should've just returned an Oid value.
|
||||
*----------
|
||||
*/
|
||||
|
||||
slen = strlen(res->cmdStatus);
|
||||
|
@ -1,7 +1,11 @@
|
||||
#FIG 3.1
|
||||
#FIG 3.2
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
2 1 0 2 29 7 0 0 -1 0.000 0 0 -1 1 1 2
|
||||
0 0 2.00 150.00 180.00
|
||||
@ -95,16 +99,16 @@ Inches
|
||||
0 0 2.00 150.00 150.00
|
||||
1350 9375 1050 9375 825 9000 825 4425 1050 4050 1500 3975
|
||||
2250 3975 2400 4275
|
||||
0.000 1.000 1.000 1.000 1.000 1.000 1.000 0.000
|
||||
3 0 0 2 8 7 0 0 -1 0.000 0 1 0 7
|
||||
0 0 2.00 150.00 150.00
|
||||
7650 5775 8250 5475 8250 4575 7725 3975 3525 3975 2850 3975
|
||||
2700 4275
|
||||
0.000 1.000 1.000 1.000 1.000 1.000 0.000
|
||||
3 2 2 2 20 7 0 0 -1 6.000 1 1 0 5
|
||||
0 0 2.00 150.00 180.00
|
||||
2550 2175 3225 2475 5400 2550 6225 2625 6450 2775
|
||||
0.00 0.00 2927.81 2370.42 3096.56 2445.42 3729.54 2591.19
|
||||
4904.72 2518.98 5588.53 2561.81 6033.83 2557.52 6271.80 2641.52
|
||||
6328.05 2679.02 0.00 0.00
|
||||
0.000 -1.000 -1.000 -1.000 0.000
|
||||
4 1 -1 0 0 16 18 0.0000 4 210 900 1560 11190 Utilities\001
|
||||
4 1 -1 0 0 16 18 0.0000 4 270 2265 7965 11190 Storage Managers\001
|
||||
4 1 -1 0 0 16 18 0.0000 4 270 960 4725 11175 Catalog\001
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 61 KiB |
Loading…
x
Reference in New Issue
Block a user