diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-11-12 21:15:59 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-11-12 21:15:59 +0000 |
| commit | fa5c8a055a02e44f446e4593e397c33a572c4d67 (patch) | |
| tree | 9c0a7ded5a88c082c28dbe2b431660813abd72b8 /src/backend/storage/large_object | |
| parent | 49f98fa833407b4e4252e42522e640ec8a0d08b2 (diff) | |
| download | postgresql-fa5c8a055a02e44f446e4593e397c33a572c4d67.tar.gz | |
Cross-data-type comparisons are now indexable by btrees, pursuant to my
pghackers proposal of 8-Nov. All the existing cross-type comparison
operators (int2/int4/int8 and float4/float8) have appropriate support.
The original proposal of storing the right-hand-side datatype as part of
the primary key for pg_amop and pg_amproc got modified a bit in the event;
it is easier to store zero as the 'default' case and only store a nonzero
when the operator is actually cross-type. Along the way, remove the
long-since-defunct bigbox_ops operator class.
Diffstat (limited to 'src/backend/storage/large_object')
| -rw-r--r-- | src/backend/storage/large_object/inv_api.c | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/src/backend/storage/large_object/inv_api.c b/src/backend/storage/large_object/inv_api.c index 33e40109d3..f777fb33b9 100644 --- a/src/backend/storage/large_object/inv_api.c +++ b/src/backend/storage/large_object/inv_api.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/large_object/inv_api.c,v 1.99 2003/11/09 21:30:37 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/large_object/inv_api.c,v 1.100 2003/11/12 21:15:54 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -202,10 +202,10 @@ inv_getsize(LargeObjectDesc *obj_desc) Assert(PointerIsValid(obj_desc)); - ScanKeyEntryInitialize(&skey[0], 0, - Anum_pg_largeobject_loid, - BTEqualStrategyNumber, F_OIDEQ, - ObjectIdGetDatum(obj_desc->id), OIDOID); + ScanKeyInit(&skey[0], + Anum_pg_largeobject_loid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(obj_desc->id)); sd = index_beginscan(obj_desc->heap_r, obj_desc->index_r, SnapshotNow, 1, skey); @@ -306,15 +306,15 @@ inv_read(LargeObjectDesc *obj_desc, char *buf, int nbytes) if (nbytes <= 0) return 0; - ScanKeyEntryInitialize(&skey[0], 0, - Anum_pg_largeobject_loid, - BTEqualStrategyNumber, F_OIDEQ, - ObjectIdGetDatum(obj_desc->id), OIDOID); + ScanKeyInit(&skey[0], + Anum_pg_largeobject_loid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(obj_desc->id)); - ScanKeyEntryInitialize(&skey[1], 0, - Anum_pg_largeobject_pageno, - BTGreaterEqualStrategyNumber, F_INT4GE, - Int32GetDatum(pageno), INT4OID); + ScanKeyInit(&skey[1], + Anum_pg_largeobject_pageno, + BTGreaterEqualStrategyNumber, F_INT4GE, + Int32GetDatum(pageno)); sd = index_beginscan(obj_desc->heap_r, obj_desc->index_r, SnapshotNow, 2, skey); @@ -413,15 +413,15 @@ inv_write(LargeObjectDesc *obj_desc, char *buf, int nbytes) indstate = CatalogOpenIndexes(obj_desc->heap_r); - ScanKeyEntryInitialize(&skey[0], 0, - Anum_pg_largeobject_loid, - BTEqualStrategyNumber, F_OIDEQ, - ObjectIdGetDatum(obj_desc->id), OIDOID); + ScanKeyInit(&skey[0], + Anum_pg_largeobject_loid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(obj_desc->id)); - ScanKeyEntryInitialize(&skey[1], 0, - Anum_pg_largeobject_pageno, - BTGreaterEqualStrategyNumber, F_INT4GE, - Int32GetDatum(pageno), INT4OID); + ScanKeyInit(&skey[1], + Anum_pg_largeobject_pageno, + BTGreaterEqualStrategyNumber, F_INT4GE, + Int32GetDatum(pageno)); sd = index_beginscan(obj_desc->heap_r, obj_desc->index_r, SnapshotNow, 2, skey); |
