• R/O
  • HTTP
  • SSH

pg_hint_plan: コミット一覧

firtst release

Rev. 日時 作者
5f581e4 master 2018-06-14 19:15:14 Kyotaro Horiguchi

Support PG11

Support PG11. Just adapted to PG11 in this version. No behavior
changes except Parallel hint. PG11 gets many new parallel features and
as a matter of course they made deadly impact on Parallel hint. It no
longer works in the same way with the earlier version except for quite
simple cases.

816040d 2018-06-08 10:07:44 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.

997e099 2017-11-06 15:59:29 Kyotaro Horiguchi

Move expected/ut-W.out to output/ut-W.source

ut-W.out contained an absolute path of my working directory. Moved the
file into output so that we can remove the path replacing with

44ee440 2017-11-06 15:58:09 Arthur Zakirov

Use @abs_srcdir@ within ut-fdw.source

The file contained absolute path of a specific working directory,
replace them with @abs_srcdir@.

1eb726c 2017-11-06 15:57:17 Kyotaro Horiguchi

Added and removed some entries in .gitignore

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

9adb78e 2017-11-06 15:57:17 Kyotaro Horiguchi

Remove mark_dummy_rel() from core.c

The function is exposed by the commit
f49842d1ee31b976c681322f76025d7732e860f3 so remove it from the file.

4746ddb 2017-11-06 14:08:18 Arthur Zakirov

Use pg_strcasecmp instead of strcasecmp for the sake of portability

Back patched to branches PG93-96 and PG10.

26199a5 2017-10-10 12:19:17 Kyotaro Horiguchi

Change version to 1.3.0

c6204a7 2017-10-10 12:19:17 Kyotaro Horiguchi

Added a notice in the manual.

Added an item that explains about letter case handling of object names
in hints.

6609a8a 2017-10-10 11:37:39 Kyotaro Horiguchi

Prepare for rpm build for PostgreSQL 10

Edited Makefile and SPEC file so that RPM package for PostgreSQL 10 is

be384a4 2017-10-10 11:20:13 Kyotaro Horiguchi

Added a regtest for partitioned table.

Added a minimal regression test that checks this works also on
partitioned tables. Currently partitioned tables are handled in almost
the same way with inheritance tables so this would be enough.

0902b04 2017-10-10 10:34:19 Kyotaro Horiguchi

Corrected copyright year and a indentation.

Edited a copyright notice in which year is left alone. Correct an
indentation in make_join_rel.c. No functional change.

cce8d90 2017-10-10 10:33:00 Kyotaro Horiguchi

Reflected changes as of release 10.0.

add_paths_to_append_rel gets modified as of relase 10.0. Reflected it
to core.c

dd2685c 2017-10-04 09:46:43 Kyotaro Horiguchi

Add a regression about forcing gather-merge.

The previous commit is said to allow enforce gather merge but no
regression for that is not included. This adds that.

c7888a1 2017-07-27 19:13:30 Kyotaro Horiguchi

Modify expected files.

At 10 beta2, planner seems to get some changes to affect plans used in
regression test. Tentatively modify it just to pass the regression.
Probably it is no problem but should be checked later.

b4c7cdf 2017-07-27 19:13:22 Kyotaro Horiguchi

Up to date with 10 beta 2

Make copied code to be up to date with the core as of 10 beta 2.

2a9e14e 2017-07-27 19:13:11 Kyotaro Horiguchi

Support DECLARE CURSOR syntax and added regression for table hinting.

Previous version forgets to treat DECLARE CURSOR. Added that.
Addition to that, regression test for table hinting is added.

f4e8b55 2017-06-06 20:07:39 Kyotaro Horiguchi

Support PostgreSQL 10 beta 1 step 2/2

Changed the logic to tweak parallel execution paths so that it handles
more wider (parallel index scans or gather merge, specifically) range
of parallel paths.

9382913 2017-06-06 20:04:59 Kyotaro Horiguchi

Support PostgreSQL 10 beta 1 step 1/2

The first half of the work to support PostgreSQL 10.

This just makes it can work with the version of PG. So partial index
paths are lost during Parallel hint processing. Regression tests are
heavily modified but most of them just comes from the change of
original planner behavior introduced at the point of Pg10.

d4f559d 2017-05-19 11:15:39 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.

c05bb31 2017-05-18 19:52:13 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.

3ea75ab 2017-05-18 10:40:48 Kyotaro Horiguchi

Follow the behavioral change of parallel execution

The behavior of parallel planning is changed until 9.6.3, let
expected/ut-W.out to follow that.

814d884 2017-05-18 10:28:49 Kyotaro Horiguchi

Fix a bug of Parallel hint

During manipulation on pathlist of a GatherPath, foreach was mitakenly
used for a loop using list_delete_cell. This leads to a crash with

d1a1695 2017-02-21 09:27:55 Kyotaro Horiguchi

Provide upgrade path from 1.1.3

pg_hint_plan96-1.2.0 has an upgrade path from 1.1.3. This adds
requires installation sql file and puts pointers to the files in
Makefile and spec file. It is the only upgrade path of pg_hint_plan
1.2.0 since it works only on PG9.6 and versions earlier than 1.1.3
don't support PG9.6.

e701eee 2017-02-16 19:08:54 Kyotaro Horiguchi

Don't apply parallel hint on rels that planner considers unsafe.

pg_hint_plan considered had its own decision logic on whether
parallel-safe or not but it is dangerous and unnecessary. Just follow
planner's decision.

c43304d 2017-02-16 17:45:42 Kyotaro Horiguchi

Reconsider hinting process

I rethinked the steps of enforcement considering the parallel planning
code. pg_hint_plan_set_rel_pathlist() gets simpler and easier to read

As the result of this patch, some behaviors has been changed.

- False generation of gahter path caused by hinting on the other side
of joins.

- Scan hints work with Parallel hints. (It's useless for the moment,

c1bff87 2017-02-16 14:53:08 Tatsuro Yamada

Fix a typo of documentation.

Author: Tatsuro Yamada <yamatattsu@gmail.com>

beb6067 2017-02-13 17:01:49 Kyotaro Horiguchi

Don't set_plain_rel_pathlist for other than RTE_RELATION.

pg_hint_plan_set_rel_pathlist can call set_plain_rel_pathlist for
relations other than RTE_RELATION and this results in a crash.

e787aad 2017-02-13 16:56:44 Kyotaro Horiguchi

Following a fix in PG9.6.1.

PG9.6.2 gets a fix on planning that affects on the result of
ut-S. ut-S follows that by this fix. As the result ut-S won't success
for 9.6.1 or ealier after this patch.

cf64044 2017-02-13 16:52:45 Kyotaro Horiguchi

Fix parallel hint error handling.

Some kind of error of a parallel hint resulted confusing log
output. Addition to that, due to improper assumption of .conf file,
ordinary setup of max_worker_processes caused failure of ut-W. Fixed