Cleanup Name usage.
This commit is contained in:
parent
7193719b4f
commit
34797d4225
|
@ -130,7 +130,7 @@ gistbuild(Relation heap,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (oldPred == NULL && (nb = RelationGetNumberOfBlocks(index)) != 0)
|
if (oldPred == NULL && (nb = RelationGetNumberOfBlocks(index)) != 0)
|
||||||
elog(ERROR, "%.16s already contains data", &(index->rd_rel->relname.data[0]));
|
elog(ERROR, "%s already contains data", index->rd_rel->relname.data);
|
||||||
|
|
||||||
/* initialize the root page (if this is a new index) */
|
/* initialize the root page (if this is a new index) */
|
||||||
if (oldPred == NULL)
|
if (oldPred == NULL)
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.49 1998/07/19 03:46:29 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.50 1998/07/20 16:14:13 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -606,16 +606,6 @@ InitPlan(CmdType operation, Query *parseTree, Plan *plan, EState *estate)
|
||||||
|
|
||||||
estate->es_into_relation_descriptor = intoRelationDesc;
|
estate->es_into_relation_descriptor = intoRelationDesc;
|
||||||
|
|
||||||
/* ----------------
|
|
||||||
* return the type information..
|
|
||||||
* ----------------
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
attinfo = (AttrInfo *)palloc(sizeof(AttrInfo));
|
|
||||||
attinfo->numAttr = len;
|
|
||||||
attinfo->attrs = tupType->attrs;
|
|
||||||
*/
|
|
||||||
|
|
||||||
return tupType;
|
return tupType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/executor/execUtils.c,v 1.32 1998/06/15 19:28:20 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/executor/execUtils.c,v 1.33 1998/07/20 16:14:13 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -309,8 +309,7 @@ ExecFreeResultType(CommonState *commonstate)
|
||||||
slot = commonstate->cs_ResultTupleSlot;
|
slot = commonstate->cs_ResultTupleSlot;
|
||||||
tupType = slot->ttc_tupleDescriptor;
|
tupType = slot->ttc_tupleDescriptor;
|
||||||
|
|
||||||
/* ExecFreeTypeInfo(tupType); */
|
ExecFreeTypeInfo(tupType);
|
||||||
pfree(tupType);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -407,8 +406,7 @@ ExecFreeScanType(CommonScanState *csstate)
|
||||||
slot = csstate->css_ScanTupleSlot;
|
slot = csstate->css_ScanTupleSlot;
|
||||||
tupType = slot->ttc_tupleDescriptor;
|
tupType = slot->ttc_tupleDescriptor;
|
||||||
|
|
||||||
/* ExecFreeTypeInfo(tupType); */
|
ExecFreeTypeInfo(tupType);
|
||||||
pfree(tupType);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.31 1998/06/15 19:29:23 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.32 1998/07/20 16:14:14 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -139,7 +139,7 @@ mdcreate(Relation reln)
|
||||||
vfd;
|
vfd;
|
||||||
char *path;
|
char *path;
|
||||||
|
|
||||||
path = relpath(&(reln->rd_rel->relname.data[0]));
|
path = relpath(reln->rd_rel->relname.data);
|
||||||
fd = FileNameOpenFile(path, O_RDWR | O_CREAT | O_EXCL, 0600);
|
fd = FileNameOpenFile(path, O_RDWR | O_CREAT | O_EXCL, 0600);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -288,7 +288,7 @@ mdopen(Relation reln)
|
||||||
int fd;
|
int fd;
|
||||||
int vfd;
|
int vfd;
|
||||||
|
|
||||||
path = relpath(&(reln->rd_rel->relname.data[0]));
|
path = relpath(reln->rd_rel->relname.data);
|
||||||
|
|
||||||
fd = FileNameOpenFile(path, O_RDWR, 0600);
|
fd = FileNameOpenFile(path, O_RDWR, 0600);
|
||||||
|
|
||||||
|
@ -718,7 +718,7 @@ mdtruncate(Relation reln, int nblocks)
|
||||||
if (curnblk / RELSEG_SIZE > 0)
|
if (curnblk / RELSEG_SIZE > 0)
|
||||||
{
|
{
|
||||||
elog(NOTICE, "Can't truncate multi-segments relation %s",
|
elog(NOTICE, "Can't truncate multi-segments relation %s",
|
||||||
&(reln->rd_rel->relname.data[0]));
|
reln->rd_rel->relname.data);
|
||||||
return (curnblk);
|
return (curnblk);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/smgr.c,v 1.17 1998/06/27 04:53:40 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/smgr.c,v 1.18 1998/07/20 16:14:15 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -132,8 +132,7 @@ smgrcreate(int16 which, Relation reln)
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
if ((fd = (*(smgrsw[which].smgr_create)) (reln)) < 0)
|
if ((fd = (*(smgrsw[which].smgr_create)) (reln)) < 0)
|
||||||
elog(ERROR, "cannot create %s",
|
elog(ERROR, "cannot create %s", reln->rd_rel->relname.data);
|
||||||
&(reln->rd_rel->relname.data[0]));
|
|
||||||
|
|
||||||
return (fd);
|
return (fd);
|
||||||
}
|
}
|
||||||
|
@ -149,8 +148,7 @@ smgrunlink(int16 which, Relation reln)
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
if ((status = (*(smgrsw[which].smgr_unlink)) (reln)) == SM_FAIL)
|
if ((status = (*(smgrsw[which].smgr_unlink)) (reln)) == SM_FAIL)
|
||||||
elog(ERROR, "cannot unlink %s",
|
elog(ERROR, "cannot unlink %s", reln->rd_rel->relname.data);
|
||||||
&(reln->rd_rel->relname.data[0]));
|
|
||||||
|
|
||||||
return (status);
|
return (status);
|
||||||
}
|
}
|
||||||
|
@ -169,8 +167,7 @@ smgrextend(int16 which, Relation reln, char *buffer)
|
||||||
status = (*(smgrsw[which].smgr_extend)) (reln, buffer);
|
status = (*(smgrsw[which].smgr_extend)) (reln, buffer);
|
||||||
|
|
||||||
if (status == SM_FAIL)
|
if (status == SM_FAIL)
|
||||||
elog(ERROR, "%s: cannot extend",
|
elog(ERROR, "%s: cannot extend", reln->rd_rel->relname.data);
|
||||||
&(reln->rd_rel->relname.data[0]));
|
|
||||||
|
|
||||||
return (status);
|
return (status);
|
||||||
}
|
}
|
||||||
|
@ -187,8 +184,7 @@ smgropen(int16 which, Relation reln)
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
if ((fd = (*(smgrsw[which].smgr_open)) (reln)) < 0)
|
if ((fd = (*(smgrsw[which].smgr_open)) (reln)) < 0)
|
||||||
elog(ERROR, "cannot open %s",
|
elog(ERROR, "cannot open %s", reln->rd_rel->relname.data);
|
||||||
&(reln->rd_rel->relname.data[0]));
|
|
||||||
|
|
||||||
return (fd);
|
return (fd);
|
||||||
}
|
}
|
||||||
|
@ -209,8 +205,7 @@ int
|
||||||
smgrclose(int16 which, Relation reln)
|
smgrclose(int16 which, Relation reln)
|
||||||
{
|
{
|
||||||
if ((*(smgrsw[which].smgr_close)) (reln) == SM_FAIL)
|
if ((*(smgrsw[which].smgr_close)) (reln) == SM_FAIL)
|
||||||
elog(ERROR, "cannot close %s",
|
elog(ERROR, "cannot close %s", reln->rd_rel->relname.data);
|
||||||
&(reln->rd_rel->relname.data[0]));
|
|
||||||
|
|
||||||
return (SM_SUCCESS);
|
return (SM_SUCCESS);
|
||||||
}
|
}
|
||||||
|
@ -234,7 +229,7 @@ smgrread(int16 which, Relation reln, BlockNumber blocknum, char *buffer)
|
||||||
|
|
||||||
if (status == SM_FAIL)
|
if (status == SM_FAIL)
|
||||||
elog(ERROR, "cannot read block %d of %s",
|
elog(ERROR, "cannot read block %d of %s",
|
||||||
blocknum, &(reln->rd_rel->relname.data[0]));
|
blocknum, reln->rd_rel->relname.data);
|
||||||
|
|
||||||
return (status);
|
return (status);
|
||||||
}
|
}
|
||||||
|
@ -256,7 +251,7 @@ smgrwrite(int16 which, Relation reln, BlockNumber blocknum, char *buffer)
|
||||||
|
|
||||||
if (status == SM_FAIL)
|
if (status == SM_FAIL)
|
||||||
elog(ERROR, "cannot write block %d of %s",
|
elog(ERROR, "cannot write block %d of %s",
|
||||||
blocknum, &(reln->rd_rel->relname.data[0]));
|
blocknum, reln->rd_rel->relname.data);
|
||||||
|
|
||||||
return (status);
|
return (status);
|
||||||
}
|
}
|
||||||
|
@ -273,7 +268,7 @@ smgrflush(int16 which, Relation reln, BlockNumber blocknum, char *buffer)
|
||||||
|
|
||||||
if (status == SM_FAIL)
|
if (status == SM_FAIL)
|
||||||
elog(ERROR, "cannot flush block %d of %s to stable store",
|
elog(ERROR, "cannot flush block %d of %s to stable store",
|
||||||
blocknum, &(reln->rd_rel->relname.data[0]));
|
blocknum, reln->rd_rel->relname.data);
|
||||||
|
|
||||||
return (status);
|
return (status);
|
||||||
}
|
}
|
||||||
|
@ -332,8 +327,7 @@ smgrnblocks(int16 which, Relation reln)
|
||||||
int nblocks;
|
int nblocks;
|
||||||
|
|
||||||
if ((nblocks = (*(smgrsw[which].smgr_nblocks)) (reln)) < 0)
|
if ((nblocks = (*(smgrsw[which].smgr_nblocks)) (reln)) < 0)
|
||||||
elog(ERROR, "cannot count blocks for %s",
|
elog(ERROR, "cannot count blocks for %s", reln->rd_rel->relname.data);
|
||||||
&(reln->rd_rel->relname.data[0]));
|
|
||||||
|
|
||||||
return (nblocks);
|
return (nblocks);
|
||||||
}
|
}
|
||||||
|
@ -355,7 +349,7 @@ smgrtruncate(int16 which, Relation reln, int nblocks)
|
||||||
{
|
{
|
||||||
if ((newblks = (*(smgrsw[which].smgr_truncate)) (reln, nblocks)) < 0)
|
if ((newblks = (*(smgrsw[which].smgr_truncate)) (reln, nblocks)) < 0)
|
||||||
elog(ERROR, "cannot truncate %s to %d blocks",
|
elog(ERROR, "cannot truncate %s to %d blocks",
|
||||||
&(reln->rd_rel->relname.data[0]), nblocks);
|
reln->rd_rel->relname.data, nblocks);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (newblks);
|
return (newblks);
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.40 1998/06/15 19:29:40 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/utils/cache/relcache.c,v 1.41 1998/07/20 16:14:16 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -604,8 +604,8 @@ build_tupdesc_ind(RelationBuildDescInfo buildinfo,
|
||||||
atttup = (HeapTuple) AttributeNumIndexScan(attrel, relation->rd_id, i);
|
atttup = (HeapTuple) AttributeNumIndexScan(attrel, relation->rd_id, i);
|
||||||
|
|
||||||
if (!HeapTupleIsValid(atttup))
|
if (!HeapTupleIsValid(atttup))
|
||||||
elog(ERROR, "cannot find attribute %d of relation %.*s", i,
|
elog(ERROR, "cannot find attribute %d of relation %s", i,
|
||||||
NAMEDATALEN, &(relation->rd_rel->relname.data[0]));
|
relation->rd_rel->relname.data);
|
||||||
attp = (AttributeTupleForm) GETSTRUCT(atttup);
|
attp = (AttributeTupleForm) GETSTRUCT(atttup);
|
||||||
|
|
||||||
relation->rd_att->attrs[i - 1] =
|
relation->rd_att->attrs[i - 1] =
|
||||||
|
@ -1712,40 +1712,39 @@ AttrDefaultFetch(Relation relation)
|
||||||
if (adform->adnum != attrdef[i].adnum)
|
if (adform->adnum != attrdef[i].adnum)
|
||||||
continue;
|
continue;
|
||||||
if (attrdef[i].adsrc != NULL)
|
if (attrdef[i].adsrc != NULL)
|
||||||
elog(ERROR, "AttrDefaultFetch: second record found for attr %.*s in rel %.*s",
|
elog(ERROR, "AttrDefaultFetch: second record found for attr %s in rel %s",
|
||||||
NAMEDATALEN, relation->rd_att->attrs[adform->adnum - 1]->attname.data,
|
relation->rd_att->attrs[adform->adnum - 1]->attname.data,
|
||||||
NAMEDATALEN, relation->rd_rel->relname.data);
|
relation->rd_rel->relname.data);
|
||||||
|
|
||||||
val = (struct varlena *) fastgetattr(tuple,
|
val = (struct varlena *) fastgetattr(tuple,
|
||||||
Anum_pg_attrdef_adbin,
|
Anum_pg_attrdef_adbin,
|
||||||
adrel->rd_att, &isnull);
|
adrel->rd_att, &isnull);
|
||||||
if (isnull)
|
if (isnull)
|
||||||
elog(ERROR, "AttrDefaultFetch: adbin IS NULL for attr %.*s in rel %.*s",
|
elog(ERROR, "AttrDefaultFetch: adbin IS NULL for attr %s in rel %s",
|
||||||
NAMEDATALEN, relation->rd_att->attrs[adform->adnum - 1]->attname.data,
|
relation->rd_att->attrs[adform->adnum - 1]->attname.data,
|
||||||
NAMEDATALEN, relation->rd_rel->relname.data);
|
relation->rd_rel->relname.data);
|
||||||
attrdef[i].adbin = textout(val);
|
attrdef[i].adbin = textout(val);
|
||||||
val = (struct varlena *) fastgetattr(tuple,
|
val = (struct varlena *) fastgetattr(tuple,
|
||||||
Anum_pg_attrdef_adsrc,
|
Anum_pg_attrdef_adsrc,
|
||||||
adrel->rd_att, &isnull);
|
adrel->rd_att, &isnull);
|
||||||
if (isnull)
|
if (isnull)
|
||||||
elog(ERROR, "AttrDefaultFetch: adsrc IS NULL for attr %.*s in rel %.*s",
|
elog(ERROR, "AttrDefaultFetch: adsrc IS NULL for attr %s in rel %s",
|
||||||
NAMEDATALEN, relation->rd_att->attrs[adform->adnum - 1]->attname.data,
|
relation->rd_att->attrs[adform->adnum - 1]->attname.data,
|
||||||
NAMEDATALEN, relation->rd_rel->relname.data);
|
relation->rd_rel->relname.data);
|
||||||
attrdef[i].adsrc = textout(val);
|
attrdef[i].adsrc = textout(val);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i >= ndef)
|
if (i >= ndef)
|
||||||
elog(ERROR, "AttrDefaultFetch: unexpected record found for attr %d in rel %.*s",
|
elog(ERROR, "AttrDefaultFetch: unexpected record found for attr %d in rel %s",
|
||||||
adform->adnum,
|
adform->adnum,
|
||||||
NAMEDATALEN, relation->rd_rel->relname.data);
|
relation->rd_rel->relname.data);
|
||||||
ReleaseBuffer(buffer);
|
ReleaseBuffer(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (found < ndef)
|
if (found < ndef)
|
||||||
elog(ERROR, "AttrDefaultFetch: %d record not found for rel %.*s",
|
elog(ERROR, "AttrDefaultFetch: %d record not found for rel %s",
|
||||||
ndef - found,
|
ndef - found, relation->rd_rel->relname.data);
|
||||||
NAMEDATALEN, relation->rd_rel->relname.data);
|
|
||||||
|
|
||||||
index_endscan(sd);
|
index_endscan(sd);
|
||||||
pfree(sd);
|
pfree(sd);
|
||||||
|
@ -1795,29 +1794,29 @@ RelCheckFetch(Relation relation)
|
||||||
if (!HeapTupleIsValid(tuple))
|
if (!HeapTupleIsValid(tuple))
|
||||||
continue;
|
continue;
|
||||||
if (found == ncheck)
|
if (found == ncheck)
|
||||||
elog(ERROR, "RelCheckFetch: unexpected record found for rel %.*s",
|
elog(ERROR, "RelCheckFetch: unexpected record found for rel %s",
|
||||||
NAMEDATALEN, relation->rd_rel->relname.data);
|
relation->rd_rel->relname.data);
|
||||||
|
|
||||||
rcname = (Name) fastgetattr(tuple,
|
rcname = (Name) fastgetattr(tuple,
|
||||||
Anum_pg_relcheck_rcname,
|
Anum_pg_relcheck_rcname,
|
||||||
rcrel->rd_att, &isnull);
|
rcrel->rd_att, &isnull);
|
||||||
if (isnull)
|
if (isnull)
|
||||||
elog(ERROR, "RelCheckFetch: rcname IS NULL for rel %.*s",
|
elog(ERROR, "RelCheckFetch: rcname IS NULL for rel %s",
|
||||||
NAMEDATALEN, relation->rd_rel->relname.data);
|
relation->rd_rel->relname.data);
|
||||||
check[found].ccname = nameout(rcname);
|
check[found].ccname = nameout(rcname);
|
||||||
val = (struct varlena *) fastgetattr(tuple,
|
val = (struct varlena *) fastgetattr(tuple,
|
||||||
Anum_pg_relcheck_rcbin,
|
Anum_pg_relcheck_rcbin,
|
||||||
rcrel->rd_att, &isnull);
|
rcrel->rd_att, &isnull);
|
||||||
if (isnull)
|
if (isnull)
|
||||||
elog(ERROR, "RelCheckFetch: rcbin IS NULL for rel %.*s",
|
elog(ERROR, "RelCheckFetch: rcbin IS NULL for rel %s",
|
||||||
NAMEDATALEN, relation->rd_rel->relname.data);
|
relation->rd_rel->relname.data);
|
||||||
check[found].ccbin = textout(val);
|
check[found].ccbin = textout(val);
|
||||||
val = (struct varlena *) fastgetattr(tuple,
|
val = (struct varlena *) fastgetattr(tuple,
|
||||||
Anum_pg_relcheck_rcsrc,
|
Anum_pg_relcheck_rcsrc,
|
||||||
rcrel->rd_att, &isnull);
|
rcrel->rd_att, &isnull);
|
||||||
if (isnull)
|
if (isnull)
|
||||||
elog(ERROR, "RelCheckFetch: rcsrc IS NULL for rel %.*s",
|
elog(ERROR, "RelCheckFetch: rcsrc IS NULL for rel %s",
|
||||||
NAMEDATALEN, relation->rd_rel->relname.data);
|
relation->rd_rel->relname.data);
|
||||||
check[found].ccsrc = textout(val);
|
check[found].ccsrc = textout(val);
|
||||||
found++;
|
found++;
|
||||||
|
|
||||||
|
@ -1825,9 +1824,9 @@ RelCheckFetch(Relation relation)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (found < ncheck)
|
if (found < ncheck)
|
||||||
elog(ERROR, "RelCheckFetch: %d record not found for rel %.*s",
|
elog(ERROR, "RelCheckFetch: %d record not found for rel %s",
|
||||||
ncheck - found,
|
ncheck - found,
|
||||||
NAMEDATALEN, relation->rd_rel->relname.data);
|
relation->rd_rel->relname.data);
|
||||||
|
|
||||||
index_endscan(sd);
|
index_endscan(sd);
|
||||||
pfree(sd);
|
pfree(sd);
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/utils/misc/Attic/database.c,v 1.10 1998/06/15 19:29:50 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/utils/misc/Attic/database.c,v 1.11 1998/07/20 16:14:18 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -267,9 +267,7 @@ GetRawDatabaseInfo(char *name, Oid *owner, Oid *db_id, char *path)
|
||||||
*/
|
*/
|
||||||
tup_db = (Form_pg_database) GETSTRUCT(tup);
|
tup_db = (Form_pg_database) GETSTRUCT(tup);
|
||||||
|
|
||||||
if (strncmp(name,
|
if (strcmp(name, tup_db->datname.data) == 0)
|
||||||
&(tup_db->datname.data[0]),
|
|
||||||
16) == 0)
|
|
||||||
{
|
{
|
||||||
*db_id = tup->t_oid;
|
*db_id = tup->t_oid;
|
||||||
strncpy(path, VARDATA(&(tup_db->datpath)),
|
strncpy(path, VARDATA(&(tup_db->datpath)),
|
||||||
|
|
Loading…
Reference in New Issue