[hackers-jp: 53] 7.3.3/7.3.4 の情報 (Re: 7.3.5/7.4の技術情報を公開しました。)

井久保 寛明 ikuboh @ nttdata.co.jp
2003年 12月 18日 (木) 19:26:50 JST


井久保です。

On Thu, 18 Dec 2003 13:01:16 +0900
Yutaka tanida <tanida @ sra.co.jp> wrote:

> 宣伝で申し訳ないのですが、株式会社SRAでは、恒例となっております
> PostgreSQLの新バージョン、7.4と7.3.5の技術情報を公開しました。現在のとこ
> ろ、7.3.4からの変更点のみが公開されています。
> 
> http://osb.sra.co.jp/PostgreSQL/

すばらしい! これのことだったんですね。

このページをみて思い出しました。いつもこのページにお世話に
なっていたのですが、7.3.3 から自分で対訳を作っていた理由を...。
ここになかったからです。

そのうち SRA さんから情報が公開されるのだと思いますが、
作った対訳を出しておきます。


7.3.2 --> 7.3.3 と 7.3.3 --> 7.3.4 の分です。
いい加減な訳が多いし、内容を調べていないので、お役に立つかどうか
分かりませんが...。


■ 7.3.2 --> 7.3.3
--------------------------------------------------------------------------------
[PostgreSQLのWebサイトに出た情報]
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
PostgreSQL は、すでに 7.4 の開発に入っている。7.4の開発で行ったいくつかの
重要なバグフィックスを7.3 系に反映したのが、PostgreSQL 7.3.3 リリースである。

PostgreSQL 7.3.3 は、マイナーフィックスなので、基本的にはデータベースの
dump/reload 処理を必要としない。ただし、pg_proc などにも変更が加わって
いるので、その部分に関しては、initdb を実行しないと反映されない。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜


As the PostgreSQL developers continue to move forward on the upcoming v7.4 
release, several bug fixes have been tag'd as being safe to back-patch 
into the v7.3.x branch. 

It has been almost three(3) months now since the last release on the v7.3 
branch, and there have been several fixes back patched, suitable for 
production release. 

As such, the PostgreSQL Group is pleased to announce the availabilty of 
v7.3.3 for download from ftp://ftp.postgresql.org/pub/source/v7.3.3, as 
well as all mirror sites. 

This release, as with all minor releases, does not *require* a dump/reload 
to be upgraded to, but there is a change to pg_proc, as pertains 
timestamptz_izone that only takes effect after an initdb ... 


--------------------------------------------------------------------------------
[PostgreSQL 7.3.3 のHISTORY のChanges の 7.3.2 から7.3.3への変更部分]

     _________________________________________________________________

                                  Changes

・Repair sometimes-incorrect computation of StartUpID after a crash
☆クラッシュ後にStartUpID がしばしば異常な値になることに関する改修

・Avoid slowness with lots of deferred triggers in one transaction (Stephan)
  1つのトランザクションで、多くのdiferredトリガーをたくさん使用したときの遅くなる
  のを避けるための修正

・Don't lock referenced row when UPDATE doesn't change foreign key's value(Jan)
  更新の際に外部キーの値を変更しない場合、参照のための行ロックは取らないようにした。

・Use -fPIC not -fpic on Sparc (Tom Callaway)
  Sparcアーキテクチャでは、-fpic ではなく -fPIC を使うようにした。

・Repair lack of schema-awareness in contrib/reindexdb
  contrib/reindexdb で、スキーマを認識していなかったので、修正した。

・Fix contrib/intarray error for zero-element result array (Teodor)
  contrib/intarrayで、結果の配列の要素がゼロだとエラーになる問題を修正

・Ensure createuser script will exit on control-C (Oliver)
?createuser スクリプト中で、control-C で抜けられないようにした

・Fix errors when the type of a dropped column has itself been dropped
?すでに drop されたカラムを drop する場合のエラーを修正

・CHECKPOINT does not cause database panic on failure in noncritical steps
  CHECKPOINTは、クリティカルな状態でない失敗のときは、database panic にならないようにした。

