• R/O
  • HTTP
  • SSH

pg_hint_plan: コミット一覧

firtst release

Rev. 日時 作者
690a353 PG94 REL94_1_1_6 2018-06-08 14:12:01 Kyotaro Horiguchi

Change version to 1.1.6.

1.1.5 has a crash bug in Describe message of extended protocol
path. If server receives the message after invalidation of
corresponding query cache, pg_hint_plan crashes.

On the way fixing it, this version took in the following commit of

58fec95268 Change more places to be less trusting of RestrictInfo.is_pushed_down.

e608fb3 2018-06-08 14:11:30 Kyotaro Horiguchi

Took in core improvement.

Took in the following commit of core.

58fec95268 Change more places to be less trusting of RestrictInfo.is_pushed_down.

a257715 2018-06-08 14:11:06 Kyotaro Horiguchi

Took in changes of pg_stat_statements.

Took in the following commits on pg_stat_statements. These commits
change unused part of the file so they don't affect the behavior of

4f37d09169 Avoid unlikely data-loss scenarios due to rename() without fsync.

93840f96c7 Improve contrib/pg_stat_statements' handling of garbage collection failure.

a27fbb8 2018-06-08 10:02:56 Kyotaro Horiguchi

Fix a crash bug in case debug_query_string is NULL

pg_hint_plan believed that debug_query_string cannot be null when
parse_analyze is called, but for example in the case under
exec_describe_statement_message, it is not. We see the query string in
pstate even in the case, so use it instead in the case. Since pstate
is storing the query of the lowermost level, we should use
debug_query_string in other cases.

f56a7f5 2017-11-06 15:11:01 Kyotaro Horiguchi

Added and removed some entries in .gitignore

Removed core.c, that is not appropriate.
Added .deps and RPMS.

c779db7 2017-11-06 14:04:04 Kyotaro Horiguchi

Use pg_strcasecmp instead of strcasecmp for the sake of portability

67ee094 REL94_1_1_5 2017-07-27 19:19:36 Kyotaro Horiguchi

Change version to 1.1.5

1.1.4 has an assertion failure bug raised by DECLARE CURSOR with
enabling table hint. Fixed it.

Addition to that, core.c has been up to date to core.

5355f71 2017-07-27 19:19:21 Kyotaro Horiguchi

Make core.c up to date.

Apply changes in corresponding core code.

6f424c5 2017-07-27 19:19:10 Kyotaro Horiguchi

Fixed a crash bug by DECLARE CURSOR and enable_hint_table = on

The previous version causes assertion failure by DECLARE CURSOR syntax
when table hint is activated. The cause is that the version forgot the
fact that DelcareCursorStmt is in a bit strange shape. Add support of
DECLARE CURSOR and regression test for table hinting.

1407e83 REL94_1_1_4 2017-05-19 14:00:32 Kyotaro Horiguchi

Change version to 1.1.4

1.1.3 has a crash bug raised by queries in specific shape involving
complex views and/or SQL functions.

It is fixed in this version.

6fef1bc 2017-05-19 10:52:29 Kyotaro Horiguchi

Revert 4183e27cf1da4f67686f8bfaad3f9f42745c9c33.

The commit assumes mistakenly too-old version of PostgreSQL. At least
as of 9.4.12 it is not needed.

2afb432 2017-05-19 10:48:49 Kyotaro Horiguchi

Fix a bug of target query retrieval

The previous patch leaves a bug that get_query_string returns a Query
that JumbleQuery doesn't accept. This fixes that bug.

4183e27 2017-05-18 19:04:37 Kyotaro Horiguchi

Follow a change of 9.4.8

As of 9.4.7, lc_locale_is_c became to emit a log message about
LC_COLLATE setting. This is irrelevant to pg_hint_plan but let
regression test succeed.

3f6c983 2017-05-18 19:01:20 Kyotaro Horiguchi

Fix a crash bug on complex views when enable_hint_table is on

The Query that planner receives sometimes irrelevant to
debug_query_string. If enable_hint_table is on, pg_hint_plan_planner
normalizes debug_query_string using query-jumble information created
from the irrelevant Query the can lead to crash. To avoid this
situation, retrieve hints in post_parse_analyze_hook, where
corresponding pairs of a query string and a parsed Query.

2a3fbcf 2016-07-19 18:45:35 Kyotaro Horiguchi

Add files needed to do installcheck into tar ball.

sql/maskout.sh and data/data.csv are necessary to perform installcheck
but ignored in making tarball. COPYRIHT* files are also included by
this commit. Although version tags won't be moved since it brings out
no functional changes, the tarballs already released will be replaced
with new one applied this fix later.

Pointed by Tomokuni Fujita and fixed by me.

02823d0 REL94_1_1_3 2014-12-22 21:17:00 Kyotaro Horiguchi

Prepare for 1.1.3.

2c73975 2014-12-22 20:44:42 Kyotaro Horiguchi

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.

09bf8f7 REL94_1_1_2 2014-12-22 11:07:09 Kyotaro Horiguchi

Catch up the changes of pg_stat_statements.c

The change has nothing to do with pg_hint_plan but it's necessary to
catch it up in order to keep the difference minimal for the ease of

9551ee4 2014-12-19 16:14:07 Kyotaro Horiguchi

Prepare for 1.1.2

67bade3 2014-12-19 16:14:07 Kyotaro Horiguchi

Remove unnecessary tracker code from documentations.

1756f49 2014-12-19 15:47:21 Kyotaro Horiguchi

Added English documentation.

73f26fe 2014-12-19 15:47:21 Kyotaro Horiguchi

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.

2462e13 2014-12-17 11:07:58 Kyotaro Horiguchi

Fix regression test according to the changes of PostgreSQL.

Row countings of EXPLAIN results seems to be changed. This follows the

307cea0 2014-12-17 11:00:29 Kyotaro Horiguchi

Removed a stale comment.

b752a95 2014-12-17 10:52:05 Kyotaro Horiguchi

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.

bd30598 2014-12-17 10:26:20 Kyotaro Horiguchi

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.

c0a2be8 2014-12-17 10:17:18 Kyotaro Horiguchi

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.

e4e2df3 2014-12-17 10:12:22 Kyotaro Horiguchi

Revert "Add new join method hint "NestLoop_NM" which means force nested loop"

This reverts commit 7f6e3ce1326751c36676653ef1e81893296860b6.

7f6e3ce 2014-09-18 14:23:15 Kyotaro Horiguchi

Add new join method hint "NestLoop_NM" which means force nested loop
but inhibit materialize of the inner relation.

c02999d 2014-09-18 11:40:14 Kyotaro Horiguchi

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.