OSDN Git Service
Kyotaro Horiguchi [Tue, 16 Dec 2014 04:20:02 +0000 (13:20 +0900)]
Fix about unexpectedly living plpgsql query string.
pg_hint_plan forgot to erase plpgsql query strings when it is NOT a
static statement, so it continued to read hints from the remenbered
wrong query string after using dynamic execution of a statement. This
commit makes it to be erased for any types of pl/pgsql statement.
Kyotaro Horiguchi [Fri, 5 Dec 2014 07:55:44 +0000 (16:55 +0900)]
Enhance debug output.
Added new debug output levels detailed and verbose. These let you see
more verbose information about what pg_hint_plan does internally.
Kyotaro Horiguchi [Wed, 17 Dec 2014 03:01:38 +0000 (12:01 +0900)]
Revert "Add new join method hint "NestLoop_NM" which means force nested loop"
This reverts commit
fd8affb6b71d00243c126e566d4ac7e34b13e8f3.
Kyotaro Horiguchi [Thu, 18 Sep 2014 05:26:43 +0000 (14:26 +0900)]
Add new join method hint "NestLoop_NM" which means force nested loop
but inhibit materialize of the inner relation.
Kyotaro Horiguchi [Wed, 17 Sep 2014 08:03:01 +0000 (17:03 +0900)]
Fix a bug that index restriction by name doesn't work for UPDATEs on
inheritance parent.
Inheritance planner doesn't claim for the inheritance parent relation,
so pg_hint_plan_get_relation_info cannot have the chance to prepare
the index spec information for chlid relations. This change make the
function to try to find parent relation even if it is called for the
children with inhparent == false from the first.
Kyotaro Horiguchi [Wed, 17 Sep 2014 08:08:42 +0000 (17:08 +0900)]
Stabilize regtest
Kyotaro Horiguchi [Wed, 17 Sep 2014 07:57:55 +0000 (16:57 +0900)]
Remove unused struct member
Kyotaro Horiguchi [Thu, 4 Sep 2014 10:41:49 +0000 (19:41 +0900)]
RPM build automation
Kyotaro Horiguchi [Fri, 5 Sep 2014 04:24:03 +0000 (13:24 +0900)]
Change version to 1.1.1.
Kyotaro Horiguchi [Fri, 5 Sep 2014 04:23:15 +0000 (13:23 +0900)]
Fixed a bug that rows hint can be omitted on some condition.
A hint for higer level may be canceled by unnecessary reestimation
caused by a rows hint for lower level.
During making a joinrel, if there's a rows hint just matches the
joinrelids, and has already been applied on an earlier try for the same
joinrelids, and if there's another rows hint which is applicable on
either component of the join, the change of rownums made earlier is
canceled by the 'another' hint causing reestimation of the joinrel.
Finally the effect of the former hint disappears.
Takashi Suzuki [Fri, 24 Jan 2014 04:07:00 +0000 (13:07 +0900)]
リグレッションテストを出力メッセージの変更に対応させた。
Takashi Suzuki [Fri, 24 Jan 2014 02:18:04 +0000 (11:18 +0900)]
hint_reportの出力メッセージを大文字始まりで統一した。
Takashi Suzuki [Tue, 21 Jan 2014 02:43:05 +0000 (11:43 +0900)]
コメントやメッセージを修正した。
Takashi Suzuki [Fri, 17 Jan 2014 02:49:38 +0000 (11:49 +0900)]
コピーライトを更新した
Takashi Suzuki [Fri, 17 Jan 2014 02:29:44 +0000 (11:29 +0900)]
Rowsで外部ファイルを扱う試験を環境に依存しないようにした。
外部ファイルのアドレスを特定の文字列に置き換えることで、環境に依存
しないようにした。
Takashi Suzuki [Fri, 17 Jan 2014 01:59:42 +0000 (10:59 +0900)]
Rows関連試験の予測結果を、全試験を流した場合のものに変更した。
Takashi Suzuki [Fri, 17 Jan 2014 01:52:44 +0000 (10:52 +0900)]
Rowsヒント句のメッセージ出力(R-3-6-*)の試験を追加した。
Takashi Suzuki [Fri, 17 Jan 2014 01:38:30 +0000 (10:38 +0900)]
Rowsヒント句の同じテーブル組合せ(R-3-5-*)の試験を追加した。
Takashi Suzuki [Fri, 17 Jan 2014 01:27:22 +0000 (10:27 +0900)]
Rowsヒント句の継承テーブル関連(R-3-4-*)の試験を追加した。
Takashi Suzuki [Fri, 17 Jan 2014 01:15:56 +0000 (10:15 +0900)]
Rowsヒント句の比率指定(R-3-3-*)の試験を追加した。
Takashi Suzuki [Thu, 16 Jan 2014 08:12:42 +0000 (17:12 +0900)]
Rowsヒント句の増減値指定(R-3-2-*)の試験を追加した。
Takashi Suzuki [Thu, 16 Jan 2014 07:44:21 +0000 (16:44 +0900)]
Rowsヒント句の絶対値指定(R-3-1-*)の試験を追加した。
Takashi Suzuki [Thu, 16 Jan 2014 07:43:38 +0000 (16:43 +0900)]
bug fix #3
Takashi Suzuki [Thu, 16 Jan 2014 06:57:30 +0000 (15:57 +0900)]
R-2-4-*の試験とR-2-5-*の試験を追加した。
Takashi Suzuki [Thu, 16 Jan 2014 06:52:16 +0000 (15:52 +0900)]
Rowsヒント句のRULEまたはVIEWの試験(R-2-3-*)を追加した。
Takashi Suzuki [Thu, 16 Jan 2014 05:08:55 +0000 (14:08 +0900)]
バグ修正にそって試験および予想結果を修正した。
Takashi Suzuki [Thu, 16 Jan 2014 05:02:23 +0000 (14:02 +0900)]
bug fix #2
件数補正のときに、全ての結合パスにおいて部分集合となってしまい、他
のRowsヒント句適用後に見積もり件数を再計算してしまった。。
理由
Rowsヒント句に存在しないテーブル組合せを指定すると、pg_hint_plan
内部で空のテーブル集合として扱っていたため。
Takashi Suzuki [Wed, 15 Jan 2014 09:41:04 +0000 (18:41 +0900)]
Rowsヒント句の件数の書式に関する記述を事実から要請に変更した。
Takashi Suzuki [Wed, 15 Jan 2014 08:43:52 +0000 (17:43 +0900)]
試験R-1-6-7の予測結果を正しい形に修正した。
Takashi Suzuki [Wed, 15 Jan 2014 08:42:11 +0000 (17:42 +0900)]
1ブロックあたりのテーブル数(R-2-2-*)の試験を追加した。
ただし、不合格
Takashi Suzuki [Wed, 15 Jan 2014 08:21:18 +0000 (17:21 +0900)]
複数の問合せブロックに関する試験(R-2-1-*)を追加した。
ただし、不合格
Takashi Suzuki [Wed, 15 Jan 2014 08:11:02 +0000 (17:11 +0900)]
core.cの各関数をPG93向けに更新した。
Takashi Suzuki [Wed, 15 Jan 2014 06:47:35 +0000 (15:47 +0900)]
マニュアルにRowsヒント句の仕様の一部と具体例を挿入した。
記入内容
・Rowsヒント句の補正の件数や倍率をstrtodで補正していること。
理由
・16進数でも指定可能なため。
Takashi Suzuki [Tue, 14 Jan 2014 02:02:30 +0000 (11:02 +0900)]
Rowsヒント句の引数の条件(R-1-*)の試験を追加した。
Takashi Suzuki [Thu, 9 Jan 2014 04:58:37 +0000 (13:58 +0900)]
機能試験表との試験番号のずれをなおした。
Takashi Suzuki [Tue, 24 Dec 2013 07:17:04 +0000 (16:17 +0900)]
スキャン方式試験の予測結果がSQLの変更に沿っていなかったため修正した
Takashi Suzuki [Tue, 24 Dec 2013 07:05:03 +0000 (16:05 +0900)]
スキャン方式試験のコメントが一部不適切だったため修正した。
Takashi Suzuki [Tue, 24 Dec 2013 07:00:56 +0000 (16:00 +0900)]
スキャン方式試験の番号のずれを修正した。
Shigeru HANADA [Tue, 24 Dec 2013 05:02:40 +0000 (14:02 +0900)]
Fix test numbers.
Shigeru HANADA [Mon, 9 Dec 2013 08:23:49 +0000 (17:23 +0900)]
PG9.3でのコスト値の変動を反映。
Shigeru HANADA [Mon, 9 Dec 2013 07:43:26 +0000 (16:43 +0900)]
PG92ブランチで追加したコメントに追従。
Shigeru HANADA [Mon, 9 Dec 2013 07:41:34 +0000 (16:41 +0900)]
Rowsヒントの追加に伴いリグレッションテスト項目の予想結果を追加。
9.2版からのコピーなので、細かいコスト値は正確ではない。
Shigeru HANADA [Mon, 9 Dec 2013 07:35:02 +0000 (16:35 +0900)]
PG92との差分から生成したパッチを適用。
ただし、PG9.3対応として加えた修正はそのまま残した。
Shigeru HANADA [Mon, 9 Dec 2013 05:19:48 +0000 (14:19 +0900)]
Add *.o to ignore file list.
Takashi Suzuki [Tue, 12 Nov 2013 07:43:05 +0000 (16:43 +0900)]
specファイル中の依存ファイル名を修正した。
RPM版インストール時の依存ファイル名に誤りがあったため
Takashi Suzuki [Thu, 7 Nov 2013 05:00:40 +0000 (14:00 +0900)]
Copyrightの未更新部分を更新した。
Takashi Suzuki [Thu, 31 Oct 2013 08:44:34 +0000 (17:44 +0900)]
コピーライトと一部の流用関数に更新漏れがあったため、修正した。
Takashi Suzuki [Thu, 31 Oct 2013 07:35:33 +0000 (16:35 +0900)]
スキャン方式の試験番号やタイトルが不適切だったため修正した。
Takashi Suzuki [Fri, 18 Oct 2013 06:50:59 +0000 (15:50 +0900)]
元のクエリの実行計画の変化に伴い、結合順序の試験の予測結果を修正した。
Takashi Suzuki [Fri, 18 Oct 2013 01:45:56 +0000 (10:45 +0900)]
元のクエリの実行計画の変化に伴い、結合方式の試験の予測結果を修正した。
Takashi Suzuki [Fri, 18 Oct 2013 01:24:00 +0000 (10:24 +0900)]
pg_hint_plan動作確認試験の予測結果をPG93の動作に合わせて変更した。
Takashi Suzuki [Thu, 17 Oct 2013 06:41:52 +0000 (15:41 +0900)]
スキャン方式の試験番号のずれを修正した。
Takashi Suzuki [Thu, 17 Oct 2013 06:36:21 +0000 (15:36 +0900)]
元のクエリの実行計画の変化に伴い、スキャン方式の試験の予測結果を修正した。
Takashi Suzuki [Thu, 17 Oct 2013 02:38:31 +0000 (11:38 +0900)]
A-13-3-3の試験の目的にしたがって、試験関連のファイルを修正した。
PG/pgSQLの簡単な式のプランをキャッシュするようになったため。
Takashi Suzuki [Wed, 16 Oct 2013 07:42:39 +0000 (16:42 +0900)]
エイリアスの自動付与に関する変更漏れ箇所を変更した。
Takashi Suzuki [Wed, 16 Oct 2013 07:38:48 +0000 (16:38 +0900)]
親テーブル名の除去のもれを修正した。
Takashi Suzuki [Wed, 16 Oct 2013 07:25:53 +0000 (16:25 +0900)]
自動で付与されるエイリアスに合わせて試験予測ファイルを変更した。
Takashi Suzuki [Wed, 16 Oct 2013 05:54:59 +0000 (14:54 +0900)]
EXPLAIN結果でスキーマ修飾が非表示になったため、試験予測結果内容を変更した。
レンジテーブルでエイリアスを扱うためにruleutil.cのヒューリスティッ
クを向上する一環として、必要に応じてスキーマ修飾の名前にもユニーク
な非修飾のエイリアスを付与するようになったため。
Takashi Suzuki [Wed, 16 Oct 2013 05:40:20 +0000 (14:40 +0900)]
子テーブルに付与されていた親テーブル名を試験予測結果ファイルから除去した。
PG9.2まで、子テーブルに親テーブル名がエイリアスとして付与されていた。
しかし、PG9.3から、SQLを実行した結果がRULEやVIEWに指定されたテーブ
ル名や列名が一意になっていない場合にエイリアスを自動付与するように
なった影響で、親テーブルにエイリアスを指定しなかった場合は子テー
ブルに親テーブル名が付与されなくなった。
Takashi Suzuki [Wed, 16 Oct 2013 05:29:34 +0000 (14:29 +0900)]
PG本体のResultノード出力抑制に伴い、試験予測結果ファイルを修正した。
PG93の実行計画生成でResultノードの出力が抑制されたので、それにそっ
て試験予測ファイルの内容を修正した。
Takashi Suzuki [Wed, 16 Oct 2013 04:38:14 +0000 (13:38 +0900)]
PG93のCREATE TABLE文の仕様変更により試験予測結果ファイルを修正した。
PG93ではメッセージレベルをDEBUG1にしなければ、CREATE TABLEでINDEX
も生成する時のメッセージが出力されなくなった。
Takashi Suzuki [Thu, 10 Oct 2013 07:40:26 +0000 (16:40 +0900)]
フック関数の引数や流用関数をPG92用からPG93用に更新した。
Takashi Suzuki [Thu, 10 Oct 2013 00:51:03 +0000 (09:51 +0900)]
specファイルをPG92用からPG93用に変更した。
Takashi Suzuki [Thu, 10 Oct 2013 00:49:09 +0000 (09:49 +0900)]
PG93対応に必要なヘッダファイルを追加した。
Takashi Suzuki [Thu, 10 Oct 2013 00:43:50 +0000 (09:43 +0900)]
マクロで分岐していた処理をPG92用の処理に絞った。
Takashi Suzuki [Thu, 10 Oct 2013 00:30:32 +0000 (09:30 +0900)]
PG92のみで動作するようにファイル構成を変更した。
Takashi Suzuki [Tue, 17 Sep 2013 06:01:00 +0000 (15:01 +0900)]
A-13-4の試験の内容を項目表にあうように変更した。
Takashi Suzuki [Tue, 17 Sep 2013 02:04:23 +0000 (11:04 +0900)]
PL/pgSQLのカーソルFORループ文で指定ヒントが適用されないバグを修正した。
PL/pgSQLのカーソルFORループのときに、カーソルのクエリ文字列ではな
くカーソルの引数の代入用クエリ文字列を取得していたため、ヒントが適
用されなかった。
Takashi Suzuki [Fri, 13 Sep 2013 06:46:41 +0000 (15:46 +0900)]
PL/pgSQL文に関する仕様変更にそってリグレッションテストの内容を変更した。
Takashi Suzuki [Fri, 13 Sep 2013 04:32:57 +0000 (13:32 +0900)]
PL/pgSQL文に関する用語を設計書にそって変更した。
Takashi Suzuki [Thu, 12 Sep 2013 06:37:19 +0000 (15:37 +0900)]
PL/pgSQL文に関する仕様の変更内容をマニュアルに反映した。
Takashi Suzuki [Thu, 12 Sep 2013 00:30:56 +0000 (09:30 +0900)]
いくつかのPL/pgSQL文でもクエリ文字列を取得するようにした。
指定ヒント適用の必要性の高いPL/pgSQL文にヒントを適用させるため。
Takashi Suzuki [Thu, 5 Sep 2013 09:37:51 +0000 (18:37 +0900)]
PL/pgSQL文の様々パターンに対応するために条件分岐コマンドを変更した。
Takashi Suzuki [Thu, 5 Sep 2013 07:38:05 +0000 (16:38 +0900)]
PL/pgSQLに関する制約の説明をよりわかりやすくした。
Takashi Suzuki [Tue, 3 Sep 2013 02:46:16 +0000 (11:46 +0900)]
specファイルのコピーライトを更新していなかったため更新した。
Takashi Suzuki [Mon, 2 Sep 2013 10:39:10 +0000 (19:39 +0900)]
specファイルを正しい形に修正した。
Takashi Suzuki [Mon, 2 Sep 2013 09:52:51 +0000 (18:52 +0900)]
specファイルを最新版に対応させた。
Takashi Suzuki [Mon, 2 Sep 2013 08:01:28 +0000 (17:01 +0900)]
PL/pgSQLの制限について、よりわかりやすい記述に変更した。
Takashi Suzuki [Fri, 30 Aug 2013 09:18:24 +0000 (18:18 +0900)]
マルチステートメントについて、制限の説明を追加し、余計な文を削除した。
Takashi Suzuki [Fri, 30 Aug 2013 09:15:29 +0000 (18:15 +0900)]
ヒント用テーブルの更新の制限について、文章をよりわかりやすくした。
Takashi Suzuki [Fri, 30 Aug 2013 02:05:50 +0000 (11:05 +0900)]
ヒント用テーブルの内容変更の注意点についてマニュアルに記述した。
Takashi Suzuki [Fri, 30 Aug 2013 01:57:51 +0000 (10:57 +0900)]
一般ユーザでもヒント用テーブル方式でヒントを取得できるようにした。
Takashi Suzuki [Fri, 30 Aug 2013 01:55:08 +0000 (10:55 +0900)]
PL/pgSQLに関するマニュアルの記述を変更した。
Takashi Suzuki [Fri, 30 Aug 2013 01:51:07 +0000 (10:51 +0900)]
マルチステートメント実行の注意点について、マニュアルの記述を変更した。
Takashi Suzuki [Tue, 20 Aug 2013 07:21:12 +0000 (16:21 +0900)]
運用試験にあった機能試験レベルの項目をリグレッションテストに追加した。
Takashi Suzuki [Thu, 15 Aug 2013 05:01:07 +0000 (14:01 +0900)]
Merge branch 'add_id'
Takashi Suzuki [Fri, 9 Aug 2013 07:33:56 +0000 (16:33 +0900)]
ヒント用テーブルにヒント検索高速化用のインデックスを作成した。
Takashi Suzuki [Fri, 9 Aug 2013 06:45:30 +0000 (15:45 +0900)]
コメントの種別に関する試験のうち、余計な分を削除した。
Takashi Suzuki [Fri, 9 Aug 2013 06:35:44 +0000 (15:35 +0900)]
インデックスの正規化とインデックスメッセージ出力の試験を追加した。
Takashi Suzuki [Fri, 9 Aug 2013 01:21:53 +0000 (10:21 +0900)]
マニュアルのヒント用テーブルの使用方法の説明をよりわかりやすくした。
Takashi Suzuki [Thu, 8 Aug 2013 00:54:41 +0000 (09:54 +0900)]
ヒント用テーブルのid列に連番が付与されることを確認するテストを追加した。
Takashi Suzuki [Thu, 8 Aug 2013 00:41:07 +0000 (09:41 +0900)]
ヒント用テーブルのid列に連番が自動的に付与されることを確認するテストを追加した。
Takashi Suzuki [Thu, 8 Aug 2013 00:39:50 +0000 (09:39 +0900)]
リグレッションテストをヒント用テーブルの定義変更後の形に変更した。
Takashi Suzuki [Thu, 8 Aug 2013 00:29:14 +0000 (09:29 +0900)]
データの更新を容易にするために、ヒント用テーブルにid列を追加した。
Takashi Suzuki [Wed, 7 Aug 2013 09:15:10 +0000 (18:15 +0900)]
ヒント用テーブルのid列の説明をマニュアルに追加した。
Takashi Suzuki [Tue, 6 Aug 2013 05:03:35 +0000 (14:03 +0900)]
Leadingヒント句の仕様変更にそって[結合順序]試験のPG9.1用予測結果を変更した。
Takashi Suzuki [Tue, 6 Aug 2013 05:02:06 +0000 (14:02 +0900)]
No.L-3-6の試験のPG9.1用予測結果を更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:59:23 +0000 (13:59 +0900)]
No.L-2-3の試験のPG9.1用予測結果を更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:56:58 +0000 (13:56 +0900)]
[結合順序]試験のPG9.1用予測結果ファイルの試験番号と分類名を項目表の通りに更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:52:36 +0000 (13:52 +0900)]
Leadingヒント句の仕様変更にそって[結合方式]試験のPG9.1用予測結果を変更した。