Thread: pgsql: Add a feature for automatic initialization and finalization of
pgsql: Add a feature for automatic initialization and finalization of
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- Add a feature for automatic initialization and finalization of dynamically loaded libraries: call functions _PG_init() and _PG_fini() if the library defines such symbols. Hence we no longer need to specify an initialization function in preload_libraries: we can assume that the library used the _PG_init() convention, instead. This removes one source of pilot error in use of preloaded libraries. Original patch by Ralf Engelschall, preload_libraries changes by me. Modified Files: -------------- pgsql/doc/src/sgml: config.sgml (r1.72 -> r1.73) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/config.sgml.diff?r1=1.72&r2=1.73) xfunc.sgml (r1.115 -> r1.116) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/xfunc.sgml.diff?r1=1.115&r2=1.116) pgsql/src/backend/postmaster: postmaster.c (r1.497 -> r1.498) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/postmaster.c.diff?r1=1.497&r2=1.498) pgsql/src/backend/utils/fmgr: dfmgr.c (r1.86 -> r1.87) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/dfmgr.c.diff?r1=1.86&r2=1.87) pgsql/src/backend/utils/init: miscinit.c (r1.155 -> r1.156) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/init/miscinit.c.diff?r1=1.155&r2=1.156) pgsql/src/include: miscadmin.h (r1.186 -> r1.187) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/miscadmin.h.diff?r1=1.186&r2=1.187) pgsql/src/include/postmaster: postmaster.h (r1.13 -> r1.14) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/postmaster/postmaster.h.diff?r1=1.13&r2=1.14) pgsql/src/pl/plperl: plperl.c (r1.112 -> r1.113) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plperl.c.diff?r1=1.112&r2=1.113) pgsql/src/pl/plpgsql/src: pl_handler.c (r1.29 -> r1.30) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_handler.c.diff?r1=1.29&r2=1.30) plpgsql.h (r1.77 -> r1.78) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h.diff?r1=1.77&r2=1.78) pgsql/src/pl/plpython: plpython.c (r1.84 -> r1.85) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpython/plpython.c.diff?r1=1.84&r2=1.85) pgsql/src/pl/tcl: pltcl.c (r1.105 -> r1.106) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/tcl/pltcl.c.diff?r1=1.105&r2=1.106)
Suppose, we could use this feature in contrib/ only for 8.3? :) Tom Lane wrote: > Log Message: > ----------- > Add a feature for automatic initialization and finalization of dynamically > loaded libraries: call functions _PG_init() and _PG_fini() if the library > defines such symbols. Hence we no longer need to specify an initialization > function in preload_libraries: we can assume that the library used the > _PG_init() convention, instead. This removes one source of pilot error > in use of preloaded libraries. Original patch by Ralf Engelschall, > preload_libraries changes by me. > > Modified Files: > -------------- > pgsql/doc/src/sgml: > config.sgml (r1.72 -> r1.73) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/config.sgml.diff?r1=1.72&r2=1.73) > xfunc.sgml (r1.115 -> r1.116) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/xfunc.sgml.diff?r1=1.115&r2=1.116) > pgsql/src/backend/postmaster: > postmaster.c (r1.497 -> r1.498) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/postmaster.c.diff?r1=1.497&r2=1.498) > pgsql/src/backend/utils/fmgr: > dfmgr.c (r1.86 -> r1.87) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/dfmgr.c.diff?r1=1.86&r2=1.87) > pgsql/src/backend/utils/init: > miscinit.c (r1.155 -> r1.156) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/init/miscinit.c.diff?r1=1.155&r2=1.156) > pgsql/src/include: > miscadmin.h (r1.186 -> r1.187) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/miscadmin.h.diff?r1=1.186&r2=1.187) > pgsql/src/include/postmaster: > postmaster.h (r1.13 -> r1.14) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/postmaster/postmaster.h.diff?r1=1.13&r2=1.14) > pgsql/src/pl/plperl: > plperl.c (r1.112 -> r1.113) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plperl.c.diff?r1=1.112&r2=1.113) > pgsql/src/pl/plpgsql/src: > pl_handler.c (r1.29 -> r1.30) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_handler.c.diff?r1=1.29&r2=1.30) > plpgsql.h (r1.77 -> r1.78) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h.diff?r1=1.77&r2=1.78) > pgsql/src/pl/plpython: > plpython.c (r1.84 -> r1.85) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpython/plpython.c.diff?r1=1.84&r2=1.85) > pgsql/src/pl/tcl: > pltcl.c (r1.105 -> r1.106) > (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/tcl/pltcl.c.diff?r1=1.105&r2=1.106) > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq -- Teodor Sigaev E-mail: teodor@sigaev.ru WWW: http://www.sigaev.ru/
Teodor Sigaev <teodor@sigaev.ru> writes: > Suppose, we could use this feature in contrib/ only for 8.3? :) It's there for 8.2, if you have any bug-fix-grade changes that are worth making. I modified the standard PLs to use this functionality, but I did not look into contrib ... regards, tom lane