Modification to the postgres catalog
От | Carlos Chacon |
---|---|
Тема | Modification to the postgres catalog |
Дата | |
Msg-id | 34ebda740610110929t315fa7dfs53c97b4425809bdc@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: Modification to the postgres catalog
|
Список | 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 по дате отправления: