Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
postgres-lambda-diff
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Jakob Huber
postgres-lambda-diff
Commits
fc32c709
Commit
fc32c709
authored
25 years ago
by
Thomas G. Lockhart
Browse files
Options
Downloads
Patches
Plain Diff
Minor repairs of markup.
parent
b8c3226d
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/src/sgml/dfunc.sgml
+15
-7
15 additions, 7 deletions
doc/src/sgml/dfunc.sgml
with
15 additions
and
7 deletions
doc/src/sgml/dfunc.sgml
+
15
−
7
View file @
fc32c709
<chapter id="dfunc">
<chapter id="dfunc">
<title id="dfunc-title">Linking Dynamically-Loaded Functions</title>
<title id="dfunc-title">Linking Dynamically-Loaded Functions</title>
<para>
<!--
<!--
.SH "Compiling Dynamically-Loaded C Functions"
.SH "Compiling Dynamically-Loaded C Functions"
.PP
.PP
...
@@ -100,19 +102,23 @@ You should look at the Postgres User's Manual for an explanation of this
...
@@ -100,19 +102,23 @@ You should look at the Postgres User's Manual for an explanation of this
procedure.
procedure.
-->
-->
<para>
After you have created and registered a user-defined
After you have created and registered a user-defined
function, your work is essentially done. <productname>Postgres</productname>,
function, your work is essentially done.
however, must load the object code (e.g., a <filename>.o</filename> file, or
<productname>Postgres</productname>,
however, must load the object code
(e.g., a <literal>.o</literal> file, or
a shared library) that implements your function. As
a shared library) that implements your function. As
previously mentioned, <productname>Postgres</productname> loads your code at
previously mentioned, <productname>Postgres</productname>
loads your code at
runtime, as required. In order to allow your code to be
runtime, as required. In order to allow your code to be
dynamically loaded, you may have to compile and
dynamically loaded, you may have to compile and
link-edit it in a special way. This section briefly
link-edit it in a special way. This section briefly
describes how to perform the compilation and
describes how to perform the compilation and
link-editing required before you can load your user-defined
link-editing required before you can load your user-defined
functions into a running <productname>Postgres</productname> server. Note that
functions into a running <productname>Postgres</productname> server.
Note that
this process has changed as of Version 4.2.
this process has changed as of Version 4.2.
</para>
<!--
<!--
<tip>
<tip>
...
@@ -123,7 +129,8 @@ procedure.
...
@@ -123,7 +129,8 @@ procedure.
and alignment of executable instructions within memory, etc.
and alignment of executable instructions within memory, etc.
on the part of the person writing the dynamic loader. Such
on the part of the person writing the dynamic loader. Such
loaders tended to be slow and buggy. As of Version 4.2, the
loaders tended to be slow and buggy. As of Version 4.2, the
<productname>Postgres</productname> dynamic loading mechanism has been rewritten to use
<productname>Postgres</productname> dynamic loading mechanism
has been rewritten to use
the dynamic loading mechanism provided by the operating
the dynamic loading mechanism provided by the operating
system. This approach is generally faster, more reliable and
system. This approach is generally faster, more reliable and
more portable than our previous dynamic loading mechanism.
more portable than our previous dynamic loading mechanism.
...
@@ -131,7 +138,8 @@ procedure.
...
@@ -131,7 +138,8 @@ procedure.
Unix use a dynamic loading mechanism to implement shared
Unix use a dynamic loading mechanism to implement shared
libraries and must therefore provide a fast and reliable
libraries and must therefore provide a fast and reliable
mechanism. On the other hand, the object file must be
mechanism. On the other hand, the object file must be
postprocessed a bit before it can be loaded into <productname>Postgres</productname>. We
postprocessed a bit before it can be loaded into
<productname>Postgres</productname>. We
hope that the large increase in speed and reliability will
hope that the large increase in speed and reliability will
make up for the slight decrease in convenience.
make up for the slight decrease in convenience.
</para>
</para>
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment