<?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:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5559317973653027936</atom:id><lastBuildDate>Mon, 13 May 2013 20:13:43 +0000</lastBuildDate><category>i/o</category><category>install</category><category>varchar</category><category>innovator-c</category><category>centaurus</category><category>conference iiug advertising</category><category>north america</category><category>lru</category><category>iiug 2013</category><category>initialize</category><category>bugs</category><category>free</category><category>create table</category><category>informixdb</category><category>quick start</category><category>storage</category><category>ultimate</category><category>open source</category><category>upgrade</category><category>update statistics</category><category>application development</category><category>big data</category><category>tlr</category><category>white paper</category><category>troubleshooting</category><category>restore</category><category>buffered logging</category><category>iiug insider</category><category>locks</category><category>scheduler</category><category>webcast</category><category>smart meter</category><category>rfe</category><category>dbspace</category><category>TimeSeries</category><category>insider</category><category>iiug 2012</category><category>warehouse accelerator</category><category>redbooks</category><category>onbar</category><category>excluded features</category><category>request for enhancement</category><category>intermediate</category><category>training</category><category>aiovp</category><category>backup</category><category>performance tuning</category><category>buffers</category><category>choice</category><category>11.7</category><category>dbaccess</category><category>flexible grid</category><category>automatic storage provisioning</category><category>mysql</category><category>enterprise replication</category><category>vmware</category><category>webinar</category><category>db2 express-c</category><category>instant message</category><category>max_fill_data_pages</category><category>growth</category><category>summit</category><category>sql admin api</category><category>oracle</category><category>mdm</category><category>onparams</category><category>roadshow</category><category>logical log</category><category>vNext</category><category>checkpoint</category><category>ninja</category><category>alarmprogram</category><category>iiug2010</category><category>marketing</category><category>lando calrissian</category><category>select for update</category><category>physical log</category><category>lockwt</category><category>virtualization</category><category>pricing</category><category>local user group</category><category>iiug</category><category>support</category><category>autonomic</category><category>client</category><category>foreground write</category><category>fastest informix dba</category><category>oninit</category><category>benchmark</category><category>advertising</category><category>event</category><category>fault tolerance</category><category>conference</category><category>crm</category><category>iwa</category><category>ebook</category><category>new features</category><category>string</category><category>optofc</category><category>spl</category><category>create aggregate</category><category>meter data management</category><category>survey</category><category>python</category><category>uptime</category><category>sushi</category><category>chat</category><category>where current of</category><category>disaster recovery</category><category>lru write</category><category>ontape</category><category>create index</category><category>merge</category><category>discover informix</category><category>J5 offsuit really?</category><category>cpuvp</category><category>chunks</category><category>stored procedure</category><category>connect</category><category>table level restore</category><category>12.1</category><category>oltp</category><category>high availability</category><category>migration</category><category>chat with the labs</category><category>meeting</category><category>hdr</category><category>sql server</category><category>onmode</category><category>express</category><category>upsert</category><category>onspaces</category><category>user defined aggregate</category><category>sql</category><category>fillfactor</category><category>features</category><category>index</category><category>weird</category><category>fix list</category><category>academic</category><category>chunk</category><category>beginner</category><category>kangaroos</category><title>Informix DBA</title><description>set explain on</description><link>http://www.informix-dba.com/</link><managingEditor>noreply@blogger.com (Andrew Ford)</managingEditor><generator>Blogger</generator><openSearch:totalResults>92</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/blogspot/ZMLPv" /><feedburner:info uri="blogspot/zmlpv" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-7646342135741721859</guid><pubDate>Fri, 03 May 2013 18:56:00 +0000</pubDate><atom:updated>2013-05-03T13:56:12.148-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">request for enhancement</category><category domain="http://www.blogger.com/atom/ns#">rfe</category><category domain="http://www.blogger.com/atom/ns#">new features</category><title>IBM Informix Request for Enhancement Tool</title><description>I have no idea how IBM decides what new features to add to Informix, but I do know that we can now be part of the discussion by using the new Request for Enhancement tool (RFE Tool).&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I took this for a spin today and I must admit this is a pretty interesting thing that you should check out. Not only can you submit your own requests for new features, you can view what everyone else has suggested and vote for what you want to have added.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
There are a lot of good ideas in there and I really hope to see some of these feature requests in later releases.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Take the&amp;nbsp;&lt;a href="https://www.ibm.com/developerworks/rfe/" target="_blank"&gt;RFE&lt;/a&gt;&amp;nbsp;for a spin today. Submit a request, it is fun.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
To see the Informix specific RFEs,&amp;nbsp;&lt;a href="https://www.ibm.com/developerworks/rfe/execute?use_case=viewRFEs" target="_blank"&gt;search&lt;/a&gt;&amp;nbsp;under Brand: Information Management, Product Family: Informix.&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/3iqA_oPD7Hg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/3iqA_oPD7Hg/ibm-informix-request-for-enhancement.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2013/05/ibm-informix-request-for-enhancement.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-3180793337757452190</guid><pubDate>Mon, 08 Apr 2013 19:38:00 +0000</pubDate><atom:updated>2013-04-08T14:38:36.012-05:00</atom:updated><title>IBM Informix Marketing: You've Come A Long Way, Baby</title><description>&lt;div style="text-align: center;"&gt;
&lt;b&gt;2007&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&amp;nbsp;

&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/SaYlmpIuE_o?rel=0" width="560"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;2013&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/hP_0WR7B6Zk?rel=0" width="560"&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://i0.kym-cdn.com/photos/images/original/000/328/813/8d6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://i0.kym-cdn.com/photos/images/original/000/328/813/8d6.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/_O4h1DbU2-w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/_O4h1DbU2-w/ibm-informix-marketing-youve-come-long.html</link><author>noreply@blogger.com (Andrew Ford)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/SaYlmpIuE_o/default.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.informix-dba.com/2013/04/ibm-informix-marketing-youve-come-long.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-3844589498904875844</guid><pubDate>Fri, 05 Apr 2013 20:44:00 +0000</pubDate><atom:updated>2013-04-05T15:44:33.437-05:00</atom:updated><title>When You Need to Store a String of Numbers in a CHAR Column</title><description>Sometimes you have to store a string of numbers in a CHAR column. Probably because the string of digits represents an account number or something similar and storing as an INTEGER or BIGINT doesn't really make sense. The account number could have leading zeros that would be lost if stored as an integer. Parts of the account number could store special information, like positions 2,3 and 4 identify what department an account belongs to and it might be useful to be able to select digit_string[2,4]. There are plenty of reasons to store numerical data in a string.&lt;br /&gt;
&lt;br /&gt;
What is the best way to ensure that all of the characters in the string are actually numbers?&lt;br /&gt;
&lt;br /&gt;
This is what I do, is there a better way to do it?&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;alter table my_table add constraint check (replace(rtrim(digit_string), " ", "x")::bigint &amp;gt;= 0) constraint my_table_ck1;

insert into my_table (digit_string) values ("123456");

1 row(s) inserted.

insert into my_table (digit_string) values ("abc123");

1213: A character to numeric conversion process failed

insert into my_table (digit_string) values ("   123456");

1213: A character to numeric conversion process failed

update my_table set digit_string = "xyzpdq" where digit_string = "123456";

