@@ -50,6 +50,11 @@ static char *pg_partman_bgw_analyze = "on";
5050static char * pg_partman_bgw_jobmon = "on" ;
5151static char * pg_partman_bgw_dbname = NULL ;
5252
53+ #if (PG_VERSION_NUM < 100500 )
54+ static bool (* split_function_ptr )(char * , char , List * * ) = & SplitIdentifierString ;
55+ #else
56+ static bool (* split_function_ptr )(char * , char , List * * ) = & SplitGUCList ;
57+ #endif
5358
5459/*
5560 * Signal handler for SIGTERM
@@ -246,7 +251,7 @@ void pg_partman_bgw_main(Datum main_arg) {
246251 if (pg_partman_bgw_dbname != NULL ) {
247252 rawstring = pstrdup (pg_partman_bgw_dbname );
248253 // Parse string into list of identifiers
249- if (!SplitIdentifierString (rawstring , ',' , & elemlist )) {
254+ if (!( * split_function_ptr ) (rawstring , ',' , & elemlist )) {
250255 // syntax error in list
251256 pfree (rawstring );
252257 list_free (elemlist );
@@ -377,7 +382,7 @@ void pg_partman_bgw_run_maint(Datum arg) {
377382 rawstring = pstrdup (pg_partman_bgw_dbname );
378383 elog (DEBUG1 , "GUC rawstring copy: %s" , rawstring );
379384 // Parse string into list of identifiers
380- if (!SplitIdentifierString (rawstring , ',' , & elemlist )) {
385+ if (!( * split_function_ptr ) (rawstring , ',' , & elemlist )) {
381386 // syntax error in list
382387 pfree (rawstring );
383388 list_free (elemlist );
0 commit comments