<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
	<title>blogs.planetingres.org</title>
	
	<link>http://blogs.planetingres.org</link>
	<description>A collection of Ingres blogs</description>
	<lastBuildDate>Wed, 12 Jan 2011 11:59:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/planetingresorg" /><feedburner:info uri="planetingresorg" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><item>
		<title>Using IMA to get a list of inbound/outbound connections in GCC</title>
		<link>http://blogs.planetingres.org/blog/grant/2011/01/using-ima-to-get-a-list-of-inboundoutbound-connections-in-gcc/</link>
		<comments>http://blogs.planetingres.org/blog/grant/2011/01/using-ima-to-get-a-list-of-inboundoutbound-connections-in-gcc/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 11:57:46 +0000</pubDate>
		<dc:creator>Grant Croker</dc:creator>
				<category><![CDATA[ingres]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[ima]]></category>
		<category><![CDATA[sql]]></category>
		<guid isPermaLink="false">http://2.365</guid>
		<description><![CDATA[A question recently came up on the Ingres forums regarding the ability to query IMA to get a count and list of out bound sessions in the GCC servers. The former can be done using an existing IMA table, ima_gcc_info, like so: The latter is a bit more involved as there is no IMA table [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://community.ingres.com/forum/dba-forum/12902-number-outbound-connections-iigcn.html">question</a> recently came up on the Ingres forums regarding the ability to query IMA to get a count and list of out bound sessions in the GCC servers. The former can be done using an existing IMA table, <i>ima_gcc_info</i>, like so:</p>
<pre class="brush: plain; title: ; notranslate">execute procedure ima_set_vnode_domain;
select outbound_current from ima_gcc_info;</pre>
<p>The latter is a bit more involved as there is no IMA table registered that exposes the relevant information. Browsing <i>ima_mib_objects</i> using:</p>
<pre class="brush: plain; title: ; notranslate">
select distinct(instance) from ima_mib_objects where instance like '%gcc%'
</pre>
<p>gives a nice list of GCC related entries we can query:</p>
<pre class="brush: plain; title: ; notranslate">
* select distinct(instance) from ima_mib_objects where instance like '%gcc%'g
Executing . . .
??????????????????????????????????????????????????????????????????
?instance                                                        ?
??????????????????????????????????????????????????????????????????
?exp.gcf.gcc.conn                                                ?
?exp.gcf.gcc.conn.al_flags                                       ?
?exp.gcf.gcc.conn.al_proto_lvl                                   ?
?exp.gcf.gcc.conn.flags                                          ?
?exp.gcf.gcc.conn.gca_assoc_id                                   ?
?exp.gcf.gcc.conn.inbound                                        ?
?exp.gcf.gcc.conn.lcl_addr.node                                  ?
?exp.gcf.gcc.conn.lcl_addr.port                                  ?
?exp.gcf.gcc.conn.lcl_addr.protocol                              ?
?exp.gcf.gcc.conn.pl_flags                                       ?
?exp.gcf.gcc.conn.pl_proto_lvl                                   ?
?exp.gcf.gcc.conn.rmt_addr.node                                  ?
?exp.gcf.gcc.conn.rmt_addr.port                                  ?
?exp.gcf.gcc.conn.rmt_addr.protocol                              ?
?exp.gcf.gcc.conn.sl_flags                                       ?
?exp.gcf.gcc.conn.sl_proto_lvl                                   ?
?exp.gcf.gcc.conn.target                                         ?
?exp.gcf.gcc.conn.tl_flags                                       ?
?exp.gcf.gcc.conn.tl_lcl_id                                      ?
?exp.gcf.gcc.conn.tl_proto_lvl                                   ?
?exp.gcf.gcc.conn.tl_rmt_id                                      ?
?exp.gcf.gcc.conn.trg_addr.node                                  ?
?exp.gcf.gcc.conn.trg_addr.port                                  ?
?exp.gcf.gcc.conn.trg_addr.protocol                              ?
?exp.gcf.gcc.conn.userid                                         ?
?exp.gcf.gcc.conn_count                                          ?
?exp.gcf.gcc.data_in                                             ?
?exp.gcf.gcc.data_out                                            ?
?exp.gcf.gcc.ib_conn_count                                       ?
?exp.gcf.gcc.ib_encrypt_mech                                     ?
?exp.gcf.gcc.ib_encrypt_mode                                     ?
?exp.gcf.gcc.ib_max                                              ?
?exp.gcf.gcc.msgs_in                                             ?
?exp.gcf.gcc.msgs_out                                            ?
?exp.gcf.gcc.ob_conn_count                                       ?
?exp.gcf.gcc.ob_encrypt_mech                                     ?
?exp.gcf.gcc.ob_encrypt_mode                                     ?
?exp.gcf.gcc.ob_max                                              ?
?exp.gcf.gcc.pl_proto_lvl                                        ?
?exp.gcf.gcc.protocol                                            ?
?exp.gcf.gcc.protocol.addr                                       ?
?exp.gcf.gcc.protocol.host                                       ?
?exp.gcf.gcc.protocol.port                                       ?
?exp.gcf.gcc.registry                                            ?
?exp.gcf.gcc.registry.addr                                       ?
?exp.gcf.gcc.registry.host                                       ?
?exp.gcf.gcc.registry.port                                       ?
?exp.gcf.gcc.registry_mode                                       ?
?exp.gcf.gcc.trace_level                                         ?
??????????????????????????????????????????????????????????????????
(49 rows)
</pre>
<p>The <i>lcl_addr</i> and <i>rmt_addr</i> entries look useful so let&#8217;s create a table with the <i>node</i> and <i>port</i> sub-fields:</p>
<pre class="brush: plain; title: ; notranslate">
drop table ima_gcc_sessions;
register table ima_gcc_sessions (
        net_server                  varchar(64) not null not default
    is 'SERVER',
  local_node         varchar(20) not null not default
    is 'exp.gcf.gcc.conn.lcl_addr.node',
  local_port         varchar(20) not null not default
    is 'exp.gcf.gcc.conn.lcl_addr.port',
  remote_node         varchar(20) not null not default
    is 'exp.gcf.gcc.conn.rmt_addr.node',
  remote_port         varchar(20) not null not default
    is 'exp.gcf.gcc.conn.rmt_addr.port',
  inbound         varchar(20) not null not default
    is 'exp.gcf.gcc.conn.inbound'
) as import from 'tables'
with dbms = IMA,
structure = sortkeyed,
key = (net_server);</pre>
<p>So to get a list of outbound server connections we can now use the following SQL:</p>
<pre class="brush: plain; title: ; notranslate">
select * from ima_gcc_sessions where inbound='N'
</pre>
<p>Giving:</p>
<pre class="brush: plain; title: ; notranslate">
* select * from ima_gcc_sessions where inbound='N'g
Executing . . .
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?net_server                                                      ?local_node          ?local_port          ?remote_node         ?remote_port         ?inbound             ?
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?esva-ubuntu::/@52970                                            ?192.168.10.20       ?50064               ?10.100.10.178       ?21064               ?N                   ?
?esva-ubuntu::/@52970                                            ?192.168.10.20       ?49331               ?192.168.10.20       ?27008               ?N                   ?
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
(2 rows)
continue
*
</pre>
<p><strong>Note</strong> In order to query the IMA tables for Ingres/NET related information you must execute the procedure <code>ima_set_vnode_domain</code>:</p>
<pre class="brush: plain; title: ; notranslate">execute procedure ima_set_vnode_domain;</pre>
<p>A belated happy new year / feliz año nuevo to you all</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/blog/grant/2011/01/using-ima-to-get-a-list-of-inboundoutbound-connections-in-gcc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ingres Ruby demo application</title>
		<link>http://blogs.planetingres.org/blog/grant/2010/12/ingres-ruby-demo/</link>
		<comments>http://blogs.planetingres.org/blog/grant/2010/12/ingres-ruby-demo/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 12:53:21 +0000</pubDate>
		<dc:creator>Grant Croker</dc:creator>
				<category><![CDATA[ingres]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[ruby]]></category>
		<guid isPermaLink="false">http://2.359</guid>
		<description><![CDATA[For those of you interested in learning how to use the Ingres Ruby driver I&#8217;ve uploaded a demonstration application to http://esd.ingres.com. The demo, entitled &#8220;Frequent Flyer&#8221; demo, is a stand alone application that uses the TK GUI controls via RubyTK bindings to provide the visual interface with the Ingres Ruby driver used to connect to [...]]]></description>
			<content:encoded><![CDATA[<p>For those of you interested in learning how to use the Ingres Ruby driver I&#8217;ve uploaded a demonstration application to <a href="http://esd.ingres.com">http://esd.ingres.com</a>. The demo, entitled &#8220;Frequent Flyer&#8221; demo, is a stand alone application that uses the TK GUI controls via RubyTK bindings to provide the visual interface with the Ingres Ruby driver used to connect to the demodb database. For more information about the demo app and to download the code go to <a href="http://community.ingres.com/wiki/Ruby/Learn/Flight_Planner_Demo_Application">http://community.ingres.com/wiki/Ruby/Learn/Flight_Planner_Demo_Application</a>.</p>
<p>now to do some Python</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/blog/grant/2010/12/ingres-ruby-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ingres Ruby driver updated – version 1.4.1</title>
		<link>http://blogs.planetingres.org/blog/grant/2010/12/ingres-ruby-driver-updated-version-1-4-1/</link>
		<comments>http://blogs.planetingres.org/blog/grant/2010/12/ingres-ruby-driver-updated-version-1-4-1/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 12:26:21 +0000</pubDate>
		<dc:creator>Grant Croker</dc:creator>
				<category><![CDATA[ingres]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[ruby]]></category>
		<guid isPermaLink="false">http://2.354</guid>
		<description><![CDATA[Last week I pushed out a minor update for the Ingres Ruby driver to address issues seen in a soon to be published demo (more about that in another post). The changes in this new release are as follows: Fix #656 &#8211; getProcedureName() returns a non-NULL terminated procedure name Fix #653 &#8211; Update s.date dynamically [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I pushed out a minor update for the Ingres Ruby driver to address issues seen in a soon to be published demo (more about that in another post). The changes in this new release are as follows:</p>
<ul>
<li>Fix #656 &#8211; getProcedureName() returns a non-NULL terminated procedure name</li>
<li>Fix #653 &#8211; Update s.date dynamically for each release</li>
<li>Fix #651 &#8211; Add support for building a Ruby Gem</li>
<li>Fix #555 &#8211; SEGV when fetcing LOB data</li>
<li>Fix #565 &#8211; Compilation errors with Redhat ES 5.4 (x86-64)</li>
</ul>
<p>This new release can be obtained from <a href="http://www.ingres.com/downloads/connectivity-resources.php">ingres.com</a> or via one of the following links:</p>
<ul>
<li><a href="http://code.ingres.com/ingres/drivers/ruby/tags/ingres-ruby-1.4.1/doc/index.html">README</a></li>
<li><a href="http://esd.ingres.com/product/drivers/Ruby_on_Rails/Windows_32-Bit/Ruby_on_Rails_Adapter__Driver">Windows Binaries</a></li>
<li><a href="http://esd.ingres.com/product/drivers/Ruby_on_Rails/Source_Code/Ruby_on_Rails_Adapter__Driver">Source code</a></li>
</ul>
<p>Alternatively you can checkout this release from our external source code repository:</p>
<pre class="brush: plain; title: ; notranslate">svn checkout http://code.ingres.com/ingres/drivers/ruby/tags/ingres-ruby-1.4.1</pre>
<p>See <a href="http://community.ingres.com/wiki/Connectivity_Drivers_Source_Code">http://community.ingres.com/wiki/Connectivity_Drivers_Source_Code</a> for more information on working with our external source repository.</p>
<p>Issues specific to the Ingres ActiveRecord adapter and Ruby driver can be posted on the Ingres forum <a href="http://community.ingres.com/forum/ruby-driver-ruby-rails-adapter/">http://community.ingres.com/forum/ruby-driver-ruby-rails-adapter/</a>. Users with an active support contract can raise an issue through their local support centre or Service Desk. You can find more information on using the Ingres Ruby driver and ActiveRecord bindings at <a href="http://community.ingres.com/wiki/Ruby">http://community.ingres.com/wiki/Ruby</a>. For online technical assistance for other Ingres products or components, and a complete list of locations, primary service hours, and telephone numbers, contact technical support at <a href="]http://ingres.com/support">http://ingres.com/support</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/blog/grant/2010/12/ingres-ruby-driver-updated-version-1-4-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improving the Improved – docs.ingres.com</title>
		<link>http://blogs.planetingres.org/blog/grant/2010/08/improving-the-improved-docs-ingres-com/</link>
		<comments>http://blogs.planetingres.org/blog/grant/2010/08/improving-the-improved-docs-ingres-com/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 14:50:21 +0000</pubDate>
		<dc:creator>Grant Croker</dc:creator>
				<category><![CDATA[documentation]]></category>
		<category><![CDATA[ingres]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[tricks]]></category>
		<guid isPermaLink="false">http://2.345</guid>
		<description><![CDATA[As noted elsewhere this week saw the relaunch of the Ingres documentation site http://docs.ingres.com. At last we have the ability to deep link into the documentation without having to do acrobatics to extract links in the docs, for example http://docs.ingres.com/Ingres/9.3/Database%20Administrator%20Guide/largedataloadswsetnologgingstatement.htm has become http://docs.ingres.com/ingres/9.3/database-administrator-guide/1757-large-data-loads-with-the-set-nologging-statement To get the URL for the first required some navigation of the [...]]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://community.ingres.com/forum/community-announcements/12402-ingres-online-documentation-now-live.html">noted</a> <a href="http://blogs.planetingres.org/notnull/2010/08/03/ingres-documentation-site-relaunched/">elsewhere</a> this week saw the relaunch of the Ingres documentation site <a href="http://docs.ingres.com">http://docs.ingres.com</a>. At last we have the ability to deep link into the documentation without having to do acrobatics to extract links in the docs, for example</p>
<p><a href="http://docs.ingres.com/Ingres/9.3/Database%20Administrator%20Guide/largedataloadswsetnologgingstatement.htm">http://docs.ingres.com/Ingres/9.3/Database%20Administrator%20Guide/largedataloadswsetnologgingstatement.htm</a></p>
<p>has become</p>
<p><a href="http://docs.ingres.com/ingres/9.3/database-administrator-guide/1757-large-data-loads-with-the-set-nologging-statement">http://docs.ingres.com/ingres/9.3/database-administrator-guide/1757-large-data-loads-with-the-set-nologging-statement</a></p>
<p>To get the URL for the first required some navigation of the documentation index, via the tree or via the search engine. Since <a href="http://google.com/">Google</a> is used by many people as their home page, even to search for <a href="http://www.nbrightside.com/blog/2010/04/30/thoughts-on-browser-usability">facebook.com</a> it makes more sense that the documentation is more accessible from Google, Bing et. al.</p>
<p>One of the downsides with the new <a href="http://docs.ingres.com">docs.ingres.com</a> site is the use of screen real-estate. The main ingres.com properties have their content squeezed in to 980px which is ok in the 1990 world of &#8220;This website supports 1024&#215;786&#8243; resolutions. However in this day and age I would make the supposition that 1280&#215;1024 would be more common, something that&#8217;s borne out by <a href="http://store.steampowered.com/hwsurvey/?platform=combined">Valve Software&#8217;s monthly hardware survey</a>. With the increasing trend towards wide-screen displays in laptops as well as desktop displays a 1440&#215;900 resolution will become more common.</p>
<p>With this in mind I&#8217;ve put together a couple of hacks that when used with <a href="http://google.com/chrome">Google Chrome</a> or the Firefox <a href="https://addons.mozilla.org/en-US/firefox/addon/748/">Greasemonkey</a> addon &#8211; increases the amount of space used for the content to 60% of the width of the browser window. To install, click on the relevant link for your browser &#8211; note that the Greasemonkey script can be used with Google Chrome (from 4.0 onwards).</p>
<ul>
<li>Google Chrome &#8211; <a href="http://planetingres.org/~grant/bigdocs/bigdocs.crx">http://planetingres.org/~grant/bigdocs/bigdocs.crx</a></li>
<li>Firefox with Greasemonkey &#8211; <a href="http://planetingres.org/~grant/bigdocs/bigdocs.ingres.com.user.js">http://planetingres.org/~grant/bigdocs/bigdocs.ingres.com.user.js</a></li>
</ul>
<p>Once installed go to any <a href="http://docs.ingres.com/">docs.ingres.com</a> page and after the page finishes loading the content area will be super-sized. If there&#8217;s any interest I&#8217;ll look into to how the page can be rendered full size without having to expand on screen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/blog/grant/2010/08/improving-the-improved-docs-ingres-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changes to the Ingres RPM installer</title>
		<link>http://blogs.planetingres.org/blog/grant/2010/08/changes-to-the-ingres-rpm-installer/</link>
		<comments>http://blogs.planetingres.org/blog/grant/2010/08/changes-to-the-ingres-rpm-installer/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 17:46:03 +0000</pubDate>
		<dc:creator>Grant Croker</dc:creator>
				<category><![CDATA[ingres]]></category>
		<guid isPermaLink="false">http://2.339</guid>
		<description><![CDATA[Over the last couple of days I&#8217;ve done couple of Ingres installations using the latest, bleeding edge, RPMs and have come across a change in behaviour that might catch you out, as indeed it did me. What follows is a more or less verbatim copy of the output from an install of the latest SVN [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last couple of days I&#8217;ve done couple of Ingres installations using the latest, bleeding edge, RPMs and have come across a change in behaviour that might catch you out, as indeed it did me. What follows is a more or less verbatim copy of the output from an install of the latest SVN head revision I performed earlier today:</p>
<pre class="brush: bash; title: ; notranslate">
[grant@usrc-git T1]$ sudo rpm -ihv ingres-32bit-T1-10.1.0-00.x86_64.rpm ingres-dbms-T1-10.1.0-00.x86_64.rpm ingres-odbc-T1-10.1.0-00.x86_64.rpm
ingres-T1-10.1.0-00.x86_64.rpm ingres-net-T1-10.1.0-00.x86_64.rpm
[sudo] password for grant:
Preparing...                ###########################################[100%]
    1:ingres-T1               ###########################################[ 20%]
    2:ingres-32bit-T1        ###########################################[ 40%]
    3:ingres-dbms-T1       ###########################################[ 60%]
    4:ingres-odbc-T1        ###########################################[ 80%]
    5:ingres-net-T1          ###########################################[100%]
Building the password validation program 'ingvalidpw'.
Executable successfully installed.
[grant@usrc-git T1]$ sudo -u ingres -i
Release                     Running Script II_SYSTEM
-------------------------------------------------------------------------------
II 10.1.0 (a64.lnx/100)NPTL    N    loadII /opt/Ingres/IngresII
II 10.1.0 (a64.lnx/00)NPTL     N    loadT1 /opt/Ingres/IngresT1
[ingres@usrc-git ~]$ loadT1
[ingres@usrc-git ~]$ ingstart
Ingres/ingstart
No Ingres servers have been configured to start up.
[ingres@usrc-git ~]$ iipmhost
localhost
[ingres@usrc-git ~]$ ingprenv
II_INSTALLATION=T1
II_HOSTNAME=localhost
II_SHADOW_PWD=/opt/Ingres/IngresT1/ingres/bin/ingvalidpw
[ingres@usrc-git ~]$ cat /opt/Ingres/IngresT1/ingres/files/install.log
Installing Terminal Monitor utility files...
[ingres@usrc-git ~]$
</pre>
<p>Prior to Ingres 10.1, the RPM install scripts would perform the post-laydown configuration. As of 10.1 this is no longer the case as you can see from the output above. The 10.1 RPMs only lay down the files and do minimal configuration, which sets up the symbol table as per the output from <code>ingprenv</code>. Ingres now gets configured when started as a service for the first time:</p>
<pre class="brush: bash; title: ; notranslate">
[grant@usrc-git T1]$ sudo service ingresT1 start
Ingres, instance T1 has not been setup
Running setup for Ingres 10.1.0-00...
	Running setup for dbms...                                        OK
	Running setup for net...                                         OK
	Running iisusupp32...                                            OK
	Running iisudbms...                                              OK
	Running iisuc2...                                                OK
	Running iisutux...                                               OK
	Running iisuodbc...                                              OK
	Running iisubr...                                                OK
	Running iisudas...                                               OK
Starting Ingres, instance T1:                              [  OK  ]
[grant@usrc-git T1]$
</pre>
<p>Leaving us with a configured and running installation.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/blog/grant/2010/08/changes-to-the-ingres-rpm-installer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ingres VectorWise Webinars</title>
		<link>http://blogs.planetingres.org/blog/grant/2010/07/ingres-vectorwise-webinars/</link>
		<comments>http://blogs.planetingres.org/blog/grant/2010/07/ingres-vectorwise-webinars/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 12:23:51 +0000</pubDate>
		<dc:creator>Grant Croker</dc:creator>
				<category><![CDATA[ingres]]></category>
		<category><![CDATA[webcast]]></category>
		<category><![CDATA[Vectorwise]]></category>
		<category><![CDATA[Webinar]]></category>
		<guid isPermaLink="false">http://2.332</guid>
		<description><![CDATA[(Picked up from the forums). Ingres are broadcasting live webinars for Ingres VectorWise, starting this week. The first is entitled &#8216;Welcome to Ingres VectorWise&#8221; Join our Ingres System Engineers as they share a high-level overview of the Ingres VectorWise technology including a demonstration of the product. Find out more about this new feature and to [...]]]></description>
			<content:encoded><![CDATA[<p>(Picked up from <a href="http://community.ingres.com/forum/vectorwise-discussion/12286-ivw-webinar-series.html">the forums</a>).</p>
<p>Ingres are broadcasting live webinars for Ingres VectorWise, starting this week. The first is entitled &#8216;Welcome to Ingres VectorWise&#8221; </p>
<blockquote><p>Join our Ingres System Engineers as they share a high-level overview of the Ingres VectorWise technology including a demonstration of the product. Find out more about this new feature and to understand how to increase the performance of your analytic workloads using Ingres VectorWise with your existing hardware.
</p></blockquote>
<p>Duration will be approximately 40 mins.</p>
<p>Presenter: Joel Brunger<br />
Date: Friday, July 8, 2010<br />
Time: 10am ET / 2pm GMT / 3pm BST / 4pm CET<br />
Register &#8211; <a href="http://info.ingres.com/g/?BGGYOVT4OJ">http://info.ingres.com/g/?BGGYOVT4OJ</a></p>
<p>Presenter: Mary Schulte<br />
Date: Friday, July 8, 2010<br />
Time: 4pm PT / 11pm GMT / 9 am EST (July 9)<br />
Register &#8211; <a href="http://info.ingres.com/g/?PCGJ51KY29">http://info.ingres.com/g/?PCGJ51KY29</a></p>
<p>Presenter: Stephane Padique (Presentation will be in French/En français)<br />
Date: Vendredi, July 23, 2010<br />
Time: 1pm GMT / 2pm BST / 3pm CET<br />
Register &#8211; <a href="http://info.ingres.com/g/?UX1J8X7Y71">http://info.ingres.com/g/?UX1J8X7Y71</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/blog/grant/2010/07/ingres-vectorwise-webinars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PECL ingres-2.2.2 released</title>
		<link>http://blogs.planetingres.org/blog/grant/2010/06/pecl-ingres-2-2-2-released/</link>
		<comments>http://blogs.planetingres.org/blog/grant/2010/06/pecl-ingres-2-2-2-released/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 07:28:03 +0000</pubDate>
		<dc:creator>Grant Croker</dc:creator>
				<category><![CDATA[pecl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ingres]]></category>
		<category><![CDATA[update]]></category>
		<guid isPermaLink="false">http://2.302</guid>
		<description><![CDATA[Yesterday I pushed out an update to the PHP driver for Ingres into the PHP Extension Community Library (PECL). Whilst it&#8217;s been labelled as a minor update there have been 15 fixes/additions to the driver: - Update the unit tests to be more independent - Add support for the Ingres BOOLEAN type - Add ingres_fetch_assoc() [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I pushed out an update to the PHP driver for Ingres into the <a href="http://pecl.php.net/ingres">PHP Extension Community Library</a> (PECL). Whilst it&#8217;s been labelled as a minor update there have been 15 fixes/additions to the driver:</p>
<p>- Update the unit tests to be more independent<br />
- Add support for the Ingres BOOLEAN type<br />
- Add ingres_fetch_assoc()<br />
- Allow for a 0 offset in all ingres field functions<br />
- Update build scripts for OpenVMS CSWS PHP 2.0<br />
- Fix bug 17556 &#8211; Handle errors for non-result returning statements<br />
- Fix bug 16960 &#8211; SEGV when fetching the results from a row producing procedure<br />
- Fix bug 16990 &#8211; SEGV when executing a database procedure<br />
- Fix bug 17510 &#8211; Fix php_ii_set_connect_options so they work as documented<br />
- Fix bug 17302 &#8211; _close_statement is unable to free active statements<br />
- Fix bug 17207 &#8211; Under certain conditions the driver can SEGV when doing cleaning up<br />
- Fix bug 17198 &#8211; Unable to close non-result statements<br />
- Fix bug 17092 &#8211; SIGBUS when fetching data on 64-bit Solaris<br />
- IIapi_getDescriptor() should only be called for SELECT statements<br />
- Fix bug 16752 &#8211; Send all string values as IIAPI_VCH_TYPE</p>
<p>You can download the source code from <a href="http://pecl.php.net/get/ingres">http://pecl.php.net/get/ingres</a> or install directly from the command line using the command:</p>
<pre class="brush: bash; title: ; notranslate">
sudo pecl install ingres-2.2.2
</pre>
<p>Pre-built Windows binaries are available from <a href="http://esd.ingres.com/product/drivers/PHP/Windows_32-Bit/PHP_Driver">ESD</a> for PHP 5.1.6, 5.2.13 and 5.3.2. An OpenVMS binary for CSWS PHP 2.0 will be updated today.  You can raise questions/problems via the <a href="http://community.ingres.com/forum/php">Ingres Community Forums</a>, the project <a href="http://pecl.php.net/package/ingres">home page</a> or via <a href="https://servicedesk.ingres.com">Service Desk</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/blog/grant/2010/06/pecl-ingres-2-2-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ingres 10.0 – Escaping from the Ingres terminal monitor</title>
		<link>http://blogs.planetingres.org/blog/grant/2010/04/ingres-10-0-escaping-from-the-ingres-terminal-monitor/</link>
		<comments>http://blogs.planetingres.org/blog/grant/2010/04/ingres-10-0-escaping-from-the-ingres-terminal-monitor/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 07:19:07 +0000</pubDate>
		<dc:creator>Grant Croker</dc:creator>
				<category><![CDATA[ingres]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[ingres 10.0]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[terminal monitor]]></category>
		<category><![CDATA[tm]]></category>
		<guid isPermaLink="false">http://2.290</guid>
		<description><![CDATA[For new users to Ingres quitting from the Ingres terminal monitor, tm or sql, just got easier. With change 2901 the terminal monitor has gone from this: to: No more ninja skills needed for executing a query or to escape from the terminal monitor.]]></description>
			<content:encoded><![CDATA[<p>For new users to Ingres quitting from the Ingres terminal monitor, tm or sql, just got easier. With change <a href="http://bugs.ingres.com/changeset/2901">2901</a> the terminal monitor has gone from this:</p>
<pre class="brush: plain; title: ; notranslate">$ sql iidbdb
INGRES TERMINAL MONITOR Copyright 2010 Ingres Corporation
Ingres Linux Version II 10.0.0 (int.lnx/2863)NPTL login
Thu Apr 29 08:46:38 2010
continue
*
</pre>
<p>to:</p>
<pre class="brush: plain; title: ; notranslate">$ sql iidbdb
INGRES TERMINAL MONITOR Copyright 2010 Ingres Corporation
Ingres Linux Version II 10.0.0 (int.lnx/2903)NPTL login
Thu Apr 29 09:16:40 2010
Enter g to execute commands, &quot;help helpg&quot; for help, q to quit
continue
*
</pre>
<p>No more ninja skills needed for executing a query or to escape from the terminal monitor.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/blog/grant/2010/04/ingres-10-0-escaping-from-the-ingres-terminal-monitor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simplifying an OpenAPI trace log</title>
		<link>http://blogs.planetingres.org/blog/grant/2010/04/simplifying-an-openapi-trace-log/</link>
		<comments>http://blogs.planetingres.org/blog/grant/2010/04/simplifying-an-openapi-trace-log/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 09:09:12 +0000</pubDate>
		<dc:creator>Grant Croker</dc:creator>
				<category><![CDATA[ingres]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[openapi]]></category>
		<guid isPermaLink="false">http://2.280</guid>
		<description><![CDATA[Ingres&#8217;s OpenAPI C interface can be challenging at times especially when it comes to debugging or reading an API trace. For example, right now I&#8217;m trying to debug a problem in the PHP driver for Ingres. For some reason during the tear-down of the request the driver is unable to close a statement. Turning to [...]]]></description>
			<content:encoded><![CDATA[<p>Ingres&#8217;s OpenAPI C interface can be challenging at times especially when it comes to debugging or reading an <a href="http://docs.ingres.com/Ingres/9.3/OpenAPI%20User%20Guide/creatinganapplicationwithopenapi.htm#o1470">API trace</a>. For example, right now I&#8217;m trying to debug a problem in the <a href="http://pecl.php.net/ingres">PHP driver</a> for Ingres. For some reason during the tear-down of the request the driver is unable to close a statement. Turning to a level 5 API trace I get <a href='http://blogs.planetingres.org/grant/files/2010/04/api.log'>this</a>. Which, to be honest has information in there that I don&#8217;t exactly need. Specifically I&#8217;m not too interested in the calls to <a href="http://docs.ingres.com/Ingres/9.3/OpenAPI%20User%20Guide/IIapi_wait.htm">IIapi_wait()</a> <a href="#1">[1]</a> or the lower level <i>Dispatch()</i> functions. With this in mind using grep I can filter out this &#8220;chaff&#8221;, and produce a more concise log file:</p>
<pre class="brush: plain; title: ; notranslate">grep -v &quot;IIapi_wait|Dispatch&quot; api.log</pre>
<p>Turning <a href='http://blogs.planetingres.org/grant/files/2010/04/api.log'>this</a> into:</p>
<pre class="brush: plain; title: ; notranslate">
!IIapi_initAPI: initializing API.
!IIapi_initialize: INGRES API initialized, envHndl = 090F9308
!IIapi_initialize: startup API
!IIapi_initialize: version = 6
!IIapi_initialize: INGRES API initialized, envHndl = 09078018
!IIapi_connect: connect to DBMS Server
!IIapi_connect: envHndl = 09078018, connHndl = 00000000, tranHndl= 00000000
!IIapi_connect: target = @server,tcp_ip,ii[user:secret]::dbname
!IIapi_thread(-1226205472): allocated local storage 091A5E78
!IIapi_appCallback: request completed, status = SUCCESS
!IIapi_setEnvParam: set environment parameter
!IIapi_setEnvParam: envHndl = 09078018
!IIapi_setEnvParam: paramID = 24.
!IIapi_autocommit: set autocommit state
!IIapi_autocommit: connHndl = 091A5960, tranHndl = 00000000
!IIapi_appCallback: request completed, status = SUCCESS
!IIapi_query: starting a query
!IIapi_query: connHndl = 091A5960, tranHndl = 091A69B8, queryType = 0
!IIapi_query: queryText = set session with description='hello'
!IIapi_appCallback: request completed, status = SUCCESS
!IIapi_close: closing a query
!IIapi_close: stmtHndl = 091A8070
!IIapi_appCallback: request completed, status = SUCCESS
!IIapi_query: starting a query
!IIapi_query: connHndl = 091A5960, tranHndl = 091A69B8, queryType = 0
!IIapi_query: queryText = set lockmode session where readlock=nolock
!IIapi_appCallback: request completed, status = SUCCESS
!IIapi_close: closing a query
!IIapi_close: stmtHndl = 091A6580
!IIapi_appCallback: request completed, status = SUCCESS
!IIapi_cancel: cancelling a query
!IIapi_cancel: invalid handle
!IIapi_appCallback: request completed, status = INVALID_HANDLE
!IIapi_close: closing a query
!IIapi_close: invalid statement handle
!IIapi_appCallback: request completed, status = INVALID_HANDLE
!IIapi_autocommit: set autocommit state
!IIapi_autocommit: connHndl = 091A5960, tranHndl = 091A69B8
!IIapi_appCallback: request completed, status = SUCCESS
!IIapi_disconnect: disconnecting a connection
!IIapi_disconnect: connHndl = 091A5960
!IIapi_appCallback: request completed, status = SUCCESS
!IIapi_releaseEnv: Release Environment
!IIapi_releaseEnv: envHndl = 09078018
!IIapi_terminate: shutdown API
!IIapi_releaseEnv: Release Environment
!IIapi_releaseEnv: envHndl = 090F9308
!IIapi_terminate: shutdown API
!IIapi_termAPI: shutting down API completely.
!IIapi_termAPI: API shutdown.
</pre>
<p>A lot simpler to read &#8211; Now I can see that a bad statement handle has been passed to <a href="http://docs.ingres.com/Ingres/9.3/OpenAPI%20User%20Guide/IIapi_cancel.htm">IIapi_cancel()</a> and <a href="http://docs.ingres.com/Ingres/9.3/OpenAPI%20User%20Guide/IIapi_close.htm">IIapi_close()</a>. Now I know what the problem is it&#8217;s time to find where the statement handle is coming from.</p>
<p><a name="1"></a>[1] It should be noted that you cannot always discount IIapi_wait() calls. A number of years ago I hit a weird timing issue due to a missing IIapi_wait() call.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.planetingres.org/blog/grant/2010/04/simplifying-an-openapi-trace-log/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

