Re: [SQL] what does this do

2010-06-10 Thread Tim Landscheidt
John  wrote:

> I have a piece of python code that excutes a SQL statement:

> apitempCur.execute("select * from jfcs_balancedue('%s') f(enrolleeid varchar,
> course_cost decimal, paid_amt decimal)" % (enrollIds,));

> The "enrollids" is a list of primary keys and the "jfcs_balancedue" is a user
> defined function.  What I don't understand is the "f(enrolleeid
> varchar, ...)"   I have no idea what it's for?  Would some kind soul educate
> me.

You can omit the "AS" from "table_name AS alias
(column_alias, ...)", but AFAIK PostgreSQL doesn't support
specifying a data type for each column. Which DBMS is this
code used for?

Tim


-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql


[SQL] what does this do

2010-06-10 Thread John
Hi,
I have a piece of python code that excutes a SQL statement:

apitempCur.execute("select * from jfcs_balancedue('%s') f(enrolleeid varchar, 
course_cost decimal, paid_amt decimal)" % (enrollIds,));

The "enrollids" is a list of primary keys and the "jfcs_balancedue" is a user 
defined function.  What I don't understand is the "f(enrolleeid 
varchar, ...)"   I have no idea what it's for?  Would some kind soul educate 
me.

Thanks in advance,
Jhnf  

-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql


Re: [SQL] what does this do

2010-06-10 Thread Richard Broersma
On Thu, Jun 10, 2010 at 3:57 AM, Tim Landscheidt  
wrote:
> John  wrote:
>
>> I have a piece of python code that excutes a SQL statement:
>
>> apitempCur.execute("select * from jfcs_balancedue('%s') f(enrolleeid varchar,
>> course_cost decimal, paid_amt decimal)" % (enrollIds,));
>
>> The "enrollids" is a list of primary keys and the "jfcs_balancedue" is a user
>> defined function.  What I don't understand is the "f(enrolleeid
>> varchar, ...)"   I have no idea what it's for?  Would some kind soul educate
>> me.
>
> You can omit the "AS" from "table_name AS alias
> (column_alias, ...)", but AFAIK PostgreSQL doesn't support
> specifying a data type for each column. Which DBMS is this
> code used for?

Well, it doesn't support data-types in the alias declaration for all
set returning relations with the exception of a set returning function
(i.e. store procedure).  The from clause has a give-away that this is
a set returning function: "jfcs_balancedue('%s')" since it has a
parameter.

Notice the function name section taken from the from clause:

http://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-FROM


-- 
Regards,
Richard Broersma Jr.

Visit the Los Angeles PostgreSQL Users Group (LAPUG)
http://pugs.postgresql.org/lapug

-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql


Re: [SQL] what does this do

2010-06-10 Thread Little, Douglas
First remove the python
select * from jfcs_balancedue(parameter) f(enrolleeid varchar,course_cost 
decimal, paid_amt decimal)

the jfcs_balancedue is a table function,  f is the alias (with the column alias 
list/datatype of the columns returned by the function).

Doug


-Original Message-
From: pgsql-sql-ow...@postgresql.org [mailto:pgsql-sql-ow...@postgresql.org] On 
Behalf Of John
Sent: Thursday, June 10, 2010 4:22 AM
To: pgsql-sql@postgresql.org
Subject: [SQL] what does this do

Hi,
I have a piece of python code that excutes a SQL statement:

apitempCur.execute("select * from jfcs_balancedue('%s') f(enrolleeid varchar, 
course_cost decimal, paid_amt decimal)" % (enrollIds,));

The "enrollids" is a list of primary keys and the "jfcs_balancedue" is a user 
defined function.  What I don't understand is the "f(enrolleeid 
varchar, ...)"   I have no idea what it's for?  Would some kind soul educate 
me.

Thanks in advance,
Jhnf  

-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql


Re: [SQL] what does this do

