@@ -1764,40 +1764,41 @@ static char*
1764
1764
expand_shared_preload_libraries_string ()
1765
1765
{
1766
1766
List * elemlist = NIL ;
1767
+ List * pg_elemlist = NIL ;
1767
1768
List * deduplicate_elemlist = NIL ;
1768
1769
ListCell * l ;
1769
1770
char * rawstring ;
1770
1771
char * libraries = shared_preload_libraries_string ;
1771
1772
1773
+ /* load process_shared_preload_libraries.h libraries */
1774
+ int shared_preload_libraries_num = sizeof (process_shared_preload_libraries_array ) / sizeof (char * );
1775
+ if (shared_preload_libraries_num > 0 )
1776
+ {
1777
+ for (int i = 0 ; i < shared_preload_libraries_num ; i ++ )
1778
+ {
1779
+ elemlist = lappend (elemlist , pstrdup ((char * )process_shared_preload_libraries_array [i ]));
1780
+ }
1781
+ }
1782
+
1772
1783
/* Need a modifiable copy of string */
1773
1784
rawstring = pstrdup (libraries );
1774
1785
if (libraries != NULL && libraries [0 ] != '\0' )
1775
1786
{
1776
1787
/* Parse string into list of filename paths */
1777
- if (!SplitDirectoriesString (rawstring , ',' , & elemlist ))
1788
+ if (!SplitDirectoriesString (rawstring , ',' , & pg_elemlist ))
1778
1789
{
1779
1790
/* syntax error in list */
1780
- list_free_deep (elemlist );
1791
+ list_free_deep (pg_elemlist );
1781
1792
pfree (rawstring );
1782
1793
ereport (LOG ,
1783
1794
(errcode (ERRCODE_SYNTAX_ERROR ),
1784
1795
errmsg ("invalid list syntax in parameter \"%s\"" ,
1785
1796
libraries )));
1786
1797
return NULL ;
1787
1798
}
1788
-
1789
1799
}
1790
1800
1791
- /* load expand libraries */
1792
- int shared_preload_libraries_num = sizeof (process_shared_preload_libraries_array ) / sizeof (char * );
1793
- if (shared_preload_libraries_num > 0 )
1794
- {
1795
- for (int i = 0 ; i < shared_preload_libraries_num ; i ++ )
1796
- {
1797
- elemlist = lappend (elemlist , pstrdup ((char * )process_shared_preload_libraries_array [i ]));
1798
- }
1799
-
1800
- }
1801
+ elemlist = list_concat (elemlist , pg_elemlist );
1801
1802
1802
1803
if (list_length (elemlist ) == 0 )
1803
1804
{
@@ -1806,7 +1807,6 @@ expand_shared_preload_libraries_string()
1806
1807
return NULL ;
1807
1808
}
1808
1809
1809
-
1810
1810
/* deduplicate list string */
1811
1811
deduplicate_elemlist = removeDuplicates (elemlist );
1812
1812
0 commit comments