== PostgreSQL Weekly News - February 25 2007 ==
От | David Fetter |
---|---|
Тема | == PostgreSQL Weekly News - February 25 2007 == |
Дата | |
Msg-id | 20070226064035.GA8429@fetter.org обсуждение исходный текст |
Список | pgsql-announce |
== PostgreSQL Weekly News - February 25 2007 == The PostgreSQL fund at SPI this month funded David Fetter's travel to Consili in Brazil where he delivered a conference keynote, and Neil Conway's next two months of patch review work for PostgreSQL 8.3. A Lively Discussion(TM) is going on on -hackers on the subject of source code management. The Seventh Framework Programme (FP7) is open for proposals. EU PostgreSQL organizations, consider sending in a proposal :) http://cordis.europa.eu/fp7/home_en.html You can now use search.postgresql.org as a firefox search box plugin. http://www.gunduz.org/postgresql/searchpostgresqlorg.html == PostgreSQL Product News == Cybertek of Austria has announced a synchronous multi-master replication product for PostgreSQL. http://www.cybertec.at/en/ctools.html PGCluster-1.5.0rc15 and 1.7.0rc4 released. http://pgfoundry.org/projects/pgcluster/ == PostgreSQL Jobs for February == http://archives.postgresql.org/pgsql-jobs/2007-02/threads.php == PostgreSQL Local == There will be a PostgreSQL booth at CLT on March 3 and 4 in Chemnitz, Germany. Some of the usual suspects from the German-speaking PostgreSQL communities will be there. Contact info@pgug.de to participate. http://chemnitzer.linux-tage.de/2007/info/ The Italian PostgreSQL community is looking for sponsors for its PostgreSQL day in Prato, Italy this summer. Check the link below to participate. http://www.pgday.it == PostgreSQL in the News == Microsoft Technet publishes PostgreSQL HOWTO: http://port25.technet.com/archive/2007/02/22/postgresql-on-windows-a-primer.aspx OmniTI case study published: http://www.arnnet.com.au/index.php/id;413111662;fp;4194304;fpid;1 Planet PostgreSQL: http://www.planetpostgresql.org/ General Bits, Archives and occasional new articles: http://www.varlena.com/GeneralBits/ PostgreSQL Weekly News is brought to you this week by David Fetter, Josh Berkus and Devrim GUNDUZ. To get your submission into the upcoming issue, get it to david@fetter.org by Sunday at 3:00pm Pacific Time. == Applied Patches == Andrew Dunstan committed: - Allow pltcl args to spi_prepare and plpython args to plpy.prepare to be standard type aliases as well as those known in pg_type. Similar to recent change in plperl. Peter Eisentraut committed: - Bernd Helmle's patch which identifies the schema of inherited tables in psql \d when necessary. - Add missing OIDs from xml support to pg_proc, bump catversion. Bruce Momjian committed: - Move test for BLCKSZ < 1024 to guc.c. - Spelling fix in Solaris FAQ. - Update Solaris FAQ per Peter Eisentraut. - Updated FAQ on upgrading. - Zdenek Kotala's patch to the Solaris FAQ. - Chad Wagner's patch to psql which adds \prompt capability. - Remove extra tab from pgsql/doc/src/sgml/ref/psql-ref.sgml. - Remove tabs from SGML reference files so their addition can be detected in the future. - Update message wording in FAQ. - Update new optional VACUUM FULL hint for translations, per Alvaro Herrera. - Simon Riggs's patch which moves increase FSM warning to after lazy_truncate_heap() because the function might reduce the number of free pages in the table. Recommend VACUUM FULL only if 20% free. - Heikki Linnakangas's patch to clean up the btree source code. - Update FAQ about minor updates. - Jun Kuwamura's update to the Japanese FAQ. - Update URL in German FAQ for bug form, per Schima, Fabian - Daojing Zhou's update of the Chinese FAQs to have two versions, a traditional Chinese version (Taiwan) and a Simplified version (China (PRC)). Backpatch to 8.2.X. - Update minor release text in FAQ. - Add configure --enable-profiling to enable GCC profiling. Patches from Korry Douglas and Nikhil S - Update upgrade text in FAQ. - Update URL for set-returning functions in FAQ. - Add URL for "Allow row and record variables to be set to NULL constants, and allow NULL tests on such variables" in the TODO list. - Prevent BLCKSZ < 1024, and have initdb test shared buffers based on the BLCKSZ value. - Add to TODO: "Consider decreasing the amount of memory used by PrivateRefCount." - Fix markup in pgsql/doc/src/sgml/information_schema.sgml. - Change $(CC) to $(COMPILER) on Solaris gcc so -m64 is passed into the shared link line. - Add to TODO: "Increase locking when DROPing objects so dependent objects cannot get dropped while the DROP operation is happening." - Add URL for "Allow UPDATE/DELETE WHERE CURRENT OF cursor" in TODO list. - Add to TODO: "Add missing operators for geometric data types. Some geometric types do not have the full suite of geometric operators, e.g. box @> point." - Update "encode" documentation to mention that 'escape' only changes null bytes and backslashes, remove "ASCII" mention. Backpatch to 8.2.X. - Update pgpass Win32 wording. - Update information_schema documentation to match system tables. Backpatch to 8.2.X. - Improve wording on Julian dates in pgsql/doc/src/sgml/func.sgml. - More clearly document that most PostgreSQL utilities support libpq environment variables. Backpatch to 8.2.X. - Remove from TODO for Win32: "Check .pgpass file permissions." It is not needed. - In pgsql/src/interfaces/libpq/fe-connect.c, add comment that on Win32, we don't need to check the .pgpass file permission, per Magnus Hagander. - Add to TODO for Win32: "Check .pgpass file permissions." - Update array slice documentation to be clearer. - Add to TODO: "Fix IS OF so it matches the ISO specification, and add documentation." - Comment-out documentation for IS OF because it doesn't conform to the ISO SQL behavior. Backpatch removal to 8.2.X. - Remove TODO item: "ARRAY[[1,2],[3,4]])[1] should return the same values as ARRAY[[1,2],[3,4]])[1:1]." It actually shouldn't. - Add text about Makefile.custom to FAQ_DEV. - Document that to_char('J'/Julian) is midnight-based, per report that Julian technically is noon to noon. - Improve wording in isodow documentation. - Update PQfree() documentation to be clearer, backpatch to 8.2.X. - Add to TODO: "Allow user configuration of TOAST thresholds." - Add newlines to TODO. - Add to TODO: "Allow UPDATEs on only non-referential integrity columns not to conflict with referential integrity locks." - Add to TODO: "Allow INSERT/UPDATE ... RETURNING inside a SELECT 'FROM' clause." - Clarify documentation that initdb -A or editing pg_hba.conf is required if you do not trust local users. - Clarify documentation for "day of the week" handling for to_char() and EXTRACT(). - Mark TODO as done: "Add ISO day of week format 'ID' to to_char() where Monday = 1." - Add "isodow" option to EXTRACT() and date_part() where Sunday = 7. - Mark TODO as done: "Add a field 'isoyear' to extract(), based on the ISO week." - Mark TODO as done: "Add long file support for binary pg_dump output." Magnus Hagander committed: - In pgsql/src/tools/msvc/Solution.pm, revert changes to process pg_proc.h entries without OIDs. We're not supposed to have such entries, and want to be notified when we do... Leave the plain bug fix in genbki. - Fix pg_dump on Win32 so that it properly dumps files larger than 2GB when using binary dump formats. - Parse pg_proc.h with entries without OIDs for the MSVC build. Tom Lane committed: - Update 7.x variant horology files to match the new US DST rules. It seems likely that anyone wanting to run the regression tests in the future will have up-to-date system timezone files, so this is more likely to work than the old contents. - Put back copyObject() call I removed in a fit of brain fade. This one is still needed despite cleanups in setrefs.c, because the point is to let the inserted Result node compute a different tlist than its input node does. Per example from Jeremy Drake. - Now that plans have flat rangetable lists, it's a lot easier to get EXPLAIN to drill down into subplan targetlists to print the referent expression for an OUTER or INNER var in an upper plan node. Hence, make it do that always, and banish the old hack of showing "?columnN?" when things got too complicated. Along the way, fix an EXPLAIN bug I introduced by suppressing subqueries from execution-time range tables: get_name_for_var_field() assumed it could look at rte->subquery to find out the real type of a RECORD var. That doesn't work anymore, but instead we can look at the input plan of the SubqueryScan plan node. - Change Agg and Group nodes so that Vars contained in their targetlists and quals have varno OUTER, rather than zero, to indicate a reference to an output of their lefttree subplan. This is consistent with the way that every other upper-level node type does it, and allows some simplifications in setrefs.c and EXPLAIN. - Fix bug I introduced in recent patch to make hash joins discard null tuples immediately: ExecHashGetHashValue failed to restore the caller's memory context before taking the failure exit. - Turn the rangetable used by the executor into a flat list, and avoid storing useless substructure for its RangeTblEntry nodes. (I chose to keep using the same struct node type and just zero out the link fields for unneeded info, rather than making a separate ExecRangeTblEntry type --- it seemed too fragile to have two different rangetable representations.) Along the way, put subplans into a list in the toplevel PlannedStmt node, and have SubPlan nodes refer to them by list index instead of direct pointers. Vadim wanted to do that years ago, but I never understood what he was on about until now. It makes things a *whole* lot more robust, because we can stop worrying about duplicate processing of subplans during expression tree traversals. That's been a constant source of bugs, and it's finally gone. There are some consequent simplifications yet to be made, like not using a separate EState for subplans in the executor, but I'll tackle that later. - Adjust user-facing documentation to explain why we don't check pgpass file permissions on Windows. - Remove the Query structure from the executor's API. This allows us to stop storing mostly-redundant Query trees in prepared statements, portals, etc. To replace Query, a new node type called PlannedStmt is inserted by the planner at the top of a completed plan tree; this carries just the fields of Query that are still needed at runtime. The statement lists kept in portals etc. now consist of intermixed PlannedStmt and bare utility-statement nodes --- no Query. This incidentally allows us to remove some fields from Query and Plan nodes that shouldn't have been there in the first place. Still to do: simplify the execution-time range table; at the moment the range table passed to the executor still contains Query trees for subqueries. initdb forced due to change of stored rules. - Get rid of some old and crufty global variables in the planner. When this code was last gone over, there wasn't really any alternative to globals because we didn't have the PlannerInfo struct being passed all through the planner code. Now that we do, we can restructure things to avoid non-reentrancy. I'm fooling with this because otherwise I'd have had to add another global variable for the planned compact range table list. == Rejected Patches (for now) == Mateo Beccati's patch which gets PostgreSQL to compile on Irix 6.5, but the patch would break most Linux machines. == Pending Patches == Zoltan Boszormenyi sent in two more iterations of his IDENTITY/GENERATED patch. Pavan Deolasee sent in two more versions of his work-in-progress HOT patch. Gregory Stark sent in a patch to shorten varlena headers. Guillaume Smet sent in a first implementation of GIN for pg_trgm. Nikolay Samokhvalov sent in a patch to implement xpath_array with namespaces support. Darcy Buskermolen sent in a patch which provides for logging in the event that -k is unable to clean up an old WAL file and makes the "failed to remove file" error message consistent for the trigger file. Greg Sabino Mullane sent in a documentation patch which warns about some strange behavior in LISTEN/NOTIFY. Pavel Stehule sent in a patch to add timestamp support for XSD-type timestamps. Simon Riggs sent in another version of his patch to avoid deadlocks in pg_dump. Joachim Wieland sent in a patch which makes GUC values fall back to their default values when they got removed (or commented) from the configuration file. Kris Jurka sent in a patch which implements lo_truncate for truncating large objects to a given length. This is required for implementing Blob.truncate in the JDBC driver and rounds out filesystem like functionality for large objects. Simon Riggs sent a bug fix for his recent optimization of COPY-after-truncate.
В списке pgsql-announce по дате отправления: