|
29 | 29 | * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
30 | 30 | * |
31 | 31 | * IDENTIFICATION |
32 | | - *$Header: /cvsroot/pgsql/src/pl/plpython/plpython.c,v 1.6 2001/10/01 17:53:12 tgl Exp $ |
| 32 | + *$Header: /cvsroot/pgsql/src/pl/plpython/plpython.c,v 1.7 2001/10/04 15:45:49 momjian Exp $ |
33 | 33 | * |
34 | 34 | ********************************************************************* |
35 | 35 | */ |
@@ -229,6 +229,7 @@ static PyObject *PLyDict_FromTuple(PLyTypeInfo *, HeapTuple, TupleDesc); |
229 | 229 | staticPyObject*PLyBool_FromString(constchar*); |
230 | 230 | staticPyObject*PLyFloat_FromString(constchar*); |
231 | 231 | staticPyObject*PLyInt_FromString(constchar*); |
| 232 | +staticPyObject*PLyLong_FromString(constchar*); |
232 | 233 | staticPyObject*PLyString_FromString(constchar*); |
233 | 234 |
|
234 | 235 |
|
@@ -1378,12 +1379,16 @@ PLy_input_datum_func2(PLyDatumToOb *arg, Form_pg_type typeStruct) |
1378 | 1379 | case'i': |
1379 | 1380 | { |
1380 | 1381 | if ((strncasecmp("int",type,3)==0)&& |
1381 | | - ((type[3]=='4')|| (type[3]=='2')|| (type[3]=='8'))&& |
| 1382 | + ((type[3]=='4')|| (type[3]=='2'))&& |
1382 | 1383 | (type[4]=='\0')) |
1383 | 1384 | { |
1384 | 1385 | arg->func=PLyInt_FromString; |
1385 | 1386 | return; |
1386 | 1387 | } |
| 1388 | +elseif (strcasecmp("int8",type)==0 ) |
| 1389 | + { |
| 1390 | +arg->func=PLyLong_FromString; |
| 1391 | + } |
1387 | 1392 | break; |
1388 | 1393 | } |
1389 | 1394 | case'n': |
@@ -1464,6 +1469,12 @@ PLyInt_FromString(const char *src) |
1464 | 1469 | returnPyInt_FromLong(v); |
1465 | 1470 | } |
1466 | 1471 |
|
| 1472 | +PyObject* |
| 1473 | +PLyLong_FromString(constchar*src) |
| 1474 | +{ |
| 1475 | +returnPyLong_FromString((char*)src,NULL,0); |
| 1476 | +} |
| 1477 | + |
1467 | 1478 | PyObject* |
1468 | 1479 | PLyString_FromString(constchar*src) |
1469 | 1480 | { |
|