Changeset 840
- Timestamp:
- 03/13/07 09:42:35 (1 year ago)
- Files:
-
- pg8000/trunk/pg8000.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
pg8000/trunk/pg8000.py
r839 r840 713 713 val = val + struct.pack("!h", len(self.type_oids)) 714 714 for oid in self.type_oids: 715 # Parse message doesn't seem to handle the -1 type_oid for NULL 716 # values that other messages handle. So we'll provide type_oid 705, 717 # the PG "unknown" type. 718 if oid == -1: oid = 705 715 719 val = val + struct.pack("!i", oid) 716 720 val = struct.pack("!i", len(val) + 4) + val … … 1280 1284 } 1281 1285 1286 class Bytea(str): 1287 pass 1288 1282 1289 class Types(object): 1290 1283 1291 def pg_type_info(typ): 1284 1292 data = Types.py_types.get(typ) … … 1288 1296 if type_oid == None: 1289 1297 raise InternalError("type %r has no type_oid" % typ) 1298 elif type_oid == -1: 1299 # special case: NULL values 1300 return type_oid, 0 1290 1301 prefer = data.get("prefer") 1291 1302 if prefer != None: … … 1477 1488 return datetime.timedelta(0) 1478 1489 1490 def byteasend(v, **kwargs): 1491 return str(v) 1492 1479 1493 def bytearecv(data, **kwargs): 1480 1494 return Bytea(data) … … 1491 1505 float: {"tid": 701, "bin_out": float8send}, 1492 1506 decimal.Decimal: {"tid": 1700, "txt_out": numeric_out}, 1507 Bytea: {"tid": 17, "bin_out": byteasend}, 1493 1508 type(None): {"tid": -1}, 1494 1509 } … … 1512 1527 #1184: (timestamptz_in, None), # timestamp w/ tz 1513 1528 1514 class Bytea(str): 1515 pass 1516 1517 1529 1530