1213: A character to numeric conversion process failed
&lt;/pre&gt;
&lt;br /&gt;
The constraint will try to cast the digit string to a BIGINT, if this works then all of the characters in the string are numbers. If it doesn't work we get an SQL error and the bad data never makes it into our database.&lt;br /&gt;
&lt;br /&gt;
The replace(rtrim()) stuff attempts to capture leading white space in the digit string that would not cause the cast to a BIGINT to fail.&lt;br /&gt;
&lt;br /&gt;
There are plenty of other ways to accomplish the same thing, but I like this way.&lt;br /&gt;
&lt;br /&gt;
You could rely on the application to check the digit string before it inserts/updates the database, but I'm pretty sure this isn't the best way.&lt;br /&gt;
&lt;br /&gt;
You could write a stored procedure that is run by insert/update triggers, but I don't think that is more efficient than the check constraint/cast to BIGINT method. This would have the benefit of being able to raise a user defined SQL error instead of the odd -1213 error, though.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/YBLA9ANsXcM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/YBLA9ANsXcM/when-you-need-to-store-string-of.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2013/04/when-you-need-to-store-string-of.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-1108760495697660652</guid><pubDate>Tue, 26 Mar 2013 16:59:00 +0000</pubDate><atom:updated>2013-03-26T13:07:47.503-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webcast</category><category domain="http://www.blogger.com/atom/ns#">vNext</category><category domain="http://www.blogger.com/atom/ns#">12.1</category><category domain="http://www.blogger.com/atom/ns#">new features</category><title>For My 100th Post: IBM Informix 12.1 - It's Simply Powerful</title><description>11:58 AM: Waiting for the IBM Informix It's Simply Powerful Webcast to start and on my screen I see IBM Informix 12.1, so I guess it is officially announced.&lt;br /&gt;
&lt;br /&gt;
12:00 PM: Moderator is giving the rules and regulations of the Webcast. Questions will be answered after the Webcast.&lt;br /&gt;
&lt;br /&gt;
12:01 PM: Chad Gates from Pronto Software, John Miller Informix Lead Architect and Sally Hartnell from IBM Marketing filling in for Jerry. Where's Jerry? He is unavoidably detained.&lt;br /&gt;
&lt;br /&gt;
12:03 PM: 12+ Years of Informix Innovation with IBM&lt;br /&gt;
&lt;br /&gt;
12:03 PM: Over 190 new partners in 2012&lt;br /&gt;
&lt;br /&gt;
12:04 PM: Overview of the new stuff in 12.1. Cloud, Easy of Use, Warehouse, Sensor Data Management and something else I missed&lt;br /&gt;
&lt;br /&gt;
12:05 PM: TimeSeries for Sensor Data. 5x Performance using 1/5 the resources as the competition&lt;br /&gt;
&lt;br /&gt;
12:07 PM: Compression: Reduces storage and improves performance.&lt;br /&gt;
&lt;br /&gt;
12:08 PM: JM3 talking about compression now. NEW! Index compression. NEW! Blob compression.&lt;br /&gt;
&lt;br /&gt;
12:10 PM: NEW! Automatic table compression&lt;br /&gt;
&lt;br /&gt;
12:11 PM: NEW! Primary Storage Manager replaces ISM for more backup solution options&lt;br /&gt;
&lt;br /&gt;
12:12 PM: Chad from Pronto Software now talking about their EVP experience.&lt;br /&gt;
&lt;br /&gt;
12:13 PM: Pronto has an ERP product that embeds Informix and Cognos. Informix initially picked for the OLTP capabilities. Informix 12.1 improves OLTP performance and OLAP performance benefiting from Informix Team working closely with the Cognos Team.&lt;br /&gt;
&lt;br /&gt;
12:26 PM: Pronto experiences massive performance gain when concurrently running OLTP and OLAP on 12.1 over 11.x&lt;br /&gt;
&lt;br /&gt;
12:28 PM: "Informix Warehouse Accelerator gaining worldwide traction to accelerate warehouse queries up to 100+ times"&lt;br /&gt;
&lt;br /&gt;
12:29 PM: Back to JM3 on IWA improvements. NEW! Trickle Feed (cool) can now have real time analytics vs. refreshing the entire warehouse. NEW! Automated Partition Refresh. NEW! IWA and OAT integration.&lt;br /&gt;
&lt;br /&gt;
12:31 PM: NEW! IWA and TimeSeries integration. IWA analytics over TimeSeries data.&lt;br /&gt;
&lt;br /&gt;
12:32 PM: Flexible Grid/ER - NEW! ER no longer requires a Primary Key.&lt;br /&gt;
&lt;br /&gt;
12:34 PM: Execute SQL over the grid - Query Sharding, that's sharding with a D.&lt;br /&gt;
&lt;br /&gt;
12:35 PM: Talking about Hypervisor edition for Virtual/Cloud based deployments.&lt;br /&gt;
&lt;br /&gt;
12:36 PM: Informix Genero accelerates new generation of mobile and cloud-based apps.&lt;br /&gt;
&lt;br /&gt;
12:36 PM: Sally: Informix integrated with the IBM Mobile Database. Sync mobile db data with Informix backend.&lt;br /&gt;
&lt;br /&gt;
12:37 PM: JM3: NEW! Mobile OAT for your phone or tablet&lt;br /&gt;
&lt;br /&gt;
12:38 PM: Improved OAT out of the box experience, OAT GUI deployed as part of Informix install&lt;br /&gt;
&lt;br /&gt;
12:39 PM: Sally: Smart Choice of ISVs and OEMs. Small footprint, silent install, up and running in minutes, 0 administration, autonomics. NEW! Dynamic ONCONFIG, Self Healing, Self Optimizing&lt;br /&gt;
&lt;br /&gt;
12:40 PM: About to wrap up? Already? Oh, right. Q/A at the end. I want MOAR new features :)&lt;br /&gt;
&lt;br /&gt;
12:41 PM: Bundling of Cognos licenses with new Advanced (Worgroup/Enterprise) Editions&lt;br /&gt;
&lt;br /&gt;
12:41 PM: IIUG 2013 April 21-25, 2013 San Diego, CA&lt;br /&gt;
&lt;br /&gt;
12:43 PM: Q/A starts.&lt;br /&gt;
&lt;br /&gt;
12:43 PM: "Is compression available in Workgroup?" Sally says Compression included in Advanced Enterprise, available for purchase in Enterprise.&lt;br /&gt;
&lt;br /&gt;
12:44 PM: "64 bit OAT?" JM3 says currently only 32 bit, but you can run 32 bit version on Windows 64 bit. Looking to have a 64 bit version for Windows in the future.&lt;br /&gt;
&lt;br /&gt;
12:45 PM: "Is OAT faster in 12.1?" JM3 says ability to run update stats on sysmaster will allow OAT to run faster&lt;br /&gt;
&lt;br /&gt;
12:46 PM: "Is Pronto using compression?" JM3 says no, perf gains are without compression&lt;br /&gt;
&lt;br /&gt;
12:47 PM: "New tools to migration FROM Oracle?" JM3 says yes, a lot of technology added to assist in migrations.&lt;br /&gt;
&lt;br /&gt;
12:48 PM: "Will Mobile OAT work with my 11.x server?" JM3 says yes&lt;br /&gt;
&lt;br /&gt;
12:48 PM: "Where can I find more info about the new editions?" Sally says go to ibm.com/informix and view the new brochure. More detail: google Carlton Doe Informix Editions or google ibm software announcement 213-156&lt;br /&gt;
&lt;br /&gt;
12:50 PM: "Any plans to do a benchmark?" Sally says the prefer industry specific real world benchmarks with their customers. Soon to publish a Meter Data Management benchmark.&lt;br /&gt;
&lt;br /&gt;
12:52 PM: "Is ontape still supported?" JM3 says ontape and onbar still supported in 12.1. onbar just improved with PSM.&lt;br /&gt;
&lt;br /&gt;
12:53 PM: "Can I get Congnos express bundled instead of the full Cognos?" Sally says no.&lt;br /&gt;
&lt;br /&gt;
12:54 PM: "What do I need to do to use the compression features?" Sally says compression included in Advanced Enterprise, add on for Enterprise.&lt;br /&gt;
&lt;br /&gt;
12:54 PM: "What is the #1 thing to remember from this webcast?" JM3 says the great improvements in OTLP/OLAP performance.&lt;br /&gt;
&lt;br /&gt;
12:55 PM: "Is OAT built using a new version of PHP?" JM3 says yes, OAT uses a later version of PHP.&lt;br /&gt;
&lt;br /&gt;
12:56 PM: "Tell us more about IBM Mobile" Sally says it is included with all for-pay versions of Informix and is a secure persistent storage for data on a device that allows backend syncronization to an Informix DB.&lt;br /&gt;
&lt;br /&gt;
12:57 PM: "Can 12.1 replicate TimeSeries data?" JM3 says, yes TimeSeries can now be replicated via HDR/SDS/RSS, etc.&lt;br /&gt;
&lt;br /&gt;
12:58 PM: Sally notes the great attendance to this Webcast and gives a shout out to IIUG 2013 (thanks Sally)&lt;br /&gt;
&lt;br /&gt;
12:59 PM: End of Webcast, perfectly timed. Replay of webcast will be made available online.&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/jbWC7v_gDcU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/jbWC7v_gDcU/for-my-100th-post-ibm-informix-121-its.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>1</thr:total><feedburner:origLink>http://www.informix-dba.com/2013/03/for-my-100th-post-ibm-informix-121-its.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-7310588964949557304</guid><pubDate>Thu, 07 Mar 2013 22:36:00 +0000</pubDate><atom:updated>2013-03-07T16:36:32.221-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">spl</category><category domain="http://www.blogger.com/atom/ns#">string</category><title>Psuedo strtok in SPL</title><description>I needed a way to extract the individual words from a sentence stored in a single character field. After some failed google searches and no desire to install a Datablade or write a C UDR for something that doesn't need to have killer performance, I decided to write my own quick and dirty SPL function.&lt;br /&gt;
&lt;br /&gt;
my_strtok(str, delim, token_num) will take a string, break it into individual tokens based the delimiter and return the Nth token of the string.&lt;br /&gt;
&lt;br /&gt;
Running this:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;execute function my_strtok("How now brown cow", " ", 3)
&lt;/pre&gt;
&lt;br /&gt;
Would return the third token:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;brown
&lt;/pre&gt;
&lt;br /&gt;
Here is the code for my_strtok(), comments welcome on anything I might have missed in the logic. And when I say it is slow, I just mean it could be done in a different way and perform more efficiently, but for what I needed it works.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;create function my_strtok (str lvarchar(2048), delim char(1), token_num smallint)
returning lvarchar(2048) as token;

        define str_len integer;
        define start_pos integer;
        define stop_pos integer;
        define cur_token_num integer;


        -- initialize start position and current token number to 1
        let start_pos = 1;
        let cur_token_num = 1;

        -- remove any leading delimiters from the input string
        let str = ltrim(str, delim);

        -- save the input string length so we don't have to recalculate it later
        let str_len = length(str);


        -- find the start of the token we want to return

        -- while there is still more string available to process
        while (start_pos &amp;lt;= str_len)
                -- if the current token number is the token we want, stop looking
                -- for a start position
                if (cur_token_num = token_num) then
                        exit;
                end if;

                -- increment the start position to the next character
                let start_pos = start_pos + 1;

                -- check to see if the current character in the string is a delimiter
                if (substr(str, start_pos, 1) = delim) then
                        -- we have found the next token
                        let cur_token_num = cur_token_num + 1;

                        -- advance the token start position past any repeating delimiters
                        while (start_pos &amp;lt;= str_len)
                                let start_pos = start_pos + 1;

                                if (substr(str, start_pos, 1) != delim) then
                                        -- there are no more repeating delimiters
                                        -- stop looking for repeating delimiters
                                        exit;
                                end if;
                        end while;
                end if;
        end while;


        -- we now either have the start position of the token we are looking for
        -- or we did not find the token we were looking for
        -- if we did not find the token, return NULL
        -- if we did find the token we were looking for, find the end of the token

        if (cur_token_num = token_num) then
                -- we found the token
                let stop_pos = start_pos;

                -- while there is still string to process try to find the end of our token
                -- if we run out of string before we find the next delimiter then
                -- our token ends where the string ends
                while (stop_pos &amp;lt;= str_len)
                        let stop_pos = stop_pos + 1;

                        if (substr(str, stop_pos, 1) = delim) then
                                -- we found the end
                                let stop_pos = stop_pos - 1;
                                exit;
                        end if;
                end while;

                -- return the found token
                return substr(str, start_pos, stop_pos - start_pos + 1);
        else
                -- the token was not found
                return NULL;
        end if;
end function;

execute function my_strtok("Simple test", " ", 1);

