Using this code below (particularly heap_open) somehow i can fetch all
table column name, and put in on list of string. Before raw_parsetree is
processed by analyze part.
------start code ----------------
---------------------------------
RangeVar *relation = makeNode(RangeVar); relation->schemaname = NULL;
relation->catalogname= NULL; relation->relname = "pg_class"; //table name relation->inhOpt
=INH_DEFAULT; relation->istemp = false ; relation->alias = NULL;
Relation Rel;
LOCKMODE lockmode = AccessShareLock;
Rel = heap_open(TableSpaceRelationId,lockmode);
Value *attrname ;
TupleDesc td;
td = Rel->rd_att;
List *colnames;
colnames = NIL;
int z;
int maxatribut = td->natts;
Form_pg_attribute fpa;
for (z=0;z<maxatribut;z++) { fpa = td->attrs[z]; attrname = makeString(pstrdup(NameStr(fpa->attname)));
colnames = lappend(colnames,attrname); //this where list cols name
colected }
------end code ----------------
---------------------------------
My question, is there same kind function that i can use to get table
content (tuple)?
Thank You.
--
Mohammad Heykal Abdillah <heykal.abdillah@gmail.com>