@@ -530,36 +530,37 @@ BEGIN
530530 DELETE FROM @extschema@.pathman_config_params WHERE partrel = parent_relid;
531531
532532 IF conf_num_del = 0 THEN
533- RAISE EXCEPTION ' relation "%" has no partitions' , parent_relid::text ;
533+ RAISE EXCEPTION ' relation "%" has no partitions' , parent_relid::TEXT ;
534534 END IF;
535535
536- FOR v_rec IN (SELECT inhrelid::regclass:: text AS tbl
536+ FOR v_rec IN (SELECT inhrelid::REGCLASS AS tbl
537537 FROM pg_catalog .pg_inherits
538538 WHERE inhparent::regclass = parent_relid)
539539 LOOP
540540 IF NOT delete_data THEN
541541 EXECUTE format(' WITH part_data AS (DELETE FROM %s RETURNING *)
542542 INSERT INTO %s SELECT * FROM part_data' ,
543- v_rec .tbl ,
543+ v_rec .tbl :: TEXT ,
544544 parent_relid::text );
545545 GET DIAGNOSTICS v_rows = ROW_COUNT;
546546
547547 /* Show number of copied rows */
548- RAISE NOTICE ' % rows copied from %' , v_rows, v_rec .tbl ;
548+ RAISE NOTICE ' % rows copied from %' , v_rows, v_rec .tbl :: TEXT ;
549549 END IF;
550550
551+ SELECT relkind FROM pg_catalog .pg_class
552+ WHERE oid = v_rec .tbl
553+ INTO v_relkind;
554+
551555 /*
552556 * Determine the kind of child relation. It can be either regular
553557 * table (r) or foreign table (f). Depending on relkind we use
554- * DROP TABLE or DROP FOREIGN TABLE
558+ * DROP TABLE or DROP FOREIGN TABLE.
555559 */
556- EXECUTE format(' SELECT relkind FROM pg_class WHERE oid = ' ' %s' ' ::regclass' , v_rec .tbl )
557- INTO v_relkind;
558-
559560 IF v_relkind = ' f' THEN
560- EXECUTE format(' DROP FOREIGN TABLE %s' , v_rec .tbl );
561+ EXECUTE format(' DROP FOREIGN TABLE %s' , v_rec .tbl :: TEXT );
561562 ELSE
562- EXECUTE format(' DROP TABLE %s' , v_rec .tbl );
563+ EXECUTE format(' DROP TABLE %s' , v_rec .tbl :: TEXT );
563564 END IF;
564565
565566 v_part_count := v_part_count + 1 ;
0 commit comments