• R/O
  • HTTP
  • SSH

pg_hint_plan: List of commits

firtst release

Rev. Time Author
68b706a PG93 REL93_1_1_6 2018-06-08 14:42:52 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

9680c120e5 Change more places to be less trusting of RestrictInfo.is_pushed_down.

bfcb1f0 2018-06-08 14:42:52 Kyotaro Horiguchi

Took in (unrelated) improvement of pg_stat_statements.

Took in sevaral improvements of pg_stat_statments that have made so
far. All these changes are on unused part of the file so these don't
affect the behavior of pg_hint_plan.

bfa282a02b Avoid unlikely data-loss scenarios due to rename() without fsync.
053959397b pg_stat_statements forgot to let previous occupant of hook get control too.
b8cf89c041 Avoid unportable usage of sscanf(UINT64_FORMAT).

f1d7d8d 2018-06-08 14:42:52 Kyotaro Horiguchi

Fix copyright year of normalize_query.h

Change as the title says.

41812fa 2018-06-08 14:42:52 Kyotaro Horiguchi

Took in an improvement of core code.

Core's planner gets improved as follows. Took it in.

9680c120e5 Change more places to be less trusting of RestrictInfo.is_pushed_down.

6cec5f7 2018-06-08 10:03:33 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.

0a1445a 2017-11-06 15:11:08 Kyotaro Horiguchi

Added and removed some entries in .gitignore

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

fcc1599 2017-11-06 14:05:21 Kyotaro Horiguchi

Use pg_strcasecmp instead of strcasecmp for the sake of portability

cdd0824 REL93_1_1_5 2017-07-27 19:16:57 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.

54c5bcb 2017-07-27 19:16:51 Kyotaro Horiguchi

Make core.c up to date.

Apply changes in corresponding core code.

c6b602c 2017-07-27 19:16: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.

b772d64 REL93_1_1_4 2017-05-19 14:12:50 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.

f6d7e28 2017-05-19 11:04:06 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.

48b7b15 2017-05-18 19:52:34 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.

33df857 2016-07-19 18:45:46 Kyotaro Horiguchi

Add a file needed to do installcheck into tar ball.

data/data.csv is 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.

1c4e675 REL93_1_1_3 2014-12-22 21:08:26 Kyotaro Horiguchi

Prepare for 1.1.3.

b715e7a 2014-12-22 20:46:04 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.

ab11909 REL93_1_1_2 2014-12-19 16:12:17 Kyotaro Horiguchi

Prepare for release 1.1.2.

d57f126 2014-12-19 16:12:17 Kyotaro Horiguchi

Remove unnecessary tracker code from documentations.

9aa8ac0 2014-12-19 15:54:01 Kyotaro Horiguchi

Added English documentation.

85316a2 2014-12-19 15:54:01 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.

95c492f 2014-12-19 15:54:01 Kyotaro Horiguchi

Remove the third part in the version number in the document.

The third part in the version number represents revisions which is
incremented by maintenance fix, not adding new feature. So removed it
in the document.

896b8a2 2014-12-19 15:54:01 Kyotaro Horiguchi

Specify the document language for pg_hint_plan-ja.html.

a8a28a7 2014-12-19 15:54:01 Kyotaro Horiguchi

Add document description about controlling joining directions.

This feature was introduced far ago at
eb3c095a7247df5cacc28687900aa30e7969aeda, but document does not
mention about it so far. So added the description about the feature.

5762a54 2014-12-18 16:37:12 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.

1f48919 2014-12-18 16:37:12 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.

706442a 2014-12-18 16:37:12 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.

ebf7422 2014-12-18 16:37:02 Kyotaro Horiguchi

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

This reverts commit fd8affb6b71d00243c126e566d4ac7e34b13e8f3.

fd8affb 2014-09-18 14:26:43 Kyotaro Horiguchi

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

2990c59 REL93_1_1_1 2014-09-18 11:43:47 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.

ed6890a 2014-09-18 11:41:03 Kyotaro Horiguchi

Stabilize regtest

Show on old repository browser