Hello all, Basically I am new to postgresql, and I am trying to build a custom Index to postgres using IndexAmRoutine. Further details on what I am working is below. amapi.h - API for Postgres index access methods.
IndexBuildResult *Indexbuild(Relation heap, Relation index, IndexInfo *indexInfo){ } The above function will be called during index build stage of custom index. So If i create a custom index on primary key/or any column on some table, the above function will be called and some details of table and index are shared for further processing... How do I identify primary key column of that table during build stage through code? Can I get details of primary key through TupleDesc <https://doxygen.postgresql.org/structtupleDesc.html> rd_att <https://doxygen.postgresql.org/structRelationData.html#a888d0630bc511944101812a989a4b427>; /* tuple descriptor */ ? I tried to access constraints attribute of above, but ConstrCheck <https://doxygen.postgresql.org/structconstrCheck.html> in TupleConstr <https://doxygen.postgresql.org/structtupleConstr.html> was NULL during build. I also tried to create index on primary key and check 'indisprimary' of Form_pg_index <https://doxygen.postgresql.org/pg__index_8h.html#aaf3f73286b0cf1baf9636770f5e695e4> in Index relationdata object but it was found to be 0 even for my custom index on table primary key!! So any other way to find a primary key column details during build stage of a custom index???