db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "V.Narayanan (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-1547) Add svn version number to DatabaseMetaData getDatabaseProductVersion and getDriverVersion() to improve supportability
Date Mon, 21 Aug 2006 10:47:16 GMT
    [ http://issues.apache.org/jira/browse/DERBY-1547?page=comments#action_12429383 ] 
            
V.Narayanan commented on DERBY-1547:
------------------------------------

The four kinds of pattern strings that need to be searched for in the tests output while solving
this are the following

1) JDBC Driver 'Apache Derby Embedded JDBC Driver', version 10.3 (10.3.0.0 alpha - (433210M))

2) Apache Derby Network Server - 10.3.0.0 - (433210M) alpha started and ready to accept connections
   on port 20000 at xxxxxxFILTERED-TIMESTAMPxxxxxGMT

3) Apache Derby Network Server - 10.3.0.0 - (433210M) alpha shutdown at xxxxxxFILTERED
   -TIMESTAMPxxxxxGMT

4) getDatabaseProductVersion(): 10.3.0.0 - (433210M) alpha

5) getDriverVersion(): 10.3.0.0 - (433210M) alpha


2) and 3) are the log messages printed by NetworkServerControlImpl class upon server startup
and shutdown. The start method of the NetworkServerControlImpl class accepts a PrintWriter
object to which it writes the log message.

1) , 4) and 5) are built from the getDatabaseProductVersion(),getDriverVersion,getDriverMajorVersion(),getDriverMinorVersion().

Solution Steps
--------------

1) To write a util class VersionInformationParser in the org.apache.derbyTesting.functionTests.util
   package. 

2) To add a properties file to the same package with the following contents
   major=10
   minor=3
   version=10.3.0.0\ alpha

3) The VersionInformationParser will have 4 verification functions and 4 replace functions
   3.a) verification functions
        3.a.1) verifyJDBCDriverVersionString - for string type 1)
        3.a.2) verifyApacheDerbyNetworkServerString - for types 2) and 3)
        3.a.3) verifyProductVersion - for type 4)
        3.a.4) verifyDriverVersion  - for type 5)
   3.b) The replace functions will replace the version information 
        for e.g. 
        10.3 (10.3.0.0 alpha - (433210M)) will be replaced by 
        XXXXXEXPECTED VERSION INFOXXXXXXX

4) The above util class will be used in the tests that print the version information ,to verify
and
   mask the version information if it is found to be correct.

5) I will implement the verification and replace functions using substring and strcmp functions.


The above solution has been based on the suggestions received for this issue in using a property
file as the point where the version information will be stored so that we no more need to
update multiple master files when bumping version information but only replace one property
file.

> Add svn version  number to DatabaseMetaData getDatabaseProductVersion and getDriverVersion()
 to improve supportability
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1547
>                 URL: http://issues.apache.org/jira/browse/DERBY-1547
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC
>    Affects Versions: 10.1.3.2
>            Reporter: Kathey Marsden
>         Assigned To: V.Narayanan
>            Priority: Minor
>             Fix For: 10.2.1.0
>
>         Attachments: DERBY-1547_v1.diff, DERBY-1547_v1.stat
>
>
> getDatabaseProductVersion and getDriverVersion() report only the four digit Derby version
number and not the svn build number.   It would be useful to return  the full version including
the build number  as sysinfo does: e.g. "10.1.2.4 - (392472)", That way it will be clear from
application logs that collect this information exactly what revision level they are running
if they are using rolled up fixes on the maintenance branch between releases.
> There may be risk in doing this however if applications are parsing the version information,
but hopefully they will use getDatabaseMajorVersion() , getDatbaseMinorVersion, getDriverMajorVersion,
and getDriverMinorVersion for such proccessing.  

-- 
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

        

Mime
View raw message