<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<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/"
	>

<channel>
	<title>Ramblings from the bit bucket</title>
	<link>http://blogs.planetingres.org/notnull</link>
	<description>Just another blogs.planetingres.org weblog</description>
	<pubDate>Mon, 28 Apr 2008 08:42:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Ingres Engineering Summit 2008</title>
		<link>http://blogs.planetingres.org/notnull/2008/04/28/ingres-engineering-summit-2008/</link>
		<comments>http://blogs.planetingres.org/notnull/2008/04/28/ingres-engineering-summit-2008/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 08:32:37 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
		
		<category><![CDATA[conference]]></category>

		<category><![CDATA[database]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[ingres]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[community]]></category>

		<category><![CDATA[Dominican Republic]]></category>

		<category><![CDATA[Ingres Engineering]]></category>

		<category><![CDATA[Punta Cana]]></category>

		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/2008/04/28/ingres-engineering-summit-2008/</guid>
		<description><![CDATA[WOW! What a week.
I was lucky enough to participate in the Ingres Engineering Summit 2008 and I don&#8217;t think that a short blog could really do it justice.  Ingres Engineering is distributed around the globe and this was an ideal opportunity to meet up and catch up.  The summit was held in the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>WOW!</strong> What a week.</p>
<p>I was lucky enough to participate in the Ingres Engineering Summit 2008 and I don&#8217;t think that a short blog could really do it justice.  Ingres Engineering is distributed around the globe and this was an ideal opportunity to meet up and catch up.  The summit was held in the Punta Cana, Dominican Republic, a really beautiful spot with great beaches, so they tell me <img src='http://blogs.planetingres.org/notnull/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> and this year&#8217;s summit included a number of partners and academics who presented on a wide variety of topics.  Jamie and Lisa who organized us all did an outstanding job, above and beyond the call of duty.</p>
<p>The engineering focus was on community and how to better engage it, interspersed with some very interesting presentations from our guests.  <a href="http://en.wikipedia.org/wiki/Hugh_Darwen" title="Hugh Daren">Hugh Darwen</a> presented on Project D, some academic work being undertaken by a doctorate student at the University of Warwick.  CWI presented some interesting data for MonetDB/X100. Andy Grimm from <a href="http://www.rpath.com/corp/" title="rPath">rPath</a> gave an interesting overview of their appliance technology and was able to help Paul Spencer from <a href="http://www.dmsolutions.ca">DM Solutions</a> create one for MapServer.</p>
<p>A group of us joined forces to try and build a python driver for Ingres that uses the Data Access Message Protocol (DAMP) to communicate with the Data Access Server (DAS) and eliminate the need for the Ingres Net component.  As part of this project we&#8217;ll also try out <a href="http://www.selenic.com/mercurial/wiki/index.cgi">Mercurial</a> for source control in a distributed environment.  Unfortunately we didn&#8217;t get to show anything working but we&#8217;ll persevere with it.</p>
<p>The community related discussions can only be described as lively but they were thought provoking.  Having worked with a few open source partners I know what I like; it&#8217;s just a matter of convincing the others <img src='http://blogs.planetingres.org/notnull/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>There was also a discussion of increasing the size of identifiers from the current 32 characters to 512.  The change is simple but the impact will be quite widespread.  After many suggestions of phased implementations and support for long and short names it was decided that we&#8217;d make a branch of the community code and make the change there; that would at least give everyone a working version that they could try and report back on.  The SVN branch is ingres-main-long-identifiers from the ticket <a href="http://bugs.ingres.com/changeset/23" title="Names longer than 32 characters">#23</a>.</p>
<p>No doubt there will be pictures of us at work, rest and play; the links are starting to cascade into my in-box.  If you see any that look like me, it is probably someone with an uncanny resemblance to yours truly.</p>
<p>I&#8217;m looking forward to the next one already.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2008/04/28/ingres-engineering-summit-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Summer of Code (GSoC) 2008</title>
		<link>http://blogs.planetingres.org/notnull/2008/03/28/google-summer-of-code-gsoc-2008/</link>
		<comments>http://blogs.planetingres.org/notnull/2008/03/28/google-summer-of-code-gsoc-2008/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 08:45:22 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
		
		<category><![CDATA[database]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[general]]></category>

		<category><![CDATA[ingres]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[Google]]></category>

		<category><![CDATA[GPL]]></category>

		<category><![CDATA[Summer of code]]></category>

		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/2008/03/28/google-summer-of-code-gsoc-2008/</guid>
		<description><![CDATA[This year Ingres is participating organization in GSoC, an event sponsored by Google that encourages students, of all levels, to get involved with Open Source.  A summary of some proposed projects can be found here and here, any interested candidates need to get their skates on as the deadline for application is March 31, register [...]]]></description>
			<content:encoded><![CDATA[<p>This year Ingres is participating organization in <a href="http://code.google.com/soc/2008/" title="Google Summer of Code">GSoC</a>, an event sponsored by <a href="http://google.com">Google</a> that encourages students, of all levels, to get involved with Open Source.  A summary of some proposed projects can be found <a href="http://www.ingres.com/events/summerofcode.php" title="Ingres ideas">here</a> and <a href="http://bugs.ingres.com/" title="Community dev">here</a>, any interested candidates need to get their skates on as the deadline for application is March 31, register and get more information at <a href="http://groups.google.com/group/google-summer-of-code-announce/web/guide-to-the-gsoc-web-app-for-student-applicants" title="Student information">   Guide to the GSoC Web App for Student Applicants</a>.  The</p>
<p>I have the privilege of being accepted as a mentor for Ingres.  All of the project mentors have been introducing themselves on the mentors mailing list and there must be a few hundred of us.  What strikes me, from the brief biographies, is the number of people who manage to dedicate their personal time for their projects.  I have to take my hat off to them.  Any Ingres community members who would like to mentor a project can register and get more information at    <a href="http://groups.google.com/group/google-summer-of-code-announce/web/guide-to-the-gsoc-web-app-for-mentors-and-organization-administrators" title="Mentors information">Guide to the GSoC Web App for Mentors and Organization Administrators</a>.</p>
<p>I&#8217;m really looking forward to seeing what develops <img src='http://blogs.planetingres.org/notnull/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2008/03/28/google-summer-of-code-gsoc-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cached Dynamic Query</title>
		<link>http://blogs.planetingres.org/notnull/2008/03/22/cached-dynamic-query/</link>
		<comments>http://blogs.planetingres.org/notnull/2008/03/22/cached-dynamic-query/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 08:54:01 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
		
		<category><![CDATA[database]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[ima]]></category>

		<category><![CDATA[ingres]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[cached dynamic query]]></category>

		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/2008/03/22/cached-dynamic-query/</guid>
		<description><![CDATA[It has been a very busy few months and the appliance team moves apace and is continuously subjected to requests for new applications and Ingres releases.
With the latest release of Ingres one of the new features is cached dynamic query plans; that will benefit any application that uses prepared dynamic queries.
Ingres has long had the [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a very busy few months and the appliance team moves apace and is continuously subjected to requests for new applications and Ingres releases.</p>
<p>With the latest release of Ingres one of the new features is cached dynamic query plans; that will benefit any application that uses prepared dynamic queries.</p>
<p>Ingres has long had the ability to cache query plans for stored procedures and from queries in embedded SQL programs using the REPEATED keyword.  The latter has meant that queries are identified and tagged in the application.  For applications that are written using a driver for example, ODBC, JDBC, .NET and PHP it hasn&#8217;t been possible, until now, to use store a query plan for reuse.  This feature benefits queries that take a long time to optimize and compile (for a particular value of long) and obviously the more times the same query is executed the better the benefit of caching as the optimization and compilation time is amortized over the number of executions.</p>
<p>As this is the first implementation it is disabled by default and the scope is severely limited.  For now it is implemented only for selects and for queries that require greedy enumeration.</p>
<p>To give an example; the application that I am using generates queries for its underlying database and I have no control over it.  These queries although complex return a very low volume of results.  Looking at the query plans there are between 50 and 80 candidate tables and indices.  Without greedy enumeration these queries don&#8217;t even compile, not only that but these queries are executed hundreds of times.  With greedy enumeration the query must complete compilation, before that there is only a partial plan so setting join op time out won&#8217;t help.</p>
<p>So here is how you can control caching:</p>
<p><code>CBF - ii.hostname.dbms.*.cache_dynamic: ON or OFF</code></p>
<p><code>SQL - server control:   set [no]cache_dynamic - alter the current server setting including overriding the CBF parameter.<br />
- session control:  set session [no]cache_dynamic - enable/disable query caching within a session<br />
- status:           select dbmsinfo('cache_dynamic') - Y or N<br />
- status imadb:     select rqp_text from ima_qsf_rqp shows query text for cached text objects for dynamic cursors.</code></p>
<p>Until cached dynamic query plans I had to suffer in silence.  I&#8217;d be interested if anyone else finds the feature a benefit, if you do let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2008/03/22/cached-dynamic-query/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ingstatus</title>
		<link>http://blogs.planetingres.org/notnull/2008/01/24/ingstatus/</link>
		<comments>http://blogs.planetingres.org/notnull/2008/01/24/ingstatus/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 10:17:53 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
		
		<category><![CDATA[Example]]></category>

		<category><![CDATA[database]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[ingres]]></category>

		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/2008/01/24/ingstatus/</guid>
		<description><![CDATA[I&#8217;ve been clearing out some old files and found an example of ingstatus for Windows.  Ingstatus is a utility that is available on Linux and UNIX.  This example uses the functions available in the little known library iilibutil.dll.   I&#8217;ve put it on the community site on the ingstatus page.
The iilibutil library [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been clearing out some old files and found an example of ingstatus for Windows.  Ingstatus is a utility that is available on Linux and UNIX.  This example uses the functions available in the little known library iilibutil.dll.   I&#8217;ve put it on the community site on the <a href="http://community.ingres.com/wiki/Ingstatus" title="ingstatus example code">ingstatus</a> page.</p>
<p>The iilibutil library contains some useful functions for incorporating some Ingres management features into programs.  These functions need updating and documenting, but could form the foundation of a management API.</p>
<p>Something that could be considered for inclusion in the <a href="http://community.ingres.com/wiki/Ingres_Janitors_Project" title="Contributors project">Ingres Janitor&#8217;s</a> project.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2008/01/24/ingstatus/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rapid</title>
		<link>http://blogs.planetingres.org/notnull/2008/01/21/rapid/</link>
		<comments>http://blogs.planetingres.org/notnull/2008/01/21/rapid/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 10:38:29 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
		
		<category><![CDATA[Example]]></category>

		<category><![CDATA[IUA]]></category>

		<category><![CDATA[database]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[ingres]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[JSP]]></category>

		<category><![CDATA[JSTL]]></category>

		<category><![CDATA[OpenLaszlo]]></category>

		<category><![CDATA[Playstation 3]]></category>

		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/2008/01/21/rapid/</guid>
		<description><![CDATA[It now seems a very long time ago, but last November I took part in a team meeting where we discussed how to evangelize Ingres within our own sphere of influence.  Projects similar to the Playstation 3 port and the Eclipse DTP were mentioned as innovative.  During the meeting I was asked to [...]]]></description>
			<content:encoded><![CDATA[<p>It now seems a very long time ago, but last November I took part in a team meeting where we discussed how to evangelize Ingres within our own sphere of influence.  Projects similar to the <a href="http://blogs.planetingres.org/notnull/2007/07/11/sony-ps3-ii-910-ppclnx00/" title="Ingres and Sony Playstation 3">Playstation 3</a> port and the <a href="http://eclipse.sys-con.com/read/367020.htm" title="Ingres Eclipse DTP webinar">Eclipse DTP</a> were mentioned as innovative.  During the meeting I was asked to take a look at OpenLaszlo to try and modify one of their demonstration applications to use Ingres as a data source.</p>
<p>Being a tomcat, JSP and <a href="http://www.openlaszlo.org" title="OpenLaszlo rich internet applications">OpenLaszlo</a> nubbie I managed to get the <a href="http://www.openlaszlo.org/lps4/demos/amazon/amazon.lzx?lzt=html&amp;lzr=swf7" title="OpenLaszlo Amazon store">Amazon Store</a> demo to use Ingres for the checkout and shipping address details.  A couple of JSPs a two line change in OpenLaszlo source and the demo was reading data from Ingres.  The code changes took 5 minutes, getting it to work took a little longer.  I used OpenLaszlo 4.0.7 for my tests but <a href="http://www.openlaszlo.org/download" title="OpenLaszlo downloads">OpenLaszlo 4.0.8</a> is now available.</p>
<p>Take a look at the <a href="http://www.openlaszlo.org/lps4/demos/amazon/amazon.lzx?lzt=source" title="amazon.lzx">OpenLaszlo source code</a> at the line<code><br />
&lt;dataset name="dsAddressList" src="data/addresses.xml"/&gt;<br />
&lt;dataset name="dsCreditCardList" src="data/creditcards.xml"/&gt;<br />
</code></p>
<p>These were modified to<code><br />
&lt;dataset name="dsAddressList" src="/ingdb/getaddress.jsp" request="true" type="http"/&gt;<br />
&lt;dataset name="dsCreditCardList" src="/ingdb/creditcard.jsp" request="true" type="http"/&gt;<br />
</code>Setting request=&#8221;true&#8221; causes the client to request data each time the query string or the base URL changes.</p>
<p>My initial pages and tomcat configuration is documented on the page <a href="http://community.ingres.com/wiki/JSP" title="JSP">&#8220;Accessing data from JSP&#8221;</a> and contains the simple  DDL for the table and some sample data.   In this example the database and credentials are embedded in the page.  With a little more time I changed the JSP to use the JSTL and configured the tomcat server with a JNDI resource for the database connection.  My latest attempt is document on the page <a href="http://community.ingres.com/wiki/JNDI" title="JDBC and JNDI">&#8220;JDBC and JNDI&#8221;</a>.</p>
<p>For 2008 the watchword is &#8220;Rapid&#8221;.  Rapid application development and deployment, everything has to happen faster.  Using an environment like OpenLaszlo gets part of the way there.</p>
<p>We&#8217;ll be looking at subject matter for a development sprint at the forthcoming UK IUA in June.  An OpenLaszlo application may be a candidate.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2008/01/21/rapid/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ingres Sourcerer&#8217;s (sic) Apprentice</title>
		<link>http://blogs.planetingres.org/notnull/2007/11/09/ingres-sourcerers-sic-apprentice/</link>
		<comments>http://blogs.planetingres.org/notnull/2007/11/09/ingres-sourcerers-sic-apprentice/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 09:13:38 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
		
		<category><![CDATA[database]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[ingres]]></category>

		<category><![CDATA[ingres news]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/2007/11/09/ingres-sourcerers-sic-apprentice/</guid>
		<description><![CDATA[Ingres is starting a project modeled on the Linux Kernel Janitors Project called (for now) the Ingres Janitors Project.  Early indications are that the existing news group comp.databases.ingres and the mailing list info-ingres are going to be used as the vehicle for communications.
Any one who is interested in participating or contributing should visit the links [...]]]></description>
			<content:encoded><![CDATA[<p>Ingres is starting a project modeled on the <a href="http://janitor.kernelnewbies.org/" title="Linux Kernel Janitor Project">Linux Kernel Janitors Project</a> called (for now) the <a href="http://community.ingres.com/wiki/Ingres_Janitors_Project" title="Ingres Janitors Project">Ingres Janitors Project</a>.  Early indications are that the existing news group <a href="http://groups.google.com/group/comp.databases.ingres/topics" title="comp.databases.ingres">comp.databases.ingres</a> and the mailing list <a href="http://www.kettleriverconsulting.com/mailman/listinfo/info-ingres">info-ingres</a> are going to be used as the vehicle for communications.</p>
<p>Any one who is interested in participating or contributing should visit the links and subscribe.  I&#8217;ll be proposing an event to get the project started.  If you have any ideas leave me a comment and I&#8217;ll be sure to pass them on.  Maybe this can be something that takes place before or during an Ingres User Association conference.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2007/11/09/ingres-sourcerers-sic-apprentice/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Business Intelligence Appliance</title>
		<link>http://blogs.planetingres.org/notnull/2007/08/22/business-intelligence-appliance/</link>
		<comments>http://blogs.planetingres.org/notnull/2007/08/22/business-intelligence-appliance/#comments</comments>
		<pubDate>Wed, 22 Aug 2007 18:43:01 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
		
		<category><![CDATA[database]]></category>

		<category><![CDATA[ingres]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/2007/08/22/business-intelligence-appliance/</guid>
		<description><![CDATA[Ingres announces the launch of its Business Intelligence (BI) Appliance built around JasperSoft&#8217;s BI suite and Icebreaker itself an integration of rPath Linux and Ingres Database Management Server.
The BI Appliance eliminates barrier entry costs, simplifies deployment and reduces the total cost of ownership.
The Ingres Icebreaker BI Appliance is available to download for a 60-day trial [...]]]></description>
			<content:encoded><![CDATA[<p>Ingres announces the launch of its <a href="http://ingres.com/press/BIAppliance.php" title="Ingres debuts its Business Intelligence Appliance">Business Intelligence (BI) Appliance</a> built around <a href="http://www.jaspersoft.com" title="JasperSoft">JasperSoft</a>&#8217;s BI suite and Icebreaker itself an integration of <a href="http://www.rpath.com" title="rPath">rPath</a> Linux and <a href="http://ingres.com/products/ingres-2006.php" title="Ingres Database Management Server 2006">Ingres Database Management</a> Server.</p>
<p>The BI Appliance eliminates barrier entry costs, simplifies deployment and reduces the total cost of ownership.</p>
<p>The Ingres Icebreaker BI Appliance is available to <a href="http://ingres.com/downloads/bi-appliance.php" title="60-Day trail download">download</a> for a 60-day trial period.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2007/08/22/business-intelligence-appliance/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Date time paradox</title>
		<link>http://blogs.planetingres.org/notnull/2007/08/02/date-time-paradox/</link>
		<comments>http://blogs.planetingres.org/notnull/2007/08/02/date-time-paradox/#comments</comments>
		<pubDate>Thu, 02 Aug 2007 17:27:17 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
		
		<category><![CDATA[Example]]></category>

		<category><![CDATA[database]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[documentation]]></category>

		<category><![CDATA[ingres]]></category>

		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/2007/08/02/date-time-paradox/</guid>
		<description><![CDATA[One of the new features included in release 2 of Ingres 2006 was the addition of ISO SQL date (also known as ANSI date), time and interval types to the Ingres date type.
The Ingres date is composed of both a date and a time component which differs from the discrete date and time of the [...]]]></description>
			<content:encoded><![CDATA[<p>One of the new features included in release 2 of Ingres 2006 was the addition of ISO SQL date (also known as ANSI date), time and interval types to the Ingres date type.</p>
<p>The Ingres date is composed of both a date and a time component which differs from the discrete date and time of the ISO types.  Both types are called by the same name DATE which can be the source of confusion.</p>
<p>For example, a table that includes an ISO SQL date column</p>
<p><code><font face="courier">   create table t1 (c1 integer, c2 date);</font></code></p>
<p>The following statements fails as the Ingres constant &#8216;now&#8217; is not valid for an ISO SQL date.<br />
<code><font face="courier">   insert into t1 (c1, c2) values (1, &#8216;now&#8217;);<br />
   insert into t1 (c1, c2) values (2, &#8216;today&#8217;);</font></code></p>
<p>E_US10E5 &#8216;2007-07-14 00:00:00&#8242; is an invalid format or value for ANSI<br />
    date. Please enter a valid date in yyyy-mm-dd format.<br />
    (Sun Jul 15 14:01:59 2007)</p>
<p>The use of Ingres constants can be acheived by implicit coercion, using one of the cast functions or using a literal<br />
<code><font face="courier">   insert into t1 (c1, c2) values (1, date(&#8217;now&#8217;));<br />
   insert into t1 (c1, c2) values (2, date(&#8217;today&#8217;));<br />
   insert into t1 (c1, c2) values (3, cast(date(&#8217;now&#8217;) as ansidate));<br />
   insert into t1 (c1, c2) values (4, &#8216;2007-07-31&#8242;);</p>
<p>   select * from t1;</p>
<pre>
+-------------+-----------------+
|c1           |c2               |
+-------------+-----------------+
|            1|2007-07-31       |
|            2|2007-07-31       |
|            3|2007-07-31       |
|            4|2007-07-31       |
+-------------+-----------------+</pre>
<p></font></code></p>
<p>For a table that includes an Ingres date column</p>
<p><code><font face="courier">   create table t2 (c1 integer, c2 date);</p>
<p>   insert into t2 (c1, c2) values (1, &#8216;now&#8217;);<br />
   insert into t2 (c1, c2) values (2, &#8216;today&#8217;);<br />
   insert into t2 (c1, c2) values (3, cast(ansidate(&#8217;2007-07-31&#8242;) as ingresdate));<br />
   insert into t2 (c1, c2) values (4, ansidate(&#8217;2007-07-31&#8242;));<br />
   insert into t2 (c1, c2) values (5, &#8216;31/07/07&#8242;);<br />
   insert into t2 (c1, c2) values (6, current_time);</font></code></p>
<p><code><font face="courier">   select * from t2;</p>
<pre>+-------------+-------------------------+
|c1           |c2                       |
+-------------+-------------------------+
|             1|31-jul-2007 03:49:41    |
|             2|31-jul-2007             |
|             3|31-jul-2007 00:00:00    |
|             4|31-jul-2007 00:00:00    |
|             5|31-jul-2007             |
|             6|31-jul-2007 04:14:40    |
+-------------+-------------------------+
</pre>
<p></font></code></p>
<p>Note that for values of the Ingres date type format of the output is dependent on the II_DATE_FORMAT setting and affects intepretation of date literals for Ingres date values.<br />
You may have also noticed that the &#8216;create table&#8217; statements looked the same.  There is a server configuration parameter &#8216;date_type_alias&#8217; which determines whether the DBMS server interprets the word &#8216;date&#8217; as an Ingres date or as an ANSI date.  To avoid confusion date types should be declared explicitly in column specifications.</p>
<p>Seasoned Ingres users are well aware of the issues of using the same data type for both date and time values but as is evident from the table t2, date values can exist with empty time components but time values cannot have empty date components making time comparisons more challenging.</p>
<p>Consider the table</p>
<p><code><font face="courier">   create table t3 (c1 integer, c2 ingresdate, c3 ingresdate);</p>
<p>   insert into t3 values (1, &#8216;31-Jul-2007 17:00:00&#8242;, &#8216;5 hrs&#8217;);<br />
   insert into t3 values (2, &#8216;31-Jul-2007 18:14:00&#8242;, &#8216;5 hrs 45 mins&#8217;);<br />
   insert into t3 values (3, &#8216;31-Jul-2007 18:24:00&#8242;, &#8216;4 hrs 21 mins&#8217;);<br />
   insert into t3 values (4, &#8216;31-Jul-2007 19:00:00&#8242;, &#8216;4 hrs 59 mins&#8217;);<br />
   insert into t3 values (5, &#8216;31-Jul-2007 12:21:00&#8242;, &#8216;6 hrs&#8217;);<br />
   insert into t3 values (6, &#8216;31-Jul-2007 21:00:00&#8242;, &#8216;3 hrs 1 min&#8217;);<br />
   insert into t3 values (7, &#8216;31-Jul-2007 21:00:00&#8242;, &#8216;48 hrs&#8217;);<br />
</font></code></p>
<p>A specific time can be specified using the functions hour(), minute() and second().  For example,</p>
<p>  <code><font face="courier">select c1, c2, c3 from t3 where hour(c2) = 18 and minute(c2) = 24</font></code></p>
<p>would return the row with the 18:24 time.<br />
<code><font face="courier">
<pre>+-------------+---------------------+-----------------+
|c1           |c2                   |c3               |
+-------------+---------------------+-----------------+
|            3|31-jul-2007 18:24:00 |4 hrs 21 mins    |
+-------------+---------------------+-----------------+</pre>
<p></font></code></p>
<p>Select the rows in the table where the sum of the date and the interval will rollover to the next day.<br />
<code><font face="courier">   select c1, c2, c3 from t3 where date_trunc(&#8217;day&#8217;, c2 + c3) &gt; date_trunc(&#8217;day&#8217;, c2);</p>
<pre>+-------------+---------------------+-----------------+
|c1           |c2                   |c3               |
+-------------+---------------------+-----------------+
|            6|31-jul-2007 21:00:00 |3 hrs 1 mins     |
|            7|31-jul-2007 21:00:00 |2 days           |
+-------------+---------------------+-----------------+</pre>
<p></font></code></p>
<p>The ANSI equivalent</p>
<p><code><font face="courier">   create table t4 (c1 integer, c2 time, c3 interval day to second)<br />
   insert into t4 values (1, &#8216;17:00:00&#8242;, &#8216;00 05:00:00&#8242;);<br />
   insert into t4 values (2, &#8216;18:14:00&#8242;, &#8216;00 05:45:00&#8242;);<br />
   insert into t4 values (3, &#8216;18:24:00&#8242;, &#8216;00 04:21:00&#8242;);<br />
   insert into t4 values (4, &#8216;19:00:00&#8242;, &#8216;00 04:59:00&#8242;);<br />
   insert into t4 values (5, &#8216;12:21:00&#8242;, &#8216;00 06:00:00&#8242;);<br />
   insert into t4 values (6, &#8216;21:00:00&#8242;, &#8216;00 03:01:00&#8242;);<br />
   insert into t4 values (7, &#8216;21:00:00&#8242;, &#8216;00 48:00:00&#8242;);</font></code></p>
<p>A specific time can be specified directly.  For example,</p>
<p><code><font face="courier">   select c1, c2, c3 from t3 where c2 = &#8216;18:24:00&#8242;;</p>
<pre>+-------------+---------------------+-----------------+
|c1           |c2                   |c3               |
+-------------+---------------------+-----------------+
|            3|18:24:00             |0 04:21:00       |
+-------------+---------------------+-----------------+
</pre>
<p></font></code></p>
<p>Select the rows in the table where an interval causes the time to rollover to the next day.  Here we coerce values to Ingres dates and extend the time to include a date component.<br />
<code><font face="courier"><br />
   select c1, c2, c3 from t4 where interval(&#8217;day&#8217;, (date(c2) + c3) - date(&#8217;today&#8217;)) &gt;=1;</p>
<pre>+-------------+---------------------+-----------------+
|c1           |c2                   |c3               |
+-------------+---------------------+-----------------+
|            6|21:00:00             |0 03:01:00       |
|            7|21:00:00             |2 00:00:00       |
+-------------+---------------------+-----------------+</pre>
<p></font></code></p>
<p>I hope that this has offered a brief and superficial glimpse of the date and time types included in Ingres 2006 release 2, for more information see the  <a href="http://docs.ingres.com/sqlref/UnderstandingSQLDataTypes">documentation</a> @ <a href="http://docs.ingres.com/sqlref/UnderstandingSQLDataTypes">http://docs.ingres.com/sqlref/UnderstandingSQLDataTypes</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2007/08/02/date-time-paradox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sony PS3 II 9.1.0 (ppc.lnx/00)</title>
		<link>http://blogs.planetingres.org/notnull/2007/07/11/sony-ps3-ii-910-ppclnx00/</link>
		<comments>http://blogs.planetingres.org/notnull/2007/07/11/sony-ps3-ii-910-ppclnx00/#comments</comments>
		<pubDate>Wed, 11 Jul 2007 19:50:31 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
		
		<category><![CDATA[ingres]]></category>

		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/2007/07/11/sony-ps3-ii-910-ppclnx00/</guid>
		<description><![CDATA[A while back a group of us were asked for innovative ideas for demonstrating Ingres at Ca World 2007.  One of mine was to have Ingres ported and run on the Sony Playstation 3.  It&#8217;s relatively new, fairly exclusive, quite stylish and equipped to dual-boot.  Some of the challenges was to persuade [...]]]></description>
			<content:encoded><![CDATA[<p>A while back a group of us were asked for innovative ideas for demonstrating Ingres at Ca World 2007.  One of mine was to have Ingres ported and run on the <a href="http://uk.playstation.com/ps3/">Sony Playstation 3</a>.  It&#8217;s relatively new, fairly exclusive, quite stylish and equipped to dual-boot.  Some of the challenges was to persuade some one to buy a unit and then relinquish control of it for platform testing.  Luckily we found a willing victim/donor; unfortunately the machine was on the network in an American office time slicing between game play was mildly inconvenient but the port went quickly.  On the show floor at <a href="http://picasaweb.google.com/myingres/CAWorld2007Show">Ca World</a> the demo went down a storm and as I&#8217;ve <a href="http://blogs.ingres.com/emmamcgrattan/content/2007-05-14.html#comment">mentioned before</a> we got to play games during show hours.<br />
There have been varying reactions to the demonstration most common would be &#8220;Why would you do that?&#8221; and then &#8220;you managed to fit Ingres, a Java runtime environment, an <a href="http://www.eclipse.org/">Eclipse</a> workbench and a demonstration application in how much memory?&#8221;<br />
The truth is you don&#8217;t get innovation without exploring and trying to push the boundaries.  Some companies, like Google, positively encourage it.  Designers from all disciplines show their latest ranges or concept prototypes.</p>
<p><strong>Got any more suggestions or ideas?</strong></p>
<p>Technorati Tags: <a href="http://www.technorati.com/tags/Playstation+3" rel="tag">Playstation+3</a>, <a href="http://www.technorati.com/tags/Ingres" rel="tag">Ingres</a>, <a href="http://www.technorati.com/tags/port" rel="tag">port</a>, <a href="http://www.technorati.com/tags/linux" rel="tag">linux</a>, <a href="http://www.technorati.com/tags/eclipse" rel="tag">eclipse</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2007/07/11/sony-ps3-ii-910-ppclnx00/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Long range forecast</title>
		<link>http://blogs.planetingres.org/notnull/2007/06/25/long-range-forecast/</link>
		<comments>http://blogs.planetingres.org/notnull/2007/06/25/long-range-forecast/#comments</comments>
		<pubDate>Mon, 25 Jun 2007 09:11:09 +0000</pubDate>
		<dc:creator>notnull</dc:creator>
		
		<category><![CDATA[database]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[general]]></category>

		<category><![CDATA[ingres news]]></category>

		<guid isPermaLink="false">http://blogs.planetingres.org/notnull/2007/06/25/long-range-forecast/</guid>
		<description><![CDATA[A warm front from the west&#8230;
This week heralds the start of the prioritization of development projects for the next 12 to 18 months.  Representatives of various groups are gathering in the HQ offices to discuss these projects.  There are hundreds of requests for projects covering a wide variety of areas.  Requests and [...]]]></description>
			<content:encoded><![CDATA[<p>A warm front from the west&#8230;</p>
<p>This week heralds the start of the prioritization of development projects for the next 12 to 18 months.  Representatives of various groups are gathering in the HQ offices to discuss these projects.  There are hundreds of requests for projects covering a wide variety of areas.  Requests and features have been received through internal and community channels.  Unfortunately it&#8217;s too late to submit suggestions for this round of discussions but if you have suggestions for the future you can direct them to your local user group president or put them here via comment.  I can&#8217;t make any guarantees but I&#8217;ll try my best.</p>
<p>&#8230; with sunny spells and light breezes.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/notnull/2007/06/25/long-range-forecast/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