token  Simple

1 row(s) retrieved.


execute function my_strtok("Simple test", " ", 2);

token  test

1 row(s) retrieved.


execute function my_strtok("    Leading delimiters", " ", 1);

token  Leading

1 row(s) retrieved.


execute function my_strtok("Repeating       delimiters", " ", 2);

token  delimiters

1 row(s) retrieved.


execute function my_strtok("Token not found", " ", 4);

token

1 row(s) retrieved.


execute function my_strtok("Should have checked for invalid input", " ", -1);

token

1 row(s) retrieved.


execute function my_strtok("Invalid input works, but is unecessarily slow", " ", -1000);

token

1 row(s) retrieved.


execute function my_strtok("Empty delimiter defaults to space, convenient", "", 6);

token  convenient

1 row(s) retrieved.
&lt;/pre&gt;
&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/cMDNWgvE3x0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/cMDNWgvE3x0/psuedo-strtok-in-spl.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>1</thr:total><feedburner:origLink>http://www.informix-dba.com/2013/03/psuedo-strtok-in-spl.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-7626476577088584355</guid><pubDate>Tue, 05 Mar 2013 18:11:00 +0000</pubDate><atom:updated>2013-03-05T14:23:00.433-06:00</atom:updated><title>Where Are They Now?</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
Where did I find this picture, can you identify anyone in this picture and what is the guy on the left looking at on the ground?&lt;div&gt;
&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-NrA7_J0qUTc/UTZTx9DvbXI/AAAAAAAAAJA/hkaLe3F6vQ8/s1600/cheese.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-NrA7_J0qUTc/UTZTx9DvbXI/AAAAAAAAAJA/hkaLe3F6vQ8/s1600/cheese.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Say "CHEESE"&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/vRJK6NkNiDg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/vRJK6NkNiDg/a-fun-picture.html</link><author>noreply@blogger.com (Andrew Ford)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-NrA7_J0qUTc/UTZTx9DvbXI/AAAAAAAAAJA/hkaLe3F6vQ8/s72-c/cheese.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://www.informix-dba.com/2013/03/a-fun-picture.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-7851788367077387754</guid><pubDate>Mon, 04 Mar 2013 22:17:00 +0000</pubDate><atom:updated>2013-03-04T16:17:05.897-06:00</atom:updated><title>From the SIGs - LTXHWM and LTXEHWM</title><description>John Adamski posted a question to the&amp;nbsp;&lt;a href="http://www.iiug.org/forums/technical.php" target="_blank"&gt;IIUG SIGs&lt;/a&gt;&amp;nbsp;about how to identify a session that caused the long transaction that eventually put his system in a Blocked:LONGTX state. A few of us came back with some responses, but it wasn't until John Miller III from IBM and&amp;nbsp;&lt;a href="http://informix.jfmiii.com/" target="_blank"&gt;Informix Fun Facts&lt;/a&gt;&amp;nbsp;replied with "finding the session that caused your long transaction isn't very useful, you need to prevent this situation from happening with the LTXHWM and LTXEHWM ONCONFIG parameters" that I realized these config parameters are typically underutilized.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;b&gt;LTXHWM and LTXEHWM&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
LTXHWM is the percentage of logical log space a transaction can span before it is declared to be a long transaction and is rolled back by the engine.&lt;br /&gt;
&lt;br /&gt;
John points out that this rollback only affects the session being rolled back (well, excluding any extra strain on the system rolling back a long transaction creates), nothing else is blocked.&lt;br /&gt;
&lt;br /&gt;
LTXEHWM is the percentage of logical log space a transaction can span before the engine decides we are in a bad enough situation that we need to block all other modifications to try and ensure we have enough logical log space to complete the roll back. This does affect other sessions and if your system is in a Blocked:LONGTX your users will be very unhappy and you are likely going to have a very bad day.&lt;br /&gt;
&lt;br /&gt;
Your day will get infinitely worse if even after blocking other sessions you do not have enough logical log space to complete the rollback of the long transaction. You can read about recovering from a long transaction hang in the manuals if you want. I warn you, it involves a point in time restore or a call to IBM Informix support.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The Default Values&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Out of the box LTXHWM is 70 and LTXEHWM is 80. Are these too high? They probably are if you have significant logical log space.&lt;br /&gt;
&lt;br /&gt;
On one of my instances I have 16 GB of logical log space. This means that one of my users can start a transaction that spans 11.2 GB of logical log space before he gets the boot and the engine starts rolling back his long transaction. That is going to be a lot of rolling back and if it took this long transaction 3 hours to get to the point it needed to roll back I can expect the rollback to last at least 3 hours.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Avoid the One Size Fits All LTXHWM/LTXEHWM Recommendations&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
I had always believed that the 70/80 defaults were too high,and I've always heard that a better alternative is 50/60 and admittedly that is what I have always set my values to.&lt;br /&gt;
&lt;br /&gt;
I'm rethinking that now. I don't know why it took me this long to rethink this, probably because I haven't had any problems with long transactions lately so I've been thinking about other things. One thing is for sure, a LTXHWM of 50 is still way too high for my system.&lt;br /&gt;
&lt;br /&gt;
This is an OLTP system with no long running transactions and a lot of logical log space configured so we can run for at least 48 hours without needing to back up a logical log in case we have a TSM outage.&lt;br /&gt;
&lt;br /&gt;
My LTXHWM should be a lot lower, probably something as ridiculous sounding as 5. I know the kind of transactions that run on my system and no single transaction should span more than 1 GB of logical log space and if it does, something is wrong. I want to kill that transaction ASAP so I only have a performance hit while rolling back 1 GB of logical logs instead of 11 GB.&lt;br /&gt;
&lt;br /&gt;
I think my LTXEHWM setting of 60 is OK, maybe it could even go a little bit higher. The only reason I would want to block my engine to allow a transaction to rollback is if I thought I was in danger of not being able to complete the rollback because of limited logical log space. Setting this ONCONFIG lower doesn't make any sense.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/nOti96EOR6g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/nOti96EOR6g/from-sigs-ltxhwm-and-ltxehwm.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2013/03/from-sigs-ltxhwm-and-ltxehwm.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-1307255234637185101</guid><pubDate>Fri, 01 Mar 2013 21:02:00 +0000</pubDate><atom:updated>2013-03-01T15:30:25.900-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">application development</category><category domain="http://www.blogger.com/atom/ns#">where current of</category><category domain="http://www.blogger.com/atom/ns#">performance tuning</category><category domain="http://www.blogger.com/atom/ns#">select for update</category><title>Hot Topic - SELECT FOR UPDATE/WHERE CURRENT OF</title><description>"Holy Cow, two blog posts in one day!" - Harry Caray
&lt;br /&gt;
&lt;br /&gt;
Ben Thompson over at&amp;nbsp;&lt;a href="http://informixdba.wordpress.com/2013/02/25/select-for-update/" target="_blank"&gt;Informed Mix&lt;/a&gt;&amp;nbsp;currently wrote about using "select for update/where current of" syntax and in the mother of all coincidences one of the developers that writes code that hits my Informix engines came over to tell me about the evolution of performance improvements he went through to speed up a bulk data delete application. Here is his story, from static SQL all the way to prepared statements using the "select for update/where current of" syntax.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;First, the formalities. This particular developer is writing an application that will delete a bunch 'o data from a table. Since he is a nice guy he is writing the application in a way that will avoid long transactions and not hold too many locks at once.&lt;br /&gt;
&lt;br /&gt;
Basically he is doing one of these:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;select primary key fields of rows to delete

begin work

for each row:
   delete by primary key

   if time to commit:
      commit work
      begin work

commit work
&lt;/pre&gt;
&lt;br /&gt;
In his first attempt, he built and executed a static delete sql string for each row to delete.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;delete from table where field1 = "ABC" and field2 = "123";
delete from table where field1 = "DEF" and field2 = "456";
delete from table where field1 = "GHI" and field2 = "789";
&lt;/pre&gt;
&lt;br /&gt;
Of course this works, but has the unpleasant side effect of being the worst way possible to do this since the engine has to parse, optimize and execute each statement every time.&lt;br /&gt;
&lt;br /&gt;
This yielded a result of 463.18 deletes per second.&lt;br /&gt;
&lt;br /&gt;
In his second attempt, he used a prepared statement for the delete which is better because the engine only has to parse and optimize the statement once.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;delete from table where field1 = ? and field2 = ?;
&lt;/pre&gt;
&lt;br /&gt;
This gave a result of 1016.50 deletes per second.&lt;br /&gt;
&lt;br /&gt;
In his third (and currently, final) attempt he took advantage of the "select for update/update where current of" functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;declare cursor cur for select 1 from the_table where date_field &amp;lt; today - 180 for update

open cur

begin work

for each row in cur:
   delete from the_table where current of cur

   if time to commit:
      commit work
      begin work

commit work
&lt;/pre&gt;
&lt;br /&gt;
This was a huge boost to performance since the engine already knows where the row we want to delete lives and we don't have to go through indexes and data pages to find it again.&lt;br /&gt;
&lt;br /&gt;
Final results were 1923.00 deletes per second.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/H4NW404UKP0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/H4NW404UKP0/hot-topic-select-for-updatewhere.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2013/03/hot-topic-select-for-updatewhere.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-7919809224992274208</guid><pubDate>Fri, 01 Mar 2013 16:21:00 +0000</pubDate><atom:updated>2013-03-01T15:30:09.389-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">uptime</category><category domain="http://www.blogger.com/atom/ns#">conference</category><category domain="http://www.blogger.com/atom/ns#">iiug 2013</category><category domain="http://www.blogger.com/atom/ns#">marketing</category><category domain="http://www.blogger.com/atom/ns#">weird</category><title>Informix News of the Weird</title><description>&lt;b&gt;Informix Engine Defies Laws of the Universe&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
I recently inherited an Informix engine from another department as part of a server migration and upgrade to Innovator-C. In my life long pursuit of finding unattended Informix engines with ridiculously long up times I did an 'onstat -' to see how many days this engine had been running.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;[informix]$ onstat -

