@@ -1095,6 +1095,32 @@ copy_foreign_keys(Oid parent_relid, Oid partition_oid)
10951095 * -----------------------------
10961096 */
10971097
1098+ /* Drop pg_pathman's check constraint by 'relid' and 'attnum' */
1099+ void
1100+ drop_check_constraint (Oid relid ,AttrNumber attnum )
1101+ {
1102+ char * constr_name ;
1103+ AlterTableStmt * stmt ;
1104+ AlterTableCmd * cmd ;
1105+
1106+ /* Build a correct name for this constraint */
1107+ constr_name = build_check_constraint_name_relid_internal (relid ,attnum );
1108+
1109+ stmt = makeNode (AlterTableStmt );
1110+ stmt -> relation = makeRangeVarFromRelid (relid );
1111+ stmt -> relkind = OBJECT_TABLE ;
1112+
1113+ cmd = makeNode (AlterTableCmd );
1114+ cmd -> subtype = AT_DropConstraint ;
1115+ cmd -> name = constr_name ;
1116+ cmd -> behavior = DROP_RESTRICT ;
1117+ cmd -> missing_ok = true;
1118+
1119+ stmt -> cmds = list_make1 (cmd );
1120+
1121+ AlterTable (relid ,ShareUpdateExclusiveLock ,stmt );
1122+ }
1123+
10981124/* Build RANGE check constraint expression tree */
10991125Node *
11001126build_raw_range_check_tree (char * attname ,
@@ -1383,31 +1409,6 @@ make_int_value_struct(int int_val)
13831409return val ;
13841410}
13851411
1386- void
1387- drop_check_constraint (Oid relid ,AttrNumber attnum )
1388- {
1389- char * constr_name ;
1390- AlterTableStmt * stmt ;
1391- AlterTableCmd * cmd ;
1392-
1393- /* Build a correct name for this constraint */
1394- constr_name = build_check_constraint_name_relid_internal (relid ,attnum );
1395-
1396- stmt = makeNode (AlterTableStmt );
1397- stmt -> relation = makeRangeVarFromRelid (relid );
1398- stmt -> relkind = OBJECT_TABLE ;
1399-
1400- cmd = makeNode (AlterTableCmd );
1401- cmd -> subtype = AT_DropConstraint ;
1402- cmd -> name = constr_name ;
1403- cmd -> behavior = DROP_RESTRICT ;
1404- cmd -> missing_ok = true;
1405-
1406- stmt -> cmds = list_make1 (cmd );
1407-
1408- AlterTable (relid ,ShareUpdateExclusiveLock ,stmt );
1409- }
1410-
14111412static RangeVar *
14121413makeRangeVarFromRelid (Oid relid )
14131414{