[ 
http://issues.apache.org/jira/browse/DERBY-1847?page=comments#action_12439918 ] 
            
Mamta A. Satoor commented on DERBY-1847:
----------------------------------------

Bryan, thanks for taking the time to review the code.

Let me answer attempt to answer your questions 
1)Main reason behind putting the update system table code in DataDictionary was 
that for some reason, I thought DataDictionary class was the place to put all 
the code related to updating the system tables. 

2)I think DERBY-1909 might need the some of the same code as 
updateSYSCOLPERMSforAddColumnToUserTable(), in particular, getting the affected 
rows from SYSCOLPERMS using the tableid. May be I should go ahead and put some 
comment in DERBY-1909 for this so whoever works on it will be aware of the code 
in updateSYSCOLPERMSforAddColumnToUserTable() 

3)I always tend to cleanup code around when I work on a Jira entry although it 
is not related to actual work that I am doing (wish, I did that at home, my 
house will look much cleaner). So, sorry about the confusion about the cleanup 
work that went into this patch. They were not related to the bug and I should 
have said something in my patch description about it.


> SELECT statement asserts with XJ001 when attempted to select a newly added 
> column in SQL authorization mode
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1847
>                 URL: http://issues.apache.org/jira/browse/DERBY-1847
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.2.1.6, 10.2.2.0, 10.3.0.0
>         Environment: Any
>            Reporter: Yip Ng
>         Assigned To: Mamta A. Satoor
>         Attachments: DERBY1846_V1_diff_AddColumnAndGrantRevoke.txt, 
> DERBY1846_V1_stat_AddColumnAndGrantRevoke.txt
>
>
> Following script causes the select statement below to assert in sane build. 
> ij> connect 'jdbc:derby:wombat;create=true' user 'user1' as user1;
> WARNING 01J14: SQL authorization is being used without first enabling 
> authentication.
> ij> create table t1 (c1 int, c2 int);
> 0 rows inserted/updated/deleted
> ij> grant select(c1,c2) on t1 to user2;
> 0 rows inserted/updated/deleted
> ij> connect 'jdbc:derby:wombat;create=true' user 'user2' as user2;
> WARNING 01J01: Database 'wombat' not created, connection made to existing 
> database instead.
> WARNING 01J14: SQL authorization is being used without first enabling 
> authentication.
> ij(USER2)> set connection user1;
> ij(USER1)> alter table t1 add c3 int;
> 0 rows inserted/updated/deleted
> ij(USER1)> set connection user2;
> ij(USER2)> select c3 from user1.t1;
> ERROR XJ001: Java exception: 'ASSERT FAILED Attempt to get a bit position 
> (2)that exceeds the max length (2): 
> org.apache.derby.shared.common.sanity.AssertFailure'.
> stack trace:
> org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED Attempt to 
> get a bit position (1)that exceeds the max length (1)
>       at 
> org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:149)
>       at 
> org.apache.derby.iapi.services.io.FormatableBitSet.isSet(FormatableBitSet.java:614)
>       at 
> org.apache.derby.iapi.services.io.FormatableBitSet.get(FormatableBitSet.java:643)
>       at 
> org.apache.derby.iapi.sql.dictionary.StatementColumnPermission.check(StatementColumnPermission.java:119)
>       at 
> org.apache.derby.impl.sql.conn.GenericAuthorizer.authorize(GenericAuthorizer.java:158)
>       at 
> org.apache.derby.exe.ac601a400fx010dxaa5bx09e8x00000013b9400.fillResultSet(Unknown
>  Source)
>       at 
> org.apache.derby.exe.ac601a400fx010dxaa5bx09e8x00000013b9400.execute(Unknown 
> Source)
>       at 
> org.apache.derby.impl.sql.GenericActivationHolder.execute(GenericActivationHolder.java:327)
>       at 
> org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:356)
>       at 
> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1182)
>       at 
> org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:585)
>       at 
> org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:517)
>       at org.apache.derby.impl.tools.ij.ij.executeImmediate(ij.java:321)
>       at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:517)
>       at 
> org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:370)
>       at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:268)
>       at org.apache.derby.impl.tools.ij.Main.go(Main.java:204)
>       at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:170)
>       at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:56)
>       at org.apache.derby.tools.ij.main(ij.java:71)
> sysinfo:
> ------------------ Java Information ------------------
> Java Version:    1.4.2_12
> Java Vendor:     Sun Microsystems Inc.
> Java home:       C:\Program Files\Java\j2re1.4.2_12
> Java classpath:  classes;.
> OS name:         Windows XP
> OS architecture: x86
> OS version:      5.1
> Java user name:  Yip
> Java user home:  C:\Documents and Settings\Yip
> Java user dir:   C:\work3\derby\trunk
> java.specification.name: Java Platform API Specification
> java.specification.version: 1.4
> --------- Derby Information --------
> JRE - JDBC: J2SE 1.4.2 - JDBC 3.0
> [C:\work3\derby\trunk\classes] 10.3.0.0 alpha - (443080)
> ------------------------------------------------------
> ----------------- Locale Information -----------------
> Current Locale :  [English/United States [en_US]]
> Found support for locale: [de_DE]
>          version: 10.3.0.0 alpha - (443080)
> Found support for locale: [es]
>          version: 10.3.0.0 alpha - (443080)
> Found support for locale: [fr]
>          version: 10.3.0.0 alpha - (443080)
> Found support for locale: [it]
>          version: 10.3.0.0 alpha - (443080)
> Found support for locale: [ja_JP]
>          version: 10.3.0.0 alpha - (443080)
> Found support for locale: [ko_KR]
>          version: 10.3.0.0 alpha - (443080)
> Found support for locale: [pt_BR]
>          version: 10.3.0.0 alpha - (443080)
> Found support for locale: [zh_CN]
>          version: 10.3.0.0 alpha - (443080)
> Found support for locale: [zh_TW]
>          version: 10.3.0.0 alpha - (443080)
> ------------------------------------------------------

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to