I wrote :

>I've found a strange problem with getting current values from
>serial column of table.
>As it is possible from version 7.3.0.29 I decided to give it a trial.
>And I think, there must be a little bug with using  it
>when currently logged user is not the owner of the table.
>Below is my example - You can reproduce this with an empty
>instance of database - version 7.3.0.29

>//Logged as DBA
>CREATE USER UZYT_TEST PASSWORD XXX DBA NOT EXCLUSIVE

>//Logged as UZYT_TEST
>CREATE USERGROUP T_USERS RESOURCE TIMEOUT 10000 NOT EXCLUSIVE
>//
>CREATE USER JOHN PASSWORD XXX USERGROUP T_USERS
>//
>CREATE TABLE "TBL_TEST"
>(
> "REC_ID"               Fixed (20)    NOT NULL    DEFAULT SERIAL,
>             "NAME"                 Varchar(20),
> PRIMARY KEY ("REC_ID")
>)
>//
>GRANT ALL ON "TBL_TEST" TO T_USERS

>This is a bug. The current implementation requires the owner privilege 
>for the table to be able to inquire the currval value. 
>I will correct this very soon.
>Unfortunately I don't see any workaround for the problem.

Finally I found a workaround for the problem. 
If the owner of the table TBL_TEST provides the following db-procedure :
 
CREATE DBPROC CURRVAL_OF_TBL_TEST(out c_val integer) AS
  c_val = TBL_TEST.CURRVAL;
  IF $RC <> 0 THEN STOP ($RC);

and grants the execute privilege to t_users, it should be possible
to call the procedure from every group user.  

Thomas

-- 
Thomas Anhaus
SAP DB, SAP Labs Berlin
[EMAIL PROTECTED]
http://www.sapdb.org/
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general


_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to