Committers
jgraham
rcernich
lchan
ledunnel
bfitzpatrick
bpayton
hcao
dyang
ggong
lzhu
ali
ljulien
wauer
jlindop
cochen
hkolwalka,,,,,,
xma,,,,,,
dpchou,,,,,,
xgu,,,,,,







Developer Contributions,,,,,,
component,bug #,name,key,committer,size,description
org.eclipse.datatools.enablement,164203,neilwang@us.ibm.com,,dpchou@us.ibm.com,22 src lines,patch for Derby vendor doc
org.eclipse.datatools.enablement,164203,neilwang@us.ibm.com,,dpchou@us.ibm.com,192 src lines,patch for iSeries vendor doc
org.eclipse.datatools.enablement,164203,neilwang@us.ibm.com,,dpchou@us.ibm.com,32 src lines,patch for LUW vendor doc
org.eclipse.datatools.enablement,164203,neilwang@us.ibm.com,,dpchou@us.ibm.com,40 src lines,patch for zSeries vendor doc
org.eclipse.datatools.enablement,164203,neilwang@us.ibm.com,,dpchou@us.ibm.com,24 src lines,patch for Informix vendor doc
org.eclipse.datatools.enablement,164203,neilwang@us.ibm.com,,dpchou@us.ibm.com,8 src lines,patch for SQL Server vendor doc
org.eclipse.datatools.enablement,164203,neilwang@us.ibm.com,,dpchou@us.ibm.com,9 src lines,patch for MySQL vendor doc
org.eclipse.datatools.enablement,164203,neilwang@us.ibm.com,,dpchou@us.ibm.com,3 src lines,patch for Oracle vendor doc
org.eclipse.datatools.enablement,164203,neilwang@us.ibm.com,,dpchou@us.ibm.com,22 src lines,patch for Sybase vendor doc
org.eclipse.datatools.sqltools,175455,rrokytskyy@yahoo.co.uk,,john.graham@sybase.com,24 src lines,patch for DataCoreUIPlugin.java
org.eclipse.datatools.sqltools,175456,rrokytskyy@yahoo.co.uk,,john.graham@sybase.com,15 src lines,patch for TableDataImpl.java
org.eclipse.datatools.sqltools,175457,rrokytskyy@yahoo.co.uk,,john.graham@sybase.com,15 src lines,patch for LoadData.java
org.eclipse.datatools.sqltools,175458,rrokytskyy@yahoo.co.uk,,john.graham@sybase.com,20 src lines,patch for SampleContentAction.java
org.eclipse.datatools.sqltools,162519,hosokawa@mxc.nes.nec.co.jp,,john.graham@sybase.com,800 src lines,db table wizard. Eclipse legal approved CQ1188
org.eclipse.datatools.enablement,187749,brian.vosburgh@oracle.com,,john.graham@sybase.com,7 src lines,patch for MySQL table loader
org.eclipse.datatools.sqldevtools,185265,pombredanne@nexb.com,,john.graham@sybase.com,47 src lines,script/readme to download lpg archive
org.eclipse.datatools.enablement,185262,pombredanne@nexb.com,,john.graham@sybase.com,46 src lines,script/readme to download dbunit archives
org.eclipse.datatools.sqltools,158743,cristian.dobre@skynet.be,,bpayton@us.ibm.com,3 src lines,SQLParserManager.setPostParseProcessors
org.eclipse.datatools.connectivity,200774,antelope424@gmail.com,,brianf@sybase.com,109 src lines,Detect cp name collision only within repository
org.eclipse.datatools.enablement,209104,jesper@selskabet.org,,brianf@sybase.com,115 src lines,Support sensing IDENTITY columns for SQL Server
org.eclipse.datatools.connectivity,212879,eden@zend.com,,brianf@sybase.com,5 src lines,"When connection fails the user gets a ""scaring"" error message"
org.eclipse.datatools.enablement,197806,d.dimitrov@sap.com,,wolfgang.auer@sap.com,1000 src lines,Maxdb connectivity contribution. Eclipse legal approved CQ 1856
org.eclipse.datatools.connectivity,196955,adrian.goerler@sap.com,,brianf@sybase.com,26 src lines,displayName not supported in CHARACTER and CHRACTER_VARYING
org.eclipse.datatools.connectivity,220673,clare@us.ibm.com,,brianf@sybase.com,145 src lines,Add Containment Providers for Access Control Elements
org.eclipse.datatools.enablement,205810,eden@zend.com,,john.graham@sybase.com,23 src lines,Excpetion thrown upon trying to edit a MYSQL table with foreign key
org.eclipse.datatools.sqltools,195946,zhuge@Rinaix.cn,,hui.cao@sybase.com,2 src lines,Can NOT input Chinese
org.eclipse.datatools.enablement,219524,myhomeemailaddress@gmail.com,,brianf@sybase.com,6 src lines,Cannot view tables in a MS SQL 2000 database under the dbo schema
org.eclipse.datatools.connectivity,224618,enrico.schenk@ingres.com,,brianf@sybase.com,21 src lines,Filter does not work for special characters
org.eclipse.datatools.connectivity,226916,antelope424@gmail.com,,brianf@sybase.com,1 src line,ProfileCategoryFilter does not work
org.eclipse.datatools.connectivity,231013,karen.moore@oracle.com,,brianf@sybase.com,3 src lines,driver definition wizards have unfinished descriptions
org.eclipse.datatools.sqltools,228153,n_akiyama@jp.fujitsu.com,,bpayton@us.ibm.com,23 src lines,Format of DATE type in Data Table editor
org.eclipse.datatools.connectivity,231556,n_akiyama@jp.fujitsu.com,,brianf@sybase.com,8 src lines,Error message is displayed in dialog of disconnection
org.eclipse.datatools.enablement,232925,enrico.schenk@ingres.com,,brianf@sybase.com,20000 src lines,Support for Ingres (approved as CQ 2474)


Third Party Software,,
CQ2343,(Orbit) net.sourceforge.lpg.lpgjavaruntime Version 1.1,pre-req
CQ2133,(Orbit) java.xml Version 1.3.4,pre-req
CQ2346,(Orbit) org.apache.xml.serializer Version 2.7.1,pre-req
CQ2344,(Orbit) org.apache.xerces Version 2.9,pre-req
CQ2345,(Orbit) org.apache.xml.resolver Version 1.2,pre-req
CQ2347,(Orbit) javax.wsdl Version 1.4,pre-req
