OSDN Git Service

pgstoreplans/pg_store_plans.git
8 years agoPrepare for building RPM files. 1.0
Kyotaro Horiguchi [Fri, 9 Oct 2015 07:11:42 +0000 (16:11 +0900)]
Prepare for building RPM files.

Added SPEC file and makefile entry for building RPM files.

8 years agoFix a bug of expression normalizer.
Kyotaro Horiguchi [Fri, 12 Jun 2015 02:33:20 +0000 (11:33 +0900)]
Fix a bug of expression normalizer.

Expression normalizer is intended to remove parentheses directly
surrounding a constant, but the logic was broken somehow, sometime
before the first commit in this repository.

This causes wrong separation of plans which should be regarded as the
same in intention.

8 years agoFix some typos and wrong comments.
Kyotaro Horiguchi [Fri, 12 Jun 2015 02:32:01 +0000 (11:32 +0900)]
Fix some typos and wrong comments.

9 years agoMake compile quiet phase 2
Kyotaro Horiguchi [Fri, 10 Apr 2015 06:27:08 +0000 (15:27 +0900)]
Make compile quiet phase 2

MacOS X Maverics and later offers only LLVM compiler (clang) and it
warns for implicit type conversions between enums. This program uses
some enum types for a member in the same struct type but they cannot
be merged because one of them is defined in PostgreSQL. The situation
is safe as long as an enumeration and a word table are in one-to-one
correspondence so I decided to change the type of the member to
integer. This change make the commit
78415c006cd24f41d722a41014c526b43731968f useless so it is reverted
along with this commit.

Reported by Fujii Masao.

9 years agoAdd documentation
Kyotaro Horiguchi [Fri, 3 Apr 2015 05:36:42 +0000 (14:36 +0900)]
Add documentation

9 years agoMake compiler quiet.
Kyotaro Horiguchi [Fri, 3 Apr 2015 05:29:25 +0000 (14:29 +0900)]
Make compiler quiet.

Gcc 4.6.3 complains for comarison between pgsp_strategies and
pgsp_prop_tags so replaced them with switch construct.

9 years agoAdd file headers.
Kyotaro Horiguchi [Fri, 3 Apr 2015 05:13:01 +0000 (14:13 +0900)]
Add file headers.

As the preparation for publication, added headers to every source
files.

9 years agoFollow the change in 9.5dev.
Kyotaro Horiguchi [Tue, 10 Feb 2015 03:43:58 +0000 (12:43 +0900)]
Follow the change in 9.5dev.

In 9.5, the way to initialize ExplainState has been changed. The new
function NewExplainState() takes in the function of old
ExplainInitState(). I decided to follow the code to the 9.5 manner and
make the equivelant of the new function for the older versions.

9 years agoFix the wrong measure for the change in ExplainState.
Kyotaro Horiguchi [Tue, 10 Feb 2015 00:37:10 +0000 (09:37 +0900)]
Fix the wrong measure for the change in ExplainState.

The fix made in the commit 6819c84350ea599988440c5c07becfe56c71723a is
not appropriate according to its objective. The correct fix for the
change is translating es->extra as "List *grouping_stack" in the
versions 9.3.6, 9.4.1 and their successors. This secure the binary
comaptibility throughout minor PG versions.

9 years agoFix a typo in test script.
Kyotaro Horiguchi [Mon, 9 Feb 2015 10:38:20 +0000 (19:38 +0900)]
Fix a typo in test script.

This change affects test script but doesn't affect the test result, so
I don't regenerae test scripts including this change. It will be fixed
at the next chance to regenerate the testset.

9 years agoFix typo of WorkTable Scan.
Kyotaro Horiguchi [Mon, 9 Feb 2015 10:35:26 +0000 (19:35 +0900)]
Fix typo of WorkTable Scan.

The node WorkTable Scan was not properly handled by silly typo. Fixed
it. And test script was regenerated so many unstable portions of it is
changed.

9 years agoMask constants of sort key value.
Kyotaro Horiguchi [Mon, 9 Feb 2015 10:19:47 +0000 (19:19 +0900)]
Mask constants of sort key value.

Expressions in plan properties are normalized by replacing constants
with '?' in them. Sort key was forgotten to do so.

9 years agoAdd new explain properties.
Kyotaro Horiguchi [Mon, 9 Feb 2015 10:13:18 +0000 (19:13 +0900)]
Add new explain properties.

Added new plan property node Planning Time, Execution Time, Exact Heap
Blocks, Lossy Heap Blocks and Rows Removed by Join Filter which were
ignored.

9 years agoFollow the change of ExplainState.
Kyotaro Horiguchi [Mon, 9 Feb 2015 03:01:36 +0000 (12:01 +0900)]
Follow the change of ExplainState.

ExplainState was changed at 9.4.1 and 9.3.6. This change breaks where
using es->grouping_stack so change the way to access it so that one
source supports both before and after the change was made. After all,
for instance, PG 9.4.0 and 9.4.1 cannot be able to share the same
pg_store_plans binary.

9 years agoSafely exit from json parser with chopped representations.
Kyotaro Horiguchi [Fri, 3 Apr 2015 06:07:52 +0000 (15:07 +0900)]
Safely exit from json parser with chopped representations.

JSON plan strings can be chopped halfway from the limitation in the
storage. This fix make the JSON parser to handle it safely.

9 years agoBug fix for text representation when log_timing = off
Kyotaro Horiguchi [Fri, 25 Apr 2014 05:54:17 +0000 (14:54 +0900)]
Bug fix for text representation when log_timing = off

plan structure don't have actual timings if log_timing is turned
off. This should be safely skipped.

9 years agoMask more unplivileged columns in pg_store_plans view.
Kyotaro Horiguchi [Fri, 25 Apr 2014 05:54:02 +0000 (14:54 +0900)]
Mask more unplivileged columns in pg_store_plans view.

queryid, planid and queryid_stmt were newly masked for unplivileged
users following pg_stat_statements.

9 years agoAdded test for unknown JSON field names.
Kyotaro Horiguchi [Thu, 3 Apr 2014 05:37:20 +0000 (14:37 +0900)]
Added test for unknown JSON field names.

Added the test for handling of unknown JSON field names. Regeneration
of test script made changes which are not significant in many other
places.

9 years agoAdd regtests for plan storage.
Kyotaro Horiguchi [Thu, 3 Apr 2014 05:17:28 +0000 (14:17 +0900)]
Add regtests for plan storage.

9 years agoRemove useless debug print.
Kyotaro Horiguchi [Fri, 3 Apr 2015 05:49:44 +0000 (14:49 +0900)]
Remove useless debug print.

9 years agoRename module to pg_store_plans
Kyotaro Horiguchi [Mon, 24 Mar 2014 06:40:18 +0000 (15:40 +0900)]
Rename module to pg_store_plans