• R/O
  • HTTP
  • SSH
  • HTTPS

pg_hint_plan: コミット一覧

firtst release


RSS
Rev. 日時 作者
3597f38 2017-02-21 09:11:44 Kyotaro Horiguchi

Refactor hint application mechamism next step

I removed useless code forgotten to be removed in
add_paths_to_joinrel_wrapper by the previous refactoring. Addition to
that, find_scan_method_hint and find_parallel_hint are found not to
require the third parameter rel, so removed it. Some inadequate tests
are fixed and changed according to change of unclear behaviors.

ee3d73e 2017-02-21 09:11:44 Kyotaro Horiguchi

Improve error handling of Parallel hint

Improve poor error report for Parallel hint.

071eb53 2017-02-21 09:11:44 Kyotaro Horiguchi

Fix wrongly lowering max_parallel_workers_per_gather

Number of parallel workers of non-hinted relations is wrongly forced
to be zero even if max_parallel_workers_per_gather is more than
zero. Non-hinted relations get to have max_parallel_workes_per_gather
as set by this fix.

4383fca 2017-02-21 09:11:44 Kyotaro Horiguchi

Refactor hint application mechamism

Before we have the new hook set_rel_pathlist_hook, plan enforcment is
performed in two steps, one works only for queries with one relation,
the other works only for joins. Now they are performed once and at
once in set_rel_pathlist_hook. As a byproduct of this refactoring,
index restriction no longer runs for indexes on constraint-excluded
relations and expected/ut-S.out changed a bit.

The major changes by this patch are the followings.

- Remove hook to get_relation_info_hook:
The function for the hook pg_hint_plan_get_relation_info is removed.

- pg_hint_plan_join_search no longer calls rebuild_scan_path. The
function and a copied function set_plain_rel_pathlist are removed.

- delete_indexes has been renamed to restrict_indexes, which
represents the functionality clearer. And the function was
refactored main for readablity.

- Added several regtests for parallel.

40e2860 2017-02-21 09:11:44 Kyotaro Horiguchi

Fix default_version of extension control file

default_version in pg_hint_plan.control was left unchanged on updating
version number. Fixed it.

477b358 2017-02-21 09:11:44 Kyotaro Horiguchi

Edit copyright year

79a51f8 2017-02-21 09:11:44 Kyotaro Horiguchi

Properly change the state of parallel hints.

The state member of parallel hint is forgotten to be chaned on usage.
This fixes it.

96bacb3 2017-02-21 09:11:44 Kyotaro Horiguchi

Rename some functions and refactor code.

Some functions had a bit confusing naming and inconvenient interfaces.
Renamed such functions and refactored the code.

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
(maybe).

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,
though).

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
them.

5a72d7c 2017-02-10 17:19:43 Kyotaro Horiguchi

Refactor hint application mechamism next step

I removed useless code forgotten to be removed in
add_paths_to_joinrel_wrapper by the previous refactoring. Addition to
that, find_scan_method_hint and find_parallel_hint are found not to
require the third parameter rel, so removed it. Some inadequate tests
are fixed and changed according to change of unclear behaviors.

06593e2 2017-02-10 17:02:50 Kyotaro Horiguchi

Improve error handling of Parallel hint

Improve poor error report for Parallel hint.

c3e0e61 2017-02-10 17:02:40 Kyotaro Horiguchi

Fix wrongly lowering max_parallel_workers_per_gather

Number of parallel workers of non-hinted relations is wrongly forced
to be zero even if max_parallel_workers_per_gather is more than
zero. Non-hinted relations get to have max_parallel_workes_per_gather
as set by this fix.

a5663e6 2017-02-09 10:50:29 Kyotaro Horiguchi

Refactor hint application mechamism

Before we have the new hook set_rel_pathlist_hook, plan enforcment is
performed in two steps, one works only for queries with one relation,
the other works only for joins. Now they are performed once and at
once in set_rel_pathlist_hook. As a byproduct of this refactoring,
index restriction no longer runs for indexes on constraint-excluded
relations and expected/ut-S.out changed a bit.

The major changes by this patch are the followings.

- Remove hook to get_relation_info_hook:
The function for the hook pg_hint_plan_get_relation_info is removed.

- pg_hint_plan_join_search no longer calls rebuild_scan_path. The
function and a copied function set_plain_rel_pathlist are removed.

- delete_indexes has been renamed to restrict_indexes, which
represents the functionality clearer. And the function was
refactored main for readablity.

- Added several regtests for parallel.

d7880eb 2017-02-09 09:07:14 Kyotaro Horiguchi

Fix default_version of extension control file

default_version in pg_hint_plan.control was left unchanged on updating
version number. Fixed it.

5e3cd05 2017-02-09 09:06:28 Kyotaro Horiguchi

Edit copyright year

f35596a 2017-02-08 10:41:40 Kyotaro Horiguchi

Properly change the state of parallel hints.

The state member of parallel hint is forgotten to be chaned on usage.
This fixes it.

323db30 2017-02-08 10:41:40 Kyotaro Horiguchi

Rename some functions and refactor code.

Some functions had a bit confusing naming and inconvenient interfaces.
Renamed such functions and refactored the code.

6771112 2017-02-07 20:46:56 Kyotaro Horiguchi

Change version to 1.2.0.

Change version number to 1.2.0 and prepare RPM build envoronment.

1194ef8 2017-02-07 20:46:56 Kyotaro Horiguchi

Add description of Parallel hint to documentation

Addition to that, documents are refactored.

5268ad9 2017-02-07 20:46:56 Kyotaro Horiguchi

New hint "Parallel"

Added a new feature to control parallel query execution.

3109b0d 2017-02-07 20:28:18 Kyotaro Horiguchi

Change version to 1.2.0.

Change version number to 1.2.0 and prepare RPM build envoronment.

d8c128a 2017-02-07 20:05:12 Kyotaro Horiguchi

Add description of Parallel hint to documentation

Addition to that, documents are refactored.

9e5b175 2017-02-07 20:03:13 Kyotaro Horiguchi

New hint "Parallel"

Added a new feature to control parallel query execution.

be1a756 2017-02-07 12:55:54 Kyotaro Horiguchi

Rename current_hint to current_hint_state

The name current_hint is quite confusing so change the name to less
confusing one.

124a6be 2017-02-06 15:18:08 Kyotaro Horiguchi

Fix some syntax and comments.

Some following comma for the last element in enum definition and
incorrect comments are fixed.

旧リポジトリブラウザで表示