Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
8394e472
Commit
8394e472
authored
Oct 26, 2001
by
Tom Lane
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More cleanup of CREATE FUNCTION examples.
parent
8dcf998d
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
45 additions
and
39 deletions
+45
-39
doc/src/sgml/ref/create_function.sgml
doc/src/sgml/ref/create_function.sgml
+9
-5
doc/src/sgml/ref/create_language.sgml
doc/src/sgml/ref/create_language.sgml
+5
-5
doc/src/sgml/ref/createlang.sgml
doc/src/sgml/ref/createlang.sgml
+6
-4
doc/src/sgml/ref/drop_language.sgml
doc/src/sgml/ref/drop_language.sgml
+2
-4
doc/src/sgml/xfunc.sgml
doc/src/sgml/xfunc.sgml
+8
-8
doc/src/sgml/xindex.sgml
doc/src/sgml/xindex.sgml
+8
-6
doc/src/sgml/xoper.sgml
doc/src/sgml/xoper.sgml
+3
-3
doc/src/sgml/xtypes.sgml
doc/src/sgml/xtypes.sgml
+4
-4
No files found.
doc/src/sgml/ref/create_function.sgml
View file @
8394e472
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.2
7 2001/10/02 21:39:35
tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_function.sgml,v 1.2
8 2001/10/26 21:17:03
tgl Exp $
-->
<refentry id="SQL-CREATEFUNCTION">
...
...
@@ -295,14 +295,16 @@ SELECT one() AS answer;
<para>
The next example creates a C function by calling a routine from a
user-created shared library. This particular routine calculates a
check digit and returns TRUE if the check digit in the function
user-created shared library named <filename>funcs.so</> (the extension
may vary across platforms). The shared library file is sought in the
server's dynamic library search path. This particular routine calculates
a check digit and returns TRUE if the check digit in the function
parameters is correct. It is intended for use in a CHECK
constraint.
<programlisting>
CREATE FUNCTION ean_checkdigit(char, char) RETURNS boolean
AS '
/usr1/proj/bray/sql/funcs.so
' LANGUAGE C;
AS '
funcs
' LANGUAGE C;
CREATE TABLE product (
id char(8) PRIMARY KEY,
...
...
@@ -318,7 +320,9 @@ CREATE TABLE product (
This example creates a function that does type conversion between the
user-defined type complex, and the internal type point. The
function is implemented by a dynamically loaded object that was
compiled from C source. For <productname>PostgreSQL</productname> to
compiled from C source (we illustrate the now-deprecated alternative
of specifying the exact pathname to the shared object file).
For <productname>PostgreSQL</productname> to
find a type conversion function automatically, the SQL function has
to have the same name as the return type, and so overloading is
unavoidable. The function name is overloaded by using the second
...
...
doc/src/sgml/ref/create_language.sgml
View file @
8394e472
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_language.sgml,v 1.1
7 2001/09/06 10:28:39 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_language.sgml,v 1.1
8 2001/10/26 21:17:03 tgl
Exp $
Postgres documentation
-->
...
...
@@ -171,7 +171,7 @@ ERROR: PL handler function <replaceable class="parameter">funcname</replaceable
This command normally should not be executed directly by users.
For the procedural languages supplied in the
<productname>PostgreSQL</productname> distribution, the <xref
linkend="app-createlang">
program
should be used, which will also
linkend="app-createlang">
script
should be used, which will also
install the correct call handler. (<command>createlang</command>
will call <command>CREATE LANGUAGE</command> internally.)
</para>
...
...
@@ -183,7 +183,7 @@ ERROR: PL handler function <replaceable class="parameter">funcname</replaceable
<para>
Use <xref linkend="sql-droplanguage">, or better yet the <xref
linkend="app-droplang">
program
, to drop procedural languages.
linkend="app-droplang">
script
, to drop procedural languages.
</para>
<para>
...
...
@@ -210,7 +210,7 @@ ERROR: PL handler function <replaceable class="parameter">funcname</replaceable
<para>
At present, the definition of a procedural language cannot be
changed once i
s
has been created.
changed once i
t
has been created.
</para>
</refsect1>
...
...
@@ -222,7 +222,7 @@ ERROR: PL handler function <replaceable class="parameter">funcname</replaceable
procedural language and the associated call handler.
<programlisting>
CREATE FUNCTION plsample_call_handler () RETURNS opaque
AS '
/usr/local/pgsql/lib/plsample.so
'
AS '
$libdir/plsample
'
LANGUAGE C;
CREATE LANGUAGE plsample
HANDLER plsample_call_handler;
...
...
doc/src/sgml/ref/createlang.sgml
View file @
8394e472
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.1
8 2001/10/22 23:48:11
tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.1
9 2001/10/26 21:17:03
tgl Exp $
Postgres documentation
-->
...
...
@@ -44,7 +44,8 @@ Postgres documentation
<term><replaceable class="parameter">langname</replaceable></term>
<listitem>
<para>
Specifies the name of the backend programming language to be defined.
Specifies the name of the procedural programming language to be
defined.
<application>createlang</application> will prompt for
<replaceable class="parameter">langname</replaceable>
if it is not specified on the command line.
...
...
@@ -56,7 +57,7 @@ Postgres documentation
<term>-d, --dbname <replaceable class="parameter">dbname</replaceable></term>
<listitem>
<para>
Specifies which database the language should be added.
Specifies
to
which database the language should be added.
</para>
</listitem>
</varlistentry>
...
...
@@ -85,7 +86,8 @@ Postgres documentation
<listitem>
<para>
Specifies the directory in which the language interpreter is
to be found. This is normally found automatically.
to be found. Use of this option is deprecated; the directory
is normally found automatically.
</para>
</listitem>
</varlistentry>
...
...
doc/src/sgml/ref/drop_language.sgml
View file @
8394e472
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_language.sgml,v 1.1
1 2001/09/03 12:57:49 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_language.sgml,v 1.1
2 2001/10/26 21:17:03 tgl
Exp $
Postgres documentation
-->
<refentry id="SQL-DROPLANGUAGE">
<refmeta>
<refentrytitle id="SQL-DROPLANGUAGE-TITLE">
DROP LANGUAGE
</refentrytitle>
<refentrytitle id="SQL-DROPLANGUAGE-TITLE">DROP LANGUAGE</refentrytitle>
<refmiscinfo>SQL - Language Statements</refmiscinfo>
</refmeta>
<refnamediv>
...
...
doc/src/sgml/xfunc.sgml
View file @
8394e472
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.
39 2001/10/26 19:58:12
tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/xfunc.sgml,v 1.
40 2001/10/26 21:17:03
tgl Exp $
-->
<chapter id="xfunc">
...
...
@@ -1054,25 +1054,25 @@ concat_text(text *arg1, text *arg2)
<programlisting>
CREATE FUNCTION add_one(int4) RETURNS int4
AS '<replaceable>PGROOT</replaceable>/tutorial/funcs' LANGUAGE
'c'
AS '<replaceable>PGROOT</replaceable>/tutorial/funcs' LANGUAGE
C
WITH (isStrict);
-- note overloading of SQL function name add_one()
CREATE FUNCTION add_one(float8) RETURNS float8
AS '<replaceable>PGROOT</replaceable>/tutorial/funcs',
'add_one_float8'
LANGUAGE
'c'
WITH (isStrict);
LANGUAGE
C
WITH (isStrict);
CREATE FUNCTION makepoint(point, point) RETURNS point
AS '<replaceable>PGROOT</replaceable>/tutorial/funcs' LANGUAGE
'c'
AS '<replaceable>PGROOT</replaceable>/tutorial/funcs' LANGUAGE
C
WITH (isStrict);
CREATE FUNCTION copytext(text) RETURNS text
AS '<replaceable>PGROOT</replaceable>/tutorial/funcs' LANGUAGE
'c'
AS '<replaceable>PGROOT</replaceable>/tutorial/funcs' LANGUAGE
C
WITH (isStrict);
CREATE FUNCTION concat_text(text, text) RETURNS text
AS '<replaceable>PGROOT</replaceable>/tutorial/funcs' LANGUAGE
'c'
AS '<replaceable>PGROOT</replaceable>/tutorial/funcs' LANGUAGE
C
WITH (isStrict);
</programlisting>
</para>
...
...
@@ -1358,8 +1358,8 @@ c_overpaid(PG_FUNCTION_ARGS)
<programlisting>
CREATE FUNCTION c_overpaid(emp, int4)
RETURNS bool
AS '<replaceable>PGROOT</replaceable>/tutorial/
obj/
funcs'
LANGUAGE
'c'
;
AS '<replaceable>PGROOT</replaceable>/tutorial/funcs'
LANGUAGE
C
;
</programlisting>
</para>
...
...
doc/src/sgml/xindex.sgml
View file @
8394e472
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/xindex.sgml,v 1.
19 2001/09/13 15:55:23 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/xindex.sgml,v 1.
20 2001/10/26 21:17:03 tgl
Exp $
Postgres documentation
-->
...
...
@@ -313,7 +313,9 @@ SELECT oid, *
<para>
Suppose the code that implements these functions
is stored in the file
<filename>PGROOT/src/tutorial/complex.c</filename>.
<replaceable>PGROOT</replaceable><filename>/tutorial/complex.c</filename>,
which we have compiled into
<replaceable>PGROOT</replaceable><filename>/tutorial/complex.so</filename>.
</para>
<para>
...
...
@@ -339,8 +341,8 @@ SELECT oid, *
<programlisting>
CREATE FUNCTION complex_abs_eq(complex, complex)
RETURNS bool
AS '
PGROOT/tutorial/obj/complex.so
'
LANGUAGE
'c'
;
AS '
<replaceable>PGROOT</replaceable>/tutorial/complex
'
LANGUAGE
C
;
</programlisting>
</para>
...
...
@@ -489,8 +491,8 @@ CREATE OPERATOR = (
<programlisting>
CREATE FUNCTION complex_abs_cmp(complex, complex)
RETURNS int4
AS '
PGROOT/tutorial/obj/complex.so
'
LANGUAGE
'c'
;
AS '
<replaceable>PGROOT</replaceable>/tutorial/complex
'
LANGUAGE
C
;
SELECT oid, proname FROM pg_proc
WHERE proname = 'complex_abs_cmp';
...
...
doc/src/sgml/xoper.sgml
View file @
8394e472
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/xoper.sgml,v 1.1
4 2001/09/13 15:55:23 petere
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/xoper.sgml,v 1.1
5 2001/10/26 21:17:03 tgl
Exp $
-->
<Chapter Id="xoper">
...
...
@@ -38,8 +38,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/xoper.sgml,v 1.14 2001/09/13 15:55:23 peter
<ProgramListing>
CREATE FUNCTION complex_add(complex, complex)
RETURNS complex
AS '
$PWD/obj/complex.so
'
LANGUAGE
'c'
;
AS '
<replaceable>PGROOT</replaceable>/tutorial/complex
'
LANGUAGE
C
;
CREATE OPERATOR + (
leftarg = complex,
...
...
doc/src/sgml/xtypes.sgml
View file @
8394e472
...
...
@@ -110,13 +110,13 @@ complex_out(Complex *complex)
<programlisting>
CREATE FUNCTION complex_in(opaque)
RETURNS complex
AS '
PGROOT/tutorial/obj/complex.so
'
LANGUAGE
'c'
;
AS '
<replaceable>PGROOT</replaceable>/tutorial/complex
'
LANGUAGE
C
;
CREATE FUNCTION complex_out(opaque)
RETURNS opaque
AS '
PGROOT/tutorial/obj/complex.so
'
LANGUAGE
'c'
;
AS '
<replaceable>PGROOT</replaceable>/tutorial/complex
'
LANGUAGE
C
;
CREATE TYPE complex (
internallength = 16,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment