|
This article is written in English and Portuguese Este artigo está escrito em Inglês e Português English version: I believe this is the first time I cover a 4GL topic here. But a recent customer situation motivated me to write this. Hopefully most of the readers will just say "Yeah... Everybody knows that...", but it's not the first time I see people making the confusion I'm going to describe, and in my opinion that happens because it's not intuitive. Although it's perfectly documented, I suppose many people just follow the intuitive approach and fall into the problem. I'm talking about the WHENEVER statement. It is used to define the behavior of the program when(ever) a defined condition (ERROR, SQLERROR, WARNING, SQLWARNING or NOTFOUND) happens. The behavior can be CONTINUE, STOP, GOTO or CALL function. Seems pretty simple and handy... so why am I writing this? The usual confusion relates to the scope of the WHENEVER statement. At first glance you could think this was a program instruction, and the effect or scope of it would be until the program flow reached another WHENEVER statement. And this is the confusion many people make. In reality it's not a program instruction, but instead it's a compiler directive. As stated in the documentation the scope is local to the module where it appears. If the module contains only function definitions, then all this functions will behave accordingly to the conditions used in the WHENEVER statement. The program flow is irrelevant. This is better shown with a practical example (line numbers added for clarity) 1 DATABASE sysmaster Ok, ...
|
|
IBM has recently publish a document stating the OS levels required and other known issues: http://www-01.ibm.com/support/docview.wss?uid=swg21579767 If you're already running Informix on AIX, or are planning to, then you should took a quick look at it
Gary Proctor - IBM Business Development Exec - has started a new blog. Gary's blog is focused on solutions build on Informix: For your convenience Gary's blog has been added to Informix Zone (right side) and will also be re-published on planetIDS.com. I believe that Gary's postings will help to spread the word about Informix and I wish him a successful start !
This article is written in English and Portuguese Este artigo está escrito em Inglês e Português English Version: A recent press release by Oninit is being echoed across the Internet. Oninit have completed the port of SugarCRM, an open-source CRM system to Informix. This gives SugarCRM users the opportunity to use Informix as the underlying database to their CRM system, effectively taking advantage of all the features we all know and love (performance, scalability, high availability features, complete platform options, simplicity etc.). But there is even more to this.. Accordingly to SugarCRM site ther...
This article is written in English and Portuguese Este artigo está escrito em Inglês e Português English version: Introduction This article focus on a little known aspect of stored procedures or functions. That probably explains why it was the less voted in a recent poll I've conducted. Nonetheless it's (from my point of view) a very interesting topic. During this article I'll be referring to procedures, but I could use the term functions. If we take a look at the sysprocedures table we'll see a field called mode. This field is just one character and the values it can contain are:
CREATE PROCEDURE test()You'll have an OWNER mode procedure, owned by informix user. But if instead you run: CREATE PROCEDURE myuser.test()You'll have a RESTRICTED mode procedure owned by myuser. You need to have DBA privilege to create a procedure on behalfwith another user name. Why RESTRICTED? The reasons why the restricted mode procedures/functions were created are based on security. Let's imagine the following scenario:
This is why the RESTRICTED mode was created. Every time we create a procedure on behalf of another user, it will be created as a RESTRICTED mode procedure. And as such any remote operatio...
|
More Articles...
- UDRs: ROWNUM in Informix / ROWNUM em Informix
- DNS impact on Informix / Impacto do DNS no Informix
- Small query performance analysis / Pequena análise de performance de querys
- Optimizer secrets / segredos do optimizador
- Short notes / Notas curtas
- IIUG Conference 2012
- Informix 11.70.xC4 is available / Informix 11.70.xC4 está disponível
- Bookstore will be at IDUG Prague!
- 58. IUG Workshop in Hamburg
- SWeb-based Training Courses to Consider
- Updated Information Management courses
- Spanish Informix user group / Grupo Espanhol de utilizadores Informix
- Get pending In Place ALTERs / Obter as tabelas com InPlace ALTERs pendentes
- Case-insensitive databases with Informix
- 10 years of IBM / 10 anos de IBM
- New Article covering Informix Timeseries Technology
- 11.70.xC3 is available / 11.70.xC3 está disponível
- How to avoid SmartMeter data management pitfalls with Informix technology
- New Features in Informix 11.70.xC3
- Speeding up Datastage jobs with Pipes and External Tables.