Author |
Message
|
uliss |
Posted: Wed Oct 17, 2007 3:22 am Post subject: Problems with bar files and functions in WBI 5.0.8 |
|
|
Apprentice
Joined: 10 Jan 2007 Posts: 27
|
Hi,
I have a big problem. Let's see if you can help me:
Two years ago I added the following to an esql file:
CREATE FUNCTION NoEsCero4 (Value CHAR) RETURNS BOOLEAN
BEGIN
DECLARE PosPunto INTEGER;
DECLARE ValorEntero INTEGER;
DECLARE ParteEntera INTEGER;
DECLARE ParteDecimal INTEGER;
SET PosPunto = POSITION('.' in Value);
IF PosPunto = 0 THEN
SET ValorEntero = Value;
IF ValorEntero <> 0 THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
ELSE
SET PosPunto = POSITION('.' in Value);
SET ParteEntera = SUBSTRING(Value FROM 1 FOR PosPunto-1);
SET ParteDecimal = SUBSTRING(Value FROM PosPunto+1 FOR LENGTH (Value));
IF (ParteEntera <> 0) THEN
RETURN TRUE;
ELSE
IF (ParteDecimal <> 0) THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END IF;
END IF;
END;
OK, I use this in just in one message flow.
The problem comes when I add a message flow to a bar file to make a deploy. When I open the cmf file included in the bar file, I can see the function's code a lot of times (500 or more). Even when I add a message flow which has not included the function.
The bar files are so big that I can't make the deploys because memory failures.
Can yoy help me?
Thank you very much |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Oct 17, 2007 3:35 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
BAR files get big because of storing a log of what's been added and removed.
In v5, the only way to clear this is to delete & recreate the bar file.
Everything in the default schema is included in every compute node. Everything in a schema that is used in a compute node is included in that compute node. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
uliss |
Posted: Wed Oct 17, 2007 7:02 am Post subject: |
|
|
Apprentice
Joined: 10 Jan 2007 Posts: 27
|
Hi,
I have tried to create a new bar file and when I have added a message flow (which has not included the function's code) I have gone to my hard disc to see the file. I have opened the bar, I have opened the cmf file, and I have seen the function's code 1953 times.
And I have created a new bar file. It's never used.
Thanks a lot |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Oct 17, 2007 7:06 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Could be a bug in the Toolkit. Unless you have 1953 compute nodes in the flow and the function is in the default schema.
Try doing a clean-build on all the projects in the bar, and then make another new bar. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
uliss |
Posted: Wed Oct 17, 2007 7:19 am Post subject: |
|
|
Apprentice
Joined: 10 Jan 2007 Posts: 27
|
Hi,
I have only one compute node in this flow. And it hasn't this function in his esql.
What do you mean with "the function is in the default schema"?
what is the default schema?
I have the function only in a compute node in another flow, not in this one which I am adding to the new bar file.
Thank you very much and excuse me for my english.... |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Oct 17, 2007 7:26 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
|
Back to top |
|
 |
uliss |
Posted: Thu Oct 18, 2007 2:20 am Post subject: |
|
|
Apprentice
Joined: 10 Jan 2007 Posts: 27
|
Ok jefflowrey. I have solved the problem. I had declared the function in an esql but not in a concrete compute node. I had declared it out of the compute. So, when I build the bar file, the function was included per each compute node in the flow.
I have included the function inside the esql of the compute node where is used and everything runs OK. The function does not appear in the bar file.
Thank you very much for your help |
|
Back to top |
|
 |
|