Hi,
On 03/28/2018 06:30 AM, Amit Langote wrote:
On 2018/03/28 18:29, Amit Langote wrote:
Attached is the updated set of patches, which contains other miscellaneous
changes such as updated comments, beside the main changes described above.
Sorry, one of those miscellaneous changes was a typo that would cause
compilation to fail... Sigh. Fixed in the updated version.
Just some trivial changes.
However,
explain (costs off) select * from mc2p where a = 2 and b < 1;
is picking up
-> Seq Scan on mc2p2
Filter: ((b < 1) AND (a = 2))
which doesn't seem right, as its definition is
create table mc2p2 partition of mc2p for values from (1, 1) to (2,
minvalue);
Best regards,
Jesper
>From 8bb5f25d31471910db2e7907b4c13029edd7bbdf Mon Sep 17 00:00:00 2001
From: jesperpedersen <jesper.peder...@redhat.com>
Date: Wed, 28 Mar 2018 12:39:42 -0400
Subject: [PATCH] Trivial changes
---
src/backend/catalog/partition.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/src/backend/catalog/partition.c b/src/backend/catalog/partition.c
index 3c26daa098..2ee5ce605c 100644
--- a/src/backend/catalog/partition.c
+++ b/src/backend/catalog/partition.c
@@ -1774,7 +1774,7 @@ perform_pruning_base_step(PartitionPruneContext *context,
Datum values[PARTITION_MAX_KEYS];
FmgrInfo partsupfunc[PARTITION_MAX_KEYS];
- /* There better be same number of expressions and compare functions. */
+ /* There better be the same number of expressions and compare functions. */
Assert(list_length(opstep->exprs) == list_length(opstep->cmpfns));
nvalues = 0;
@@ -1783,7 +1783,7 @@ perform_pruning_base_step(PartitionPruneContext *context,
/*
* Generate the partition look-up key that will be used by one of
- * get_partitions_from_keys_* functions called below.
+ * the get_partitions_from_keys_* functions called below.
*/
for (keyno = 0; keyno < context->partnatts; keyno++)
{
@@ -1969,7 +1969,7 @@ perform_pruning_combine_step(PartitionPruneContext *context,
PruneStepResult *result = NULL;
/*
- * In some cases, planner generates a combine step that doesn't contain
+ * In some cases, the planner generates a combine step that doesn't contain
* any argument steps, to signal us to not prune any partitions. So,
* return indexes of all datums in that case, including null and/or
* default partition, if any.
@@ -1994,7 +1994,7 @@ perform_pruning_combine_step(PartitionPruneContext *context,
PruneStepResult *step_result;
/*
- * step_results[step_id] must contain valid result, which is
+ * step_results[step_id] must contain a valid result, which is
* confirmed by the fact that cstep's ID is greater than
* step_id.
*/
@@ -2147,10 +2147,10 @@ get_partitions_for_keys_hash(PartitionPruneContext *context,
* If special partitions (null and default) need to be scanned for given
* values, set scan_null and scan_default in result if present.
*
- * 'nvalues', if non-zero, should be exactly 1, because list partitioning.
+ * 'nvalues', if non-zero, should be exactly 1, because of list partitioning.
* 'value' contains the value to use for pruning
* 'opstrategy' if non-zero must be a btree strategy number
- * 'partsupfunc' contains list partitioning comparison function to be used to
+ * 'partsupfunc' contains the list partitioning comparison function to be used to
* perform partition_list_bsearch
* 'nullkeys' is the set of partition keys that are null.
*/
@@ -2161,7 +2161,6 @@ get_partitions_for_keys_list(PartitionPruneContext *context,
{
PruneStepResult *result;
PartitionBoundInfo boundinfo = context->boundinfo;
- int *partindices = boundinfo->indexes;
int off,
minoff,
maxoff;
@@ -2272,7 +2271,7 @@ get_partitions_for_keys_list(PartitionPruneContext *context,
{
/*
* This case means all partition bounds are greater, which in
- * turn means that all partition satisfy this key.
+ * turn means that all partitions satisfy this key.
*/
off = 0;
}
@@ -2333,7 +2332,7 @@ get_partitions_for_keys_list(PartitionPruneContext *context,
* 'values' contains values for partition keys (or a prefix) to be used for
* pruning
* 'opstrategy' if non-zero must be a btree strategy number
- * 'partsupfunc' contains range partitioning comparison function to be used to
+ * 'partsupfunc' contains the range partitioning comparison function to be used to
* perform partition_range_datum_bsearch or partition_rbound_datum_cmp
* 'nullkeys' is the set of partition keys that are null.
*/
@@ -2404,7 +2403,7 @@ get_partitions_for_keys_range(PartitionPruneContext *context,
{
if (nvalues == partnatts)
{
- /* There can only be zero or one matching partitions. */
+ /* There can only be zero or one matching partition. */
if (partindices[off + 1] >= 0)
{
result->datum_offsets = bms_make_singleton(off + 1);
@@ -2532,7 +2531,7 @@ get_partitions_for_keys_range(PartitionPruneContext *context,
* Since only a prefix of keys is provided, we must find
* other datums in boundinfo that match the prefix.
* Based on whether the look-up values is inclusive or
- * not, we must either include the indexes all such datums
+ * not, we must either include the indexes of all such datums
* in the result (that is, set minoff to the index of
* smallest such datum) or find the smallest one that's
* greater than the look-up value and set minoff to that.
--
2.13.6