db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Van Couvering <David.Vancouver...@Sun.COM>
Subject Re: [jira] Updated: (DERBY-1130) Client should not allow databaseName to be set with setConnectionAttributes
Date Fri, 11 Aug 2006 20:19:55 GMT
I'll back out the change...

David

Deepa Remesh (JIRA) wrote:
>      [ http://issues.apache.org/jira/browse/DERBY-1130?page=all ]
> 
> Deepa Remesh updated DERBY-1130:
> --------------------------------
> 
>     Derby Info: [Existing Application Impact, Release Note Needed]  (was: [Release Note
Needed, Existing Application Impact, Patch Available])
> 
> As the current solution does not seem to be okay, can a committer please revert this
change (svn revision# 430641)?
> 
> Also, I have unchecked patch available as there is no need to commit the test patch 'd1130-test-dataSourceReference.diff'.
I will upload a revised patch based on option 2 in some time.
> 
>> Client should not allow databaseName to be set with setConnectionAttributes
>> ---------------------------------------------------------------------------
>>
>>                 Key: DERBY-1130
>>                 URL: http://issues.apache.org/jira/browse/DERBY-1130
>>             Project: Derby
>>          Issue Type: Bug
>>          Components: Network Client
>>    Affects Versions: 10.1.1.0, 10.1.1.1, 10.1.1.2, 10.1.2.0, 10.1.2.1, 10.1.2.2,
10.1.2.3, 10.2.0.0, 10.1.3.0, 10.1.2.4
>>            Reporter: Kathey Marsden
>>         Assigned To: Deepa Remesh
>>             Fix For: 10.2.0.0
>>
>>         Attachments: d1130-client-v1.diff, d1130-client-v1.status, d1130-test-dataSourceReference.diff,
d1130-test-dataSourceReference.status, derby-1130-v1.diff, derby-1130-v1.status
>>
>>
>> Per this thread,  setConnectionAttributes should not set databaseName. 
>> http://www.nabble.com/double-check-on-checkDataSource-t1187602.html#a3128621
>> Currently this is allowed for client but should be disabled.  I think it is OK to
change because we have documented that client will be changed to match embedded for implementation
defined behaviour.   Hopefully its use is rare as most folks would use the standard setDatabaseName.
 Still there should be a release not when the change is made and it would be better to change
it sooner than later:
>> Below is the repro. 
>> Here is the output with Client
>> D>java DatabaseNameWithSetConnAttr
>> ds.setConnectionAttributes(databaseName=wombat;create=true)
>> ds.getDatabaseName() = null (should be null)
>> FAIL: Should not have been able to set databaseName with connection attributes
>> Also look for tests  disabled with this bug number in the test checkDataSource30.java
>> import java.sql.*;
>> import java.lang.reflect.Method;
>> public class DatabaseNameWithSetConnAttr{
>> 	public static void main(String[] args) {
>> 		try {
>> 		
>> 			String attributes = "databaseName=wombat;create=true";
>> 			org.apache.derby.jdbc.ClientDataSource ds = new
>> 			org.apache.derby.jdbc.ClientDataSource();
>> 			//org.apache.derby.jdbc.EmbeddedDataSource ds = new
>> 			//org.apache.derby.jdbc.EmbeddedDataSource();
>> 			System.out.println("ds.setConnectionAttributes(" + attributes + ")");
>> 			ds.setConnectionAttributes(attributes);
>> 			System.out.println("ds.getDatabaseName() = " +
>> 							   ds.getDatabaseName() + " (should be null)" );
>> 			Connection conn  = ds.getConnection();
>> 			} catch (SQLException e) {
>> 				String sqlState = e.getSQLState();
>> 				if (sqlState != null && sqlState.equals("XJ041"))
>> 				{
>> 				System.out.println("PASS: An exception was thrown trying to get a connetion from
a datasource after setting databaseName with setConnectionAttributes");
>> 				System.out.println("EXPECTED EXCEPTION: " + e.getSQLState() 
>> 									   + " - " + e.getMessage());
>> 				return;
>> 				}
>> 				while (e != null)
>> 				{
>> 					System.out.println("FAIL - UNEXPECTED EXCEPTION: " + e.getSQLState());
>> 					e.printStackTrace();
>> 					e = e.getNextException();
>> 				}
>> 				return;
>> 			}
>> 		System.out.println("FAIL: Should not have been able to set databaseName with connection
attributes");
>> 	}
>> }
> 

Mime
View raw message