On 6/14/12 5:12 AM, SAURABH KEJRIWAL wrote:
Hi,

I am new to Apache Derby Database. I have filed following bug against DERBY product.

*DERBY-5818: values syscs_util.syscs_get_database_property('DataDictionaryVersion' ) does not return full version information*

Details
------------
$ ./sysinfo
------------------ Java Information ------------------
Java Version: 1.6.0
Java Vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre
Java classpath: /scratch/ansverma/JavaDBnew/db-derby-10.8.2.2-bin/lib/derby.jar:/scratch/ansverma/JavaDBnew/db-derby-10.8.2.2-bin/lib/derbynet.jar:/scratch/ansverma/JavaDBnew/db-derby-10.8.2.2-bin/lib/derbytools.jar:/scratch/ansverma/JavaDBnew/db-derby-10.8.2.2-bin/lib/derbyclient.jar
OS name: Linux
OS architecture: i386
OS version: 2.6.18-164.0.0.0.1.el5xen
Java user name: ansverma
Java user home: /home/ansverma
Java user dir: /scratch/ansverma/JavaDBnew/db-derby-10.8.2.2-bin/bin
java.specification.name <http://java.specification.name>: Java Platform API Specification
java.specification.version: 1.6
java.runtime.version: 1.6.0-b09
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0

[/scratch/ansverma/JavaDBnew/db-derby-10.8.2.2-bin/lib/derby.jar] 10.8.2.2 - (1181258) [/scratch/ansverma/JavaDBnew/db-derby-10.8.2.2-bin/lib/derbytools.jar] 10.8.2.2 - (1181258) [/scratch/ansverma/JavaDBnew/db-derby-10.8.2.2-bin/lib/derbynet.jar] 10.8.2.2 - (1181258) [/scratch/ansverma/JavaDBnew/db-derby-10.8.2.2-bin/lib/derbyclient.jar] 10.8.2.2 - (1181258)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale : [English/United States [en_US]]
Found support for locale: [cs]
         version: 10.8.2.2 - (1181258)
Found support for locale: [de_DE]
         version: 10.8.2.2 - (1181258)
Found support for locale: [es]
         version: 10.8.2.2 - (1181258)
Found support for locale: [fr]
         version: 10.8.2.2 - (1181258)
Found support for locale: [hu]
         version: 10.8.2.2 - (1181258)
Found support for locale: [it]
         version: 10.8.2.2 - (1181258)
Found support for locale: [ja_JP]
         version: 10.8.2.2 - (1181258)
Found support for locale: [ko_KR]
         version: 10.8.2.2 - (1181258)
Found support for locale: [pl]
         version: 10.8.2.2 - (1181258)
Found support for locale: [pt_BR]
         version: 10.8.2.2 - (1181258)
Found support for locale: [ru]
         version: 10.8.2.2 - (1181258)
Found support for locale: [zh_CN]
         version: 10.8.2.2 - (1181258)
Found support for locale: [zh_TW]
         version: 10.8.2.2 - (1181258)
------------------------------------------------------




Description
-----------------

I am using Derby 10.8.2.2. I want to get derby version details through SQL. I ran following query to retrieve version information.


$ java -jar /scratch/ansverma/JavaDBnew//db-derby-10.8.2.2-bin/lib/derbyrun.jar ij
ij version 10.8
ij> CONNECT 'jdbc:derby:test2;user=test2;password=test2';
ij> values syscs_util.syscs_get_database_property('DataDictionaryVersion');
1
--------------------------------------------------------------------------------------------------------------------------------
10.8

1 row selected


It did not return full version information (10.8.2.2) for Derby.

Expected result = 10.8.2.2
Actual result = 10.8

I want the version details through SQL query. Could you please help me for this?


Thanks,
Saurabh
Hi Saurabh,

As Kristian says, the information you need is probably what's returned by DatabaseMetaData.getDatabaseProductVersion(). If you need to access this information via SQL, you can use the DBMDWrapper class attached to https://issues.apache.org/jira/browse/DERBY-3973. Here is a script which shows how to do this:

connect 'jdbc:derby:memory:db;create=true';

create procedure registerPublicStaticMethods( in connectionURL varchar( 200 ), in printSQL boolean )
language java parameter style java modifies sql data
external name 'DBMDWrapper.registerPublicStaticMethods';

call registerPublicStaticMethods( 'jdbc:default:connection', false );

-- select from the function you want here:
values ( getDatabaseProductVersion() );

Hope this helps,
-Rick

Reply via email to