2010-06-10 Thread John
On Thursday 10 June 2010 06:46:46 am Little, Douglas wrote:
> First remove the python
> select * from jfcs_balancedue(parameter) f(enrolleeid varchar,course_cost
> decimal, paid_amt decimal)
>
> the jfcs_balancedue is a table function,  f is the alias (with the column
> alias list/datatype of the columns returned by the function).
>
> Doug
>
>
> -Original Message-
> From: pgsql-sql-ow...@postgresql.org
> [mailto:pgsql-sql-ow...@postgresql.org] On Behalf Of John Sent: Thursday,
> June 10, 2010 4:22 AM
> To: pgsql-sql@postgresql.org
> Subject: [SQL] what does this do
>
> Hi,
> I have a piece of python code that excutes a SQL statement:
>
> apitempCur.execute("select * from jfcs_balancedue('%s') f(enrolleeid
> varchar, course_cost decimal, paid_amt decimal)" % (enrollIds,));
>
> The "enrollids" is a list of primary keys and the "jfcs_balancedue" is a
> user defined function.  What I don't understand is the "f(enrolleeid
> varchar, ...)"   I have no idea what it's for?  Would some kind soul
> educate me.
>
> Thanks in advance,
> Jhnf


Thanks folks the link you folks provided did the trick
 "If the function has been defined as returning the record data type, then an 
alias or the key word AS must be present, followed by a column"

I was not aware of the syntax required for returning the record data type.

Johnf


-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql


Re: [SQL] what does this do

2010-06-10 Thread Tim Landscheidt
Richard Broersma  wrote:

>>> I have a piece of python code that excutes a SQL statement:

>>> apitempCur.execute("select * from jfcs_balancedue('%s') f(enrolleeid 
>>> varchar,
>>> course_cost decimal, paid_amt decimal)" % (enrollIds,));

>>> The "enrollids" is a list of primary keys and the "jfcs_balancedue" is a 
>>> user
>>> defined function.  What I don't understand is the "f(enrolleeid
>>> varchar, ...)"   I have no idea what it's for?  Would some kind soul educate
>>> me.

>> You can omit the "AS" from "table_name AS alias
>> (column_alias, ...)", but AFAIK PostgreSQL doesn't support
>> specifying a data type for each column. Which DBMS is this
>> code used for?

> Well, it doesn't support data-types in the alias declaration for all
> set returning relations with the exception of a set returning function
> (i.e. store procedure).  The from clause has a give-away that this is
> a set returning function: "jfcs_balancedue('%s')" since it has a
> parameter.

> Notice the function name section taken from the from clause:

> http://www.postgresql.org/docs/9.0/static/sql-select.html#SQL-FROM

Another lesson learned :-). But it applies strictly to *re-
cord* returning functions, doesn't it? Because I had tested
generate_series() prior to my reply:

| tim=# SELECT ID FROM generate_series(1, 2) AS G(ID);
|  id
| 
|   1
|   2
| (2 Zeilen)

| tim=# SELECT ID FROM generate_series(1, 2) AS G(ID INT);
| ERROR:  a column definition list is only allowed for functions returning 
"record"
| ZEILE 1: SELECT ID FROM generate_series(1, 2) AS G(ID INT);
| ^
| tim=#

but didn't follow the (now obvious) clue ...

Tim


-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql


[SQL] Returning to default (e.g. blank) table permissions after a revoke?

2010-06-10 Thread Bryce Nesbitt
If I create a new table the "Access privileges" are blank, which gives 
implicit access to the table owner.
But if I touch the grants, then revoke, the privileges are set to {} 
which is not the same thing:


production=> create table zzz_junk1 ();

production=> \z zzz_junk1
Schema |   Name| Type  | Access privileges
+---+---+---
public | zzz_junk1 | table |

production=> grant all on zzz_junk1 to production;
production=> \z zzz_junk1
Access privileges for database "production"
Schema |   Name| Type  |   Access privileges
+---+---+
public | zzz_junk1 | table | {production=arwdxt/production}

production=> revoke all on zzz_junk1 from production;
production=> \z zzz_junk1
 Access privileges for database "production"
Schema |   Name| Type  | Access privileges
+---+---+---
public | zzz_junk1 | table | {}


How can I return to the initial state, where the "Access privileges" are 
unspecified?
I'm using Postgres 8.3 here.  
http://www.postgresql.org/docs/8.3/static/sql-grant.html does not seem 
to cover this topic.



--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql