Обсуждение: GSoC 2011 Eager MV implementation proposal
<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; "><div style="background-color:transparent; font-family: 'Times New Roman'; font-size: 13px; "><font size="3"><span style="white-space:pre-wrap; "><br /></span></font></div><div style="background-color: transparent; font-family: 'Times NewRoman'; font-size: 13px; "><span style="font-size: medium; "><span style="font-size: 12pt; font-family: 'Times New Roman';color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: underline;vertical-align: baseline; white-space: pre-wrap; ">Title:</span></span><span style="font-size: medium; "><spanstyle="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight:normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "><span style="white-space:pre-wrap; "> </span> Implementation of Eager Materialized views in postgres</span></span></div><div style="background-color:transparent; font-family: 'Times New Roman'; "><font size="3" style="font-size: 13px; "><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration:none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br/><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: bold; font-style: normal; text-decoration: underline; vertical-align: baseline;white-space: pre-wrap; ">Name of Proposer & Email :</span><span style="font-size: 12pt; font-family: 'TimesNew Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration:none; vertical-align: baseline; white-space: pre-wrap; "> Aamir Khan & <a href="mailto:ak4u2009@gmail.com"style="color: rgb(17, 65, 112); " target="_blank">ak4u2009@gmail.com</a></span><br /><fontsize="3" style="font-size: 13px; "><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0,0); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color:transparent; "></span></font><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color:rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: underline; vertical-align:baseline; white-space: pre-wrap; ">Synopsis:</span><font size="3" style="font-size: 13px; "><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration:none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br/><font size="3" style="font-size: 13px; "><span style="font-size: 12pt; font-family: 'Times New Roman';color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; background-color: transparent; "></span></font><br /><span style="font-size: 12pt; font-family: 'TimesNew Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration:none; vertical-align: baseline; white-space: pre-wrap; ">I would like to implement eager materialized view.Aneager materialized view will be updated whenever the view changes. This is done with a system of triggers on all ofthe underlying tables.</span><br /><font size="3" style="font-size: 13px; "><span style="font-size: 12pt; font-family:'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; vertical-align:baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br /><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold;font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">Benefits to the PostgreSQLCommunity:</span><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline;white-space: pre-wrap; "><br /></span><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0,0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align:baseline; white-space: pre-wrap; "> First of all, it would be the best if my work is helpful to everybodywho misses materialized views in PostgreSQL, because PostgreSQL do not have still implemented materialized views.In addition, MV is mentioned as the top rated feature in TODO list.</span><br /><font size="3" style="font-size: 13px;"><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style:normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;"></span></font><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; "> </span><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);background-color: transparent; font-weight: bold; font-style: normal; text-decoration: underline; vertical-align: baseline;white-space: pre-wrap; ">Deliverables:<br /></span><span style="font-size: 12pt; font-family: 'Times New Roman';color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none;vertical-align: baseline; white-space: pre-wrap; "> First of all, at the end of whole my project is not only finishingthe patch if possible, get patch into next PostgreSQL release, or keep git repository actual to last PosgreSQL version.</span><br /><font size="3" style="font-size: 13px; "><span style="font-size: 12pt; font-family: 'Times New Roman';color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; background-color: transparent; "></span></font><span style="font-size: 12pt; font-family: 'Times NewRoman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration:none; vertical-align: baseline; white-space: pre-wrap; "> </span><span style="font-size: 12pt; font-family:'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal;text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">Bio<br /></span><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal;font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> </span><br /><spanstyle="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight:normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">I am studentof one of the most premier institute in India namely Indian Institute of Technology Roorkee pursuing my Bachelor ofTechnology Computer Science & Engineering.</span><br /><font size="3" style="font-size: 13px; "><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration:none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br/><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; ">I, as a part of team manages institutes website <a href="http://www.iitr.ac.in/" style="color: rgb(17,65, 112); " target="_blank">www.iitr.ac.in</a> . We have setup a intranet portal inside campus of IIT Rookee whichhas around 80 applications hosted on it. I have created ebooks sharing portal within the intranet. I have very goodexperience in web designing (e.g, I have created website during last year summer internship <a href="http://www.raysconsultants.com/"style="color: rgb(17, 65, 112); " target="_blank">www.raysconsultants.com</a> ). Regardingopen source work : i have submitted many patches for phpmyadmin</span><br /><font class="Apple-style-span" size="3"><spanclass="Apple-style-span" style="white-space: pre-wrap;"></span></font><font size="3" style="font-size: 13px;"><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style:normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;"></span></font><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; ">I like to contribute in open source communitites because it gives me experience,technical expertiseand it teaches spirit of team work. And its my time to give back to community from which i gained a lot of experienceand motivation.</span><br /><font size="3" style="font-size: 13px; "><span style="font-size: 12pt; font-family:'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; vertical-align:baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br /><font size="3" style="font-size:13px; "><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight:normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color:transparent; "></span></font><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color:rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; text-decoration: underline; vertical-align:baseline; white-space: pre-wrap; ">Project plan</span><br /><font size="3" style="font-size: 13px; "><spanstyle="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal;text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br/><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; ">I am completely free this summer. I intend to indulge in some of my hobbies this summer, like Squashetc, leaving me plenty of time to complete my project. The tentative schedule as discussed with my mentor is :</span><br/><font size="3" style="font-size: 13px; "><span style="font-size: 12pt; font-family: 'Times New Roman'; color:rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; background-color: transparent; "></span></font><br /><span style="font-size: 12pt; font-family: 'TimesNew Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration:none; vertical-align: baseline; white-space: pre-wrap; ">(1) Identify how an eager MV system would work,by labelling and</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; ">identifying every table, query, trigger, etc... This would be a</span><br /><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal;font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">written document thathas been checked by me for completeness,</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color:rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align:baseline; white-space: pre-wrap; ">precision, and correctness. </span><span style="font-size: 12pt; font-family:'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal;text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">(1 week)</span><font size="3" style="font-size:13px; "><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight:normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color:transparent; "></span></font><br /><font size="3" style="font-size: 13px; "><span style="font-size: 12pt;font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none;vertical-align: baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br /><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal;font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">(2) Identify the internalstructure of a parsed query, the basic</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman';color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none;vertical-align: baseline; white-space: pre-wrap; ">atomic parts of this structure, and how each atomic structure maps</span><br/><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent;font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">precisely to our MV system described in (1). Again, a written document</span><br /><span style="font-size: 12pt;font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style:normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">approved by myself, and reviewedby the PostgreSQL community. (</span><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0,0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align:baseline; white-space: pre-wrap; ">2</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman';color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline;vertical-align: baseline; white-space: pre-wrap; ">weeks)</span><font size="3" style="font-size: 13px; "><spanstyle="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal;text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br/><font size="3" style="font-size: 13px; "><span style="font-size: 12pt; font-family: 'Times New Roman';color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; background-color: transparent; "></span></font><br /><span style="font-size: 12pt; font-family: 'TimesNew Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration:none; vertical-align: baseline; white-space: pre-wrap; ">(3) Outline how a "create_eager_mv" function wouldwork, starting with</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; ">the interface (what parameters it takes), and working through the</span><br /><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal;font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">exact SQL commands thatmust be executed to complete the process.</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color:rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align:baseline; white-space: pre-wrap; ">Identify which SQL commands depend on the structure of the query.</span><spanstyle="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent;font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"> (2</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline;white-space: pre-wrap; ">weeks)</span><br /><font size="3" style="font-size: 13px; "><span style="font-size: 12pt;font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none;vertical-align: baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br /><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal;font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">(4) Write unit teststhat check a variety of queries against your (as</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman';color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none;vertical-align: baseline; white-space: pre-wrap; ">of yet, unwritten) function. Ensure completeness by reviewing withme.</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: normal; font-style: normal; text-decoration: underline; vertical-align: baseline;white-space: pre-wrap; ">(1 week)</span><br /><font size="3" style="font-size: 13px; "><span style="font-size: 12pt;font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none;vertical-align: baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br /><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal;font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">(5) Finally, given allof the above, translate (3) into working code,</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman';color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none;vertical-align: baseline; white-space: pre-wrap; ">likely implemented in PL/Python or C, that passes the unit tests.</span><br/><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent;font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Submit to PostgreSQL community for review. </span><span style="font-size: 12pt; font-family: 'Times New Roman';color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: underline;vertical-align: baseline; white-space: pre-wrap; ">(2 weeks)</span><font size="3" style="font-size: 13px; "><spanstyle="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal;text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br/><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; "> </span><br /><font size="3" style="font-size: 13px; "><span style="font-size: 12pt; font-family:'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; vertical-align:baseline; white-space: pre-wrap; background-color: transparent; "></span></font><br /><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal;font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "> </span><br /><spanstyle="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight:bold; font-style: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; ">ContactInformation</span><font size="3" style="font-size: 13px; "><span style="font-size: 12pt; font-family: 'Times NewRoman'; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline;white-space: pre-wrap; background-color: transparent; "></span></font><br /><font size="3" style="font-size: 13px;"><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); font-weight: normal; font-style:normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;"></span></font><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color:transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align: baseline; white-space:pre-wrap; ">Name: Aamir Khan</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color:rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align:baseline; white-space: pre-wrap; ">Country: Indian</span><br /><span style="font-size: 12pt; font-family:'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal;text-decoration: none; vertical-align: baseline; white-space: pre-wrap; ">School and degree: Indian Institute of Technology,Roorkee, Bachelor of Technology</span><br /><span style="font-size: 12pt; font-family: 'Times New Roman'; color:rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none; vertical-align:baseline; white-space: pre-wrap; ">Email: <a href="mailto:ak4u2009@gmail.com" style="color: rgb(17, 65, 112);" target="_blank">ak4u2009@gmail.com</a> </span><br /><span style="font-size: 12pt; font-family: 'Times New Roman';color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; text-decoration: none;vertical-align: baseline; white-space: pre-wrap; ">Phone: +91-9557647357</span></div></span>
On 03/31/2011 04:38 PM, AAMIR KHAN wrote: <blockquote cite="mid:AANLkTin6BJVrGpLn-S9ivKT1ZPBDJwX_2v7ZcsWxckD_@mail.gmail.com"type="cite"><span class="Apple-style-span" style="border-collapse:collapse; font-family: arial,sans-serif;"><div style="background-color: transparent; font-family:'Times New Roman';"><font size="3"><span style="white-space: pre-wrap;"></span></font><span style="font-size:12pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal;font-style: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I would like to implementeager materialized view.An eager materialized view will be updated whenever the view changes. This is done witha system of triggers on all of the underlying tables.</span><br /></div></span></blockquote><br /> Last summer someoneworked on snapshot materialized views. That didn't result in anything that could be committed. If you wanted towork on trying to actually finish that, that might go somewhere useful. There are a number of hard problems in gettinga working implementation of materialized views that all get ignored by all of the student proposals we get, and whatyou're talking about doesn't address any of them.<br /><br /> You really should read all of the messages in the followingthreads:<br /><br /><a class="moz-txt-link-freetext" href="http://archives.postgresql.org/pgsql-hackers/2010-04/msg00479.php">http://archives.postgresql.org/pgsql-hackers/2010-04/msg00479.php</a><br /><aclass="moz-txt-link-freetext" href="http://archives.postgresql.org/pgsql-hackers/2010-06/msg00743.php">http://archives.postgresql.org/pgsql-hackers/2010-06/msg00743.php</a><br /><aclass="moz-txt-link-freetext" href="http://archives.postgresql.org/pgsql-hackers/2010-07/msg00396.php">http://archives.postgresql.org/pgsql-hackers/2010-07/msg00396.php</a><br /><br/> And the following summaries:<br /><br /><a class="moz-txt-link-freetext" href="http://wiki.postgresql.org/wiki/Materialized_Views_GSoC_2010">http://wiki.postgresql.org/wiki/Materialized_Views_GSoC_2010</a><br /><aclass="moz-txt-link-freetext" href="http://rhaas.blogspot.com/2010/04/materialized-views-in-postgresql.html">http://rhaas.blogspot.com/2010/04/materialized-views-in-postgresql.html</a><br /><br/> And then say how what you're suggesting fits into the issues raised last summer. The theory and way to implementeager MVs are interesting problems. But working on them won't lead toward code that can be committed to PostgreSQLthis year.<br /><br /><pre class="moz-signature" cols="72">-- Greg Smith 2ndQuadrant US <a class="moz-txt-link-abbreviated" href="mailto:greg@2ndQuadrant.com">greg@2ndQuadrant.com</a> Baltimore, MD PostgreSQL Training, Services, and 24x7 Support <a class="moz-txt-link-abbreviated" href="http://www.2ndQuadrant.us">www.2ndQuadrant.us</a> </pre>
As you people think and may be possible that complete implementation of Eager MVs cannot be completed in summer. So maybe i can pick up the work left to be done in snapshot MVs. I have cloned the repository of pavel baros from https://github.com/pbaros/postgres.git and i will be looking to find whats left out.
Could anybody help me in figuring out what is left to be done in snapshot MVs implementation?
Could anybody help me in figuring out what is left to be done in snapshot MVs implementation?
There are a number of hard problems in getting a working implementation of materialized views that all get ignored by all of the student proposals we get, and what you're talking about doesn't address any of them.
As soon as i know the shortcomings of snapshot MVs implementation and once go through the code committed during GSoC, I will revert back with the issues and how would i be tackling them.
You really should read all of the messages in the following threads:
http://archives.postgresql.org/pgsql-hackers/2010-04/msg00479.php
http://archives.postgresql.org/pgsql-hackers/2010-06/msg00743.php
http://archives.postgresql.org/pgsql-hackers/2010-07/msg00396.php
And the following summaries:
http://wiki.postgresql.org/wiki/Materialized_Views_GSoC_2010
http://rhaas.blogspot.com/2010/04/materialized-views-in-postgresql.html
And then say how what you're suggesting fits into the issues raised last summer. The theory and way to implement eager MVs are interesting problems. But working on them won't lead toward code that can be committed to PostgreSQL this year.
On Thu, Apr 7, 2011 at 4:49 PM, AAMIR KHAN <ak4u2009@gmail.com> wrote: > As you people think and may be possible that complete implementation of > Eager MVs cannot be completed in summer. So maybe i can pick up the work > left to be done in snapshot MVs. I have cloned the repository of pavel baros > from https://github.com/pbaros/postgres.git and i will be looking to find > whats left out. You had better start by getting a clear statement from Pavel as to whether he wishes to release the code in that repository under the PostgreSQL license. I am not sure that he ever formally submitted it. I still think you should start with an easier project. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
> You had better start by getting a clear statement from Pavel as to > whether he wishes to release the code in that repository under the > PostgreSQL license. I am not sure that he ever formally submitted it. I don't think it's reasonable for a student to do that. That really needs to be up to us in the project. > I still think you should start with an easier project. Can you give him some suggestions? He's interested in materialized views; what chunk is biteable-off? -- Josh Berkus PostgreSQL Experts Inc. http://pgexperts.com
On Thu, Apr 7, 2011 at 6:31 PM, Josh Berkus <josh@agliodbs.com> wrote: >> You had better start by getting a clear statement from Pavel as to >> whether he wishes to release the code in that repository under the >> PostgreSQL license. I am not sure that he ever formally submitted it. > > I don't think it's reasonable for a student to do that. That really > needs to be up to us in the project. My point is that we cannot accept code unless it's clear that the author wishes to contribute it under our license. We cannot assume that code from any random source on the Internet falls into that category. >> I still think you should start with an easier project. > > Can you give him some suggestions? He's interested in materialized > views; what chunk is biteable-off? Materialized views is a big project that will be quite invasive and touch many areas of the system; it will be comparable to SQL/MED, in that both add a new relkind. I don't think there's any chunk that can be broken off there that will be reasonable for a first patch. I made some other suggestions via IM last night, hence my use of the word "still". If anyone has ideas, toss 'em out... one idea I had for a project, if it's not stepping on Greg Stark's toes, is to pick up the EXPLAIN (RESOURCE) patch that he was working on a while back and finish it off. Mind you, if he wants to work on materialized views, he's more than welcome to do so, and if the patch is awesome, I will be as happy as anyone. But it took me two years to work up to handling patches of that complexity, so I think it's reasonable to suggest that he might also need more than zero ramp-up. It's to no one's benefit if new contributors try a project that is too hard, get discouraged, and give up. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company