@@ -101,9 +101,9 @@ create_single_range_partition_internal(Oid parent_relid,
101101{
102102Oid partition_relid ;
103103Constraint * check_constr ;
104- Node * part_expr ;
105104init_callback_params callback_params ;
106- List * trigger_columns ;
105+ List * trigger_columns = NIL ;
106+ Node * expr ;
107107
108108/* Generate a name if asked to */
109109if (!partition_rv )
@@ -118,7 +118,7 @@ create_single_range_partition_internal(Oid parent_relid,
118118}
119119
120120/* Check pathman config anld fill variables */
121- part_expr = build_partitioning_expression (parent_relid ,NULL ,& trigger_columns );
121+ expr = build_partitioning_expression (parent_relid ,NULL ,& trigger_columns );
122122
123123/* Create a partition & get 'partitioning expression' */
124124partition_relid = create_single_partition_internal (parent_relid ,
@@ -127,7 +127,7 @@ create_single_range_partition_internal(Oid parent_relid,
127127
128128/* Build check constraint for RANGE partition */
129129check_constr = build_range_check_constraint (partition_relid ,
130- part_expr ,
130+ expr ,
131131start_value ,
132132end_value ,
133133value_type );
@@ -160,9 +160,9 @@ create_single_hash_partition_internal(Oid parent_relid,
160160Oid partition_relid ,
161161expr_type ;
162162Constraint * check_constr ;
163- Node * expr ;
164163init_callback_params callback_params ;
165- List * trigger_columns ;
164+ List * trigger_columns = NIL ;
165+ Node * expr ;
166166
167167/* Generate a name if asked to */
168168if (!partition_rv )
@@ -1213,20 +1213,20 @@ build_range_check_constraint(Oid child_relid,
12131213const Bound * end_value ,
12141214Oid value_type )
12151215{
1216- Constraint * hash_constr ;
1216+ Constraint * range_constr ;
12171217char * range_constr_name ;
12181218
12191219/* Build a correct name for this constraint */
12201220range_constr_name = build_check_constraint_name_relid_internal (child_relid );
12211221
12221222/* Initialize basic properties of a CHECK constraint */
1223- hash_constr = make_constraint_common (range_constr_name ,
1224- build_raw_range_check_tree (raw_expression ,
1225- start_value ,
1226- end_value ,
1227- value_type ));
1223+ range_constr = make_constraint_common (range_constr_name ,
1224+ build_raw_range_check_tree (raw_expression ,
1225+ start_value ,
1226+ end_value ,
1227+ value_type ));
12281228/* Everything seems to be fine */
1229- return hash_constr ;
1229+ return range_constr ;
12301230}
12311231
12321232/* Check if range overlaps with any partitions */
@@ -1300,7 +1300,6 @@ build_raw_hash_check_tree(Node *raw_expression,
13001300A_Expr * eq_oper = makeNode (A_Expr );
13011301FuncCall * part_idx_call = makeNode (FuncCall ),
13021302* hash_call = makeNode (FuncCall );
1303- //ColumnRef *hashed_column= makeNode(ColumnRef);
13041303A_Const * part_idx_c = makeNode (A_Const ),
13051304* part_count_c = makeNode (A_Const );
13061305
@@ -1680,14 +1679,9 @@ text_to_regprocedure(text *proc_signature)
16801679return DatumGetObjectId (result );
16811680}
16821681
1683- typedef struct
1684- {
1685- List * columns ;
1686- }extract_column_names_cxt ;
1687-
16881682/* Extract column names from raw expression */
16891683static bool
1690- extract_column_names (Node * node ,extract_column_names_cxt * cxt )
1684+ extract_column_names (Node * node ,List * * columns )
16911685{
16921686if (node == NULL )
16931687return false;
@@ -1698,10 +1692,10 @@ extract_column_names(Node *node, extract_column_names_cxt *cxt)
16981692
16991693foreach (lc , ((ColumnRef * )node )-> fields )
17001694if (IsA (lfirst (lc ),String ))
1701- cxt -> columns = lappend (cxt -> columns ,lfirst (lc ));
1695+ * columns = lappend (* columns ,lfirst (lc ));
17021696}
17031697
1704- return raw_expression_tree_walker (node ,extract_column_names ,cxt );
1698+ return raw_expression_tree_walker (node ,extract_column_names ,columns );
17051699}
17061700
17071701/* Returns raw partitioning expression + expr_type + columns */
@@ -1732,9 +1726,9 @@ build_partitioning_expression(Oid parent_relid,
17321726
17331727if (columns )
17341728{
1735- extract_column_names_cxt context = { NIL };
1736- extract_column_names ( expr , & context );
1737- * columns = context . columns ;
1729+ /* Column list should be empty */
1730+ Assert ( * columns == NIL );
1731+ extract_column_names ( expr , columns ) ;
17381732}
17391733
17401734return expr ;