IBM Informix Dynamic Server Version 10.00.UC3R1   -- On-Line (Prim) -- Up 869 days 12:02:13 -- 2423888 Kbytes
&lt;/pre&gt;
&lt;br /&gt;
Hey, 2.38 years without an engine bounce, not too shabby! When I started to brag about the resiliency of Informix to the previous owner of this engine who deals mostly with other database engines he came back with, "Well, that IS pretty amazing considering the server was rebooted a year ago"&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;[informix]$ uptime
 09:16:11  up 372 days,  9:01,  2 users,  load average: 0.30, 0.41, 0.43
&lt;/pre&gt;
&lt;br /&gt;
Informix really is amazing. Show me any other engine that can continue to run when the server is offline. What is more impressive is this was version 10, I can only imagine what the Informix Developers have in store for us in Centaurus.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;As Seen on TV&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
The marketing team is at it again securing some SWEET product placement on UK Television. Thanks to Mike Aubury for catching the Informix Umbrella Lady on last night's showing of "Hugh's Fist Fight" on Channel 4. Take that Iron Man 2.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-DfSxLNtzT3E/UTDRaW5pnMI/AAAAAAAAAIg/0OGbd8Vnn_Q/s1600/informix_on_tv.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-DfSxLNtzT3E/UTDRaW5pnMI/AAAAAAAAAIg/0OGbd8Vnn_Q/s1600/informix_on_tv.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Oh, Informix Umbrella Lady on Channel 4, what is thy name?&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Database Administrators Gettin' Freaky&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
According to The Huffington Post, Database Administrators are the 9th most likeliest people to hook up (in the biblical sense) with co-workers.&lt;br /&gt;
&lt;br /&gt;
I didn't believe it either, but it is on the internet so it must be true because&amp;nbsp;&lt;a href="http://www.huffingtonpost.com/2013/02/07/hook-up-jobs-workers-office-fling_n_2632410.html?utm_hp_ref=tw#slide=2070850" target="_blank"&gt;the internet doesn't lie&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Record Number of People Hate Money&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Quite possibly the weirdest thing of all, people not signing up for a FREE IIUG membership to save $100 USD on conference registration. I mean, hey, as a IIUG 2013 CPC member thanks for the $100 to help fund IIUG 2014, but c'mon. You should really take advantage of that discount. Unless of course you are not taking it on purpose so you can cleverly get your company to fund the IIUG for an extra $100.&lt;br /&gt;
&lt;br /&gt;
Register for IIUG 2013 at&amp;nbsp;&lt;a href="https://www.iiug.org/conf/2013/iiug/register.php" target="_blank"&gt;iiug2013.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/faEdFd7wFpg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/faEdFd7wFpg/informix-news-of-weird.html</link><author>noreply@blogger.com (Andrew Ford)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-DfSxLNtzT3E/UTDRaW5pnMI/AAAAAAAAAIg/0OGbd8Vnn_Q/s72-c/informix_on_tv.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2013/03/informix-news-of-weird.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-7605981671022441198</guid><pubDate>Tue, 05 Feb 2013 21:52:00 +0000</pubDate><atom:updated>2013-02-05T15:52:45.451-06:00</atom:updated><title>Have You Heard? It's Simply Powerful.</title><description>Of course I'm talking about the March 5th, 2013 IBM Informix Webcast that will talk about the latest release, but if you're reading this on&amp;nbsp;&lt;a href="http://planetids.com/" target="_blank"&gt;Planet IDS&lt;/a&gt;&amp;nbsp;you've already heard about it from Fernando, Eric and Gary and you can stop reading right now.&lt;br /&gt;
&lt;br /&gt;
If this is the first you've heard of this event, then read on...&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;If you are not part of the EVP then you are likely wondering what will be included in the 12.10 release (I think that is what they're going to number it) that is code named Centaurus. If this describes you, then you will want to attend.&lt;br /&gt;
&lt;br /&gt;
Here are the details:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The New IBM Informix: It's Simply Powerful &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
Date: Tuesday, March 5, 2013 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
Time: 10:00 AM PST &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
IBM Informix is exceptional database software that is well known for its superior &amp;nbsp; &amp;nbsp; &lt;br /&gt;
performance, high availability and efficiency, minimal complexity and lower computing &lt;br /&gt;
costs to power online transaction processing (OLTP) and decision support applications &lt;br /&gt;
for businesses of all sizes. Informix incorporates design concepts that are &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
significantly different from traditional relational platforms, resulting in extremely &lt;br /&gt;
high levels of performance and availability, distinctive capabilities in data &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
replication and scalability, and minimal administrative overhead. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
The newest release offers clients and partners the ability to take their business into&lt;br /&gt;
the future, right now! Whether you are looking for help maximizing your daily business&lt;br /&gt;
activities through more efficient operational analytics; deploying applications to the&lt;br /&gt;
private cloud; working with sensor or meter data; or just looking to increase your &amp;nbsp; &amp;nbsp;&lt;br /&gt;
productivity and usability, the new release brings you a cost-effective, simply &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
powerful solution that addresses all your data management requirements. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
&lt;a href="http://event.on24.com/r.htm?e=571631&amp;amp;s=1&amp;amp;k=6740A7076E0FE9C59EBFDC80C8487D34&amp;amp;partnerref=IBM01" target="_blank"&gt;Register Today&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/OKPL37l0slM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/OKPL37l0slM/have-you-heard-its-simply-powerful.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2013/02/have-you-heard-its-simply-powerful.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-5200539042142855711</guid><pubDate>Wed, 12 Dec 2012 14:20:00 +0000</pubDate><atom:updated>2012-12-12T08:20:05.874-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webcast</category><category domain="http://www.blogger.com/atom/ns#">iwa</category><category domain="http://www.blogger.com/atom/ns#">warehouse accelerator</category><category domain="http://www.blogger.com/atom/ns#">webinar</category><category domain="http://www.blogger.com/atom/ns#">big data</category><title>eSeminar - Informix and Analytics/Data Warehouse</title><description>IBM is sponsoring a eSeminar (webinar, webcast, whatever) titled "How to Lower Costs by Combining Analytical &amp;amp; Transactional Applications" on December 18, 2012 at 12 PM ET/9 AM PT.&lt;br /&gt;
&lt;br /&gt;
If you read into the details, this is an Informix pitch, which is nice:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
The holy grail of analytic technologies has long been the promise of predicting future outcomes by analyzing data "as things happen", allowing for rapid business insights and responsiveness. Challenges still remain, however, it an IT world faced with big data, cloud-hosted applications, and enterprise data warehouses. 
&lt;br /&gt;
&lt;br /&gt;
Philip Howard, Research Director of Data Management for Bloor Research, has published many research papers, articles, and blog posts on the topics of analytics and analytic applications. His recent analysis of IBM Informix software led Philip to conclude: "… for hybrid environments, IBM Informix software has a number of unique capabilities that cannot be matched by either conventional data warehousing vendors or traditional data warehouses." 
&lt;br /&gt;
&lt;br /&gt;
In this eSeminar, Philip will discuss various types of analytics and data warehouse environments and the facilities required to support each. There will also be an overview of Informix functionality from Kevin Brown, Informix Database Chief Architect, IBM.&lt;/blockquote&gt;
&lt;br /&gt;
I assume this presentation will cover IWA or TimeSeries and how awesome they are and will hopefully reach some people who aren't already in the know about Informix like yourself.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://r.rewku.com/cgi/r?WT.qs_dlk=UMiOkwrIZ3IAAGUifh8AAAAd;;n=203;c=1369872;s=15034;x=7936;f=201210111154590;u=j;z=TIMESTAMP;k=http://www.eweek.com/ebooks/153734110/95880/1613990/119759?domain=http://www.eweek.com&amp;amp;ft=assetform_ab1&amp;amp;qset=CONTEXT_STEP1&amp;amp;css=http://i.eindx.com/b2btechleadform/eweek/styles/style.css&amp;amp;mcss=http://i.eindx.com/b2btechleadform/eweek/styles/style_email.css" target="_blank"&gt;Register for this free event today&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/crZ-r1hy-i4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/crZ-r1hy-i4/eseminar-informix-and-analyticsdata.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>1</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/12/eseminar-informix-and-analyticsdata.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-2107175446001368031</guid><pubDate>Tue, 27 Nov 2012 21:12:00 +0000</pubDate><atom:updated>2012-11-27T15:12:59.014-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">centaurus</category><category domain="http://www.blogger.com/atom/ns#">iwa</category><category domain="http://www.blogger.com/atom/ns#">high availability</category><category domain="http://www.blogger.com/atom/ns#">warehouse accelerator</category><category domain="http://www.blogger.com/atom/ns#">11.7</category><category domain="http://www.blogger.com/atom/ns#">hdr</category><category domain="http://www.blogger.com/atom/ns#">upgrade</category><category domain="http://www.blogger.com/atom/ns#">meeting</category><category domain="http://www.blogger.com/atom/ns#">storage</category><category domain="http://www.blogger.com/atom/ns#">local user group</category><title>Informix User Group Meetings in North America</title><description>If you are in North Texas, Chicago, Colorado or the Great Northwest and you are an Informix fanatic (why else would you be reading this?) then you need to plan to attend the Local Informix User Group meetings scheduled for the very near future.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://co-ifmx-esli.eventbrite.com/?goback=%2Egde_1671197_member_189702998" target="_blank"&gt;Colorado Informix User Group&lt;/a&gt; - November 29&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://seatac-ifmx-esli.eventbrite.com/?goback=%2Egde_1671197_member_189702998" target="_blank"&gt;Great Northwest Informix User Group&lt;/a&gt; - December 4&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://chi-ifmx-esli.eventbrite.com/?goback=%2Egde_1671197_member_189702998%2Egmr_1671197%2Egde_1671197_member_189702877" target="_blank"&gt;Chicago Informix User Group&lt;/a&gt;&amp;nbsp;- December 6&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://dfw-ifmx-esli.eventbrite.com/?goback=%2Egde_1671197_member_189702998%2Egmr_1671197%2Egde_1671197_member_189702353" target="_blank"&gt;North Texas Informix User Group&lt;/a&gt;&amp;nbsp;- December 11&lt;/div&gt;
&lt;div&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Colorado, Great Northwest and North Texas all seem to have a similar tentative agenda:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Come and see how IBM is helping Informix evolve. &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
Come and meet peers around the area. &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
Come and hear from experts and each other.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Tentative Agenda&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;'Stories from Clients - the good, the bad and the ugly' - Mark Scranton, principal, Mark Scranton Group&lt;/li&gt;
&lt;li&gt;Warehouse Accelerator review and demo - Carlton Doe, IBM&lt;/li&gt;
&lt;li&gt;A Sneak Peek for Centaurus - the next major Informix release - IBM&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
Complimentary Lunch will be served&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Chicago has a different (non tentative) agenda:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Come and see how IBM is helping Informix evolve.&lt;/div&gt;
&lt;div&gt;
Come and meet peers around the area.&lt;br /&gt;Come and hear from experts and each other.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Agenda&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Breakfast (provided by IBM) and networking&lt;/li&gt;
&lt;li&gt;Upgrading to IDS 11.7, Best Practices, Dr. Pradeep Natarajan - IBM&lt;/li&gt;
&lt;li&gt;Informix in the Cloud, Nagaraju Inturi - IBM&lt;/li&gt;
&lt;li&gt;Lunch (provided by IBM)&lt;/li&gt;
&lt;li&gt;Storage features in IDS, Dr. Pradeep Natarajan - IBM&lt;/li&gt;
&lt;li&gt;Best Practices in High Availability. Nagaraju Inturi - IBM&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
I'm very excited to see some activity in the North American User Groups since I live in North America and there hasn't been a lot of activity outside of the Southeastern Informix User Group. Maybe I just don't hear about them down here in Austin, TX. Thanks to Tom Rieger and Rob Beal from IBM who I assume are helping to get these going since they are the contacts for questions about these meetings, sponsors Xtivia and Kazer for sponsoring the meetings and thanks to the speakers Mark Scranton, Carlton Doe, Pradeep Natarajan, Nagaraju Inturi for donating their time to these events.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/DvT4wgm38Tg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/DvT4wgm38Tg/informix-user-group-meetings-in-north.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/11/informix-user-group-meetings-in-north.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-4889728409521825035</guid><pubDate>Mon, 12 Nov 2012 16:08:00 +0000</pubDate><atom:updated>2012-11-12T10:08:13.529-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">smart meter</category><category domain="http://www.blogger.com/atom/ns#">summit</category><category domain="http://www.blogger.com/atom/ns#">TimeSeries</category><title>Ok, This is Pretty Cool</title><description>&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;a href="http://www.electricenergyonline.com/?page=show_news&amp;amp;id=167487" target="_blank"&gt;IBM Helps Oncor Tackle Big Data to Deliver Advanced Power Grid&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
The article talks about an Oncor, an energy company in Texas that services more than 3 million homes with electricity, that is using Informix (presumably TimeSeries, but not mentioned specifically) to do all kinds of bad ass things.&lt;/div&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;div class="news_txt" style="font-family: Arial, Tahoma, Verdana, Helvetica, sans-serif; font-size: 12px; text-align: justify;"&gt;
The smart grid is based on IBM hardware and software, including&amp;nbsp;&lt;b&gt;&lt;a href="http://www-03.ibm.com/systems/power/hardware/power6.html" style="color: #ee3024; text-decoration: none;" target="_blank"&gt;IBM POWER7 Servers&lt;/a&gt;&lt;/b&gt;&amp;nbsp;and&amp;nbsp;&lt;b&gt;&lt;a href="http://www-01.ibm.com/software/data/informix/" style="color: #ee3024; text-decoration: none;" target="_blank"&gt;IBM Informix database software&amp;nbsp;&lt;/a&gt;&lt;/b&gt;to manage the massive amounts of data produced by the smart meters. &lt;b&gt;As a result of using Informix software instead of their prior data management solution&lt;/b&gt;:&amp;nbsp;&lt;br /&gt;&lt;/div&gt;
&lt;ul style="font-family: Arial, Tahoma, Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;
&lt;li&gt;Meter data was loaded 20 times faster, and query performance increased up to 30 times faster. This is significant because faster processing of meter data enables faster business processes that use that data (such as meter-to-cash), and faster data analysis.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Data storage needs were reduced by 70 percent and remained linear over time, allowing for predictable data storage requirements and significant cost savings.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
I wrote a couple of blog posts in September 2011 after attending an IBM Smart Metering Summit in Austin, TX, if you'd like to check them out.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.informix-dba.com/2011/09/smart-metering-data-summit.html" target="_blank"&gt;Smart Metering Data Summit&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.informix-dba.com/2011/09/this-smart-meter-stuff-is-for-real.html" target="_blank"&gt;This Smart Meter Stuff is for Real&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now, the big question is: Will we see or hear about this outside of ElectricEnergyOnline.com and are there more TimeSeries deals in the pipeline? That would be great for Informix, like I said in 2011 this smart meter stuff is for real and IBM definitely has the superior product to handle this kind of data.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/9VOvmp-sVU8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/9VOvmp-sVU8/ok-this-is-pretty-cool.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/11/ok-this-is-pretty-cool.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-7401501601030031235</guid><pubDate>Fri, 09 Nov 2012 16:12:00 +0000</pubDate><atom:updated>2012-12-11T09:21:20.801-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">advertising</category><category domain="http://www.blogger.com/atom/ns#">marketing</category><category domain="http://www.blogger.com/atom/ns#">sushi</category><title>Dynamite Roll</title><description>On my way to work this morning, there was a news story on the radio about a new cologne called Sushi. The&amp;nbsp;&lt;a href="http://www.demeterfragrance.com/58083/704196/All-Classic-Scents/Sushi.html" target="_blank"&gt;product description&lt;/a&gt;&amp;nbsp;explains this unique product:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Not what you think it would smell like! Demeter's Sushi is the fresh scent of just cooked sticky rice and straight from the seaside seaweed, laced with hints of ginger and lemon essences. Simply delectable... after all, if it smelledlike fish, would you wear it?&lt;/blockquote&gt;
This reminded me of an old joke about Informix Software (the company) and how they marketed their products:&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;blockquote class="tr_bq"&gt;
If Informix sold sushi, they would call it cold, dead fish.&lt;/blockquote&gt;
Now, I know that joke has been told many times for many different companies, but the first time I heard the joke it was in reference to Informix so for me, they get to own the joke.&lt;br /&gt;
&lt;br /&gt;
I then started to think about two troubling conversations I recently had.&lt;br /&gt;
&lt;br /&gt;
The first was with someone who emailed me at&amp;nbsp;&lt;a href="mailto:andrew@informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;&amp;nbsp;asking if I knew of any Informix consultants looking for a short term gig. During our conversation he wanted to ask some questions about Informix since he finally found a "real human in Informix-land" he could talk to. That statement itself is pretty sad to hear, I wonder if he ever has any trouble finding real life Oracle, SQL Server or MySQL humans to talk to? Doubt it, but Chetu Pap can't seem to find anyone to fill his Oracle positions since he keeps posting them in the Informix DB LinkedIn group, so maybe I'm wrong. Anyway, here are the 3 questions he asked.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Is Informix in active use today?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I answered yes and without naming names (can we name names?) I told him about how Informix was still being used all over the world from large retail stores down to smaller sized companies like the one I work for. Yes, Informix is in active use today.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Is IBM supporting it?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I answered yes and went into the major releases from 9.4 to 10.0 to 11.1 to 11.5 to vNext that is in the works and the new fix packs that are released every quarter and the emergency releases and patch releases that are available in between fix packs and the amazing job that Informix support does when I call with a question. Yes, IBM is very much supporting Informix.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Is it generally hard to find an Informix resource to deal with a legacy system?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I don't know, I am not usually looking for Informix resources, but I do know they come to our conferences and I see them on the Informix SIGs and there are companies out there that sell Informix consulting. Hey, what do you mean by &lt;b&gt;LEGACY SYSTEM&lt;/b&gt;&amp;nbsp;anyway? I threw up in my mouth a little bit.&lt;br /&gt;
&lt;br /&gt;
The second conversation was with my twenty-something year old brother in law. He's a really smart kid finishing up his Computer Science degree at the University of Texas at Austin and had been working as a research assistant with a professor of his doing something with Oracle. We're talking about his job and my job and he flat out asks me, "&lt;b&gt;Is Informix dead or what?&lt;/b&gt; I told my professor that you were an Informix DBA and he says nobody uses that anymore." More vomiting ensued.&lt;br /&gt;
&lt;br /&gt;
I'm no longer on the IIUG Board of Directors, so I don't get to meet with the IBM executives and marketing people and hear about what is being done to fix these perceptions. I do know that IBM is a very generous Platinum Sponsor of the IIUG conferences and if I google Informix there was an Adwords ad for some Informix marketing stuff and if I go to ibm.com/informix there are a lot of things about TimeSeries, Genero, Warehouse Accelerator and Blink and there was/is the Academic Initiative to help promote Informix in the university and I get the newsletter from Tom, but what else is being done? Is it enough?&lt;br /&gt;
&lt;br /&gt;
Maybe the push is in other areas of the world and I'm just not seeing it. Are you in another part of the world and seeing anything?&lt;br /&gt;
&lt;br /&gt;
There is a comments section, leave one if you've seen something or email me at&amp;nbsp;&lt;a href="mailto:andrew@informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;. If you work for IBM Marketing/Advertising and would like me to talk about the good things you are doing, email me and I'll be glad to post them.&lt;br /&gt;
&lt;br /&gt;
I know Informix is actively being used and I know Informix is continuously being improved, why doesn't the rest of the world know too?&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/oFEBzUN_aTw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/oFEBzUN_aTw/cold-dead-fish.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>7</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/11/cold-dead-fish.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-533886950597574568</guid><pubDate>Thu, 08 Nov 2012 23:47:00 +0000</pubDate><atom:updated>2012-11-08T17:49:34.952-06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">iiug 2013</category><title>IIUG 2013 Updates</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-Nzqq9f3vqvg/UJxCAEBHvOI/AAAAAAAAAII/U3o86I8jPeo/s1600/2013_iiug_logo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-Nzqq9f3vqvg/UJxCAEBHvOI/AAAAAAAAAII/U3o86I8jPeo/s1600/2013_iiug_logo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Some things to note about IIUG 2013:&lt;br /&gt;
&lt;br /&gt;
Registration is now open -&amp;nbsp;&lt;a href="https://www.iiug.org/conf/2013/iiug/register.php" target="_blank"&gt;Register&lt;/a&gt;&amp;nbsp;before January 17, 2013 to get the $225 Early Registration Discount.&lt;br /&gt;
&lt;br /&gt;
Register as an IIUG member and receive and additional $100 discount.&lt;br /&gt;
&lt;br /&gt;
The &lt;a href="https://www.iiug.org/conf/2013/iiug/images/2013_IIUG_Justification.pdf" target="_blank"&gt;IIUG 2013 Cost Justification Document&lt;/a&gt; is now available if you need some help convincing your boss that IIUG 2013 is an effective way to spend your 2013 training dollars.&lt;br /&gt;
&lt;br /&gt;
In previous years the Tutorials were held on Sunday before the conference started and cost extra, this year the Tutorials will be held on Thursday after the conference and are INCLUDED for all paid attendees.&lt;br /&gt;
&lt;br /&gt;
The Tutorials are expected to fill quickly so reserve your spot as soon as possible, if you register early before the Tutorial schedule is released you will be able to return to your registration and make your Tutorial suggestions.&lt;br /&gt;
&lt;br /&gt;
The Conference Planning Committee (CPC) is still accepting session abstracts if you would like to present at IIUG 2013 and receive a complimentary conference pass. Submit your idea to&amp;nbsp;&lt;a href="http://www.iiug2013.org/speakers" target="_blank"&gt;iiug2013.org/speakers&lt;/a&gt;&amp;nbsp;before November 15, 2012.&lt;br /&gt;
&lt;br /&gt;
It is going to be another great conference in beautiful California in 2013. The CPC is busy planning Sessions, Food, Parties, Exhibitors, Keynotes, Tutorials, Certifications and everything else, I hope to see you there!&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/JxMC3-xlFfU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/JxMC3-xlFfU/some-things-to-note-about-iiug-2013.html</link><author>noreply@blogger.com (Andrew Ford)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-Nzqq9f3vqvg/UJxCAEBHvOI/AAAAAAAAAII/U3o86I8jPeo/s72-c/2013_iiug_logo.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/11/some-things-to-note-about-iiug-2013.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-6813927324210397638</guid><pubDate>Thu, 25 Oct 2012 18:15:00 +0000</pubDate><atom:updated>2012-10-25T13:15:55.558-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">fix list</category><category domain="http://www.blogger.com/atom/ns#">bugs</category><category domain="http://www.blogger.com/atom/ns#">features</category><category domain="http://www.blogger.com/atom/ns#">11.7</category><title>Fix list for Informix 11.70.xC6</title><description>As Fernando Nunes already pointed out,&amp;nbsp;&lt;a href="http://informix-technology.blogspot.com/2012/10/informix-1170xc6.html" target="_blank"&gt;11.70.xC6&lt;/a&gt;&amp;nbsp;was released October 23. New releases always pique my interest and the first thing I do is checkout the&amp;nbsp;&lt;a href="http://publib.boulder.ibm.com/infocenter/idshelp/v117/topic/com.ibm.po.doc/new_features.htm#xc_6" target="_blank"&gt;What's New&lt;/a&gt;&amp;nbsp;page in the documentation. After I sift through the new features list and mentally classify them into "Yes! Finally", "Useful", "Meh" and "I'll Bet Someone Needs That, But I Don't" groups I like to take a look at the non feature additions to the release, the bug fixes.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
You can check out the 11.70.xC6 fixes&amp;nbsp;&lt;a href="http://www-01.ibm.com/support/docview.wss?uid=swg27036092" target="_blank"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I always have mixed emotions when I look at this list. First I quickly scroll down to see how long the list is, it is always a long list, and I wonder how in the world is my engine that is multiple fix packs behind is even still running, much less functioning, if I have all these bugs?!&lt;br /&gt;
&lt;br /&gt;
Then I start to look at the list a little more closely and realize most of the bugs are cosmetic or pretty rare and my heart rate settles more as I check out my year long engine uptimes and try to think of the last time we had a major problem that was caused by an Informix bug (I want to say it was 2006).&lt;br /&gt;
&lt;br /&gt;
What do you think? Is the long list of Informix bug fixes an indication of releasing features without adequate testing or is it a positive sign that IBM can devote resources to fixing minor problems like "THE IMPLICIT CAST BETWEEN CHAR AND DECIMAL IN UNION ALL SELECT WITH BINARY OPERATION PLUS 0 RETURNS ERROR -308"?&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/PoM3obMk-zc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/PoM3obMk-zc/fix-list-for-informix-1170xc6.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/10/fix-list-for-informix-1170xc6.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-5563563406412486879</guid><pubDate>Thu, 25 Oct 2012 15:24:00 +0000</pubDate><atom:updated>2012-10-25T10:24:37.142-05:00</atom:updated><title>IIUG 2013 - Going Back to Cali</title><description>&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-9Jg4_tS9gww/UIlUCiUXVmI/AAAAAAAAAHo/qzEboAq2kL4/s1600/banner.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="158" src="http://3.bp.blogspot.com/-9Jg4_tS9gww/UIlUCiUXVmI/AAAAAAAAAHo/qzEboAq2kL4/s640/banner.jpg" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
IIUG 2013 - The Premier Technical Conference for Informix Fanatics - will return to beautiful Southern California and the San Diego Mission Valley Marriott April 21 - 25, 2013.&lt;br /&gt;
&lt;br /&gt;
The IIUG 2013 Conference Planning Committee is currently accepting presentation abstracts until November 15, 2012. If you would like to speak at this year's conference and receive a complimentary conference pass you can submit your idea to &lt;a href="http://www.iiug2013.org/speakers/" target="_blank"&gt;iiug2013.org/speakers&lt;/a&gt;&amp;nbsp;and find more information about speaking at &lt;a href="http://www.iiug.org/conf/call_for_presentations/" target="_blank"&gt;iiug.org&lt;/a&gt;.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
All that is required at this time is an idea for a session that you can put into a few words and the desire to speak, full presentations won't be due until much later so don't think you have to have the entire thing ready in the coming weeks.&lt;br /&gt;
&lt;br /&gt;
There is an exciting change to the conference this year. Tutorials have usually been held on the Sunday before the conference and cost extra. This year the tutorials will now be held on the last day of the conference and are INCLUDED at no extra charge for all PAID attendees. Speakers who receive a conference pass will have the opportunity to purchase half or full day tutorials like previous years.&lt;br /&gt;
&lt;br /&gt;
Keep up to date with all things IIUG 2013 at&amp;nbsp;&lt;a href="http://iiug2013.org/index.php" target="_blank"&gt;iiug2013.org&lt;/a&gt;, like IIUG 2013 on&amp;nbsp;&lt;a href="http://www.facebook.com/pages/2013-IIUG-Informix-Conference/284161074951457" target="_blank"&gt;Facebook&lt;/a&gt;&amp;nbsp;and follow IIUG 2013 on&amp;nbsp;&lt;a href="http://twitter.com/IIUG2013" target="_blank"&gt;Twitter&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-rjiZoe8M5Ec/UIlZSrcCT5I/AAAAAAAAAH4/Hm1I2pCXGGQ/s1600/2013_iiug_logo2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-rjiZoe8M5Ec/UIlZSrcCT5I/AAAAAAAAAH4/Hm1I2pCXGGQ/s1600/2013_iiug_logo2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/4f54uJlnyFs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/4f54uJlnyFs/iiug-2013-going-back-to-cali.html</link><author>noreply@blogger.com (Andrew Ford)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-9Jg4_tS9gww/UIlUCiUXVmI/AAAAAAAAAHo/qzEboAq2kL4/s72-c/banner.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/10/iiug-2013-going-back-to-cali.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-1879657997099448651</guid><pubDate>Mon, 22 Oct 2012 21:48:00 +0000</pubDate><atom:updated>2012-10-22T16:48:34.815-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sql</category><category domain="http://www.blogger.com/atom/ns#">performance tuning</category><category domain="http://www.blogger.com/atom/ns#">upsert</category><title>Using Data Distributions to Write Better Code</title><description>I was recently asked to go back and look at some code to see if there was a way to speed things up because over time performance had decreased to unacceptable levels. Because I'm a DBA first and a developer second, I started with the SQLs, tables and indexes to see if there was anything obvious. There wasn't, but I did find the following query being run a lot and it looked funky so I started to investigate.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;select first 1
   col1
from
   tab1
where
   col1 = "A" or
   col1 = "AB" or
   col1 = "ABC" or
   col1 = "ABCD" or
   col1 = "ABCDE" or
   col1 = "ABCDEF" or
   col1 = "ABCDEFG" or
   col1 = "ABCDEFGH" or
   col1 = "ABCDEFGHI"
order by
   length(col1) desc
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;First of all, what is going on here?&lt;br /&gt;
&lt;br /&gt;
There is a table, called tab1 (all names have been changed to protect the innocent) that has a char(n) field named col1 that holds some strings of varying lengths. The SQL is trying to find the row in tab1 with the col1 field that is the longest substring of "ABCDEFGHI".&lt;br /&gt;
&lt;br /&gt;
There is a unique index on col1 and the query runs fast enough, but this SQL is being run a lot in a tight loop for many different strings and the total run time for the routine that contains this SQL is 25 minutes. Even the smallest improvement should give us noticeable performance gains.&lt;br /&gt;
&lt;br /&gt;
As Art Kagel has shown many times, there usually are multiple ways to write the same SQL. So that is what I tried first using the matches function, even though it basically has the same query plan as the original SQL and probably won't improve things.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;select first 1
   col1
from
   tab1
where
   "ABCDEFGHI" matches(trim(col1) || "*")
order by
   length(col1) desc
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
Well, unfortunately I was right. Even though the SQL is a little cleaner (debatable) it took almost twice as long to complete the entire routine.&lt;br /&gt;
&lt;br /&gt;
So now we have to actually apply some thought to this problem, oh well.&lt;br /&gt;
&lt;br /&gt;
If you were able to look at the data in this table and the strings that we are trying to match, you would see that more often than not the match is long and not short. This is nice and we can use this to our advantage if we&amp;nbsp;break the single SQL into multiple SQLs for each "or" in the where clause&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;select col1 from tab1 where col1 = "ABCDEFGHI";
select col1 from tab1 where col1 = "ABCDEFGH";
select col1 from tab1 where col1 = "ABCDEFG";
select col1 from tab1 where col1 = "ABCDEF";
select col1 from tab1 where col1 = "ABCDE";
select col1 from tab1 where col1 = "ABCD";
select col1 from tab1 where col1 = "ABC";
select col1 from tab1 where col1 = "AB";
select col1 from tab1 where col1 = "A";
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
and then run the SQLs in this order until we execute a query that returns a result, stop right there and that will be our longest match.&lt;br /&gt;
&lt;br /&gt;
I can't fault the thought process behind the original SQL, without knowing what the data looks like you could assume that a single SQL would run faster than the same SQL split up into 9 pieces because of the networking overhead and SQL parsing and optimizing the engine has to do is 9 times as much, but when you look at the data and see that more often than not you are only going to be executing 1 to 3 of those 9 SQLs then the performance gain outweighs the overhead.&lt;br /&gt;
&lt;br /&gt;
Making this code change reduced the routine run time down to 3 minutes and that was the end of this problem.&lt;br /&gt;
&lt;br /&gt;
This made me remember another time when knowing what your data looks like can help you improve performance. If you have an application that needs to perform an upsert to a table (attempt to update a row, and insert a new row if it doesn't exist) then you can do this two ways.&lt;br /&gt;
&lt;br /&gt;
First you can try to update the row and if no rows are updated you can insert the row or you can do the opposite and try to insert the row and if you get a primary key violation you can update the row.&lt;br /&gt;
&lt;br /&gt;
Which option is best, if any? It depends on what is going to be in that table and what you're trying to upsert.&lt;br /&gt;
&lt;br /&gt;
If more than half of the upserts are going to result in a row being updated, then try the update first and do the insert in the rarer cases and (duh) if more than half of the upserts are going to result in a row being inserted then try the insert first.&lt;br /&gt;
&lt;br /&gt;
I know, it seems obvious, but I've seen the exact opposite implemented before simply because the author didn't know what the data would look like (or maybe the data distributions changed, who knows) so I thought I'd mention it.&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/y7KMN_M0XSQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/y7KMN_M0XSQ/using-data-distributions-to-write.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>3</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/10/using-data-distributions-to-write.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-7019064378167751455</guid><pubDate>Fri, 06 Jul 2012 04:26:00 +0000</pubDate><atom:updated>2012-07-05T23:27:29.178-05:00</atom:updated><title>Developers Do the Darndest Things - Episode 1</title><description>We had an issue today where some code went crazy and started slamming one of engines with new connection requests, which led to all kinds of fun problems with dynamically allocated shared memory segments, out of memory problems and eventually an engine reboot.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I was taking a look at the code for the application to try and figure out what went wrong and I saw something like the following. It wasn't the cause of the problem, but I don't think it helped.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;   for i = 0; i &amp;lt; 5; i++:
      ret = connect_to_database();

      if ret = SUCCESS:
         break;

   if ret != SUCCESS:
      print "unable to connect to database"
&lt;/pre&gt;
&lt;br /&gt;
Well, it was something like that. Basically try to connect to the database and retry a few times before giving up and throwing some kind of error.&lt;br /&gt;
&lt;br /&gt;
So, what's the big deal? It looks reasonable enough. In my opinion there really isn't much use in retrying the connection attempt in a loop like this unless you're going to go to sleep in between attempts.&lt;br /&gt;
&lt;br /&gt;
Look at what happens, you just got told your attempt to connect failed. What are the chances the problem is resolved a nanosecond later when you loop back and try to connect again? Almost zero. All you've done is throw an additional 4 connection requests at the engine while it is having some kind of a problem, possibly making the problem worse (especially if you have multiple apps/clients doing the same thing).&lt;br /&gt;
&lt;br /&gt;
I realize you can't sleep forever, but sleeping here for even 1 second would have spread the 5 connection attempts over 5 seconds instead of 5 nanoseconds and has a much better chance of actually doing what it was intended to do by recovering gracefully from an intermittent DB problem rather than causing more problems.
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/K95SXe3pZoY?rel=0" style="align: center;" width="420"&gt;&amp;amp;lt;p&amp;amp;gt;&amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;I have the same combination on my luggage&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;gt;&amp;amp;lt;/p&amp;amp;gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/dYLxrwdV4UA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/dYLxrwdV4UA/developers-do-darndest-things-episode-1.html</link><author>noreply@blogger.com (Andrew Ford)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/K95SXe3pZoY/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/07/developers-do-darndest-things-episode-1.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-9080265716426899215</guid><pubDate>Thu, 05 Jul 2012 16:54:00 +0000</pubDate><atom:updated>2012-07-05T12:01:22.109-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lando calrissian</category><category domain="http://www.blogger.com/atom/ns#">innovator-c</category><title>Ugh. Thanks for the Bad News, Kernoal</title><description>Kernoal Stevens commented on&amp;nbsp;&lt;a href="http://www.informix-dba.com/2012/06/innovator-c-446-days-of-continuous.html#comment-form" target="_blank"&gt;another blog post&lt;/a&gt;&amp;nbsp;that in the later versions of Innovator-C not only do we have the new 1 core limit, but Innovator-C will no longer support ER or HDR.&lt;br /&gt;
&lt;br /&gt;
What a bummer, here is the README from the Innovator-C download page that confirms this new limitation:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;pre style="white-space: pre-wrap; word-wrap: break-word;"&gt;Changes to Replication in Informix 11.70.xC5 Innovator-C edition

For 11.70.xC5, Informix Innovator-C edition no longer supports Enterprise Replication (ER) or High-availability data replication (HDR). If you were using replication in an older version of Innovator-C, you must disable replication after upgrading to 11.70.xC5.

If you want to continue using replication in Informix 11.70.xC5, you can purchase the Choice, Growth or Ultimate edition. 

Removing Enterprise Replication 

If Enterprise Replication was defined for the previous version of the server, remove replication by running the following command:  

cdr delete server &lt;group name=""&gt; --force

Removing HDR

If  High-availability data replication was defined for the previous version of the server, convert the server to a standard server by running the following command:

onmode -d standard&lt;/group&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
This just makes me sad. I understand that IBM needs to make a profit and to do that they can't be giving away everything for free. I get that, I really do, but HDR was the kind of feature that made Innovator-C stand out when compared to other free RDBMS options and now it is gone. Oh well, thanks for the free parking while it lasted.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img alt="Ace Ventura - The Monopoly Guy" src="http://dralvaro.com/wp-content/uploads/Ace-Ventura-The-Monopoly-Guy-480x264.png" style="margin-left: auto; margin-right: auto;" /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;You must be the Monopoly Guy&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/1WdVkSSUEQY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/1WdVkSSUEQY/ugh-thanks-for-bad-news-kernoal.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>2</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/07/ugh-thanks-for-bad-news-kernoal.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-1576267237990331621</guid><pubDate>Mon, 02 Jul 2012 14:40:00 +0000</pubDate><atom:updated>2012-07-02T09:40:36.629-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">iiug insider</category><category domain="http://www.blogger.com/atom/ns#">innovator-c</category><category domain="http://www.blogger.com/atom/ns#">iiug</category><title>IIUG Insider Issue #144 - June 2012</title><description>If you don't get the IIUG Insider delivered directly to your inbox, you may not be aware that June Insider has just been &lt;a href="http://www.iiug.org/Insider/insider_jun12.php" target="_blank"&gt;published&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Here is the editorial, which I always find interesting and sometimes harsh, but fair.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Where is Informix Innovator-C?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
If you are interested in installing Informix Innovator-C I have bad news for you. It has been removed for quite a while. The download link is still there but clicking on the download button issues the following error message:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;The link which brought you here is invalid. Please reload the previous page and try again. message code: 57e&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This is going on for weeks. Nagging IBM about it had no effect so far. One would expect an explanation as to why it was removed and will it be back and when. But when it is about Informix a generic error message seems to be sufficient.&lt;br /&gt;
&lt;br /&gt;
I do know it was deliberately removed. I was promised it will be back but this promise was not kept so far. Rumors say it will be downgraded. What exactly will be taken out? I have no idea. Why take features out? Let's speculate together.&lt;br /&gt;
&lt;br /&gt;
Is it because the Informix install base is too delighted and IBM is trying to cool us down? Or maybe it is because Informix is so powerful that the Innovator-C edition could actually run a business preventing companies from buying the paid editions? My favorite is the second. I believe that by now even IBM management realizes we are not delighted. And my guess is that IBM did not realize that unlike other free products they are offering this one really works.&lt;br /&gt;
&lt;br /&gt;
Gary Ben-Israel&lt;br /&gt;
IIUG Insider Editor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/LmN_ObrsfgU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/LmN_ObrsfgU/iiug-insider-issue-144-june-2012.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/07/iiug-insider-issue-144-june-2012.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-1566105300442780568</guid><pubDate>Fri, 29 Jun 2012 22:05:00 +0000</pubDate><atom:updated>2012-07-06T12:37:14.612-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">kangaroos</category><category domain="http://www.blogger.com/atom/ns#">academic</category><category domain="http://www.blogger.com/atom/ns#">iiug2010</category><title>Informix and the Fightin' Kangaroos</title><description>Praveen Rao, Assistant Professor of Computer Science and Electrical Engineering at the University of Missouri-Kansas City, says the word Informix at 0:58 in the following video:&lt;br /&gt;
&lt;br /&gt;
&lt;object style="height: 390px; width: 640px;"&gt;&lt;param name="movie" value="http://www.youtube.com/v/YmNvAPeE-yk?version=3&amp;feature=player_embedded"&gt;


&lt;param name="allowFullScreen" value="true"&gt;


&lt;param name="allowScriptAccess" value="always"&gt;


&lt;embed src="http://www.youtube.com/v/YmNvAPeE-yk?version=3&amp;feature=player_embedded" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
This is actually pretty satisfying for me. When I was on the IIUG Board we decided it would be a good idea to offer a free 1 day conference pass for the 2010 IIUG Informix conference in Overland Park to the Computer Science professors in the area. With help from IBM we were able to get Praveen and others to come and experience the Informix technology and interact with the Informix fanatics at IIUG2010.&lt;br /&gt;
&lt;br /&gt;
I'm happy to see Praveen chose to include Informix in his curriculum and take advantage of the academic materials IBM provides and hope others will too.&lt;br /&gt;
&lt;br /&gt;
Here is the&amp;nbsp;&lt;a href="http://global-hypertech.com/teaching-computer-science-at-the-university-of-missouri-kansas-city-with-the-ibm-smartcloud.html" target="_blank"&gt;original article&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/4rNfKFOgM7g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/4rNfKFOgM7g/informix-and-fightin-kangaroos.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/06/informix-and-fightin-kangaroos.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-2141198634322960947</guid><pubDate>Thu, 28 Jun 2012 14:44:00 +0000</pubDate><atom:updated>2012-06-28T10:33:24.277-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cpuvp</category><category domain="http://www.blogger.com/atom/ns#">free</category><category domain="http://www.blogger.com/atom/ns#">performance tuning</category><category domain="http://www.blogger.com/atom/ns#">db2 express-c</category><category domain="http://www.blogger.com/atom/ns#">innovator-c</category><title>Innovator-C: 446 Days of Continuous Uptime in Jeopardy</title><description>This morning Hannes Visagie posted to the&amp;nbsp;&lt;a href="http://www.iiug.org/forums/ids/" target="_blank"&gt;IIUG SIGs&lt;/a&gt;&amp;nbsp;about a change to the Innovator-C limitations listed on the&amp;nbsp;&lt;a href="http://www-01.ibm.com/software/data/informix/innovator-c-edition/" target="_blank"&gt;IBM Informix Innovator-C page&lt;/a&gt;&amp;nbsp;that states Innovator-C will be limited to run on 1 core, down from the previous limitation of 4 cores. I sure hope this refers to CPUVPs and not hardware cores in the server, because who has a single core machine handy these days?&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
Is this the end of the line for our Innovator-C instance? Time will only tell. If the above limitation is real and not just a typo (&lt;i&gt;edit: confirmed not a typo&lt;/i&gt;) we will have to reconfigure the instance down to 1 CPUVP and bounce the engine to see if a single CPUVP Innovator-C instance can meet our requirements and the uptime clock will reset to 0. Oh well, I've still got plenty of Growth and Ultimate engines with over a year of uptime.&lt;br /&gt;
&lt;br /&gt;
Even if we do have to adhere to this new limitation, I'm hopeful that we will be just fine. Unlike our Growth and Ultimate engines, the Innovator-C engine doesn't run very hot. top shows the single socket, 4 core CPU running pretty idle and onstat -g glo shows our CPUVPs are running at a high efficiency.&lt;br /&gt;
&lt;br /&gt;
So, how do I feel about IBM making this change? I guess I have mixed feelings. On one hand, I hate to have to give up 3 CPUVPs worth of performance, but on the other hand I still can't beat the price. We opt to pay for support, which is VERY affordable, but if we didn't IBM would still let us run Innovator-C in production for FREE. Think about that for a second before getting too terribly upset about this change and equating this to Darth Vader altering the deal he had with Lando.&lt;br /&gt;
&lt;br /&gt;
Some of you may be thinking "DB2 Express-C, the free version of DB2, is allowed to run on 2 cores and use 4GB of memory. Shouldn't Innovator-C at least have the same limitations?" That would be nice, but I don't think the have to be the same on paper. I don't think this move by IBM to change the Innovator-C requirements is an attempt to play a favorite to DB2 and not promote Informix (they have other ways of doing that, ZING!!!) If anything this is saying that Free Informix runs so well that we need to limit the hardware it runs on to 1/2 of what Free DB2 runs on to level the playing field. Edit&lt;i&gt;: I see people saying similar things in the IIUG SIGs so I'm not the only one thinking this.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Despite the recent changes to the Innovator-C limitations I still think Innovator-C is a viable option for a lot of production environments. I would be really interested to see the &lt;a href="http://www.advancedatatools.com/Informix/index.html" style="background-color: white;" target="_blank"&gt;Fastest Informix DBA&lt;/a&gt;&lt;span style="background-color: white;"&gt; contest or &lt;/span&gt;&lt;a href="http://en.vercelletto.com/2012/03/21/informix-innovator-c-edition-pushed-to-limits/" style="background-color: white;" target="_blank"&gt;Eric's TPC-C benchmark&lt;/a&gt;&lt;span style="background-color: white;"&gt; run against a 4 CPUVP and 1 CPUVP Innovator-C installation. On second thought, maybe I don't. Maybe I should just keep my big mouth shut about Innovator-C before the word gets out about how powerful it is and it is limited further. This post will self destruct in 5...4...3...2...1...&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/0qMRyqVptas" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/0qMRyqVptas/innovator-c-446-days-of-continuous.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>7</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/06/innovator-c-446-days-of-continuous.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-7709874280370755218</guid><pubDate>Fri, 22 Jun 2012 15:37:00 +0000</pubDate><atom:updated>2012-06-22T10:37:35.300-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">locks</category><category domain="http://www.blogger.com/atom/ns#">troubleshooting</category><category domain="http://www.blogger.com/atom/ns#">lockwt</category><title>lockwt - My go to utility for finding locking problems</title><description>If you haven't already added lockwt to your arsenal of Informix DBA tools, you need to immediately.&lt;br /&gt;
&lt;br /&gt;
lockwt is a free utility written by Eric Herber of the &lt;a href="http://informix-zone.com/" target="_blank"&gt;The Informix Zone&lt;/a&gt;,&amp;nbsp;&lt;a href="http://planetids.com/" target="_blank"&gt;planetIDS&lt;/a&gt;&amp;nbsp;and &lt;a href="http://www.herber-consulting.de/" target="_blank"&gt;Herber Consulting&lt;/a&gt;&amp;nbsp;that can be downloaded&amp;nbsp;&lt;a href="http://www.herber-consulting.de/cgi-bin/MainDriver.pl?action=IfmxUtil" target="_blank"&gt;here&lt;/a&gt;&amp;nbsp;and is infinitely helpful when you get the midnight call to find out why a table is locked and everyone is screaming.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
I recently received one of these calls and when I fired up the lockwt utility I quickly confirmed that there was a locking issue. A session had a hold of a row that other sessions needed and wouldn't let go which was causing all kinds of problems. I have a love/hate relationship with locking problems. I love the fact that they are usually not caused by a problem with the engine and it is the application is doing something screwy, but I hate the fact that they can be incredibly tricky to track down because you have to figure out why the application is holding on to locks longer than you would like.&lt;br /&gt;
&lt;br /&gt;
Using lockwt I was able to see what session was holding the lock and therefore could find out which application was causing the problem and what SQL it was running. Curiously enough the application wasn't running any SQL at the moment, it wasn't doing anything with the engine. It was just sitting there greedily holding on to the resources everyone else wanted. Using the last SQL reported in onstat -g ses, the owner of the application was able to pin point where in the code we were having problems. It was somewhere in the following block of code, can you guess what was causing the problem?&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;try:
   BEGIN WORK;

   INSERT INTO TABLE A;

   UPDATE TABLE B;

   call_third_party_api();

   COMMIT WORK;

except:
   ROLLBACK WORK;
&lt;/pre&gt;
&lt;br /&gt;
Normally the third party API call would complete in less than a second, but today they were experiencing some issues and requests were taking over 20 seconds to complete and causing that transaction to remain open way longer than normal.&lt;br /&gt;
&lt;br /&gt;
There isn't much you can do as a DBA at this point to help, the engine is doing what the application asked it to do by preventing other sessions from messing with the data modified in the transaction before the transaction is committed or rolled back.&lt;br /&gt;
&lt;br /&gt;
Lucky for us in this situation we could associate a timeout to the API request that would abort the call if it took longer than we like, rollback the transaction and free up the locked resources.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/NAipV-FbYN8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/NAipV-FbYN8/lockwt-my-go-to-utility-for-finding.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/06/lockwt-my-go-to-utility-for-finding.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5559317973653027936.post-2418688557768017304</guid><pubDate>Mon, 18 Jun 2012 20:34:00 +0000</pubDate><atom:updated>2012-06-18T15:34:31.038-05:00</atom:updated><title>Informix Remix</title><description>I didn't expect to find this in my Google Alerts for Informix today...&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.youtube.com/watch?v=baRM7x_wPEk" target="_blank"&gt;Informix Remix&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
For my Brazilian friends, they're coming to a club near you in July!&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Comment on this post and read more about Informix at &lt;a href="http://www.informix-dba.com" target="_blank"&gt;informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Contact the author at &lt;a href="mailto:andrew@informix-dba.com"&gt;andrew@informix-dba.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/ZMLPv/~4/Ecby5DL-gV0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/blogspot/ZMLPv/~3/Ecby5DL-gV0/informix-remix.html</link><author>noreply@blogger.com (Andrew Ford)</author><thr:total>0</thr:total><feedburner:origLink>http://www.informix-dba.com/2012/06/informix-remix.html</feedburner:origLink></item></channel></rss>
