OSDN Git Service
Kyotaro Horiguchi [Mon, 22 Dec 2014 11:54:59 +0000 (20:54 +0900)]
Prepare for 1.1.3.
Kyotaro Horiguchi [Mon, 22 Dec 2014 08:34:15 +0000 (17:34 +0900)]
Fixed a bug related to SQL statements in PL/pgSQL functions.
At least since 9.1, true query strings of SQL statements executed in
PL/pgSQL functions were found that were not obtained correctly by the
previous implement, it is because that PLpgSQL_stmt variable did not
have proper query string to be read for hints. Instead, it is changed
to read them from the top of error_context_stack in
pg_hint_plan_planner(). This change made a slight difference in
behavior which doesn't affect its work so a part of the regtest was
also changed. And added some regression tests for it.
Regression tests for PL/pgSQL added.
Tests for defined PL/pgSQL functions are omitted from regression
tests so added it.
Kyotaro Horiguchi [Mon, 22 Dec 2014 11:14:40 +0000 (20:14 +0900)]
Fix the method to write query number in debug print.
Query numbers in debug output should be written using qnostr, not qno.
Kyotaro Horiguchi [Tue, 16 Dec 2014 09:52:33 +0000 (18:52 +0900)]
Prepare for release 1.1.2.
Kyotaro Horiguchi [Fri, 19 Dec 2014 07:10:46 +0000 (16:10 +0900)]
Remove unnecessary tracker code from documentations.
Kyotaro Horiguchi [Fri, 19 Dec 2014 06:43:36 +0000 (15:43 +0900)]
Added English documentation.
Kyotaro Horiguchi [Fri, 19 Dec 2014 06:05:58 +0000 (15:05 +0900)]
Some fix and addition to the japaneses document.
It lacked the description about joni direction enforcement so added
it. Addition to it, added html language specification and updated
target PostgreSQL versions and OS version.
Kyotaro Horiguchi [Tue, 16 Dec 2014 05:45:13 +0000 (14:45 +0900)]
Fix to remove plpgsql query string on non-local exit.
Pl/pgsql query string stored internally squatted after an execution
error then pg_hint_plan afterward read it for hints and ignores really
given ones. This commit makes it erased at the end of transaction.
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 Sep 2014 07:27:26 +0000 (16:27 +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 06:26:57 +0000 (15:26 +0900)]
Stabilize regtest
Kyotaro Horiguchi [Wed, 17 Sep 2014 02:49:38 +0000 (11:49 +0900)]
Remove unused struct member
Kyotaro Horiguchi [Thu, 4 Sep 2014 11:04:49 +0000 (20:04 +0900)]
RPM automation
Kyotaro Horiguchi [Fri, 5 Sep 2014 04:21:52 +0000 (13:21 +0900)]
Change version to 1.1.1.
Kyotaro Horiguchi [Fri, 5 Sep 2014 04:20:04 +0000 (13:20 +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 [Thu, 30 Jan 2014 06:42:06 +0000 (15:42 +0900)]
出力メッセージ変更後の状態にリグレッションテストの予測結果を変更した。
Takashi Suzuki [Wed, 15 Jan 2014 06:47:35 +0000 (15:47 +0900)]
マニュアルにRowsヒント句の仕様の一部と具体例を挿入した。
記入内容
・Rowsヒント句の補正の件数や倍率をstrtodで補正していること。
理由
・16進数でも指定可能なため。
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 [Mon, 20 Jan 2014 07:14:18 +0000 (16:14 +0900)]
COPYRIGHTを2014年に更新した
Takashi Suzuki [Mon, 20 Jan 2014 07:10:51 +0000 (16:10 +0900)]
pg_stat_statementsから流用している関数を更新した。
Takashi Suzuki [Mon, 20 Jan 2014 04:10:33 +0000 (13:10 +0900)]
既存の流用関数の更新に伴い、流用関数を追加した。
流用関数を更新した結果、新しいstatistic関数を使用していたため。
Takashi Suzuki [Mon, 20 Jan 2014 02:09:56 +0000 (11:09 +0900)]
core.c内の関数をPG9.2最新版のものに更新した。
Takashi Suzuki [Fri, 17 Jan 2014 08:20:56 +0000 (17:20 +0900)]
Rowsヒント句の出力メッセージに関する変更結果を試験に反映した。
Takashi Suzuki [Fri, 17 Jan 2014 08:16:36 +0000 (17:16 +0900)]
Rows試験の予測結果の実行計画をPG92における正しい形に修正した。
Takashi Suzuki [Fri, 17 Jan 2014 08:06:32 +0000 (17:06 +0900)]
PG93との仕様の違いを予想結果に反映した。
PG93の以下のような機能がPG92の試験結果との差になった。
・同名リレーションに対するエイリアス自動付与
・スキーマ修飾の省略
・継承テーブルの親テーブル名表示
・テーブル作成時のインデックス生成メッセージの省略
Takashi Suzuki [Thu, 16 Jan 2014 07:43:38 +0000 (16:43 +0900)]
bug fix #3
Takashi Suzuki [Thu, 16 Jan 2014 05:02:23 +0000 (14:02 +0900)]
bug fix #2
件数補正のときに、全ての結合パスにおいて部分集合となってしまい、他
のRowsヒント句適用後に見積もり件数を再計算してしまった。。
理由
Rowsヒント句に存在しないテーブル組合せを指定すると、pg_hint_plan
内部で空のテーブル集合として扱っていたため。
Takashi Suzuki [Fri, 17 Jan 2014 07:53:07 +0000 (16:53 +0900)]
PG93用で実施した試験をPG92用に追加した。
ただし、以下の理由により不合格
・予測結果をPG92向けに修正していない。
・PG93用試験中に生じたバグの修正をPG92向けでは未実施
Takashi Suzuki [Tue, 24 Dec 2013 07:24:45 +0000 (16:24 +0900)]
スキャン方式試験の番号とコメントを適切な形に修正した。
Shigeru HANADA [Tue, 24 Dec 2013 04:52:04 +0000 (13:52 +0900)]
Fix wrong test numbers and title.
This problem was introduce by
b2102f707ed4dda9713ebd144c95800252d21c33.
Shigeru HANADA [Mon, 9 Dec 2013 05:19:48 +0000 (14:19 +0900)]
Add *.o to ignore file list.
Shigeru HANADA [Mon, 9 Dec 2013 05:18:30 +0000 (14:18 +0900)]
Add copyright mention in make_join_rel.c
This file now contains code written by NTT.
Shigeru HANADA [Mon, 9 Dec 2013 02:52:28 +0000 (11:52 +0900)]
Silence compiler warning about uninitialized variable.
Shigeru HANADA [Mon, 9 Dec 2013 02:35:40 +0000 (11:35 +0900)]
Merge branch 'PG92' into row_count2
Takashi Suzuki [Tue, 26 Nov 2013 02:26:42 +0000 (11:26 +0900)]
試験中の関数再定義の理由をコメントで記載した。
Takashi Suzuki [Mon, 25 Nov 2013 06:45:46 +0000 (15:45 +0900)]
COPYRIGHTの更新漏れを修正した。
Takashi Suzuki [Mon, 25 Nov 2013 06:38:49 +0000 (15:38 +0900)]
プランナ再帰呼び出し時のログ確認試験の直前で関数を再定義するようにした。
PG9.2.5からプリペアドステートメント使用時にカスタムプラン関連の仕
様が変更された。この辺呼応に対応するために、PL/pgSQLのプランキャッ
シュを想定した試験手順にした。
Takashi Suzuki [Mon, 25 Nov 2013 06:37:39 +0000 (15:37 +0900)]
コスト値を表示する試験にコメントを付与した。
Shigeru HANADA [Tue, 19 Nov 2013 08:21:51 +0000 (17:21 +0900)]
Rowsヒントのドキュメントを追加
Shigeru HANADA [Tue, 19 Nov 2013 07:56:13 +0000 (16:56 +0900)]
複雑な結合パターンでのRowsヒントの試験を追加
Shigeru HANADA [Tue, 19 Nov 2013 04:55:12 +0000 (13:55 +0900)]
不正なRowsヒントが指定された場合のメッセージを改善
- 記述されたままのヒントをデバッグ出力できるように文字列を保持
- 見積もり件数エラーの位置を正確にログに出力
Shigeru HANADA [Tue, 19 Nov 2013 04:54:31 +0000 (13:54 +0900)]
Rowsヒントに関するリグレッションテストを追加
Shigeru HANADA [Mon, 18 Nov 2013 11:19:15 +0000 (20:19 +0900)]
Rowsヒントの仕様変更に追従。
- 除算は廃止、小数の乗算で対応
Shigeru HANADA [Mon, 18 Nov 2013 10:16:35 +0000 (19:16 +0900)]
Rowsヒントの基本的なテストを追加
Shigeru HANADA [Mon, 18 Nov 2013 10:08:05 +0000 (19:08 +0900)]
Rowsヒントの絶対値指定にもプレフィックスを規定
絶対値の場合は「#10」のようにハッシュを前置する。
Shigeru HANADA [Mon, 18 Nov 2013 09:23:29 +0000 (18:23 +0900)]
PG92ブランチに見積もり件数補正機能を追加した。
Shigeru HANADA [Mon, 18 Nov 2013 08:15:38 +0000 (17:15 +0900)]
9.2.5での本体変更に併せてリグレッションテストを更新
Nested Loopのコスト値がやや少なくなった。
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用予測結果を変更した。
Takashi Suzuki [Tue, 6 Aug 2013 04:50:48 +0000 (13:50 +0900)]
No.J-3-5-1の試験のPG9.1用予測結果を更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:48:44 +0000 (13:48 +0900)]
No.J-2-3の試験のPG9.1用予測結果を更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:45:34 +0000 (13:45 +0900)]
[結合方式]試験のPG9.1用予測結果ファイルの試験番号と分類名を項目表の通りに更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:41:35 +0000 (13:41 +0900)]
S-3-10の試験のPG9.1用予測結果を更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:39:35 +0000 (13:39 +0900)]
No.S-3-5-7の試験のPG9.1用予測結果を更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:37:55 +0000 (13:37 +0900)]
No.S-2-3の試験のPG9.1用予測結果を更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:34:10 +0000 (13:34 +0900)]
[スキャン方式]試験のPG9.1用予測結果ファイルの試験番号と分類名を項目表の通りにした。
Takashi Suzuki [Tue, 6 Aug 2013 04:24:45 +0000 (13:24 +0900)]
Aの試験のPG9.1用予想結果を適切なものに変更した。
Takashi Suzuki [Tue, 6 Aug 2013 04:21:46 +0000 (13:21 +0900)]
No.A-8-5の試験のPG9.1用予測結果を更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:18:52 +0000 (13:18 +0900)]
No.A-6の試験のPG9.1用予測結果を更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:10:00 +0000 (13:10 +0900)]
No.A-5-2の試験のPG9.1用予測結果を更新した。
Takashi Suzuki [Tue, 6 Aug 2013 04:05:38 +0000 (13:05 +0900)]
PG9.1用予測結果ファイルにEXTENSION機構の試験項目を追加した。
Takashi Suzuki [Tue, 6 Aug 2013 03:00:08 +0000 (12:00 +0900)]
試験項目表から削除した試験を、PG9.1用結果予測ファイルから削除した。
Takashi Suzuki [Tue, 6 Aug 2013 02:54:22 +0000 (11:54 +0900)]
[機能に依存しない]試験のPG9.1用予測結果ファイルの試験番号と分類名を変更した。
Takashi Suzuki [Tue, 6 Aug 2013 02:34:46 +0000 (11:34 +0900)]
Leadingヒント句の仕様変更にそって[結合順序]試験のPG9.2用予測結果を変更した。