Commit Graph

58 Commits

Author SHA1 Message Date
Tom Lane
e4186762ff Adjust nodeFunctionscan.c to reset transient memory context between calls
to the table function, thus preventing memory leakage accumulation across
calls.  This means that SRFs need to be careful to distinguish permanent
and local storage; adjust code and documentation accordingly.  Patch by
Joe Conway, very minor tweaks by Tom Lane.
2002-08-29 17:14:33 +00:00
Tom Lane
64505ed58b Code review for standalone composite types, query-specified composite
types, SRFs.  Not happy with memory management yet, but I'll commit these
other changes.
2002-08-29 00:17:06 +00:00
Tom Lane
a2a3192802 Further cleanup around the edges of OPAQUE/pseudotype changes. Correct
the declarations of some index access method support functions.  Support
SQL functions returning VOID.
2002-08-23 16:41:38 +00:00
Tom Lane
b663f3443b Add a bunch of pseudo-types to replace the behavior formerly associated
with OPAQUE, as per recent pghackers discussion.  I still want to do some
more work on the 'cstring' pseudo-type, but I'm going to commit the bulk
of the changes now before the tree starts shifting under me ...
2002-08-22 00:01:51 +00:00
Bruce Momjian
23a8b77d42 Here are two patches. The guc_and_tablefunc patch addresses the two
changes mentioned above, and also adds a new function to the tablefunc
API. The tablefunc API change adds the following function:

* Oid foidGetTypeId(Oid foid) - Get a function's typeid given the
* function Oid. Use this together with TypeGetTupleDesc() to get a
* TupleDesc which is derived from the function's declared return type.

In the next post I'll send the contrib/tablefunc patch, which
illustrates the usage of this new function. Also attached is a doc patch
for this change. The doc patch also adds a function that I failed to
document previously.

Joe Conway
2002-07-30 16:20:03 +00:00
Bruce Momjian
5a5e46ea7e Here (finally ;-)) is a doc patch covering the Table Function C API. It
reflects the changes in the tablefunc-fix patch that I sent in the other
day. It also refers to "see contrib/tablefunc for more examples", which
is next on my list of things to finish and submit.

Joe Conway
2002-07-18 04:47:17 +00:00
Bruce Momjian
b2e7a4c4a0 > Here's the first doc patch for SRFs. The patch covers general
> information and SQL language specific info wrt SRFs. I've taken to
> calling this feature "Table Fuctions" to be consistent with (at least)
> one well known RDBMS.

Joe Conway
2002-06-20 16:57:00 +00:00
Peter Eisentraut
b6ea172ace Spell checking and markup additions 2002-03-22 19:20:45 +00:00
Tom Lane
95ef6a3448 First phase of SCHEMA changes, concentrating on fixing the grammar and
the parsetree representation.  As yet we don't *do* anything with schema
names, just drop 'em on the floor; but you can enter schema-compatible
command syntax, and there's even a primitive CREATE SCHEMA command.
No doc updates yet, except to note that you can now extract a field
from a function-returning-row's result with (foo(...)).fieldname.
2002-03-21 16:02:16 +00:00
Peter Eisentraut
d0d3ab5325 Fix markup 2002-03-11 05:03:52 +00:00
Bruce Momjian
03194432de I attach a version of my toast-slicing patch, against current CVS
(current as of a few hours ago.)

This patch:

1. Adds PG_GETARG_xxx_P_SLICE() macros and associated support routines.

2. Adds routines in src/backend/access/tuptoaster.c for fetching only
necessary chunks of a toasted value. (Modelled on latest changes to
assume chunks are returned in order).

3. Amends text_substr and bytea_substr to use new methods. It now
handles multibyte cases -and should still lead to a performance
improvement in the multibyte case where the substring is near the
beginning of the string.

4. Added new command: ALTER TABLE tabname ALTER COLUMN colname SET
STORAGE {PLAIN | EXTERNAL | EXTENDED | MAIN} to parser and documented in
alter-table.sgml. (NB I used ColId as the item type for the storage
mode string, rather than a new production - I hope this makes sense!).
All this does is sets attstorage for the specified column.

