By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
437,660 Members | 1,230 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 437,660 IT Pros & Developers. It's quick & easy.

plpythonu AKA am I crazy? or....

P: n/a
When I create a function with an argument or return type of say an
integer the data type seems to be passed properly. When trying for
instance to send or return an integer array it always seems to be passed
as a string which is very nearly useless. Is there something I am doing
wrong... or failing that is there just a better way to pass arrays?

is this a quality of any embedded language or perhaps plpython in
particular?
VERSION = 'PostgreSQL 7.4.1 on i386-portbld-freebsd5.1...

example follows:
CREATE OR REPLACE FUNCTION zippy(int) RETURNS int AS '
from types import *
plpy.notice(type(args[0]))
return args[0]
' LANGUAGE plpythonu;

CREATE OR REPLACE FUNCTION zippy(int[]) RETURNS int[] AS '
from types import *
plpy.notice(type(args[0]))
return args[0]
' LANGUAGE plpythonu;
foo=# SELECT zippy(5);
NOTICE: (<type 'int'>,)
zippy
-------
5
(1 row)

foo=# SELECT zippy(CAST('{5,6,7}' AS int[]));
NOTICE: (<type 'str'>,)
zippy
---------
{5,6,7}
(1 row)

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Nov 22 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Aron Roberts <ar**@slam.cc> writes:
When I create a function with an argument or return type of say an
integer the data type seems to be passed properly. When trying for
instance to send or return an integer array it always seems to be passed
as a string which is very nearly useless.
is this a quality of any embedded language or perhaps plpython in
particular?


plpython in particular --- IIRC, its code for mapping between SQL
datatypes and Python datatypes isn't real bright. If there is a better
Python construct that arrays could be mapped to, feel free to send in
a patch ...

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Nov 22 '05 #2

P: n/a
plpython in particular --- IIRC, its code for mapping between SQL
datatypes and Python datatypes isn't real bright. If there is a better
Python construct that arrays could be mapped to, feel free to send in
a patch ...
I am not a python person but could this be the fact that plpython uses the
pygresql? Instead of psycopg or something?

Sincerley,

Joshua D. Drake

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

--
Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC
Postgresql support, programming shared hosting and dedicated hosting.
+1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com
Mammoth PostgreSQL Replicator. Integrated Replication for PostgreSQL
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Nov 22 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.