fix-v50-0002-nocfbot

application/octet-stream

Filename: fix-v50-0002-nocfbot
Type: application/octet-stream
Part: 0
Message: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 9ce36b06643..0c594655a8c 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -23024,8 +23024,10 @@ deleteSplitPartitionContext(SplitPartitionContext *pc, List **wqueue, int ti_opt
  * (rel) and move rows into new partitions.
  *
  * New partitions description:
- * partlist: list of pointers to SinglePartitionSpec structures.
- * newPartRels: list of Relations.
+ * partlist: list of pointers to SinglePartitionSpec structures.  It contains
+ * the partition specification details for all new partitions.
+ * newPartRels: list of Relations, new partitions created in
+ * ATExecSplitPartition.
  * defaultPartOid: oid of DEFAULT partition, for table rel.
  */
 static void
@@ -23149,13 +23151,12 @@ SplitPartitionMoveRows(List **wqueue, Relation rel, Relation splitRel,
 		{
 			pc = (SplitPartitionContext *) lfirst(listptr);
 
-			if (pc->partqualstate /* skip DEFAULT partition */ &&
-				ExecCheck(pc->partqualstate, econtext))
+			/* skip DEFAULT partition */
+			if (pc->partqualstate && ExecCheck(pc->partqualstate, econtext))
 			{
 				found = true;
 				break;
 			}
-			ResetExprContext(econtext);
 		}
 		if (!found)
 		{
diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c
index bd045c154de..870712577ba 100644
--- a/src/backend/parser/parse_utilcmd.c
+++ b/src/backend/parser/parse_utilcmd.c
@@ -3517,9 +3517,11 @@ transformRuleStmt(RuleStmt *stmt, const char *queryString,
  * checkPartition
  * Check whether partRelOid is a leaf partition of the parent table (rel).
  * Partition with OID partRelOid must be locked before function call.
+ * is_merge: true indicates the operation is "ALTER TABLE ... MERGE PARTITIONS";
+ * false indicates the operation is "ALTER TABLE ... SPLIT PARTITIONS".
  */
 static void
-checkPartition(Relation rel, Oid partRelOid)
+checkPartition(Relation rel, Oid partRelOid, bool is_merge)
 {
 	Relation	partRel;
 
@@ -3529,21 +3531,27 @@ checkPartition(Relation rel, Oid partRelOid)
 		ereport(ERROR,
 				errcode(ERRCODE_WRONG_OBJECT_TYPE),
 				errmsg("\"%s\" is not a table", RelationGetRelationName(partRel)),
-				errhint("ALTER TABLE ... MERGE PARTITIONS can only merge partitions don't have sub-partitions"));
+				is_merge
+				? errhint("ALTER TABLE ... MERGE PARTITIONS can only merge partitions don't have sub-partitions")
+				: errhint("ALTER TABLE ... SPLIT PARTITIONS can only split partitions don't have sub-partitions"));
 
 	if (!partRel->rd_rel->relispartition)
 		ereport(ERROR,
 				errcode(ERRCODE_WRONG_OBJECT_TYPE),
 				errmsg("\"%s\" is not a partition of partitioned table \"%s\"",
 					   RelationGetRelationName(partRel), RelationGetRelationName(rel)),
-				errhint("ALTER TABLE ... MERGE PARTITIONS can only merge partitions don't have sub-partitions"));
+				is_merge
+				? errhint("ALTER TABLE ... MERGE PARTITIONS can only merge partitions don't have sub-partitions")
+				: errhint("ALTER TABLE ... SPLIT PARTITIONS can only split partitions don't have sub-partitions"));
 
 	if (get_partition_parent(partRelOid, false) != RelationGetRelid(rel))
 		ereport(ERROR,
 				errcode(ERRCODE_UNDEFINED_TABLE),
 				errmsg("relation \"%s\" is not a partition of relation \"%s\"",
 					   RelationGetRelationName(partRel), RelationGetRelationName(rel)),
-				errhint("ALTER TABLE ... MERGE PARTITIONS can only merge partitions don't have sub-partitions"));
+				is_merge
+				? errhint("ALTER TABLE ... MERGE PARTITIONS can only merge partitions don't have sub-partitions")
+				: errhint("ALTER TABLE ... SPLIT PARTITIONS can only split partitions don't have sub-partitions"));
 
 	table_close(partRel, NoLock);
 }
@@ -3581,7 +3589,7 @@ transformPartitionCmdForSplit(CreateStmtContext *cxt, PartitionCmd *partcmd)
 											RangeVarCallbackOwnsRelation,
 											NULL);
 
-	checkPartition(parent, splitPartOid);
+	checkPartition(parent, splitPartOid, false);
 
 	/* Then we should check partitions with transformed bounds. */
 	check_partitions_for_split(parent, splitPartOid, partcmd->partlist, cxt->pstate);
@@ -3666,7 +3674,7 @@ transformPartitionCmdForMerge(CreateStmtContext *cxt, PartitionCmd *partcmd)
 						parser_errposition(cxt->pstate, name->location));
 		}
 
-		checkPartition(parent, partOid);
+		checkPartition(parent, partOid, true);
 
 		partOids = lappend_oid(partOids, partOid);
 	}
diff --git a/src/backend/partitioning/partbounds.c b/src/backend/partitioning/partbounds.c
index e1c1416b1ec..a2b5f23cea0 100644
--- a/src/backend/partitioning/partbounds.c
+++ b/src/backend/partitioning/partbounds.c
@@ -4998,6 +4998,8 @@ satisfies_hash_partition(PG_FUNCTION_ARGS)
  * second_name:		name of second partition
  * second_bound:	bound of second partition
  * defaultPart:		true if one of split partitions is DEFAULT
+ * merge_or_split:  true indicate the opration is "ALTER TABLE ... MERGE PARTITIONS"
+ * false indicate the opration is "ALTER TABLE ... SPLIT PARTITIONS".
  * pstate:			pointer to ParseState struct for determining error position
  */
 static void
@@ -5007,6 +5009,7 @@ check_two_partitions_bounds_range(Relation parent,
 								  RangeVar *second_name,
 								  PartitionBoundSpec *second_bound,
 								  bool defaultPart,
+								  bool merge_split,
 								  ParseState *pstate)
 {
 	PartitionKey key = RelationGetPartitionKey(parent);
@@ -5036,7 +5039,9 @@ check_two_partitions_bounds_range(Relation parent,
 				errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
 				errmsg("lower bound of partition \"%s\" is not equal to the upper bound of partition \"%s\"",
 					   second_name->relname, first_name->relname),
-				errhint("ALTER TABLE ... MERGE PARTITIONS requires the partition bounds to be adjacent."),
+				merge_split
+				? errhint("ALTER TABLE ... MERGE PARTITIONS requires the partition bounds to be adjacent.")
+				: errhint("ALTER TABLE ... SPLIT PARTITIONS requires the partition bounds to be adjacent."),
 				parser_errposition(pstate, datum->location));
 	}
 }
@@ -5140,7 +5145,9 @@ calculate_partition_bound_for_merge(Relation parent,
 													  (PartitionBoundSpec *) list_nth(bounds, prev_index),
 													  (RangeVar *) list_nth(partNames, index),
 													  (PartitionBoundSpec *) list_nth(bounds, index),
-													  false, pstate);
+													  false,
+													  true,
+													  pstate);
 				}
 
 				/*
@@ -5813,7 +5820,10 @@ check_partitions_for_split(Relation parent,
 		/* Ranges of new partitions should not overlap. */
 		if (strategy == PARTITION_STRATEGY_RANGE && spsPrev)
 			check_two_partitions_bounds_range(parent, spsPrev->name, spsPrev->bound,
-											  sps->name, sps->bound, existsDefaultPart, pstate);
+											  sps->name, sps->bound,
+											  existsDefaultPart,											  
+											  false,
+											  pstate);
 
 		spsPrev = sps;
 
diff --git a/src/test/regress/expected/partition_split.out b/src/test/regress/expected/partition_split.out
index 3a8a5c41f31..b1844263524 100644
--- a/src/test/regress/expected/partition_split.out
+++ b/src/test/regress/expected/partition_split.out
@@ -96,7 +96,7 @@ ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO
 ERROR:  lower bound of partition "sales_mar2022" is not equal to the upper bound of partition "sales_feb2022"
 LINE 3:    PARTITION sales_mar2022 FOR VALUES FROM ('2022-02-01') TO...
                                                     ^
-HINT:  ALTER TABLE ... MERGE PARTITIONS requires the partition bounds to be adjacent.
+HINT:  ALTER TABLE ... SPLIT PARTITIONS requires the partition bounds to be adjacent.
 -- Tests for spaces between partitions, them should be executed without DEFAULT partition
 ALTER TABLE sales_range DETACH PARTITION sales_others;
 -- ERROR:  lower bound of partition "sales_feb2022" is not equal to lower bound of split partition
@@ -157,64 +157,25 @@ ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO
   (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'),
    PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'),
    PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'));
-SELECT * FROM sales_range;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              1 | May              |         1000 | 01-31-2022
-             10 | Halder           |          350 | 01-28-2022
-             13 | Gandi            |          377 | 01-09-2022
-              2 | Smirnoff         |          500 | 02-10-2022
-              6 | Poirot           |          150 | 02-11-2022
-              8 | Ericsson         |          185 | 02-23-2022
-              7 | Li               |          175 | 03-08-2022
-              9 | Muller           |          250 | 03-11-2022
-             12 | Plato            |          350 | 03-19-2022
-              3 | Ford             |         2000 | 04-30-2022
-              4 | Ivanov           |          750 | 04-13-2022
-              5 | Deev             |          250 | 04-07-2022
-             11 | Trump            |          380 | 04-06-2022
-             14 | Smith            |          510 | 05-04-2022
+SELECT tableoid, * FROM sales_range ORDER BY salesperson_id;
+ tableoid | salesperson_id | salesperson_name | sales_amount | sales_date 
+----------+----------------+------------------+--------------+------------
+    19614 |              1 | May              |         1000 | 01-31-2022
+    19623 |              2 | Smirnoff         |          500 | 02-10-2022
+    19629 |              3 | Ford             |         2000 | 04-30-2022
+    19629 |              4 | Ivanov           |          750 | 04-13-2022
+    19629 |              5 | Deev             |          250 | 04-07-2022
+    19623 |              6 | Poirot           |          150 | 02-11-2022
+    19626 |              7 | Li               |          175 | 03-08-2022
+    19623 |              8 | Ericsson         |          185 | 02-23-2022
+    19626 |              9 | Muller           |          250 | 03-11-2022
+    19614 |             10 | Halder           |          350 | 01-28-2022
+    19629 |             11 | Trump            |          380 | 04-06-2022
+    19626 |             12 | Plato            |          350 | 03-19-2022
+    19614 |             13 | Gandi            |          377 | 01-09-2022
+    19620 |             14 | Smith            |          510 | 05-04-2022
 (14 rows)
 
-SELECT * FROM sales_jan2022;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              1 | May              |         1000 | 01-31-2022
-             10 | Halder           |          350 | 01-28-2022
-             13 | Gandi            |          377 | 01-09-2022
-(3 rows)
-
-SELECT * FROM sales_feb2022;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              2 | Smirnoff         |          500 | 02-10-2022
-              6 | Poirot           |          150 | 02-11-2022
-              8 | Ericsson         |          185 | 02-23-2022
-(3 rows)
-
-SELECT * FROM sales_mar2022;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              7 | Li               |          175 | 03-08-2022
-              9 | Muller           |          250 | 03-11-2022
-             12 | Plato            |          350 | 03-19-2022
-(3 rows)
-
-SELECT * FROM sales_apr2022;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              3 | Ford             |         2000 | 04-30-2022
-              4 | Ivanov           |          750 | 04-13-2022
-              5 | Deev             |          250 | 04-07-2022
-             11 | Trump            |          380 | 04-06-2022
-(4 rows)
-
-SELECT * FROM sales_others;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-             14 | Smith            |          510 | 05-04-2022
-(1 row)
-
 DROP TABLE sales_range CASCADE;
 --
 -- Add split partition, then add rows into partitioned table
@@ -258,64 +219,25 @@ INSERT INTO sales_range VALUES
   (12, 'Plato',    350,  '2022-03-19'),
   (13, 'Gandi',    377,  '2022-01-09'),
   (14, 'Smith',    510,  '2022-05-04');
-SELECT * FROM sales_range;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              1 | May              |         1000 | 01-31-2022
-             10 | Halder           |          350 | 01-28-2022
-             13 | Gandi            |          377 | 01-09-2022
-              2 | Smirnoff         |          500 | 02-10-2022
-              6 | Poirot           |          150 | 02-11-2022
-              8 | Ericsson         |          185 | 02-23-2022
-              7 | Li               |          175 | 03-08-2022
-              9 | Muller           |          250 | 03-11-2022
-             12 | Plato            |          350 | 03-19-2022
-              3 | Ford             |         2000 | 04-30-2022
-              4 | Ivanov           |          750 | 04-13-2022
-              5 | Deev             |          250 | 04-07-2022
-             11 | Trump            |          380 | 04-06-2022
-             14 | Smith            |          510 | 05-04-2022
+SELECT tableoid, * FROM sales_range ORDER BY salesperson_id;
+ tableoid | salesperson_id | salesperson_name | sales_amount | sales_date 
+----------+----------------+------------------+--------------+------------
+    19635 |              1 | May              |         1000 | 01-31-2022
+    19644 |              2 | Smirnoff         |          500 | 02-10-2022
+    19650 |              3 | Ford             |         2000 | 04-30-2022
+    19650 |              4 | Ivanov           |          750 | 04-13-2022
+    19650 |              5 | Deev             |          250 | 04-07-2022
+    19644 |              6 | Poirot           |          150 | 02-11-2022
+    19647 |              7 | Li               |          175 | 03-08-2022
+    19644 |              8 | Ericsson         |          185 | 02-23-2022
+    19647 |              9 | Muller           |          250 | 03-11-2022
+    19635 |             10 | Halder           |          350 | 01-28-2022
+    19650 |             11 | Trump            |          380 | 04-06-2022
+    19647 |             12 | Plato            |          350 | 03-19-2022
+    19635 |             13 | Gandi            |          377 | 01-09-2022
+    19641 |             14 | Smith            |          510 | 05-04-2022
 (14 rows)
 
-SELECT * FROM sales_jan2022;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              1 | May              |         1000 | 01-31-2022
-             10 | Halder           |          350 | 01-28-2022
-             13 | Gandi            |          377 | 01-09-2022
-(3 rows)
-
-SELECT * FROM sales_feb2022;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              2 | Smirnoff         |          500 | 02-10-2022
-              6 | Poirot           |          150 | 02-11-2022
-              8 | Ericsson         |          185 | 02-23-2022
-(3 rows)
-
-SELECT * FROM partition_split_schema2.sales_mar2022;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              7 | Li               |          175 | 03-08-2022
-              9 | Muller           |          250 | 03-11-2022
-             12 | Plato            |          350 | 03-19-2022
-(3 rows)
-
-SELECT * FROM sales_apr2022;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              3 | Ford             |         2000 | 04-30-2022
-              4 | Ivanov           |          750 | 04-13-2022
-              5 | Deev             |          250 | 04-07-2022
-             11 | Trump            |          380 | 04-06-2022
-(4 rows)
-
-SELECT * FROM sales_others;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-             14 | Smith            |          510 | 05-04-2022
-(1 row)
-
 DROP TABLE sales_range CASCADE;
 --
 -- Test for:
@@ -508,7 +430,7 @@ ALTER TABLE sales_range SPLIT PARTITION sales_others INTO
 ERROR:  lower bound of partition "sales_error" is not equal to the upper bound of partition "sales_dec2021"
 LINE 3:    PARTITION sales_error FOR VALUES FROM (20211230) TO (2022...
                                                   ^
-HINT:  ALTER TABLE ... MERGE PARTITIONS requires the partition bounds to be adjacent.
+HINT:  ALTER TABLE ... SPLIT PARTITIONS requires the partition bounds to be adjacent.
 -- sales_error intersects with sales_feb2022 (upper bound)
 -- ERROR:  lower bound of partition "sales_feb2022" is not equal to the upper bound of partition "sales_error"
 ALTER TABLE sales_range SPLIT PARTITION sales_others INTO
@@ -519,7 +441,7 @@ ALTER TABLE sales_range SPLIT PARTITION sales_others INTO
 ERROR:  lower bound of partition "sales_feb2022" is not equal to the upper bound of partition "sales_error"
 LINE 4:    PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20...
                                                     ^
-HINT:  ALTER TABLE ... MERGE PARTITIONS requires the partition bounds to be adjacent.
+HINT:  ALTER TABLE ... SPLIT PARTITIONS requires the partition bounds to be adjacent.
 -- sales_error intersects with sales_dec2021 (inside bound)
 -- ERROR:  lower bound of partition "sales_feb2022" is not equal to the upper bound of partition "sales_error"
 ALTER TABLE sales_range SPLIT PARTITION sales_others INTO
@@ -530,7 +452,7 @@ ALTER TABLE sales_range SPLIT PARTITION sales_others INTO
 ERROR:  lower bound of partition "sales_error" is not equal to the upper bound of partition "sales_dec2021"
 LINE 3:    PARTITION sales_error FOR VALUES FROM (20211210) TO (2021...
                                                   ^
-HINT:  ALTER TABLE ... MERGE PARTITIONS requires the partition bounds to be adjacent.
+HINT:  ALTER TABLE ... SPLIT PARTITIONS requires the partition bounds to be adjacent.
 -- sales_error intersects with sales_dec2021 (exactly the same bounds)
 -- ERROR:  lower bound of partition "sales_feb2022" is not equal to the upper bound of partition "sales_error"
 ALTER TABLE sales_range SPLIT PARTITION sales_others INTO
@@ -541,7 +463,7 @@ ALTER TABLE sales_range SPLIT PARTITION sales_others INTO
 ERROR:  lower bound of partition "sales_error" is not equal to the upper bound of partition "sales_dec2021"
 LINE 3:    PARTITION sales_error FOR VALUES FROM (20211201) TO (2022...
                                                   ^
-HINT:  ALTER TABLE ... MERGE PARTITIONS requires the partition bounds to be adjacent.
+HINT:  ALTER TABLE ... SPLIT PARTITIONS requires the partition bounds to be adjacent.
 -- ERROR:  one partition in the list should be DEFAULT because split partition is DEFAULT
 ALTER TABLE sales_range SPLIT PARTITION sales_others INTO
   (PARTITION sales_dec2021 FOR VALUES FROM (20211201) TO (20220101),
@@ -873,34 +795,25 @@ INSERT INTO sales_range VALUES
   (12, 'Plato',    350,  '2022-03-19'),
   (13, 'Gandi',    377,  '2022-01-09'),
   (14, 'Smith',    510,  '2022-05-04');
-SELECT * FROM sales_range;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              1 | May              |         1000 | 01-31-2022
-             10 | Halder           |          350 | 01-28-2022
-             13 | Gandi            |          377 | 01-09-2022
-              2 | Smirnoff         |          500 | 02-10-2022
-              6 | Poirot           |          150 | 02-11-2022
-              8 | Ericsson         |          185 | 02-23-2022
-              7 | Li               |          175 | 03-08-2022
-              9 | Muller           |          250 | 03-11-2022
-             12 | Plato            |          350 | 03-19-2022
-              3 | Ford             |         2000 | 04-30-2022
-              4 | Ivanov           |          750 | 04-13-2022
-              5 | Deev             |          250 | 04-07-2022
-             11 | Trump            |          380 | 04-06-2022
-             14 | Smith            |          510 | 05-04-2022
+SELECT tableoid, * FROM sales_range ORDER BY salesperson_id;
+ tableoid | salesperson_id | salesperson_name | sales_amount | sales_date 
+----------+----------------+------------------+--------------+------------
+    19985 |              1 | May              |         1000 | 01-31-2022
+    19988 |              2 | Smirnoff         |          500 | 02-10-2022
+    19997 |              3 | Ford             |         2000 | 04-30-2022
+    19997 |              4 | Ivanov           |          750 | 04-13-2022
+    19997 |              5 | Deev             |          250 | 04-07-2022
+    19988 |              6 | Poirot           |          150 | 02-11-2022
+    19991 |              7 | Li               |          175 | 03-08-2022
+    19988 |              8 | Ericsson         |          185 | 02-23-2022
+    19991 |              9 | Muller           |          250 | 03-11-2022
+    19985 |             10 | Halder           |          350 | 01-28-2022
+    19997 |             11 | Trump            |          380 | 04-06-2022
+    19991 |             12 | Plato            |          350 | 03-19-2022
+    19985 |             13 | Gandi            |          377 | 01-09-2022
+    20000 |             14 | Smith            |          510 | 05-04-2022
 (14 rows)
 
-SELECT * FROM sales_apr2022;
- salesperson_id | salesperson_name | sales_amount | sales_date 
-----------------+------------------+--------------+------------
-              3 | Ford             |         2000 | 04-30-2022
-              4 | Ivanov           |          750 | 04-13-2022
-              5 | Deev             |          250 | 04-07-2022
-             11 | Trump            |          380 | 04-06-2022
-(4 rows)
-
 ALTER TABLE sales_apr2022 SPLIT PARTITION sales_apr_all INTO
   (PARTITION sales_apr2022_01_10 FOR VALUES FROM ('2022-04-01') TO ('2022-04-10'),
    PARTITION sales_apr2022_10_20 FOR VALUES FROM ('2022-04-10') TO ('2022-04-20'),
@@ -1252,7 +1165,7 @@ ALTER TABLE t2 SPLIT PARTITION t1pa INTO
    (PARTITION t2a FOR VALUES FROM ('A') TO ('B'),
     PARTITION t2b FOR VALUES FROM ('B') TO ('C'));
 ERROR:  relation "t1pa" is not a partition of relation "t2"
-HINT:  ALTER TABLE ... MERGE PARTITIONS can only merge partitions don't have sub-partitions
+HINT:  ALTER TABLE ... SPLIT PARTITIONS can only split partitions don't have sub-partitions
 DROP TABLE t2;
 DROP TABLE t1;
 --
diff --git a/src/test/regress/sql/partition_split.sql b/src/test/regress/sql/partition_split.sql
index 6466a4f978e..a718b44f686 100644
--- a/src/test/regress/sql/partition_split.sql
+++ b/src/test/regress/sql/partition_split.sql
@@ -135,13 +135,7 @@ ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO
    PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'),
    PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'));
 
-SELECT * FROM sales_range;
-SELECT * FROM sales_jan2022;
-SELECT * FROM sales_feb2022;
-SELECT * FROM sales_mar2022;
-SELECT * FROM sales_apr2022;
-SELECT * FROM sales_others;
-
+SELECT tableoid, * FROM sales_range ORDER BY salesperson_id;
 DROP TABLE sales_range CASCADE;
 
 --
@@ -175,12 +169,7 @@ INSERT INTO sales_range VALUES
   (13, 'Gandi',    377,  '2022-01-09'),
   (14, 'Smith',    510,  '2022-05-04');
 
-SELECT * FROM sales_range;
-SELECT * FROM sales_jan2022;
-SELECT * FROM sales_feb2022;
-SELECT * FROM partition_split_schema2.sales_mar2022;
-SELECT * FROM sales_apr2022;
-SELECT * FROM sales_others;
+SELECT tableoid, * FROM sales_range ORDER BY salesperson_id;
 
 DROP TABLE sales_range CASCADE;
 
@@ -575,8 +564,7 @@ INSERT INTO sales_range VALUES
   (13, 'Gandi',    377,  '2022-01-09'),
   (14, 'Smith',    510,  '2022-05-04');
 
-SELECT * FROM sales_range;
-SELECT * FROM sales_apr2022;
+SELECT tableoid, * FROM sales_range ORDER BY salesperson_id;
 
 ALTER TABLE sales_apr2022 SPLIT PARTITION sales_apr_all INTO
   (PARTITION sales_apr2022_01_10 FOR VALUES FROM ('2022-04-01') TO ('2022-04-10'),