<br /><br /><div class="gmail_quote">On Jan 2, 2008 6:24 PM, Martijn van Oosterhout <<a
href="mailto:kleptog@svana.org">kleptog@svana.org</a>>wrote:<br /><blockquote class="gmail_quote"
style="border-left:1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">On
Wed,Jan 02, 2008 at 04:46:11PM +0530, Gokulakannan Somasundaram wrote:<br />> > All indexes are done by
user-definedfunctions, even b-trees. People can<br />> > make their own b-tree indexes by defining an operator
class.Note that <br />> > "user-defined" is this case means anything called via the fmgr<br />> >
interface.<br/>><br />> Again, i think i have one more wrong understanding. My understanding is,<br />> We are
discussingabout user-defined functions because, they might be <br />> actually be mutable functions, but the user
mighthave classified as<br />> immutable.<br /><br /></div>This is where it gets a bit beyond by depth, so someone
mayhave to<br />correct me. The point is that during the recovery the system is not yet <br />fully running and not
everythingworks yet. For example, what happens<br />if the system crashed halfway through updating a page in pg_proc
and<br/>that page needs to be recovered from WAL. Yet to insert into the index<br /> you need to be able to read pg_am,
pg_amproc,pg_proc at least,<br />probably more.<br /><br />The point being, you can't rely on anything except WAL
duringrecovery.<br /><div class="Ih2E3d"><br /></div></blockquote></div>Thanks a lot for the nice explanation. That
wassomething new for me....:(( <br /><br clear="all" /><br />-- <br />Thanks,<br />Gokul.<br /><br />