[HACKERS] Google SoC: column-level privilege subsystem

2007-04-24 Thread Golden Liu
Hi all, I'm one of the Google SoC's students for PostgreSQL. My project is to implement column-level privilege in PG. Here is a description of my project. Any and all help and/or comment is appreciated. Table-level privilege subsystem in PG is now used like this: GRANT { { SELECT | INSERT | UPDA

Re: [HACKERS] Google SoC: column-level privilege subsystem

2007-04-24 Thread Golden Liu
Dear August Thank you for your reply. On 4/25/07, August Zajonc <[EMAIL PROTECTED]> wrote: Golden Liu wrote: > 3. Before evaluating a SQL command, check column-level privilege. > This is done AFTER checking table-level privilege. As I mentioned > before, if table-level privi

[HACKERS] [HACHERS] privilege check: column level only?

2007-06-04 Thread Golden Liu
Hello I'm one of the Google SoC's students for PostgreSQL. While reading sql92 standard, I found something like this: 11.36 General Rules 3) For every identified privilege descriptor whose action is SELECT, INSERT, UPDATE, or REFERENCES without a column name,

[HACKERS] UPDATE/DELETE XXX WHERE CURRENT OF cursor_name

2006-07-24 Thread Golden Liu
Updateable cursors are used as follows: begin; declare foo cursor for select * from bar for update; fetch foo; update bar set abc='def' where current of foo; fetch foo; delete from bar where current of foo; commit; PostgreSQL doesn't support this feature now ( 8.1.4). Will PGSQL support it rece

[HACKERS] Unique index: update error

2006-09-14 Thread Golden Liu
Suppose there are too tuples in a table t, named id --- 1 2 and there is a unique index on id. Now we do an update on table t update t set id=id+1 Since PG executes the update one tuple at a time, it updates tuple "1" to "2" and insert it into the index. Before insert into the index, it check wh

Re: [HACKERS] Unique index: update error

2006-09-18 Thread Golden Liu
On 9/18/06, Tom Lane <[EMAIL PROTECTED]> wrote: Jim Nasby <[EMAIL PROTECTED]> writes: > On Sep 14, 2006, at 9:16 PM, Golden Liu wrote: >> I try to solve this problem this way: >> First, update the table t but DON'T update the index. >> Next, find all the tup