2 Replies Latest reply: Jul 11, 2016 4:42 AM by Hendrik Faurie RSS

    partial reloaded table Concatenated to a non partial reloaded table?

    Hendrik Faurie

      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

        • Re: partial reloaded table Concatenated to a non partial reloaded table?
          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

            • Re: partial reloaded table Concatenated to a non partial reloaded table?
              Hendrik Faurie

              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