4. AlterTableAlterColumnStatistics is now AlterTableAlterColumnFlags and
handles both statistics and storage (it uses the subtype code to
distinguish). The previous version of my patch also re-arranged other
code in backend/commands/command.c but I have dropped that from this
patch.(I plan to return to it separately).

5. Documented new macros (and also the PG_GETARG_xxx_P_COPY macros) in
xfunc.sgml. ref/alter_table.sgml also contains documentation for ALTER
COLUMN SET STORAGE.

John Gray
2002-03-05 05:33:31 +00:00
Peter Eisentraut
bf43bed848 Spell-check and markup police 2002-01-20 22:19:57 +00:00
Peter Eisentraut
731204e090 Editorial review 2002-01-07 02:29:15 +00:00
Thomas G. Lockhart
6c402eafc8 Deprecate 'current' date/time constant.
Purge "Postgres" in favor of "PostgreSQL" in docs. ref/ not yet done.
2001-11-21 06:09:45 +00:00
Tom Lane
acac465efa utils/geo-decls.h should be utils/geo_decls.h, per report from
StÅphane Raimbault.
2001-11-18 21:28:00 +00:00
Tom Lane
a370cad990 Try to be a little less terse about dealing with variable-length structs
in C, but recommend that newbies who don't recognize this trick should do
some studying ...
2001-11-14 22:14:22 +00:00
Peter Eisentraut
3c879e3738 Add some more index entries. 2001-11-12 19:19:39 +00:00
Tom Lane
d14147de77 Copy-editing. 2001-11-01 04:07:29 +00:00
Tom Lane
8394e4723a More cleanup of CREATE FUNCTION examples. 2001-10-26 21:17:03 +00:00
Tom Lane
62651c0176 Editorial work on xfunc chapter --- better explanations about SQL
functions handling composite types and sets, various minor cleanups.
2001-10-26 19:58:12 +00:00
Peter Eisentraut
264f8f2b6c Install dynamically loadable modules into a private subdirectory
under libdir, for a cleaner separation in the installation layout
and compatibility with binary packaging standards.  Point backend's
default search location there.  The contrib modules are also
installed in the said location, giving them the benefit of the
default search path as well.  No changes in user interface
nevertheless.
2001-09-16 16:11:11 +00:00
Peter Eisentraut
1b506c9661 updates 2001-09-15 19:56:59 +00:00
Peter Eisentraut
351a0c1736 Replace ASCII-quotes with proper markup. 2001-09-13 15:55:24 +00:00
Peter Eisentraut
a457d33516 Markup and spell-check run over Programmer's Guide (rather incomplete still). 2001-09-10 21:58:47 +00:00
Peter Eisentraut
22ae53d4cd Move the "how to write a PL call handler" parts from the CREATE LANGUAGE
man page to the Programmer's Guide.
2001-09-06 10:28:39 +00:00
Peter Eisentraut
f5944af8ba Include directory rearrangement
Client headers are no longer in a subdirectory, since they have been made
namespace-clean.

Internal libpq headers are in a private subdirectory.

