Hi
>
> > If you would create sample code to run to validate both your
> > bug report and test your patch you may have seen the breakage.
> > I can tell you that in all cases when DataSource.SetLogLevel(0)
> > your patch breaks the standard of the user overrides the
> > Driver.setLogLevel() when it is stipulated.
> >
> > I know that valid inputs maybe only be Driver.INFO & Driver.DEBUG,
> > but if you treat the PgJDBC has a black box which you stimulate
> > and watch the output then we can not ignore the boundard cases of
> > <0, 0, & >2.
>
I made a new patch to avoid the above problem.
But i found a new another problem.
In the following code,source2.getConnection() fail to output log as expected.
----------------------------------------
PGPoolingDataSourcesource = new PGPoolingDataSource();
source.setLogLevel(2);
Connection con = source.getConnection();//OK, log does output
Properties props = new Properties();
props.put(InitialContext.INITIAL_CONTEXT_FACTORY, "org.postgresql.test.util.MiniJndiContextFactory");
InitialContext initialContext = new InitialContext(props);
initialContext.rebind("DataSource", source);
BaseDataSource source2 = (BaseDataSource) initialContext.lookup("DataSource");
con = source2.getConnection();//NG, log does not output
----------------------------------------
The reason is that loadBaseDataSource(BaseDataSource ds, Reference ref)
fail to copy all properties from ref when source2 was created.
So the loglevel of source2 remains to be the defualt value 0.
Not only loglevel, some other properties such as "ssl" have the same problem.
Chen Huajun