<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>Ramblings from the bit bucket &#187; development</title>
	<atom:link href="http://blogs.planetingres.org/notnull/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.planetingres.org/notnull</link>
	<description>Just another blogs.planetingres.org weblog</description>
	<lastBuildDate>Tue, 01 Feb 2011 09:13:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Data Access Message Protocol &#8211; Wireshark dissector</title>
		<link>http://blogs.planetingres.org/notnull/2011/02/01/data-access-message-protocol-wireshark-dissector/</link>
		<comments>http://blogs.planetingres.org/notnull/2011/02/01/data-access-message-protocol-wireshark-dissector/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 09:12:55 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ingres]]></category>
		<category><![CDATA[Data Access]]></category>
		<category><![CDATA[Dissector]]></category>
		<category><![CDATA[Protocol]]></category>
		<category><![CDATA[Wireshark]]></category>
		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/?p=258</guid>
		<description><![CDATA[Over Christmas, when I couldn&#8217;t tolerate the withdrawal of internet and computer abstinence any longer, I decided to investigate how to write a packet dissector for Wireshark.  Wireshark (nee Ethereal) is an open source  network protocol analyser with an extensive set of protocol dissectors and a plug-in architecture for writing your own. Having downloaded and verified a fresh build, [...]]]></description>
			<content:encoded><![CDATA[<p>Over Christmas, when I couldn&#8217;t tolerate the withdrawal of internet and computer abstinence any longer, I decided to investigate how to write a packet dissector for <a href="http://www.wireshark.org/">Wireshark</a>.  <a href="http://www.wireshark.org/faq.html#q1.1">Wireshark</a> (nee Ethereal) is an open source  network protocol analyser with an extensive set of protocol dissectors and a plug-in architecture for writing your own.</p>
<p>Having downloaded and verified a fresh build, I set about looking at tutorials and examples of dissectors.  The intention is to capture network traffic arriving and leaving the iigcd process, currently JDBC and .NET over TCP/IP, and to dissect the packets.</p>
<p>I eventually stumbled on <a href="http://www.codeproject.com/KB/IP/custom_dissector.aspx">Creating Your Own Custom Wireshark Dissector</a> by Ken Thompson and after a couple of hours had the inklings of a dissector.</p>
<p>The protocol is composed of a network level envelope around a transport level packet which surrounds a Data Access message.  The initial dissector will dissect the network and transport layers, but the message dissection was a bit more complicated than time allowed.</p>
<p>The code is available from <a href="https://bitbucket.org/notnull/idamp-dissector-plug-in/overview">https://bitbucket.org/notnull/idamp-dissector-plug-in/</a>, feel free to contribute <img src='http://blogs.planetingres.org/notnull/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<h3>Related posts</h3>
<ul class="related_post">
<li><a href="http://blogs.planetingres.org/notnull/2011/02/01/ingres-migration-toolset/" title="Ingres Migration Toolset">Ingres Migration Toolset</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/08/11/ingres-command-line-rpm-installation/" title="Ingres command line RPM installation">Ingres command line RPM installation</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/08/09/ingres-doc-search-plug-in-updated/" title="Ingres doc search plug-in updated">Ingres doc search plug-in updated</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/08/04/ingres-package-install-aint-misbehavin/" title="Ingres package install ain&#8217;t misbehavin">Ingres package install ain&#8217;t misbehavin</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/08/03/ingres-documentation-site-relaunched/" title="Ingres Documentation site relaunched">Ingres Documentation site relaunched</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2011/02/01/data-access-message-protocol-wireshark-dissector/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ingres Migration Toolset</title>
		<link>http://blogs.planetingres.org/notnull/2011/02/01/ingres-migration-toolset/</link>
		<comments>http://blogs.planetingres.org/notnull/2011/02/01/ingres-migration-toolset/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 08:17:41 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[ingres]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[toolset]]></category>
		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/?p=253</guid>
		<description><![CDATA[For the past few months the migration tool has been developed as an Eclipse plug-in as well as a stand-alone wizard.  The reasons behind this were to make use of the Eclipse development and runtime environments and with Apache maven and ant create a process for the release lifecycle.  Fortunately and timely Google donated WindowBuilder, recognized [...]]]></description>
			<content:encoded><![CDATA[<p>For the past few months the migration tool has been developed as an Eclipse plug-in as well as a stand-alone wizard.  The reasons behind this were to make use of the Eclipse development and runtime environments and with Apache <a href="http://maven.apache.org/">maven</a> and <a href="http://ant.apache.org/">ant</a> create a process for the release lifecycle.  Fortunately and timely <a href="http://googlecode.blogspot.com/2010/12/windowbuilder-becomes-new-open-source.html">Google donated WindowBuilder</a>, recognized as the leading GUI builder for Java, to Eclipse enabling the wizard pages to be developed more easily.  We set-up an internal version of <a href="http://www.atlassian.com/software/jira/">Jira</a>, an issue tracker running on Ingres 10, used a central <a href="http://mercurial.selenic.com/">mercurial</a> repository for source control and an internal maven repository for dependencies.</p>
<p>The project was divided into the <a href="https://bitbucket.org/notnull/com.ingres.migrationwizard/overview">GUI</a> and the <a href="https://bitbucket.org/notnull/ingres-migration-library/overview">migration library</a> and the initial release was a re-factored version of the initial Swing application together with extensive release processes built around it.   Thank heavens for maven lifecycle plug-ins.</p>
<p>One of the more serious challenges was the incorporation of the <a href="http://antlr.org/">antlr</a> parser into our build that lead to the development of an ant plug-in that split the generated Java code into multiple interfaces.</p>
<p>As you will notice the source for the project is not hosted on the <a href="https://sourceforge.net/projects/ingresmigtools/">original Ingres Migration Toolset project</a>; that was our original intention, but our attempts to maintain the development history in mercurial when integrating changes back to the subversion repository failed (lesson learned).<br />
<h3>Related posts</h3>
<ul class="related_post">
<li><a href="http://blogs.planetingres.org/notnull/2010/05/16/debugging-the-hibernate-project-with-eclipse/" title="Debugging the Hibernate project with Eclipse">Debugging the Hibernate project with Eclipse</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/02/04/button-clicks-do-nothing-in-ingres-database-workbench-eclipse-and-its-derivatives/" title="Button clicks do nothing in Ingres Database Workbench, Eclipse and its derivatives">Button clicks do nothing in Ingres Database Workbench, Eclipse and its derivatives</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2008/01/21/rapid/" title="Rapid">Rapid</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2011/02/01/data-access-message-protocol-wireshark-dissector/" title="Data Access Message Protocol &#8211; Wireshark dissector">Data Access Message Protocol &#8211; Wireshark dissector</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/08/11/ingres-command-line-rpm-installation/" title="Ingres command line RPM installation">Ingres command line RPM installation</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2011/02/01/ingres-migration-toolset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ingres package install ain&#8217;t misbehavin</title>
		<link>http://blogs.planetingres.org/notnull/2010/08/04/ingres-package-install-aint-misbehavin/</link>
		<comments>http://blogs.planetingres.org/notnull/2010/08/04/ingres-package-install-aint-misbehavin/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 17:49:36 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ingres]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[posttrans]]></category>
		<category><![CDATA[RPM]]></category>
		<category><![CDATA[set-up]]></category>
		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/?p=232</guid>
		<description><![CDATA[In recent development to improve/overhaul the Ingres rpm installation and set-up some of the set-up process was moved from the rpm packages into the installation RC script and a %posttrans scriptlet was used to perform some of the preparatory set-up steps.  Unfortunately, the %posttrans scriptlet was not being triggered on some versions of Linux and [...]]]></description>
			<content:encoded><![CDATA[<p>In recent development to improve/overhaul the Ingres rpm installation and set-up some of the set-up process was moved from the rpm packages into the installation RC script and a %posttrans scriptlet was used to perform some of the preparatory set-up steps.  Unfortunately, the %posttrans scriptlet was not being triggered on some versions of Linux and it was decided to remove %posttrans from the preparatory set-up stage as well as the RC script.</p>
<p>As a consequence if installing packages by-hand (not using the express install script or the GUI installer) the set-up process will not be run on any versions of Linux.  Post installation configuration is initiated by running either:</p>
<blockquote><p><code>service ingresXX configure [response file name]</code></p></blockquote>
<p>or</p>
<blockquote><p><code>service IngresXX start</code></p></blockquote>
<ul>
<li>XX should be replaced with the instance code in the package name used to install with <strong>II</strong> by default.</li>
<li>A response file name should be supplied with configuration values that differ from the default.</li>
</ul>
<h3>Related posts</h3>
<ul class="related_post">
<li><a href="http://blogs.planetingres.org/notnull/2010/08/11/ingres-command-line-rpm-installation/" title="Ingres command line RPM installation">Ingres command line RPM installation</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2011/02/01/data-access-message-protocol-wireshark-dissector/" title="Data Access Message Protocol &#8211; Wireshark dissector">Data Access Message Protocol &#8211; Wireshark dissector</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2011/02/01/ingres-migration-toolset/" title="Ingres Migration Toolset">Ingres Migration Toolset</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/08/09/ingres-doc-search-plug-in-updated/" title="Ingres doc search plug-in updated">Ingres doc search plug-in updated</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/08/03/ingres-documentation-site-relaunched/" title="Ingres Documentation site relaunched">Ingres Documentation site relaunched</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2010/08/04/ingres-package-install-aint-misbehavin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging the Hibernate project with Eclipse</title>
		<link>http://blogs.planetingres.org/notnull/2010/05/16/debugging-the-hibernate-project-with-eclipse/</link>
		<comments>http://blogs.planetingres.org/notnull/2010/05/16/debugging-the-hibernate-project-with-eclipse/#comments</comments>
		<pubDate>Sun, 16 May 2010 10:42:44 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[ingres]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[Java]]></category>
		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/?p=174</guid>
		<description><![CDATA[Trying to debug projects made using Apache Maven has not been something achieved with any success. Having been working at the periphery of the Hibernate source and submitting simple patches for the Ingres dialect and some tests I am now in a position to start debugging some of the issues discovered whilst testing. I have [...]]]></description>
			<content:encoded><![CDATA[<p>Trying to debug projects made using <a href="http://maven.apache.org/">Apache Maven</a> has not been something achieved with any success.</p>
<p>Having been working at the periphery of the Hibernate source and submitting simple patches for the Ingres dialect and some tests I am now in a position to start debugging some of the issues discovered whilst testing.  I have been dabbling with building maven projects from Eclipse using <a href="http://m2eclipse.sonatype.org/">m2eclipse</a>, but have not managed to perform source level debugging.  I found this article <a href="http://docs.codehaus.org/display/MAVENUSER/Dealing+with+Eclipse-based+IDE">Dealing with the Eclipse IDE</a> that provides some clues on how it is done.</p>
<p>Essentially it involves a remote debug session from a container project to a running maven goal configured to listen.</p>
<h2>Versions</h2>
<p>The versions of software that I&#8217;ve been playing with</p>
<ul>
<li>Eclipse Galileo ~SR1 &#8211; Build id: 20090920-1017</li>
<li>Eclipse Helios M5 &#8211; Build id: 20100204-0846 (I started to install the m2eclipse plugin and import the projects, but needs more work)</li>
<li>Ingres 9.3.1 (int.lnx/106)</li>
<li>java version &#8220;1.6.0_16&#8243;</li>
<li>mvn Apache Maven 2.2.1 (r801777; 2009-08-06 20:16:01+0100)</li>
<li>Apache Ant version 1.7.1 compiled on June 27 2008</li>
<li>Hibernate 3.5.0-Final</li>
<p><code>Path: .<br />
URL: http://anonsvn.jboss.org/repos/hibernate/core/tags/hibernate-3.5.0-Final<br />
Repository Root: http://anonsvn.jboss.org/repos/hibernate<br />
Repository UUID: 1b8cb986-b30d-0410-93ca-fae66ebed9b2<br />
Revision: 19149<br />
Node Kind: directory<br />
Schedule: normal<br />
Last Changed Author: steve.ebersole@jboss.com<br />
Last Changed Rev: 19148<br />
Last Changed Date: 2010-03-31 18:38:55 +0100 (Wed, 31 Mar 2010)<br />
</code>
</ul>
<p>These notes assume that the software has been installed and configured.  For example, the Maven local repository location is available and that the Maven remote repository is accessible.</p>
<h2>Installing m2eclipse</h2>
<p>The article <a href="http://docs.codehaus.org/display/MAVENUSER/Dealing+with+Eclipse-based+IDE">Dealing with the Eclipse IDE</a> includes links on how to install m2eclipse, but in summary, to install new software in Eclipse use the built-in update manager:</p>
<ul>
<li>Using the menus select
<ul>
<li>Help &gt; Install New Software</li>
<li>In the dialog add the URL <a href="http://m2eclipse.sonatype.org/sites/m2e">http://m2eclipse.sonatype.org/sites/m2e</a></li>
<li>Check the boxes of the packages that should be installed
<ul>
<li>NB&#8221; Version 0.9.8 should be un-installed before upgrading to 0.10.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>Import the Hibernate project</h2>
<p>Once the m2eclipse extensions have been installed into Eclipse the preparation for importing the Hibernate Project Object Model (POM) XML file into the IDE is complete.  Importing the Hibernate project is <em><strong>optional</strong></em> and is only required if you intend to build Hibernate from Eclipse.  The remote Java application perspective will connect to either a command line invoked maven process or an Eclipse invoked maven process.</p>
<ul>
<li>Start Eclipse
<ul>
<li>Create a new workspace for the Hibernate project.</li>
</ul>
</li>
<li>Using the menu File &gt; Import
<ul>
<li>Select Maven &gt; Existing Maven Projects</li>
<li>Click Next and use the browse button to specify the root directory of the Hibernate source code, this is the directory in which the top level pom.xml file exists.</li>
<li>The sub-projects appear in the tree view in addition to the hierarchy beneath the top level project.</li>
</ul>
</li>
<p><img src="http://blogs.planetingres.org/notnull/files/2010/05/02-eclipse-import-maven-projects.png" alt="Import Exisiting Maven Project" /></ul>
<p>The initial import and build of the workspace can take a while.</p>
<h2><strong>Create a Surefire Debug Configuration</strong></h2>
<p>Create a run configuration for a specific test class for debugging.  In this example the filter.DynamicFilterTest has been cut down into filter.IngresDynamicFilterTest.</p>
<ul>
<li> Select the menu Run &gt; Run configuration option or from the context menu using a right click.</li>
<li>In the Run Configuration dialog select &#8221;maven&#8221; and create a new configuration
<ul>
<li>Enter a name for the configuration</li>
<li>Surefire Debug</li>
<li>Set the base directory to the test suite directory by browsing the file system</li>
<li>Set the goals</li>
<li> <code>test -Dmaven.surefire.debug</code></li>
<li>Use a JDBC profile if one is required and has been configured</li>
<li>Set the &#8221;test&#8221; parameter to a specific test class intended for debugging
<ul>
<li> <code>test=org.hibernate.test.filter.IngresDynamicFilterTest</code></li>
</ul>
</li>
</ul>
</li>
<p><img src="http://blogs.planetingres.org/notnull/files/2010/05/06-debug-config-m2-test.png" alt="Maven Test Run Configuration" /></ul>
<h2>Create a Debugging Container Project</h2>
<p>The container java project does not contain any source and is used as the launch point for a remote debugging configuration.</p>
<ul>
<li> Using the File-&gt;New-&gt;Project-&gt;Java Project (or equivalent)</li>
<li>Set the project name in the wizard</li>
<li><code>Project Name: Maven Debug</code> and finish</li>
<p>In order to debug a maven project a container project is used to connect to maven in debug mode.</p>
<p><a href="http://vimeo.com/11763677">Create Container Project</a> from <a href="http://vimeo.com/user3822721">Ray Fan</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<li>Use the Run-&gt;Debug Configurations menu to create a configuration for the Remote Java Application
<ul>
<li>Set the name<code>Name: Maven</code></li>
<li>Keep all the existing settings and apply</li>
<p><img src="http://blogs.planetingres.org/notnull/files/2010/05/10-debug-config-remote-maven-project.png" alt="Debug Remote Application" /></p>
<li>Select the Source tab and add source
<ul>
<li><code>File System Directory</code> and browse to the Hibernate route source directory</li>
<li>Select the <code>Search subfolders</code> check box</li>
<li>Apply and close</li>
</ul>
<p><img src="http://blogs.planetingres.org/notnull/files/2010/05/13-source-folders-added.png" alt="Add Source Folders" /></li>
</ul>
</li>
<li>Use the Run &gt; Debug Configurations menu to duplicate the Maven configuration for the Remote Java Application
<ul>
<li>Set the name
<ul>
<li><code>Name: Maven Debug</code></li>
</ul>
</li>
<li>Change the port value
<ul>
<li><code>Port: 5005</code></li>
</ul>
</li>
<li>Apply and close</li>
<p><img src="http://blogs.planetingres.org/notnull/files/2010/05/11-debug-config-remote-maven-surefile-project.png" alt="Remote Application Maven Surefire Configuration" /></ul>
</li>
</ul>
<h2>Set breakpoints and start the test</h2>
<p>At least one breakpoint should be set in the source prior to the run configuration Surefire Debug is started</p>
<ul>
<li> Browse the source tree in the package explorer to the test class</li>
<li>Set a breakpoint</li>
<li>Use the Run-&gt;Run Configurations menu and select the Maven-&gt;Surefire Debug configuration
<ul>
<li>Click debug to start maven</li>
</ul>
</li>
<p><a href="http://vimeo.com/11760638">Eclipse breakpoint setting and starting maven</a> from <a href="http://vimeo.com/user3822721">Ray Fan</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Using Eclipse to browse the project source and set a breakpoint prior to starting maven to run the test.</p>
<h2>Start the debugger</h2>
</ul>
<ul>
<li> Use the Debug-&gt;Debug Configurations menu and select the <code>Maven Debug</code> remote debugging configuration
<ul>
<li>Click debug to start the debugging session</li>
<li>Switch to the debugging perspective when prompted</li>
<li>Once execution of the test starts the breakpoint set previously should be hit</li>
</ul>
</li>
<p><a href="http://vimeo.com/11767128">Starting to debug</a> from <a href="http://vimeo.com/user3822721">Ray Fan</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Starting to debug, switching perspective and hitting the breakpoint.</p>
</ul>
<h3>Related posts</h3>
<ul class="related_post">
<li><a href="http://blogs.planetingres.org/notnull/2010/04/01/hibernate-3-5-0-final-released/" title="Hibernate 3.5.0-Final released">Hibernate 3.5.0-Final released</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2008/08/06/donnez-moi-un-cafe-ingres/" title="Donnez-moi un café Ingres">Donnez-moi un café Ingres</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2008/01/21/rapid/" title="Rapid">Rapid</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2011/02/01/ingres-migration-toolset/" title="Ingres Migration Toolset">Ingres Migration Toolset</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/02/23/useful-or-useless-follow-on-post/" title="Useful or useless? Follow on post &#8230;">Useful or useless? Follow on post &#8230;</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2010/05/16/debugging-the-hibernate-project-with-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hibernate 3.5.0-Final released</title>
		<link>http://blogs.planetingres.org/notnull/2010/04/01/hibernate-3-5-0-final-released/</link>
		<comments>http://blogs.planetingres.org/notnull/2010/04/01/hibernate-3-5-0-final-released/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 09:54:14 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ingres]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[Java]]></category>
		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/?p=170</guid>
		<description><![CDATA[Today, Hibernate 3.5.0 completes its development cycle and is announced as Final.]]></description>
			<content:encoded><![CDATA[<p>Today, <a href="http://hibernate.org/">Hibernate 3.5.0</a> completes its development cycle and is <a href="http://in.relation.to/Bloggers/Hibernate350FinalRelease">announced as Final</a>.  I joined this party late in the day and I&#8217;m still working through some of the test results from earlier candidate releases.  I&#8217;ve submitted a few patches and they&#8217;ve been accepted and some have even made it into this Final release.</p>
<p>Most notably, I extended the work started by Enrico Schenk in introducing additional Ingres dialects.  There are now three possible dialects.</p>
<ul>
<li>IngresDialect &#8211; for use with Ingres II 9.2</li>
<li>Ingres9Dialect &#8211; for use with Ingres II 9.3</li>
<li>Ingres10Dialect &#8211; for use with Ingres II 10.0 &#8211; at the moment this is a place holder and uses the 9.3 dialect</li>
</ul>
<p>The Ingres9Dialect switches uses the ISO date/time types and functions for mapping to their Hibernate equivalents.  This changes the behaviour from the IngresDialect which used ingresdate type and functions.</p>
<p>Further changes to Ingres9Dialect will include the introduction of auto-increment columns; a whole host of additions will be required for the Ingres10Dialect and not forgetting the inclusions from the <a href="http://community.ingres.com/wiki/IngresGeospatial">Ingres GeoSpatial project</a>.<br />
A list of new features introduced into each release is published on the &#8220;<a href="http://community.ingres.com/wiki/Ingres_New_Features_Per_Release">Ingres New Features Per Release</a>&#8221; page.</p>
<h3>Related posts</h3>
<ul class="related_post">
<li><a href="http://blogs.planetingres.org/notnull/2010/05/16/debugging-the-hibernate-project-with-eclipse/" title="Debugging the Hibernate project with Eclipse">Debugging the Hibernate project with Eclipse</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/02/23/useful-or-useless-follow-on-post/" title="Useful or useless? Follow on post &#8230;">Useful or useless? Follow on post &#8230;</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2009/04/24/in-the-market-for-jdbc-properties/" title="In the market for JDBC properties">In the market for JDBC properties</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2008/08/06/donnez-moi-un-cafe-ingres/" title="Donnez-moi un café Ingres">Donnez-moi un café Ingres</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2008/03/28/google-summer-of-code-gsoc-2008/" title="Google Summer of Code (GSoC) 2008">Google Summer of Code (GSoC) 2008</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2010/04/01/hibernate-3-5-0-final-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipsecon 2010 &#8211; day4</title>
		<link>http://blogs.planetingres.org/notnull/2010/04/01/eclipsecon-2010-day4/</link>
		<comments>http://blogs.planetingres.org/notnull/2010/04/01/eclipsecon-2010-day4/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 09:03:05 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[EclipseCon]]></category>
		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/?p=167</guid>
		<description><![CDATA[Another session packed day kicked off by a rousing keynote from Robert C. Martin of Object Mentor Inc. entitled &#8220;Software Professionalism and the Art of Saying &#8220;No&#8221;. Robert touted a common sense approach to developing tests and software (and the order is important here). Being in the software industry for so long most/all of his [...]]]></description>
			<content:encoded><![CDATA[<p>Another session packed day kicked off by a rousing keynote from Robert C. Martin of Object Mentor Inc. entitled &#8220;Software Professionalism and the Art of Saying &#8220;No&#8221;.  Robert touted a common sense approach to developing tests and software (and the order is important here).  Being in the software industry for so long most/all of his generic quotes from management sounded very familiar and after each one Chris and I looked at each other and smiled.</p>
<p>The day continued with the same intensity as the preceding 3 days culminating in the closing session where the conference was wrapped up and the winners of prizes announced.  Unexpectedly, <a href="http://www.flickr.com/photos/33725200@N00/4474089417/in/pool-1330604@N25">I won a prize (looking like a real geek)</a> for voter feedback; having been to many conferences I liked the system of soliciting feedback at Eclipsecon, making use of the +1, 0, -1 voting system.</p>
<p>This was my first ever <a href="http://www.eclipsecon.org/2010/">Eclipsecon</a> and the <a href="http://www.eclipse.org/">Eclipse Foundation</a> Conference Committee organized a fantastic event in my opinion.  Now I&#8217;ll have to try and get to <a href="http://www.eclipsecon.org/summiteurope2010/">Eclipse Summit Europe</a>, just to see how they follow that.<br />
<h3>Related posts</h3>
<ul class="related_post">
<li><a href="http://blogs.planetingres.org/notnull/2011/02/01/ingres-migration-toolset/" title="Ingres Migration Toolset">Ingres Migration Toolset</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/06/25/vectorise-your-data/" title="Vectorise your data">Vectorise your data</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/05/16/debugging-the-hibernate-project-with-eclipse/" title="Debugging the Hibernate project with Eclipse">Debugging the Hibernate project with Eclipse</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/03/29/eclipsecon-2010-day3/" title="EclipseCon 2010 &#8211; day3">EclipseCon 2010 &#8211; day3</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/02/04/button-clicks-do-nothing-in-ingres-database-workbench-eclipse-and-its-derivatives/" title="Button clicks do nothing in Ingres Database Workbench, Eclipse and its derivatives">Button clicks do nothing in Ingres Database Workbench, Eclipse and its derivatives</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2010/04/01/eclipsecon-2010-day4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EclipseCon 2010 &#8211; day2</title>
		<link>http://blogs.planetingres.org/notnull/2010/03/24/eclipsecon-2010-day2/</link>
		<comments>http://blogs.planetingres.org/notnull/2010/03/24/eclipsecon-2010-day2/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 01:59:14 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[ingres]]></category>
		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/?p=155</guid>
		<description><![CDATA[This morning saw a keynote presentation from Jeet Kaul (formally of Sun) and Steve Harris of Oracle. With the new developments in the pipeline for Java SE and Java EE it seems that Oracle&#8217;s Java is set to be all pervasive in devices ranging from the mobile platform and beyond to desktop and server. Demonstrations [...]]]></description>
			<content:encoded><![CDATA[<p>This morning saw a keynote presentation from Jeet Kaul (formally of Sun) and Steve Harris of Oracle.  With the new developments in the pipeline for Java SE and Java EE it seems that Oracle&#8217;s Java is set to be all pervasive in devices ranging from the mobile platform and beyond to desktop and server.</p>
<p>Demonstrations of simpler application deployment on Glassfish with Java modules or OSGi plug-ins together with annotated EJB integration showed how Java is loosing its &#8216;complex to use&#8217; shackles.  A quick JavaFX demonstration demonstrating video and audio support could mean the same deployment format for desktop to embedded devices and provide a replacement to Silverlight and Flash.</p>
<p>During my existence as a conference attendee I have never before experienced the lunch practice of rewarding with beer the filling of places at a table; that is until today.  Thanks to Adrian Mos (the presenter on Mangrove SOA modelling framework that I attended) who diligently recruited people to sit at our table resulting in the awarding of beer served for lunch.</p>
<p>The Google presentations on Web toolkit and app engine were well attended, so well attended there wasn&#8217;t even standing room and I couldn&#8217;t get in.  From the description of the atmosphere and odour in the room from a colleague I think I had a disappointing but lucky escape.</p>
<p>Now I&#8217;m slowly getting my head around some of the terms and the architectures the fog is slowly clearing.<br />
<h3>Some random stuff</h3>
<ul class="related_post"></ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2010/03/24/eclipsecon-2010-day2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EclipseCon 2010 &#8211; day1</title>
		<link>http://blogs.planetingres.org/notnull/2010/03/23/eclipsecon-2010-day1/</link>
		<comments>http://blogs.planetingres.org/notnull/2010/03/23/eclipsecon-2010-day1/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 15:13:44 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[ingres]]></category>
		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/?p=148</guid>
		<description><![CDATA[It has been a busy opening day at EclipseCon 2010. I have been able to attend some lightning talks (~25 minutes) where a synopsis of a later presentation is given. Gives you an idea of the forthcoming content. The first session of the day involved an introductory presentation on the e4rover challenge &#8211; translation, control [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a busy opening day at EclipseCon 2010.  I have been able to attend some lightning talks (~25 minutes) where a synopsis of a later presentation is given.  Gives you an idea of the forthcoming content.</p>
<p>The first session of the day involved an introductory presentation on the <a href="http://www.eclipse.org/community/e4RoverMars/challenge.php">e4rover challenge</a> <br /><img src="http://lh3.ggpht.com/_mXYvPTn7774/S6hVKlOosoI/AAAAAAAAArg/6QeW_BcAcmk/s288/22032010046.jpg" /><br /> &#8211; translation, control a remote vehicle in a Mars terrain simulation using the current version of <a href="http://eclipse.org/e4/">Eclipse e4</a> with driving controls.</p>
<p>Followed by a three hour tutorial on &#8220;Working with OSGi&#8221; that developed <a href="http://wiki.eclipse.org/Toast">&#8220;Toast&#8221;</a> a sample fleet management application.  Many of the presentations are highly technical and domain specific so finding presentations for a newbie like me is a challenge.  Luckily, the lightning talks are 12.5 to 25 minutes of introduction to pitch for more detailed presentations later in the week.</p>
<p>What is striking is that some of the project proposals can have overlap with each other and compete for community attention.  A point raised in the Eclipse Modelling Framework (EMF) panel discussion was the difficulty in picking a project for an application and being sure that a project is kept active.</p>
<p>A project proposal called Eclipse Scout is being an application framework and SDK that is being made open source by a Swiss Company BSI who have used it to create their own CRM application.  I noted their intention to integrate with Jasperserver but the lack of Ingres on their database connectivity slide.  I raised it with the presenter Matthias Zimmermann who said the only reason was lack of expertise in their engineering.  An opportunity to get in on the ground floor I think.</p>
<p><a href="http://www.eclipse.org/pdt/">Eclipse PHP Development Tools (PDT)</a> was another lightning talk by the project lead Rob Ganor.  I caught up with Rob and spoke to him about the latest developments in PTD.  Incidentally, it&#8217;s moved on quite a way since the early syntax highlighting PHP editor.  It now includes integration with xDebug or Zend debugger and path management.  Adding the ability to provide code assist for the Ingres PHP driver would improve productivity and details on how to are on the <a href="http://wiki.eclipse.org/Extending_PDT_2.2">wiki page</a>.</p>
<p>The day ended with a short <a href="http://www.eclipse.org/datatools/">Eclipse Data Tools Platform (DTP)</a> BoF meeting where we met with members of the project leadership.  Brian Fitzpatrick informed us the Ingres Database Workbench had been submitted into DTP Enablement, so not part of the release stream but available from the source tree.</p>
<h3>Some random stuff</h3>
<ul class="related_post"></ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2010/03/23/eclipsecon-2010-day1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Useful or useless? Follow on post &#8230;</title>
		<link>http://blogs.planetingres.org/notnull/2010/02/23/useful-or-useless-follow-on-post/</link>
		<comments>http://blogs.planetingres.org/notnull/2010/02/23/useful-or-useless-follow-on-post/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 08:48:36 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[ima]]></category>
		<category><![CDATA[ingres]]></category>
		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/?p=131</guid>
		<description><![CDATA[Way back in May last year I experimented with some IMA tables that showed data types and operators defined in the DBMS.  Further poking around and a table for a list of the function instances is available, drop ima_dbms_fis; \p\g register table ima_dbms_fis ( server varchar(64) not null not default is 'SERVER', id integer4 not [...]]]></description>
			<content:encoded><![CDATA[<p>Way back in May last year I experimented with some IMA tables that<a title="Useful or useless? You decide" href="http://blogs.planetingres.org/notnull/2009/05/01/useful-or-useless-you-decide/"> showed data types and operators</a> defined in the DBMS.  Further poking around and a table for a list of the function instances is available,</p>
<pre>drop ima_dbms_fis;
\p\g
register table ima_dbms_fis (
        server varchar(64) not null not default is
                'SERVER',
        id integer4 not null not default is
                'exp.adf.adg.fi_id',
        complement integer4 not null not default is
                'exp.adf.adg.fi_cmplmnt',
        type varchar(20) not null not default is
                'exp.adf.adg.fi_type',
        flags integer4 not null not default is
                'exp.adf.adg.fi_flags',
        opid integer4 not null not default is
                'exp.adf.adg.fi_opid',
        args integer4 not null not default is
                'exp.adf.adg.fi_numargs',
        dtresult integer4 not null not default is
                'exp.adf.adg.fi_dtresult',
        dtarg1 integer4 not null not default is
                'exp.adf.adg.fi_dtarg1',
        dtarg2 integer4 not null not default is
                'exp.adf.adg.fi_dtarg2',
        dtarg3 integer4 not null not default is
                'exp.adf.adg.fi_dtarg3',
        dtarg4 integer4 not null not default is
                'exp.adf.adg.fi_dtarg4'
)
as import from 'tables'
with dbms = IMA,
structure = sortkeyed,
key = (server);
\p\g
grant all on ima_dbms_fis to ingres;
\p\g
grant select on ima_dbms_fis to public;
\p\g</pre>
<p>Adding this table to ima_dbms_types and ima_dbms_operators adds the ability to retrieve the list of functions and their signatures.  The query makes use of an internal function <em>iitypename</em> which translates the numeric type code into a name.</p>
<pre>select
    a.name,
    case when a.type='COMPARISON' then
        trim(iitypename(b.dtresult)) + ' = ( ' +
        trim(iitypename(b.dtarg1)) + ' ' +
        a.name + ' ' +
        trim(iitypename(b.dtarg2)) + ' )'
        when a.type='OPERATOR' then
        trim(iitypename(b.dtresult)) + ' = ( ' +
        trim(iitypename(b.dtarg1)) + ' ' +
        a.name + ' ' +
        trim(iitypename(b.dtarg2)) + ' )'
    else
        trim(iitypename(b.dtresult)) + ' = ' +
        a.name + '( ' +
            case when b.dtarg1 != '' then trim(iitypename(b.dtarg1)) else '' end +
            case when b.dtarg2 != '' then ', ' + trim(iitypename(b.dtarg2)) else '' end +
            case when b.dtarg3 != '' then ', ' + trim(iitypename(b.dtarg3)) else '' end +
            case when b.dtarg4 != '' then ', ' + trim(iitypename(b.dtarg4)) else '' end
        + ' )'
    end as signature
from
    ima_dbms_operators a,
    ima_dbms_fis b
where
    a.opid = b.opid
group by a.name, 2
order by a.name</pre>
<p>Some sample output from this query:</p>
<pre>|name                          |signature                       |
|soundex                       |char = soundex( text )          |
|soundex                       |char = soundex( varchar )       |
|sqrt                          |float = sqrt( float )           |
|squeeze                       |nvarchar = squeeze( nchar )     |
|squeeze                       |nvarchar = squeeze( nvarchar )  |
|squeeze                       |text = squeeze( c )             |</pre>
<p>So in answer to my own question; yes, it is useful.  I&#8217;ll be trying this on an <a title="IngresGeospatial" href="http://community.ingres.com/wiki/IngresGeospatial">IngresGeospatial</a> build when I get my hands on one.<br />
<h3>Related posts</h3>
<ul class="related_post">
<li><a href="http://blogs.planetingres.org/notnull/2010/05/16/debugging-the-hibernate-project-with-eclipse/" title="Debugging the Hibernate project with Eclipse">Debugging the Hibernate project with Eclipse</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/04/01/hibernate-3-5-0-final-released/" title="Hibernate 3.5.0-Final released">Hibernate 3.5.0-Final released</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2008/03/28/google-summer-of-code-gsoc-2008/" title="Google Summer of Code (GSoC) 2008">Google Summer of Code (GSoC) 2008</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2006/06/08/ima-guru-pronounced-im-a-guru-i-definitely-am-not/" title="IMA Guru (Pronounced, I&#8217;m A Guru) &#8211; I definitely am not">IMA Guru (Pronounced, I&#8217;m A Guru) &#8211; I definitely am not</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2011/02/01/data-access-message-protocol-wireshark-dissector/" title="Data Access Message Protocol &#8211; Wireshark dissector">Data Access Message Protocol &#8211; Wireshark dissector</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2010/02/23/useful-or-useless-follow-on-post/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Button clicks do nothing in Ingres Database Workbench, Eclipse and its derivatives</title>
		<link>http://blogs.planetingres.org/notnull/2010/02/04/button-clicks-do-nothing-in-ingres-database-workbench-eclipse-and-its-derivatives/</link>
		<comments>http://blogs.planetingres.org/notnull/2010/02/04/button-clicks-do-nothing-in-ingres-database-workbench-eclipse-and-its-derivatives/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 11:01:41 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[ingres]]></category>
		<category><![CDATA[Database Workbench]]></category>
		<category><![CDATA[Eclipse]]></category>
		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/?p=126</guid>
		<description><![CDATA[On some distributions of Linux when running Eclipse and applications derived from Eclipse the buttons on dialogs whilst accepting clicks do not seem to do anything. After some minutes of frustration and even more minutes searching for an answer on Google I found this https://bugs.eclipse.org/bugs/show_bug.cgi?id=291257 Any way the temporary solution is to set the environment [...]]]></description>
			<content:encoded><![CDATA[<p>On some distributions of Linux when running Eclipse and applications derived from Eclipse the buttons on dialogs whilst accepting clicks do not seem to do anything.</p>
<p>After some minutes of frustration and even more minutes searching for an answer on Google  I found this <a title="Eclipse bug id 291257" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=291257">https://bugs.eclipse.org/bugs/show_bug.cgi?id=291257</a> Any way the temporary solution is to set the environment variable GDK_NATIVE_WINDOWS to 1 before invoking the Eclipse launcher.  For example, use a script that implements the following:</p>
<p style="padding-left: 30px"><code>#!/bin/sh<br />
export GDK_NATIVE_WINDOWS=1<br />
/usr/local/Eclipse/eclipse/eclipse</code></p>
<p>Another workaround would be to try using the keyboard&#8217;s space bar to make a button selection, but this gets a bit tedious.</p>
<p>Alternatively wait patiently for the advent of 3.6.<br />
<h3>Related posts</h3>
<ul class="related_post">
<li><a href="http://blogs.planetingres.org/notnull/2011/02/01/ingres-migration-toolset/" title="Ingres Migration Toolset">Ingres Migration Toolset</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/06/25/vectorise-your-data/" title="Vectorise your data">Vectorise your data</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2010/05/16/debugging-the-hibernate-project-with-eclipse/" title="Debugging the Hibernate project with Eclipse">Debugging the Hibernate project with Eclipse</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2008/01/21/rapid/" title="Rapid">Rapid</a></li>
<li><a href="http://blogs.planetingres.org/notnull/2011/02/01/data-access-message-protocol-wireshark-dissector/" title="Data Access Message Protocol &#8211; Wireshark dissector">Data Access Message Protocol &#8211; Wireshark dissector</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2010/02/04/button-clicks-do-nothing-in-ingres-database-workbench-eclipse-and-its-derivatives/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

