[ 
https://issues.apache.org/jira/browse/DERBY-3095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12535752
 ] 

EDAH-TALLY commented on DERBY-3095:
-----------------------------------

<>Note that the delimited identifier "EVE" represents the user EVE which is the 
same user as the regular identifiers eve, EVE and EvE</>

I didn't take this point into consideration, I therefore have to rethink the 
problem partly. It seems quite strange however and not really logical. It seems 
like saying "just pull the quotes and you're anyone else" !

During user deletion, the full user list is retrieved by 
SYSCS_GET_DATABASE_PROPERTY.  It behaves simply : 

"eve" is retrieved as "eve"
"EVE" as "EVE"
"EvE" as "EvE"
eve as eve 
EVE as EVE
Eve as Eve ...

<>Is that what your patch does?</>
It does essentially 2 things : 
1. It prevents a quoted identifier to lose its quotes by a call to 
parseQId(...) from parseId(StringReader r, boolean normalize, boolean 
normalizeToUpper)
2. It applies parsing and transformation to an application supplied identifier 
[ id in deleteId(String id, String list) ] .

<>I can't really tell the behaviour you are trying to achieve</>
I am trying to preserve a quoted identifier as quoted. If it loses its quotes, 
it is no longer the same user and can be anyone.
Secondly, I think the identifier passed in by an app should be parsed the same 
way as individual users retrieved from an accesslist.




> CALL SYSCS_UTIL.SYSCS_SET_USER_ACCESS(?, null) FAILS
> ----------------------------------------------------
>
>                 Key: DERBY-3095
>                 URL: https://issues.apache.org/jira/browse/DERBY-3095
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Network Client
>    Affects Versions: 10.3.1.4
>         Environment: Linux 2.6.17-13mdv #1 SMP Fri Mar 23 15:18:36 EDT 2007 
> x86_64 AMD Athlon(tm) 64 Processor 3000+ GNU/Linux
>            Reporter: EDAH-TALLY
>         Attachments: 3095_00.diff, 3095_01.diff, d3095.sql, 
> REGTEST3095_00.zip, REGTEST3095_01.zip, Reproduce3095.zip
>
>
> Sorry to bother you again.
> CALL SYSCS_UTIL.SYSCS_SET_USER_ACCESS(?, 'NOACCESS') FAILS and here's the 
> stack trace : 
> ******************************************************************************************
> java.sql.SQLException: Droit d'accès 'NOACCESS' inconnu.
>         at 
> org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown 
> Source)
>         at org.apache.derby.client.am.SqlException.getSQLException(Unknown 
> Source)
>         at org.apache.derby.client.am.PreparedStatement.execute(Unknown 
> Source)
>         at com.somecom.createUser(someAPP.java:190)
>         at com.somecom.grantKeys(someAPP.java:288)
>         at com.somecom.showGrantKeys(someAPP.java:269)
>         at com.somecom.MDIMenuClicked(someAPP.java:620)
>         at com.somecom.access$000(someAPP.java:15)
>         at com.somecom$5.actionPerformed(someAPP.java:564)
>         at 
> javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
>         at 
> javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
>         at 
> javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
>         at 
> javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
>         at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
>         at 
> javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1216)
>         at 
> javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1257)
>         at java.awt.Component.processMouseEvent(Component.java:6038)
>         at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
>         at java.awt.Component.processEvent(Component.java:5803)
>         at java.awt.Container.processEvent(Container.java:2058)
>         at java.awt.Component.dispatchEventImpl(Component.java:4410)
>         at java.awt.Container.dispatchEventImpl(Container.java:2116)
>         at java.awt.Component.dispatchEvent(Component.java:4240)
>         at 
> java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
>         at 
> java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
>         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
>         at java.awt.Container.dispatchEventImpl(Container.java:2102)
>         at java.awt.Window.dispatchEventImpl(Window.java:2429)
>         at java.awt.Component.dispatchEvent(Component.java:4240)
>         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
>         at 
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
>         at 
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
>         at 
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
>         at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
>         at 
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
>         at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
> Caused by: org.apache.derby.client.am.SqlException: Droit d'accès 'NOACCESS' 
> inconnu.
>         at org.apache.derby.client.am.Statement.completeExecute(Unknown 
> Source)
>         at 
> org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(Unknown 
> Source)
>         at 
> org.apache.derby.client.net.NetStatementReply.readExecuteCall(Unknown Source)
>         at org.apache.derby.client.net.StatementReply.readExecuteCall(Unknown 
> Source)
>         at org.apache.derby.client.net.NetStatement.readExecuteCall_(Unknown 
> Source)
>         at org.apache.derby.client.am.Statement.readExecuteCall(Unknown 
> Source)
>         at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown 
> Source)
>         at org.apache.derby.client.am.PreparedStatement.executeX(Unknown 
> Source)
>         ... 34 more
> *********************************************************************************************
> FULLACCESS : OK
> READONLYACCESS : OK
> NOACCESS : FAILURE
> By the way, the CONNECTION_PERMISSION parameter in the documentation is not 
> up to date.
> Thank you for considering.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to