Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
splitcore
Contributor III
Contributor III

partial reloaded table Concatenated to a non partial reloaded table?

Hi guys.

I'm pretty certain this is looking for trouble but just want to make sure from you guys who know a bit more about the inner workings of a partial reload...

Let's say I have Table1 and Table2.

Both are initially loaded and Table2 Concatenated to Table1

I then no longer wish to RE-load Table 1 so instead I only use a REPLACE Load for Table2 and a Partial Reload...

With a Partial Reload Table1 does not change but it still has the Concatenated data from Table2 in it... So no matter what I do I will have duplicate data when doing a partial reload for Table2 would I not?

Older lines in Table2 can be altered so that's why I need to use a REPLACE... And if so when I do the Partial Reload the pre-replaced line AND the actual replaced line will now be in my data correct? Because the pre-replaced line was never replaced because it was concatenated to Table1 which was not reloaded in the partial reload...

So I'd just like for someone to confirm this for me so I can explore other options.

There are a lot of other elements at play this is just a veeery basic example and I know normally you'd never find yourself in such a situation. But here I am

Kind Regards

2 Replies
sunny_talwar

May be try something like this:

Table:

LOAD *,

          'Table1' as TableFlag

FROM Table1;

Concatenate(Table)

LOAD *,

          'Table2' as TableFlag

FROM Table2;

If IsPartialReload() then

     NewTable:

     NoConcatenate

     Add LOAD *

     Resident Table

     Where TableFlag = 'Table1';

     Concatenate (NewTable)

     Add LOAD *,

           'Table2' as TableFlag

     FROM Table2;

     DROP Table Table;

     Rename NewTable to Table;

ENDIF;

Might not be perfect and may need modifications as I have not tested this, but the idea should work here

splitcore
Contributor III
Contributor III
Author

Hi Sunny

Thanks for the reply and sorry for my delayed response! I also considered assigning flags to the tables as you have demonstrated above. My primary goal was to save time on reloads, and I fear this method will not entirely accomplish that goal by loading all the data again anyway.

The only other option I can think of but it may be the same eventual reloading time as well... Is to load Table 1 as a Binary every time and just do a normal reload... I'll have to go and test which is faster.

If by chance you get a brainwave that might do the trick please let me know.

Many thanks