・Accept 60 in seconds fields of timestamp, time, interval input values
  timestamp, time, intaval の秒の入力値として、60 を許すようにした。

・Issue notice, not error, if TIMESTAMP, TIME, or INTERVAL precision too large
  TIMESTAMP, TIME, INTERVAL の値が大きすぎた場合、エラーではなく NOTICE にした

・Fix abstime-to-time cast function (fix is not applied unless you initdb)
  絶対時間から time へのキャスト関数を修正 (initdbをやり直すまで反映されない)

・Fix pg_proc entry for timestamptz_izone (fix is not applied unless you initdb)
  pg_proc の timestamptz_izone エントリーを修正 (initdbをやり直すまで反映されない)

・Make EXTRACT(EPOCH FROM timestamp without time zone) treat input as local time
  EXTRACT(EPOCH FROM timestamp without time zone) が入力値をローカルタイムとして扱う
  ことに対する修正

・'now'::timestamptz gave wrong answer if timezone changed earlier in transaction
  トランザクションの最初のほうで、timezoneを変更した場合、'now'::timestamptz が誤った
  値を返す現象の修正

・HAVE_INT64_TIMESTAMP code for time with timezone overwrote its input
  HAVE_INT64_TIMESTAMP のコードで、タイムゾーンを持つtime が入力値を上書きする問題

・Accept GLOBAL TEMP/TEMPORARY as a synonym for TEMPORARY
  GLOBAL TEMP/TEMPORARY を TEMPORARY の同義語として許すようにした。

・Avoid improper schema-permissions-check failure in foreign-key triggers
  外部キーのトリガーの中で、不適切なスキーマアクセス権チェックで失敗するのをなくした。

・Fix bugs in foreign-key triggers for SET DEFAULT action
  外部キーのトリガのSET DEFAULT アクションに対するバグの修正

・Fix incorrect time-qual check in row fetch for UPDATE and DELETE triggers
  UPDATEとDELETE トリガでフェッチする場合のMVCCの時間チェックが不正な値を返すことに対する修正

・Foreign-key clauses were parsed but ignored in ALTER TABLE ADD COLUMN
  ALTER TABLE ADD COLUMN で、Foreign-key句はパージングされるのに無視されるバグの修正

・Fix createlang script breakage for case where handler function already exists
  createlang スクリプトがハンドラ関数が既にある場合壊れることに対する修正

・Fix misbehavior on zero-column tables in pg_dump, COPY, ANALYZE, other places
  ゼロカラムのテーブルがあった場合に、pg_dump, COPY, ANALYZE などでおかしな挙動を
  することに対する修正

・Fix misbehavior of func_error() on type names containing '%'
  型の名前に%が入っていると func_error() おかしな挙動をすることに対する修正

・Fix misbehavior of replace() on strings containing '%'
  文字列に%が入っていると replace() おかしな挙動をすることに対する修正

・Regular-expression patterns containing certain multibyte characters failed
  正規表現のパターンにあるマルチバイト文字列を含んでいると検索が失敗することに対する修正

・Account correctly for NULLs in more cases in join size estimation
  ジョインのサイズ見積りの多くの場合で、NULLを正しく見積もれるようになった。

・Avoid conflict with system definition of isblank() function or macro
  システムで定義されているisblank() の関数やマクロとの競合を解消。

・Fix failure to convert large code point values in EUC_TW conversions (Tatsuo)
?EUC_TW 変換でのラージコードポイント値の変換失敗に対する修正。

・Fix error recovery for SSL_read/SSL_write calls
  SSL_read/SSL_write コールのエラーリカバリを修正

・Don't do early constant-folding of type coercion expressions
  型を強制するエクスプレッションを早い段階で固定で埋め込むのをしないようにした。

・Validate page header fields immediately after reading in any page
  どのページでも、ページヘッダフィールドを読み込んだらすぐに有効にするようにした。

・Repair incorrect check for ungrouped variables in unnamed joins
  名前のついていないジョインで、グループ化されていない変数がないことを調べる
  不正チェックの修正

・Fix buffer overrun in to_ascii (Guido Notari)
  to_acsii の バッファーオーバーランを修正

