Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1732cb0

Browse files
committed
plperl update from Andrew Dunstan, deriving (I believe) from Command Prompt's
plperlNG. Review and minor cleanup/improvements by Joe Conway.Summary of new functionality:- Shared data space and namespace. There is a new global variable %_SHARED that functions can use to store and save data between invocations of a function, or between different functions. Also, all trusted plperl function now share a common Safe container (this is an optimization, also), which they can use for storing non-lexical variables, functions, etc.- Triggers are now supported- Records can now be returned (as a hash reference)- Sets of records can now be returned (as a reference to an array of hash references).- New function spi_exec_query() provided for performing db functions or getting data from db.- Optimization for counting hash keys (Abhijit Menon-Sen)- Allow return of 'record' and 'setof record'
1 parentb6197fe commit1732cb0

File tree

7 files changed

+842
-99
lines changed

7 files changed

+842
-99
lines changed

‎src/pl/plperl/GNUmakefile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Makefile for PL/Perl
2-
# $PostgreSQL: pgsql/src/pl/plperl/GNUmakefile,v 1.12 2004/01/21 19:04:11 tgl Exp $
2+
# $PostgreSQL: pgsql/src/pl/plperl/GNUmakefile,v 1.13 2004/07/01 20:50:22 joe Exp $
33

44
subdir = src/pl/plperl
55
top_builddir = ../../..
@@ -25,8 +25,13 @@ NAME = plperl
2525
SO_MAJOR_VERSION = 0
2626
SO_MINOR_VERSION = 0
2727

28-
OBJS = plperl.o eloglvl.o SPI.o
28+
OBJS = plperl.o spi_internal.o SPI.o
29+
30+
ifeq ($(enable_rpath), yes)
31+
SHLIB_LINK =$(perl_embed_ldflags)$(BE_DLLLIBS) -Wl,-rpath,$(perl_archlibexp)/CORE
32+
else
2933
SHLIB_LINK =$(perl_embed_ldflags)$(BE_DLLLIBS)
34+
endif
3035

3136
include$(top_srcdir)/src/Makefile.shlib
3237

‎src/pl/plperl/SPI.xs

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,51 @@
66
#include"perl.h"
77
#include"XSUB.h"
88

9-
#include"eloglvl.h"
9+
#include"spi_internal.h"
1010

1111

1212

13-
MODULE=SPIPREFIX=elog_
13+
MODULE=SPIPREFIX=spi_
1414

1515
PROTOTYPES:ENABLE
1616
VERSIONCHECK:DISABLE
1717

1818
void
19-
elog_elog(level,message)
19+
spi_elog(level,message)
2020
intlevel
2121
char*message
2222
CODE:
2323
elog(level,message);
2424

2525

2626
int
27-
elog_DEBUG()
27+
spi_DEBUG()
2828

2929
int
30-
elog_LOG()
30+
spi_LOG()
3131

3232
int
33-
elog_INFO()
33+
spi_INFO()
3434

3535
int
36-
elog_NOTICE()
36+
spi_NOTICE()
3737

3838
int
39-
elog_WARNING()
39+
spi_WARNING()
4040

4141
int
42-
elog_ERROR()
43-
44-
42+
spi_ERROR()
43+
44+
SV*
45+
spi_spi_exec_query(query, ...)
46+
char*query;
47+
PREINIT:
48+
HV*ret_hash;
49+
intlimit=0;
50+
CODE:
51+
if (items>2)Perl_croak(aTHX_"Usage: spi_exec_query(query, limit) or spi_exec_query(query)");
52+
if (items==2)limit=SvIV(ST(1));
53+
ret_hash=plperl_spi_exec(query,limit);
54+
RETVAL=newRV_noinc((SV*)ret_hash);
55+
OUTPUT:
56+
RETVAL

‎src/pl/plperl/eloglvl.c

Lines changed: 0 additions & 45 deletions
This file was deleted.

‎src/pl/plperl/eloglvl.h

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp