Issue Details (XML | Word | Printable)

Key: DERBY-1847
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Bryan Pendleton
Reporter: Yip Ng
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Derby

SELECT statement asserts with XJ001 when attempted to select a newly added column in SQL authorization mode

Created: 13/Sep/06 11:56 PM   Updated: 24/Jan/08 01:10 PM
Component/s: SQL
Affects Version/s: 10.2.1.6, 10.2.2.0, 10.3.1.4
Fix Version/s: 10.2.3.0, 10.3.1.4

Time Tracking:
Not Specified

File Attachments:
  Size
File Licensed for inclusion in ASF works d1847_useCPID_index.diff 2006-12-27 05:08 PM Bryan Pendleton 4 kB
Text File Licensed for inclusion in ASF works DERBY1846_V1_diff_AddColumnAndGrantRevoke.txt 2006-10-03 06:24 PM Mamta A. Satoor 13 kB
Text File Licensed for inclusion in ASF works DERBY1846_V1_stat_AddColumnAndGrantRevoke.txt 2006-10-03 06:24 PM Mamta A. Satoor 0.5 kB
Environment: Any
Issue Links:
Blocker
 
Reference

Resolution Date: 05/Jan/07 04:18 PM


 Description  « Hide
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)
------------------------------------------------------

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Yip Ng made changes - 14/Sep/06 06:33 AM
Field Original Value New Value
Description 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'.

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)
------------------------------------------------------
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)
------------------------------------------------------
Affects Version/s 10.2.2.0 [ 12312027 ]
Affects Version/s 10.3.0.0 [ 12310800 ]
Yip Ng made changes - 14/Sep/06 06:35 AM
Link This issue is related to DERBY-464 [ DERBY-464 ]
Yip Ng made changes - 15/Sep/06 04:56 PM
Assignee Yip Ng [ yipng ]
Yip Ng made changes - 15/Sep/06 05:17 PM
Assignee Yip Ng [ yipng ]
Bryan Pendleton made changes - 23/Sep/06 03:54 AM
Link This issue relates to DERBY-1489 [ DERBY-1489 ]
Bryan Pendleton made changes - 23/Sep/06 03:25 PM
Link This issue blocks DERBY-1489 [ DERBY-1489 ]
Mamta A. Satoor made changes - 25/Sep/06 05:21 PM
Assignee Mamta A. Satoor [ mamtas ]
Mamta A. Satoor made changes - 03/Oct/06 06:24 PM
Mamta A. Satoor made changes - 03/Oct/06 06:25 PM
Derby Info [Patch Available]
Mike Matrigali made changes - 05/Oct/06 08:16 PM
Fix Version/s 10.3.0.0 [ 12310800 ]
Mamta A. Satoor made changes - 06/Oct/06 06:08 AM
Derby Info [Patch Available]
Mike Matrigali made changes - 06/Oct/06 09:28 PM
Status Open [ 1 ] Resolved [ 5 ]
Resolution Fixed [ 1 ]
Fix Version/s 10.2.1.7 [ 12312096 ]
Bryan Pendleton made changes - 26/Dec/06 04:15 PM
Link This issue relates to DERBY-1909 [ DERBY-1909 ]
Bryan Pendleton made changes - 27/Dec/06 02:49 AM
Resolution Fixed [ 1 ]
Status Resolved [ 5 ] Reopened [ 4 ]
Assignee Mamta A. Satoor [ mamtas ]
Bryan Pendleton made changes - 27/Dec/06 05:03 PM
Assignee Bryan Pendleton [ bryanpendleton ]
Bryan Pendleton made changes - 27/Dec/06 05:08 PM
Attachment d1847_useCPID_index.diff [ 12347944 ]
Bryan Pendleton made changes - 27/Dec/06 05:08 PM
Derby Info [Patch Available]
Andrew McIntyre made changes - 30/Dec/06 08:27 AM
Fix Version/s 10.2.2.0 [ 12312027 ]
Fix Version/s 10.2.3.0 [ 12312215 ]
Bryan Pendleton made changes - 05/Jan/07 04:18 PM
Derby Info [Patch Available]
Resolution Fixed [ 1 ]
Status Reopened [ 4 ] Resolved [ 5 ]
Dyre Tjeldvoll made changes - 24/Jan/08 01:10 PM
Status Resolved [ 5 ] Closed [ 6 ]