・contrib/ltree fixes (Teodor)
  contrib/ltree の修正

・Fix core dump in deadlock detection on machines where char is unsigned
  デッドロック検出時に、unsigned char のところでコアダンプする件の修正

・Avoid running out of buffers in many-way indexscan (bug introduced in 7.3)
  多段のインデックススキャンで、バッファを使い切るのを回避する手段の導入

・Fix planner's selectivity estimation functions to handle domains properly
  プランナーが、ドメインを扱う評価関数を適切に選択するように修正

・Fix dbmirror memory-allocation bug (Steven Singer)
  dbmirror のメモリアロケーションバグの修正

・Prevent infinite loop in ln(numeric) due to roundoff error.
  丸めのエラーによる ln(numeric) の無限ループが発生しないようにした。

・GROUP BY got confused if there were multiple equal GROUP BY items
  複数の同じGROUP BY のアイテムがあると GROUP BY が混乱する問題の解決

・Fix bad plan when inherited UPDATE/DELETE references another inherited table
  継承されたテーブルを参照する UPDATE/DELETE で、悪いキュエリプランを出すことに対する修正

・Prevent clustering on incomplete (partial or non-NULL-storing) indexes
?不完全な(部分的またはNULL以外を保存する)インデックスのクラスタ化をしないようにした。

・Service shutdown request at proper time if it arrives while still starting up
  shutdown 要求がDB起動時に来ても受け付けられるようにした。

・Fix left-links in temporary indexes (could make backwards scans miss entries)
  一時インデックスの左リンク(逆向きスキャンが失敗異する現象) を修正した

・Fix incorrect handling of client_encoding setting in postgresql.conf (Tatsuo)
  postgresql.conf のclient_encodingの設定が正しく扱われていなかったのを修正した

・Fix failure to respond to 'pg_ctl stop -m fast' after Async_NotifyHandler runs
  Async_NotifyHandler が実行されたあと、'pg_ctl stop -m fast' が失敗になるのを
  修正した。

・Fix SPI for case where rule contains multiple statements of the same type
?同じ型に対するルールによる制約が複数のステートメントにあった場合のSPI を修正した。

・Fix problem with checking for wrong type of access permission in rule query
  ルールキュエリの中で、間違ったアクセス許可をチェックする問題の解決

・Fix problem with EXCEPT in CREATE RULE
  CREATE RULE におけるEXCEPT を使った際の問題の修正

・Prevent problem with dropping temp tables having serial columns
  シリアルカラムを持つ一時テーブルをdropする際の問題の修正

・Fix replace_vars_with_subplan_refs failure in complex views
  複雑なビューで、replace_vars_with_subplan_refs が失敗するバグの修正

・Fix regexp slowness in multibyte encodings (Tatsuo)
  マルチバイトエンコードにおけるregexpの遅さを解決

・Allow qualified type names in CREATE CAST and DROP CAST
  CREATE CAST と DROP CAST で、正規の型名を許すようにした。

・Accept 'SETOF type[]', which formerly had to be written 'SETOF _type'
  'SETOF _type' を 'SETOF type[]' と書いてもいいようにした。

・Fix pg_dump core dump in some cases with procedural languages
  プロシージャ言語を使った場合に、たまに pg_dump でコアダンプする件の修正

・Force ISO datestyle in pg_dump output, for portability (Oliver)
  移植性を高めるために、pg_dumpの出力は、強制的に ISO の日付形式にする。

・pg_dump failed to handle error return from lo_read (Oleg Drokin)
  lo_read からエラーが返ってくると、pg_dump が処理に失敗することに対する修正

・pg_dumpall failed with groups having no members (Nick Eskelinen)
  グループがメンバーを持っていない場合、pg_dumpall が失敗する障害の改修

・pg_dumpall failed to recognize --globals-only switch
  pg_dumpallが、--globals-only スイッチを認識しないことに対する改修

・pg_restore failed to restore blobs if -X disable-triggers is specified
  -X disable-triggers が設定されていると、pg_restore が、blob のリストア
  に失敗する障害の改修