Server headers are in a private subdirectory.  pg_config has a new option
to point there.
2001-08-28 14:20:28 +00:00
Peter Eisentraut
cb8b40e6d5 Allow special '$libdir' macro to show up in object file path in CREATE
FUNCTION command.  Guard against trying to load a directory.  Update
documentation some.
2001-05-19 09:01:10 +00:00
Tom Lane
5341cddba8 Further polishing of documentation about new fmgr call convention. 2001-02-15 19:03:35 +00:00
Tom Lane
7e0919136a Minor fixes. 2001-01-22 16:11:17 +00:00
Peter Eisentraut
74bbe8097d Replace some oldish, non-SQL'ish elements with more standard forms. (cast
syntax, type names, function names, etc.)
2001-01-20 20:59:29 +00:00
Peter Eisentraut
027f144e39 Terminology cleanup: class -> table, instance -> row, attribute -> column,
etc.
2001-01-13 23:58:55 +00:00
Peter Eisentraut
a32542a1c0 Update information about compiling extension modules. 2001-01-12 22:15:32 +00:00
Peter Eisentraut
fa1640aea0 Fix some cross reference links. 2000-12-26 00:10:37 +00:00
Peter Eisentraut
1b555ce791 Replace incorrect uses of 'which' with 'that'. (so-called "wicked which") 2000-12-22 18:57:50 +00:00
Peter Eisentraut
b2145e9365 Get rid of the little "v"s in front of version numbers, substituting the
full word "version" where appropriate.
2000-12-21 22:55:27 +00:00
Tom Lane
5bb2300b59 Revise handling of oldstyle/newstyle functions per recent discussions
in pghackers list.  Support for oldstyle internal functions is gone
(no longer needed, since conversion is complete) and pg_language entry
'internal' now implies newstyle call convention.  pg_language entry
'newC' is gone; both old and newstyle dynamically loaded C functions
are now called language 'C'.  A newstyle function must be identified
by an associated info routine.  See src/backend/utils/fmgr/README.
2000-11-20 20:36:57 +00:00
Tom Lane
c82c9559a7 Minor updates/corrections for CREATE/DROP FUNCTION/AGGREGATE/OPERATOR. 2000-10-23 00:46:07 +00:00
Peter Eisentraut
72ad5fe15c Add id' attributes to all chapter' and `sect1' tags, to generate useful
names for the HTML files (e.g., not x4856.htm).
2000-09-29 20:21:34 +00:00
Thomas G. Lockhart
a5da56d320 Fix typos and inconsistancies found by He Weiping
(aka Henry) <laser@zhangmai.com.cn>.
Fix new problems in insert.sgml and create_function.sgml which kept jade
 from completing.
2000-08-25 15:17:50 +00:00
Tom Lane
0813fcbc08 Documentation updates to reflect TOAST and new-style fmgr. 2000-08-24 23:36:29 +00:00
Tom Lane
e67ff6b670 fmgr interface mopup work. Use new DatumGetBool and BoolGetDatum
macros where appropriate (the code used to have several different ways
of doing that, including Int32, Int8, UInt8, ...).  Remove last few
references to float32 and float64 typedefs --- it's all float4/float8
now.  The typedefs themselves should probably stay in c.h for a release
or two, though, to avoid breaking user-written C functions.
2000-08-21 17:22:36 +00:00
Tom Lane
5005bb060b 'CREATE FUNC TION' => 'CREATE FUNCTION'. 2000-05-27 18:18:31 +00:00
Bruce Momjian
c99e851eea Clean up sql functions examples. 2000-05-20 11:24:37 +00:00
Bruce Momjian
f63ba5cd6a Fix WARN->NOTICE in docs. Change libpgeasy connection parameters to use
PQconnectdb() style connections.
2000-05-18 14:24:38 +00:00
Thomas G. Lockhart
45f79cae14 Fixups in content and markup for 7.0 release. 2000-05-02 20:02:03 +00:00
Thomas G. Lockhart
73d8bbc2ac Minor markup changes. Refer to (".../catalog") in the emacs hints. 2000-03-31 03:27:42 +00:00
Tom Lane
21bde57f66 Replace refs to v6.6 with v7.0. 2000-03-30 02:51:12 +00:00
Tom Lane
ac401e06c5 Change oid8/int28 -> oidvector/int2vector. 2000-01-11 01:40:04 +00:00
Thomas G. Lockhart
ab35b0822b Expunge "UNIX" in favor of "Unix".
A few other changes, but I forget what :(
1999-10-04 15:18:54 +00:00
Tom Lane
e23a2b1ea0 Document formerly-undocumented WITH clause of CREATE FUNCTION. 1999-10-02 21:27:49 +00:00