New HeapTuple structure/interface.
This commit is contained in:
parent
6beba218d7
commit
971175fa0c
@ -154,7 +154,7 @@ fti()
|
|||||||
tupdesc = rel->rd_att; /* what the tuple looks like (?) */
|
tupdesc = rel->rd_att; /* what the tuple looks like (?) */
|
||||||
|
|
||||||
/* get oid of current tuple, needed by all, so place here */
|
/* get oid of current tuple, needed by all, so place here */
|
||||||
oid = rettuple->t_oid;
|
oid = rettuple->t_data->t_oid;
|
||||||
if (!OidIsValid(oid))
|
if (!OidIsValid(oid))
|
||||||
elog(ERROR,"Full Text Indexing: oid of current tuple is NULL");
|
elog(ERROR,"Full Text Indexing: oid of current tuple is NULL");
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* procedural language
|
* procedural language
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.3 1998/09/01 04:40:20 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.4 1998/11/27 20:07:22 vadim Exp $
|
||||||
*
|
*
|
||||||
* This software is copyrighted by Jan Wieck - Hamburg.
|
* This software is copyrighted by Jan Wieck - Hamburg.
|
||||||
*
|
*
|
||||||
@ -620,7 +620,7 @@ plpgsql_parse_word(char *word)
|
|||||||
typ = (PLpgSQL_type *) malloc(sizeof(PLpgSQL_type));
|
typ = (PLpgSQL_type *) malloc(sizeof(PLpgSQL_type));
|
||||||
|
|
||||||
typ->typname = strdup(nameout(&(typeStruct->typname)));
|
typ->typname = strdup(nameout(&(typeStruct->typname)));
|
||||||
typ->typoid = typeTup->t_oid;
|
typ->typoid = typeTup->t_data->t_oid;
|
||||||
fmgr_info(typeStruct->typinput, &(typ->typinput));
|
fmgr_info(typeStruct->typinput, &(typ->typinput));
|
||||||
typ->typbyval = typeStruct->typbyval;
|
typ->typbyval = typeStruct->typbyval;
|
||||||
typ->atttypmod = -1;
|
typ->atttypmod = -1;
|
||||||
@ -943,7 +943,7 @@ plpgsql_parse_wordtype(char *word)
|
|||||||
typ = (PLpgSQL_type *) malloc(sizeof(PLpgSQL_type));
|
typ = (PLpgSQL_type *) malloc(sizeof(PLpgSQL_type));
|
||||||
|
|
||||||
typ->typname = strdup(nameout(&(typeStruct->typname)));
|
typ->typname = strdup(nameout(&(typeStruct->typname)));
|
||||||
typ->typoid = typeTup->t_oid;
|
typ->typoid = typeTup->t_data->t_oid;
|
||||||
fmgr_info(typeStruct->typinput, &(typ->typinput));
|
fmgr_info(typeStruct->typinput, &(typ->typinput));
|
||||||
typ->typbyval = typeStruct->typbyval;
|
typ->typbyval = typeStruct->typbyval;
|
||||||
typ->atttypmod = -1;
|
typ->atttypmod = -1;
|
||||||
@ -1060,7 +1060,7 @@ plpgsql_parse_dblwordtype(char *string)
|
|||||||
* ----------
|
* ----------
|
||||||
*/
|
*/
|
||||||
attrtup = SearchSysCacheTuple(ATTNAME,
|
attrtup = SearchSysCacheTuple(ATTNAME,
|
||||||
ObjectIdGetDatum(classtup->t_oid),
|
ObjectIdGetDatum(classtup->t_data->t_oid),
|
||||||
PointerGetDatum(word2), 0, 0);
|
PointerGetDatum(word2), 0, 0);
|
||||||
if (!HeapTupleIsValid(attrtup))
|
if (!HeapTupleIsValid(attrtup))
|
||||||
{
|
{
|
||||||
@ -1087,7 +1087,7 @@ plpgsql_parse_dblwordtype(char *string)
|
|||||||
typ = (PLpgSQL_type *) malloc(sizeof(PLpgSQL_type));
|
typ = (PLpgSQL_type *) malloc(sizeof(PLpgSQL_type));
|
||||||
|
|
||||||
typ->typname = strdup(nameout(&(typeStruct->typname)));
|
typ->typname = strdup(nameout(&(typeStruct->typname)));
|
||||||
typ->typoid = typetup->t_oid;
|
typ->typoid = typetup->t_data->t_oid;
|
||||||
fmgr_info(typeStruct->typinput, &(typ->typinput));
|
fmgr_info(typeStruct->typinput, &(typ->typinput));
|
||||||
typ->typbyval = typeStruct->typbyval;
|
typ->typbyval = typeStruct->typbyval;
|
||||||
typ->atttypmod = attrStruct->atttypmod;
|
typ->atttypmod = attrStruct->atttypmod;
|
||||||
@ -1163,7 +1163,7 @@ plpgsql_parse_wordrowtype(char *string)
|
|||||||
|
|
||||||
row->dtype = PLPGSQL_DTYPE_ROW;
|
row->dtype = PLPGSQL_DTYPE_ROW;
|
||||||
row->nfields = classStruct->relnatts;
|
row->nfields = classStruct->relnatts;
|
||||||
row->rowtypeclass = typetup->t_oid;
|
row->rowtypeclass = typetup->t_data->t_oid;
|
||||||
row->fieldnames = malloc(sizeof(char *) * row->nfields);
|
row->fieldnames = malloc(sizeof(char *) * row->nfields);
|
||||||
row->varnos = malloc(sizeof(int) * row->nfields);
|
row->varnos = malloc(sizeof(int) * row->nfields);
|
||||||
|
|
||||||
@ -1174,7 +1174,7 @@ plpgsql_parse_wordrowtype(char *string)
|
|||||||
* ----------
|
* ----------
|
||||||
*/
|
*/
|
||||||
attrtup = SearchSysCacheTuple(ATTNUM,
|
attrtup = SearchSysCacheTuple(ATTNUM,
|
||||||
ObjectIdGetDatum(classtup->t_oid),
|
ObjectIdGetDatum(classtup->t_data->t_oid),
|
||||||
(Datum) (i + 1), 0, 0);
|
(Datum) (i + 1), 0, 0);
|
||||||
if (!HeapTupleIsValid(attrtup))
|
if (!HeapTupleIsValid(attrtup))
|
||||||
{
|
{
|
||||||
@ -1215,7 +1215,7 @@ plpgsql_parse_wordrowtype(char *string)
|
|||||||
strcat(var->refname, cp);
|
strcat(var->refname, cp);
|
||||||
var->datatype = malloc(sizeof(PLpgSQL_type));
|
var->datatype = malloc(sizeof(PLpgSQL_type));
|
||||||
var->datatype->typname = strdup(nameout(&(typeStruct->typname)));
|
var->datatype->typname = strdup(nameout(&(typeStruct->typname)));
|
||||||
var->datatype->typoid = typetup->t_oid;
|
var->datatype->typoid = typetup->t_data->t_oid;
|
||||||
fmgr_info(typeStruct->typinput, &(var->datatype->typinput));
|
fmgr_info(typeStruct->typinput, &(var->datatype->typinput));
|
||||||
var->datatype->typbyval = typeStruct->typbyval;
|
var->datatype->typbyval = typeStruct->typbyval;
|
||||||
var->datatype->atttypmod = attrStruct->atttypmod;
|
var->datatype->atttypmod = attrStruct->atttypmod;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* procedural language (PL)
|
* procedural language (PL)
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.7 1998/10/09 16:57:10 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.8 1998/11/27 20:05:27 vadim Exp $
|
||||||
*
|
*
|
||||||
* This software is copyrighted by Jan Wieck - Hamburg.
|
* This software is copyrighted by Jan Wieck - Hamburg.
|
||||||
*
|
*
|
||||||
@ -1613,7 +1613,7 @@ pltcl_SPI_prepare(ClientData cdata, Tcl_Interp * interp,
|
|||||||
0, 0, 0);
|
0, 0, 0);
|
||||||
if (!HeapTupleIsValid(typeTup))
|
if (!HeapTupleIsValid(typeTup))
|
||||||
elog(ERROR, "pltcl: Cache lookup of type %s failed", args[i]);
|
elog(ERROR, "pltcl: Cache lookup of type %s failed", args[i]);
|
||||||
qdesc->argtypes[i] = typeTup->t_oid;
|
qdesc->argtypes[i] = typeTup->t_data->t_oid;
|
||||||
fmgr_info(((Form_pg_type) GETSTRUCT(typeTup))->typinput,
|
fmgr_info(((Form_pg_type) GETSTRUCT(typeTup))->typinput,
|
||||||
&(qdesc->arginfuncs[i]));
|
&(qdesc->arginfuncs[i]));
|
||||||
qdesc->argtypelems[i] = ((Form_pg_type) GETSTRUCT(typeTup))->typelem;
|
qdesc->argtypelems[i] = ((Form_pg_type) GETSTRUCT(typeTup))->typelem;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user