・Repair intrafunction memory leak in plpgsql
  plpgsql の内部関数のメモリリークを修正

・pltcl's elog command dumped core if given wrong parameters (Ian Harding)
  誤ったパラメータを渡すを pltcl の elog コマンドが コアダンプする件の改修

・plpython used wrong value of atttypmod (Brad McLean)
  plpython が atttypmod の間違った値 を使うことに対する改修

・Fix improper quoting of boolean values in Python interface (D'Arcy)
  Python インターフェースで、boolean値に対する不適切なクオートを付ける処理の改修

・Added addDataType() method to PGConnection interface for JDBC
  JDBCのために、addDataType()メソッドをPGConnectionインターフェースに追加した。

・Fixed various problems with updateable ResultSets for JDBC (Shawn Green)
  JDBCの更新可能なResultSetsにおける数々の問題を修正

・Fixed various problems with DatabaseMetaData for JDBC (Kris Jurka, Peter Royal)
  JDBCのDatabaseMetaDataにおける数々の問題を修正

・Fixed problem with parsing table ACLs in JDBC
?JDBCの テーブルパーズするACL の問題を修正

・Better error message for character set conversion problems in JDBC
  JDBCのエラーメッセージの文字コード変換の問題を解決

--------------------------------------------------------------------------------
[7.3.2 から 7.3.3 で変更があったファイル]

src/backend/access/index/indexam.c
src/backend/access/nbtree/nbtinsert.c
src/backend/access/transam/xlog.c
src/backend/bootstrap/bootstrap_tokens.h
src/backend/catalog/dependency.c
src/backend/catalog/heap.c
src/backend/catalog/namespace.c
src/backend/commands/analyze.c
src/backend/commands/async.c
src/backend/commands/cluster.c
src/backend/commands/copy.c
src/backend/commands/tablecmds.c
src/backend/commands/trigger.c
src/backend/executor/execMain.c
src/backend/executor/spi.c
src/backend/libpq/be-secure.c
src/backend/libpq/hba.c
src/backend/optimizer/path/indxpath.c
src/backend/optimizer/plan/initsplan.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/prep/preptlist.c
src/backend/parser/analyze.c
src/backend/parser/gram.y
src/backend/parser/parse.h
src/backend/parser/parse_agg.c
src/backend/parser/parse_coerce.c
src/backend/parser/parse_func.c
src/backend/postmaster/postmaster.c
src/backend/regex/regcomp.c
src/backend/rewrite/rewriteHandler.c
src/backend/storage/buffer/bufmgr.c
src/backend/storage/lmgr/deadlock.c
src/backend/storage/page/bufpage.c
src/backend/utils/adt/ascii.c
src/backend/utils/adt/date.c
src/backend/utils/adt/datetime.c
src/backend/utils/adt/nabstime.c
src/backend/utils/adt/numeric.c
src/backend/utils/adt/ri_triggers.c
src/backend/utils/adt/selfuncs.c
src/backend/utils/adt/timestamp.c
src/backend/utils/adt/varlena.c
src/backend/utils/init/postinit.c
src/backend/utils/mb/conv.c
src/backend/utils/mb/mbutils.c
src/backend/utils/misc/guc.c
src/backend/utils/misc/postgresql.conf.sample
src/bin/pg_dump/pg_backup_archiver.c
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dumpall.c
src/bin/pg_dump/po/de.po
src/bin/pg_dump/po/sv.po
src/bin/psql/sql_help.h
src/bin/scripts/createlang.sh
src/bin/scripts/createuser
src/include/catalog/dependency.h
src/include/catalog/pg_proc.h
src/include/commands/trigger.h
src/include/mb/pg_wchar.h
src/include/storage/bufmgr.h
src/include/storage/bufpage.h
src/include/utils/datetime.h
src/interfaces/ecpg/preproc/preproc.c
src/interfaces/ecpg/preproc/preproc.h
src/interfaces/jdbc/org/postgresql/Driver.java.in
src/interfaces/jdbc/org/postgresql/PGConnection.java
src/interfaces/jdbc/org/postgresql/core/Encoding.java
src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java
src/interfaces/jdbc/org/postgresql/errors.properties
src/interfaces/jdbc/org/postgresql/errors_zh_TW.properties
src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java
src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java
src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
src/interfaces/jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
src/interfaces/jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java
src/interfaces/jdbc/org/postgresql/util/PSQLException.java
src/interfaces/libpq/fe-secure.c
src/interfaces/libpq/libpq.rc
src/interfaces/libpq/po/de.po
src/interfaces/libpq/po/fr.po
src/interfaces/libpq/po/sv.po
src/interfaces/python/pg.py
src/makefiles/Makefile.linux
src/pl/plpgsql/src/pl.tab.h
src/pl/plpgsql/src/pl_exec.c
src/pl/plpgsql/src/pl_gram.c
src/pl/plpython/plpython.c
src/pl/tcl/modules/pltcl_loadmod.in
src/pl/tcl/pltcl.c
src/pl/tcl/test/test_setup.sql
src/test/regress/expected/alter_table.out
src/test/regress/expected/foreign_key.out
src/test/regress/sql/alter_table.sql

--------------------------------------------------------------------------------



■ 7.3.3 --> 7.3.4
--------------------------------------------------------------------------------
[http://www.postgres.org より]
ごくまれだが、サーバ起動時に失敗するという重大な問題に対応したもの。
7.3.3 にユーザに対しては、非常に深刻な問題なので、バージョンアップする
必要があるとのこと。

In order to address a potentially serious (although rare) server startup failure
 that was recently reported, we have released PostgreSQL version 7.3.4. 
This release is critical for users of PostgreSQL version 7.3.3, and highly 
recommended for all other PostgreSQL users. 


--------------------------------------------------------------------------------
[ソースコード中のHISTORYファイルの7.3.3 からの変更点の部分です]

                                 Changes

1)   Repair breakage in timestamp-to-date conversion for dates before 2000
     2000年以前の日付を、timestamp 型から date 型に変換するとデータが壊れる件の修正。

2)   Prevent rare possibility of server startup failure (Tom)
☆   ごくまれに、サーバの起動する問題に対応。

3)   Fix bugs in interval-to-time conversion (Tom)
     期間から時間への変換ロジックのバグを修正。

4)   Add constraint names in a few places in pg_dump (Rod)
     pg_dump のいくつかの場所に、制約の名前を追加した。

5)   Improve performance of functions with many parameters (Tom)
     引数がたくさんあるfunction の性能改善

6)   Fix to_ascii() buffer overruns (Tom)
     to_ascii() に入っていたバッファオーバーランの問題を改修

7)   Prevent restore of database comments from throwing an error (Tom)
?   エラーが発生したら、データベースコメントのリストアを行わないようにした

8)   Work around buggy strxfrm() present in some Solaris releases (Tom)
     strxfrm() 関数がSolaris のいくつかバージョンで、動作がおかしいので、
     回避策を施した。

9)   Properly escape jdbc setObject() strings to improve security (Barry)
     セキュリティを改善するために、jdbc のsetObject()の文字列を厳密に
     エスケープさせるようにした。

--------------------------------------------------------------------------------
[7.3.3から変更があったソースコード]
※ バージョン情報の変更だったファイルは取り除いてあります。

src/backend/access/transam/xlog.c
src/backend/commands/comment.c
src/backend/commands/variable.c
src/backend/executor/functions.c
src/backend/parser/parse_func.c
src/backend/postmaster/pgstat.c
src/backend/utils/adt/ascii.c
src/backend/utils/adt/date.c
src/backend/utils/adt/selfuncs.c
src/bin/pg_dump/pg_dump.c
src/interfaces/jdbc/org/postgresql/Driver.java.in
src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
src/pl/plpython/plpython.c

--------------------------------------------------------------------------------


---
井久保 寛明 (Hiroaki Ikubo)
NTTデータ先端技術 (株) オープンソース技術部
E-mail: ikubo @ intellilink.co.jp (E-mail: ikuboh @ nttdata.co.jp)





hackers-jp メーリングリストの案内