Skip to content
Snippets Groups Projects
Commit d7427e48 authored by Bruce Momjian's avatar Bruce Momjian
Browse files

Temporary varchar patch.

parent 41a4f64d
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.14 1998/01/07 21:02:36 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.15 1998/01/16 05:03:45 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -42,6 +42,7 @@
#include "access/genam.h"
#include "access/heapam.h"
#include "catalog/heap.h"
#include "catalog/pg_type.h"
static Pointer
ExecBeginScan(Relation relation, int nkeys, ScanKey skeys,
......@@ -124,6 +125,31 @@ ExecOpenR(Oid relationOid, bool isindex)
if (relation == NULL)
elog(DEBUG, "ExecOpenR: relation == NULL, heap_open failed.");
{
int i;
Relation trel = palloc(sizeof(RelationData));
TupleDesc tdesc = palloc(sizeof(struct tupleDesc));
AttributeTupleForm *tatt =
palloc(sizeof(AttributeTupleForm*)*relation->rd_att->natts);
memcpy(trel, relation, sizeof(RelationData));
memcpy(tdesc, relation->rd_att, sizeof(struct tupleDesc));
trel->rd_att = tdesc;
tdesc->attrs = tatt;
for (i = 0; i < relation->rd_att->natts; i++)
{
if (relation->rd_att->attrs[i]->atttypid != VARCHAROID)
tdesc->attrs[i] = relation->rd_att->attrs[i];
else
{
tdesc->attrs[i] = palloc(sizeof(FormData_pg_attribute));
memcpy(tdesc->attrs[i], relation->rd_att->attrs[i],
sizeof(FormData_pg_attribute));
tdesc->attrs[i]->attlen = -1;
}
}
}
return relation;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment