Modification to the postgres catalog - Mailing list pgsql-hackers

From Carlos Chacon
Subject Modification to the postgres catalog
Date
Msg-id 34ebda740610110929t315fa7dfs53c97b4425809bdc@mail.gmail.com
Whole thread Raw
Responses Re: Modification to the postgres catalog  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
HI... im trying to modify the pg_class table by adding a new attribute. To accomplish that, i modify the next
archives:<br/><br />- include/pg_class.h: in this file, i modfify:<br /><div style="margin-left: 40px;"> 
FormData_pg_classstruct: i add the new attribute, example a boolean... <br />       .....<br />       bool
myNewAttribute;  /*my new attribute */<br />       aclitem        relacl[1];        /* we declare this just for the
catalog*/<br />  }<br /></div><br /> then, i modify the macro "CLASS_TUPLE_SIZE": <br /><div style="margin-left:
40px;">   #define CLASS_TUPLE_SIZE \<br />     (offsetof(FormData_pg_class,relhassubclass) + sizeof(bool) +
sizeof(bool))  /* the last bool is my bool */<br /></div><br />and then, i modify the DATA(insert ..)) of this file by
addinga "t" just before the "_null_" value... <br /><br />- include/pg_attribute.h: i add to the macros and data the
newattribute of the pg_class table:<br /><div style="margin-left: 80px;">...<br />{ 1259, {"myNewAttribute"},16, -1,   
1,25, 0, -1, -1, true, 'p', 'c', true, false, false, true, 0 }, \ <br />{ 1259, {"relacl"},         1034, -1, -1, 26,
1,-1, -1, false, 'x', 'i', false, false, false, true, 0 } /* this is the macro */<br /><br />....<br />DATA(insert (
1259relhassubclass    16 -1 1  24 0 -1 -1 t p c t f f t 0)); <br />DATA(insert ( 1259 myNewAttribute        16 -1 1  25
0-1 -1 t p c t f f t 0));<br />DATA(insert ( 1259 relacl          1034 -1 -1 26 1 -1 -1 f x i f f f t 0)); /* el data
insert*/<br /></div><br />- utils/cache/relcache.c: in here, when the tables are initialized... i add the next line of
code:<br /><div style="margin-left: 40px;">rel->rd_rel->myNewAttribute = true;<br /></div><br />then, i
compile....i everything goes well.... but when i execute the comand "initdb -D ..." i always get next message:<br
/><divstyle="margin-left: 40px;">initializing pg_authid ... ok<br />enabling unlimited row size for system tables ...
ok<br/>initializing dependencies ... ok<br />creating system views ... ok<br />loading pg_description ... ok<br />
creatingconversions ... ok<br />setting privileges on built-in objects ... FATAL:  column "relacl" does not exist<br
/>childprocess exited with exit code 1<br /><br /></div>I don't know what's going on???? Can anyone help me please? <br
/><br/>thanks.<br /><br /> 

pgsql-hackers by date:

Previous
From: "Sreejesh O S"
Date:
Subject: Re: Clarification needed
Next
From: Gregory Stark
Date:
Subject: Re: Index Tuning Features