OSDN Git Service
Shigeru HANADA [Mon, 27 Aug 2012 06:27:24 +0000 (15:27 +0900)]
Fix bug #0011, which crushes server on repeated Set hint failures.
Old implementation copies ErrorData and calls ereport again, but doesn't
flush error state at all. This sequence causes ErrorData stack overflow
and PostgreSQL panics in such situation.
Mitsuru Hasegawa [Fri, 24 Aug 2012 12:48:24 +0000 (21:48 +0900)]
A-11-1-4,5 A-12-4:-*の試験を追加した。
Mitsuru Hasegawa [Fri, 24 Aug 2012 11:36:42 +0000 (20:36 +0900)]
A-10-*の試験を追加した。
Mitsuru Hasegawa [Fri, 24 Aug 2012 11:32:11 +0000 (20:32 +0900)]
使用上の注意と制約章を最新の状態に更新した。
Mitsuru Hasegawa [Fri, 24 Aug 2012 05:32:27 +0000 (14:32 +0900)]
否定形の結合方式のバグ修正によって正しい予想結果となった内容を
反映した。
Mitsuru Hasegawa [Fri, 24 Aug 2012 05:31:54 +0000 (14:31 +0900)]
否定形の結合方式のヒントを指定した場合に、結合方式関連のGUCパラメ
ータの初期値を考慮すべきところを、スキャン方式関連のGUCパラメータ
の初期値を考慮していたバグを修正した。
Shigeru HANADA [Fri, 24 Aug 2012 01:29:20 +0000 (10:29 +0900)]
Fix expected results so that they fit new specification.
Shigeru HANADA [Fri, 24 Aug 2012 01:24:37 +0000 (10:24 +0900)]
Merge branch 'ut' into ut_suzuki
Conflicts:
expected/ut-J.out
sql/ut-J.sql
Mitsuru Hasegawa [Thu, 23 Aug 2012 13:05:19 +0000 (22:05 +0900)]
Merge branch 'master' into ut
Mitsuru Hasegawa [Thu, 23 Aug 2012 13:04:42 +0000 (22:04 +0900)]
否定形のヒントを指定した場合に、ヒントで指定した以外のenable_*
パラメータをonにしていたために、GUC設定で無効化されているプランが
選択されてしまう場合があるバグを修正した。
Mitsuru Hasegawa [Thu, 23 Aug 2012 01:30:36 +0000 (10:30 +0900)]
J-3-1-1の試験を追加した。
Takashi Suzuki [Thu, 23 Aug 2012 09:44:16 +0000 (18:44 +0900)]
結合方式ヒントの対象を親同士や子同士とする試験を追加した。
Takashi Suzuki [Thu, 23 Aug 2012 09:09:12 +0000 (18:09 +0900)]
結合方式のヒントのデバッグログ出力試験(J-3-4-*)を追加した。
結合方式のヒントのデバッグログ出力試験(J-3-4-*)を追加した。
このとき、項目J-3-4-7を試験Aのファイルから結合試験のファイル移動し
た。
Takashi Suzuki [Thu, 23 Aug 2012 07:48:21 +0000 (16:48 +0900)]
結合方式のヒントの挙動確認試験(J-3-1-*)を追加した。
Mitsuru Hasegawa [Thu, 23 Aug 2012 01:30:36 +0000 (10:30 +0900)]
J-3-1-1の試験を追加した。
Mitsuru Hasegawa [Wed, 22 Aug 2012 12:38:44 +0000 (21:38 +0900)]
8月22日消化分の試験を追加した。
Mitsuru Hasegawa [Wed, 22 Aug 2012 00:47:45 +0000 (09:47 +0900)]
8月21日の試験の初期処理に影響して変化した予想結果を正しく修正した。
バグNo.6の修正に伴う予想結果の変化を反映した。
Mitsuru Hasegawa [Wed, 22 Aug 2012 00:41:02 +0000 (09:41 +0900)]
Merge branch 'master' into ut
Mitsuru Hasegawa [Wed, 22 Aug 2012 00:38:15 +0000 (09:38 +0900)]
EXECUTEコマンドに存在しないステートメント名を指定することによって
エラー終了した後に、SELECTコマンドを発行すると以下のメッセージを
出力してエラー終了する問題を修正した。
Mitsuru Hasegawa [Wed, 22 Aug 2012 00:34:05 +0000 (09:34 +0900)]
8月21日消化分の試験を追加した。
Mitsuru Hasegawa [Mon, 20 Aug 2012 12:26:52 +0000 (21:26 +0900)]
8月20日追加消化分の試験を追加した。
Mitsuru Hasegawa [Mon, 20 Aug 2012 10:30:35 +0000 (19:30 +0900)]
ファイルの命名規則を統一した。
Mitsuru Hasegawa [Mon, 20 Aug 2012 10:02:56 +0000 (19:02 +0900)]
故障処理表No.8の修正の影響による変更を反映した。
Mitsuru Hasegawa [Mon, 20 Aug 2012 09:57:17 +0000 (18:57 +0900)]
Merge branch 'master' into ut
Mitsuru Hasegawa [Mon, 20 Aug 2012 09:52:50 +0000 (18:52 +0900)]
bugfix: 故障処理表No.8
関数の戻り値として、負の値がありうるにもかかわらず、unsigned の変数
を使用して戻り値を受け取っていた。また、関数の戻り値もunsigned の
変数で定義していた。
その結果、エラーチェックをすり抜け、負の値を受け取るとエラーとなる
PG本体の関数(bms_is_member())に負の値を渡していた。
Mitsuru Hasegawa [Mon, 20 Aug 2012 09:40:27 +0000 (18:40 +0900)]
8月20日消化分の試験を追加した。
Mitsuru Hasegawa [Fri, 10 Aug 2012 09:44:16 +0000 (18:44 +0900)]
8月10日午後消化分の試験を追加した。
Mitsuru Hasegawa [Fri, 10 Aug 2012 05:09:33 +0000 (14:09 +0900)]
8月10日午前消化分の試験を追加した。
Mitsuru Hasegawa [Thu, 9 Aug 2012 09:36:49 +0000 (18:36 +0900)]
Merge branch 'master' into ut
Mitsuru Hasegawa [Thu, 9 Aug 2012 09:19:40 +0000 (18:19 +0900)]
Bug fix:EXECUTEコマンド中にエラー終了したあとにSELECTを実行すると
想定外の実行計画になる問題を修正した。
EXECUTEコマンド実行時に、ProcessUtility_hookの初期処理で外部変数に
ステートメント名を保存し、終了処理でNULLに戻すが、ProcessUtility_hook
の実行中にエラー終了した場合は、外部変数にステートメント名が設定
されたままだった。
このため、その後SELECT等の通常のクエリを発行すると、外部変数に
残っているステートメント名を使用して、プランキャッシュからクエリ
文字列を取得し、その文字列に指定されているヒントを使用していた。
Mitsuru Hasegawa [Thu, 9 Aug 2012 09:17:24 +0000 (18:17 +0900)]
Revert "Bug fix:EXECUTEコマンド中にエラー終了したあとにSELECTを実行すると"
This reverts commit
65fababa06227b6a2e2c6b1518412ed12e39aea4.
元に戻したcommitと同じ内容でcommitしてしまった。
Mitsuru Hasegawa [Thu, 9 Aug 2012 08:15:33 +0000 (17:15 +0900)]
Bug fix:EXECUTEコマンド中にエラー終了したあとにSELECTを実行すると
想定外の実行計画になる問題を修正した。
EXECUTEコマンド実行時に、ProcessUtility_hookの初期処理で外部変数に
ステートメント名を保存し、終了処理でNULLに戻すが、ProcessUtility_hook
の実行中にエラー終了した場合は、外部変数にステートメント名が設定
されたままだった。
このため、その後SELECT等の通常のクエリを発行すると、外部変数に
残っているステートメント名を使用して、プランキャッシュからクエリ
文字列を取得し、その文字列に指定されているヒントを使用していた。
Mitsuru Hasegawa [Thu, 9 Aug 2012 08:02:56 +0000 (17:02 +0900)]
Revert "Bug fix:EXECUTEコマンド中にエラー終了したあとにSELECTを実行すると"
This reverts commit
31b255318ded2547a9dbc0425768e9bb14427aaa.
使用したコールバックは、エラーメッセージにCONTEXTを追加するためのもの
だったため、エラー時のみでなく、INFOなどのほかのレベルでも呼び出される
ため、planner_hook呼び出しまでの間にメッセージ出力がある場合は、stmt_name
がNULLに初期化されてしまう。
Mitsuru Hasegawa [Thu, 9 Aug 2012 06:52:15 +0000 (15:52 +0900)]
8月9日午前中消化分の試験を追加した。
Mitsuru Hasegawa [Wed, 8 Aug 2012 11:34:48 +0000 (20:34 +0900)]
Merge branch 'master' into ut
Mitsuru Hasegawa [Wed, 8 Aug 2012 11:33:16 +0000 (20:33 +0900)]
Revert "単体試験においてgdbを使用するために、gccの最適化オプションを"
This reverts commit
205bc7b34238e0f0fd60da24c2adee7452f7ef33.
PostgreSQL本体のconfigureオプションでgccの最適化オプションを変更
できる事が分かったため、変更を元に戻す。
Mitsuru Hasegawa [Wed, 8 Aug 2012 11:31:38 +0000 (20:31 +0900)]
Merge branch 'master' of git://moomin/pg_hint_plan
Mitsuru Hasegawa [Wed, 8 Aug 2012 11:27:44 +0000 (20:27 +0900)]
Bug fix:EXECUTEコマンド中にエラー終了したあとにSELECTを実行すると
想定外の実行計画になる問題を修正した。
EXECUTEコマンド実行時に、ProcessUtility_hookの初期処理で外部変数に
ステートメント名を保存し、終了処理でNULLに戻すが、ProcessUtility_hook
の実行中にエラー終了した場合は、外部変数にステートメント名が設定
されたままだった。
このため、その後SELECT等の通常のクエリを発行すると、外部変数に
残っているステートメント名を使用して、プランキャッシュからクエリ
文字列を取得し、その文字列に指定されているヒントを使用していた。
Mitsuru Hasegawa [Wed, 8 Aug 2012 11:23:02 +0000 (20:23 +0900)]
8月8日消化分の試験を追加した。
Mitsuru Hasegawa [Tue, 7 Aug 2012 09:07:41 +0000 (18:07 +0900)]
Merge branch 'master' into ut
Mitsuru Hasegawa [Tue, 7 Aug 2012 09:03:40 +0000 (18:03 +0900)]
単体試験においてgdbを使用するために、gccの最適化オプションを
無効化した。
Mitsuru Hasegawa [Mon, 6 Aug 2012 11:13:01 +0000 (20:13 +0900)]
8月6日消化分の試験を追加した。
Mitsuru Hasegawa [Mon, 6 Aug 2012 05:33:42 +0000 (14:33 +0900)]
utを機能ごとに分割するためにファイル名を変更した。
Mitsuru Hasegawa [Mon, 6 Aug 2012 05:31:09 +0000 (14:31 +0900)]
「機能に依存しない」試験を追加した。
Mitsuru Hasegawa [Fri, 3 Aug 2012 11:24:27 +0000 (20:24 +0900)]
typoの修正に合わせて予想結果ファイルを修正した。
Mitsuru Hasegawa [Fri, 3 Aug 2012 11:19:39 +0000 (20:19 +0900)]
Merge branch 'master' into ut
Mitsuru Hasegawa [Fri, 3 Aug 2012 11:18:44 +0000 (20:18 +0900)]
Fix typos.
Mitsuru Hasegawa [Fri, 3 Aug 2012 11:07:41 +0000 (20:07 +0900)]
Merge branch 'master' into ut
Mitsuru Hasegawa [Fri, 3 Aug 2012 11:07:22 +0000 (20:07 +0900)]
余分な修正を元に戻した。
Mitsuru Hasegawa [Fri, 3 Aug 2012 11:01:23 +0000 (20:01 +0900)]
Fix bug: DETAILメッセージをPostgreSQLコーディング規約に合わせた。
引数で受け取った文字列の先頭文字を大文字に変換してからメッセージ
出力するようにした。
Mitsuru Hasegawa [Fri, 3 Aug 2012 10:58:41 +0000 (19:58 +0900)]
8月3日消化分の試験を追加した。
Mitsuru Hasegawa [Fri, 3 Aug 2012 00:54:47 +0000 (09:54 +0900)]
単体試験のうち、PostgreSQLのリグレッションテスト機構を使用して
実施できる項目を追加した。
Mitsuru Hasegawa [Thu, 2 Aug 2012 08:34:21 +0000 (17:34 +0900)]
ネストしたコメントがヒント中に指定された場合は、ヒントを無効にする
ように修正した。
Mitsuru Hasegawa [Thu, 2 Aug 2012 05:44:56 +0000 (14:44 +0900)]
PostgreSQL本体からそのまま流用した関数のみをcore.cに残すように修正した。
set_plain_rel_pathlist()は、一度本体側で生成したスキャンパスを再生成
するために使用するために、本体の処理を流用したが、一度目にパスを生成
した際にのみ実行すればよい処理が含まれていたため、その処理を削除して
いる。
pg_hint_plan.c側に関数ごと移動したが、コメントとして本体からの流用
箇所を追加した。
Mitsuru Hasegawa [Thu, 2 Aug 2012 04:40:01 +0000 (13:40 +0900)]
試験項目作成中に修正した以下のバグを元に戻した。
unsigned の変数を使用して、負の値をエラー系として返していたバグを
修正した。
Mitsuru Hasegawa [Thu, 2 Aug 2012 02:50:32 +0000 (11:50 +0900)]
試験項目作成中に修正した以下のバグを元に戻した。
EXECUTEコマンド実行時にエラー終了した場合に、外部変数に設定した
ステートメント名をNULLに設定していなかったために、その後通常の
クエリを発行すると、そのステートメント名でクエリ文字列を取得
しようとしてしまうバグを修正した。
Mitsuru Hasegawa [Wed, 1 Aug 2012 12:54:15 +0000 (21:54 +0900)]
関数の配置を変更した。
Mitsuru Hasegawa [Wed, 1 Aug 2012 10:29:23 +0000 (19:29 +0900)]
ヘッダコメントのフォーマットを共通化した。
Mitsuru Hasegawa [Wed, 1 Aug 2012 01:45:22 +0000 (10:45 +0900)]
リグレッションが動作するGUCパラメータの条件の確認をテストに追加した。
Mitsuru Hasegawa [Fri, 27 Jul 2012 10:33:38 +0000 (19:33 +0900)]
コメントを英語化した。
コメントの内容を最新化した。
Mitsuru Hasegawa [Fri, 27 Jul 2012 07:51:04 +0000 (16:51 +0900)]
postgresql.confのsearch_pathがデフォルトから変更されていた場合に
リグレッションテストが失敗する問題に対処した。
Mitsuru Hasegawa [Thu, 26 Jul 2012 09:29:22 +0000 (18:29 +0900)]
関数の配置を変更した。
Mitsuru Hasegawa [Thu, 26 Jul 2012 07:49:42 +0000 (16:49 +0900)]
9.2におけるindexolnyscanの挙動を確定した。
Mitsuru Hasegawa [Thu, 26 Jul 2012 05:59:53 +0000 (14:59 +0900)]
以下のリファクタリングをおこなった。
Leadingヒントは1つのみ指定可能なため、最後のヒントへの参照を保持
するように修正した。
Mitsuru Hasegawa [Wed, 25 Jul 2012 03:12:43 +0000 (12:12 +0900)]
直前のコミットの修正漏れを修正した。
Mitsuru Hasegawa [Wed, 25 Jul 2012 02:17:20 +0000 (11:17 +0900)]
以下のコードクリーンアップを実施した。
- 1行を80文字に制限
- 変数のインデントをそろえる
Mitsuru Hasegawa [Tue, 24 Jul 2012 10:05:53 +0000 (19:05 +0900)]
コメントの空白除去などのクリーンアップをした。
Mitsuru Hasegawa [Tue, 24 Jul 2012 09:47:26 +0000 (18:47 +0900)]
EXECUTEコマンド実行時にエラー終了した場合に、外部変数に設定した
ステートメント名をNULLに設定していなかったために、その後通常の
クエリを発行すると、そのステートメント名でクエリ文字列を取得
しようとしてしまうバグを修正した。
Mitsuru Hasegawa [Mon, 23 Jul 2012 07:46:03 +0000 (16:46 +0900)]
ヒントの情報保持機構のモジュール化にあわせ、ダンプ機能、および
ヒント件数カウント機能を修正した。
Mitsuru Hasegawa [Fri, 20 Jul 2012 07:52:54 +0000 (16:52 +0900)]
現在の挙動に合わせて実行例を修正した。
「コメント」を「ブロックコメント」に修正した。
記述が不十分な箇所を修正した。
Mitsuru Hasegawa [Fri, 20 Jul 2012 07:50:08 +0000 (16:50 +0900)]
コードクリーンアップを行なった。
typoを修正した。
Mitsuru Hasegawa [Fri, 20 Jul 2012 01:54:36 +0000 (10:54 +0900)]
unsigned の変数を使用して、負の値をエラー系として返していたバグを
修正した。
Mitsuru Hasegawa [Thu, 19 Jul 2012 01:55:22 +0000 (10:55 +0900)]
typo.
Mitsuru Hasegawa [Tue, 17 Jul 2012 12:07:17 +0000 (21:07 +0900)]
リファクタリング:Hintの種別コードをHint構造体にもたせ、
各種処理を種別ごとに切り替えるために使用し、各処理の
呼び出しを単純化した。
Mitsuru Hasegawa [Tue, 17 Jul 2012 10:35:45 +0000 (19:35 +0900)]
リファクタリング:ダンプ関数の切り出しをした。
Mitsuru Hasegawa [Tue, 17 Jul 2012 08:23:44 +0000 (17:23 +0900)]
環境(リグレッションを実行したパスの長さ)によって試験結果が
変わる問題に対処した。
Mitsuru Hasegawa [Tue, 17 Jul 2012 08:17:00 +0000 (17:17 +0900)]
リグレッションを修正していない問題を修正した。
Mitsuru Hasegawa [Fri, 13 Jul 2012 13:38:55 +0000 (22:38 +0900)]
矛盾したヒントを指定した場合のメッセージを変更した。
Mitsuru Hasegawa [Fri, 13 Jul 2012 12:25:14 +0000 (21:25 +0900)]
使用上の注意と制限を追加した。
Mitsuru Hasegawa [Fri, 13 Jul 2012 09:21:52 +0000 (18:21 +0900)]
git mergeの失敗を修正した。
Mitsuru Hasegawa [Fri, 13 Jul 2012 06:31:52 +0000 (15:31 +0900)]
バージョンなど、既存の記述から変更の合った部分を修正した。
Mitsuru Hasegawa [Fri, 13 Jul 2012 06:22:52 +0000 (15:22 +0900)]
make_join_rel.c には make_join_rel()のみをのこし、他はcore.cに移動した。
Mitsuru Hasegawa [Thu, 12 Jul 2012 12:09:24 +0000 (21:09 +0900)]
外部テーブルのスキャン方式を指定するとエラー終了する
バグを修正した。
リグレッションテスト用に生成されたファイルの削除を
pgxsの仕組みを使用するように変更した。
継承テーブルの結合方式の試験を追加した。
Mitsuru Hasegawa [Wed, 11 Jul 2012 10:52:54 +0000 (19:52 +0900)]
問い合わせブロックが複数ある場合でも、Leadingヒントで結合順を
制御できるように修正した。
Mitsuru Hasegawa [Mon, 9 Jul 2012 09:56:40 +0000 (18:56 +0900)]
重複したヒントを指定した場合にメッセージを出力するように修正した。
Mitsuru Hasegawa [Mon, 9 Jul 2012 09:42:03 +0000 (18:42 +0900)]
クォート処理の仕様を整理した。
Mitsuru Hasegawa [Mon, 9 Jul 2012 08:05:56 +0000 (17:05 +0900)]
継承テーブルにスキャンヒントを指定した場合に、親テーブルのみの
スキャンパスを生成していたバグを修正した。
Mitsuru Hasegawa [Fri, 6 Jul 2012 10:50:13 +0000 (19:50 +0900)]
FULL OUTER JOINのリグレッションを追加した。
Mitsuru Hasegawa [Fri, 6 Jul 2012 06:51:04 +0000 (15:51 +0900)]
EXECUTE 時にプランが再生成される場合に、PREPARE時に指定した
ヒントが適用されるように修正した。
Mitsuru Hasegawa [Fri, 6 Jul 2012 05:39:25 +0000 (14:39 +0900)]
テーブルが1つの場合は、常にget_relation_info()でスキャン方式を
制御するように変更した。
その他、リファクタリング。
Mitsuru Hasegawa [Fri, 6 Jul 2012 02:32:29 +0000 (11:32 +0900)]
結合のインナーテーブルのスキャンヒントが無視されるバグを修正した。
Mitsuru Hasegawa [Thu, 5 Jul 2012 11:26:24 +0000 (20:26 +0900)]
副問い合わせやビュー定義内のテーブル数が1つの場合に、スキャンヒントが
無視されるバグを修正した。
Mitsuru Hasegawa [Thu, 5 Jul 2012 10:27:10 +0000 (19:27 +0900)]
ヒント管理情報のリファクタリングをした。
Mitsuru Hasegawa [Thu, 5 Jul 2012 02:11:49 +0000 (11:11 +0900)]
ヒントのダンプ関数をクリーンアップした。
Mitsuru Hasegawa [Thu, 5 Jul 2012 01:55:30 +0000 (10:55 +0900)]
クリーンアップ。
Mitsuru Hasegawa [Tue, 3 Jul 2012 05:03:14 +0000 (14:03 +0900)]
ヒント句の開始キーワードに+(プラス)を追加し、/*+でヒント句の
開始となるように修正した。
Mitsuru Hasegawa [Thu, 28 Jun 2012 03:13:56 +0000 (12:13 +0900)]
ヒントのステータス管理のベースを追加した。
Mitsuru Hasegawa [Tue, 26 Jun 2012 12:04:35 +0000 (21:04 +0900)]
副問い合わせ対応に向けて、各種ヒントオブジェクトの構造を
クリーンアップした。
Shigeru HANADA [Thu, 14 Jun 2012 06:21:15 +0000 (15:21 +0900)]
Fix typo.
Mitsuru Hasegawa [Wed, 13 Jun 2012 09:35:25 +0000 (18:35 +0900)]
GUCパラメータ変更済みフラグの判定について、真/偽を逆に判定していたバグを
修正した。