Convert floats to native objects as well.
FossilOrigin-Name: 7a033e34c4e334f5b663b7c5e2f10eb8e3fe9a8a0de96a64b352fc4a1e37b410
This commit is contained in:
parent
e55daef3c0
commit
9a98086e25
1 changed files with 8 additions and 4 deletions
|
@ -4,17 +4,21 @@ static id
|
||||||
convert_type(PGresult *res, int col, OFString *str)
|
convert_type(PGresult *res, int col, OFString *str)
|
||||||
{
|
{
|
||||||
switch (PQftype(res, col)) {
|
switch (PQftype(res, col)) {
|
||||||
case 16: /* BOOLOID */
|
case 16: /* BOOLOID */
|
||||||
if ([str isEqual: @"t"])
|
if ([str isEqual: @"t"])
|
||||||
return [OFNumber numberWithBool: YES];
|
return [OFNumber numberWithBool: YES];
|
||||||
else
|
else
|
||||||
return [OFNumber numberWithBool: NO];
|
return [OFNumber numberWithBool: NO];
|
||||||
case 21: /* INT2OID */
|
case 21: /* INT2OID */
|
||||||
return [OFNumber numberWithInt16: (int16_t)[str decimalValue]];
|
return [OFNumber numberWithInt16: (int16_t)[str decimalValue]];
|
||||||
case 23: /* INT4OID */
|
case 23: /* INT4OID */
|
||||||
return [OFNumber numberWithInt32: (int32_t)[str decimalValue]];
|
return [OFNumber numberWithInt32: (int32_t)[str decimalValue]];
|
||||||
case 20: /* INT8OID */
|
case 20: /* INT8OID */
|
||||||
return [OFNumber numberWithInt64: (int64_t)[str decimalValue]];
|
return [OFNumber numberWithInt64: (int64_t)[str decimalValue]];
|
||||||
|
case 700: /* FLOAT4OID */
|
||||||
|
return [OFNumber numberWithFloat: [str floatValue]];
|
||||||
|
case 701: /* FLOAT8OID */
|
||||||
|
return [OFNumber numberWithDouble: [str doubleValue]];
|
||||||
}
|
}
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue