Search found 1028 matches

by PhilHibbs
Mon Oct 01, 2012 4:56 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: Number of readers per node --
Replies: 22
Views: 10721

A quick-and-dirty way to run something on a single node is to add an integer column, set it always to 1, and partition on that. Particularly useful if there is just one Transformer in the middle of a job (or in a Shared Container) that you want to run on a single node without interfering with the re...
by PhilHibbs
Mon Oct 01, 2012 4:54 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: Number of readers per node --
Replies: 22
Views: 10721

*Note* Message composed prior to OP's last update, which indicates that partitioning is not the problem, so please treat the following as a general suggestion on partitioning and not as a solution to actual problem. To keep things simple, hash both input links to the join on "Col1" and the...
by PhilHibbs
Fri Sep 28, 2012 3:24 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: Parallel routine appears to have a memory leak
Replies: 18
Views: 14846

Well - that really sucks; a memory-leak-by-design! Are you talking about C in general, or just in DataStage? If the latter, then I agree - it is impossible to write a Parallel Routine that returns a char* that doesn't do one of the following things: 1. Leak memory 2. Return dangerous dangling point...
by PhilHibbs
Thu Sep 27, 2012 6:39 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: function to trim commas between a string
Replies: 3
Views: 1969

ray.wurlod wrote:Use the pxEreplace() function you can find here on DSXchange.
I would wait until this thread is resolved before using pxEreplace.
by PhilHibbs
Thu Sep 27, 2012 6:34 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: Parallel routine appears to have a memory leak
Replies: 18
Views: 14846

...DataStage may be free()ing up that allocated space. Since the reference in a free() call is a void pointer it could be done within DataStage. IBM have explicitly stated that this does not happen. Although in c++ don't return values get passed by value (i.e. a copy of the contents is made) and th...
by PhilHibbs
Thu Sep 27, 2012 5:39 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: Parallel routine appears to have a memory leak
Replies: 18
Views: 14846

In your case you cannot free() up the return pointer's memory space within the job, but I don't think that this is the memory leak. How can it not be a memory leak? The pxEreplace function is calling malloc and realloc and returning the pointer, DataStage is not calling free on the return pointer (...
by PhilHibbs
Thu Sep 27, 2012 4:02 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: Parallel routine appears to have a memory leak
Replies: 18
Views: 14846

IBM's response is this: From my understanding of the issue, when you are discussing a parallel routine we are are talking about a C function writtien by yourselves, is that correct? If it is correct the allocation and de-allocation of memory should be encapsulated in the C function or routine. We do...
by PhilHibbs
Thu Sep 27, 2012 4:02 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: DataStage Parallel Routines and Malloc/New
Replies: 8
Views: 11946

DSguru2B wrote:The px engine frees the memory by itself and hence you will never encounter any memory leaks.
I'm sorry but that is incorrect. DataStage will not free the memory allocated within a Parallel Routine.
by PhilHibbs
Wed Sep 26, 2012 5:06 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: Parallel routine appears to have a memory leak
Replies: 18
Views: 14846

/****************************************************************************** * pxStrFilter - DataStage parallel routine * * Filters a string so that it only contains the characters in the specified list * * INSTRUCTIONS * * 1. Copy the source file pxEreplace.cpp into a directory on the server * ...
by PhilHibbs
Wed Sep 26, 2012 5:06 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: Parallel routine appears to have a memory leak
Replies: 18
Views: 14846

/****************************************************************************** * pxEreplace - DataStage parallel routine * * Published on DSXchange.com by user DSguru2B * http://www.dsxchange.com/viewtopic.php?t=106358 * * Bugs (malloc, realloc, count) fixed by Philip Hibbs, Capgemini * * INSTRUCT...
by PhilHibbs
Wed Sep 26, 2012 5:05 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: Parallel routine appears to have a memory leak
Replies: 18
Views: 14846

Parallel routine appears to have a memory leak

Some time ago I took the pxEreplace routine that was posted on this forum and made a few fixes to it and started using it. It appears to be leaking memory, though. I set up a simple job that uses a Row Generator to generate 1,000,000 rows and writes them out to a Peek stage which logs the first 1000...
by PhilHibbs
Tue Sep 25, 2012 9:58 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: DB2 ordered targets and transactions
Replies: 6
Views: 4537

Re: DB2 ordered targets and transactions

Do you have the auto commit turned on? No, we've always explicitly set the commit frequency. I don't like the word "auto", I like to be in control. *Edit* I suppose I could set that and also explicitly commit with the third link, that might protect against the possibility that a single fo...
by PhilHibbs
Mon Sep 24, 2012 10:54 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: DB2 ordered targets and transactions
Replies: 6
Views: 4537

DB2 ordered targets and transactions

I'm trying a DB2 load with multiple input links to the stage, one link to do a "delete" and one to do an "insert". The "Transaction" section has disappeared. It is no longer present in either of the links nor on the stage. The Isolation Level has moved from the Link pag...
by PhilHibbs
Mon Sep 24, 2012 10:41 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: Delete then insert to replace a set of records
Replies: 9
Views: 3401

That's not supposed to matter but who knows? Worst case it seems you could do the deletes first from the data and then the inserts as either separate steps or as properly ordered targets. The table does have a unique key that is the DIN plus another date column. What do you mean "as properly o...
by PhilHibbs
Mon Sep 24, 2012 7:37 am
Forum: IBM<sup>®</sup> DataStage Enterprise Edition (Formerly Parallel Extender/PX)
Topic: Delete then insert to replace a set of records
Replies: 9
Views: 3401

OK so if DB2 works the same way as Oracle in this respect, I should only have one row in the database, the last one that was inserted. Yet I have three or four rows out of five. I'm baffled.

So if "Delete then insert" isn't what I want, how do I refresh a set of rows for a parent key?