Skip to main content
Announcements
July 15, NEW Customer Portal: Initial launch will improve how you submit Support Cases. IMPORTANT DETAILS
cancel
Showing results for 
Search instead for 
Did you mean: 
KDev
Contributor II
Contributor II

Partial Reload doesn't work with full dataset

Hi! Good day!

I have been trying to get Partial reload to work with a button. First, I have a simple table

Table1:

Replace
LOAD * Inline [

Line , Comment

123 , comment1

145 , comment2

];      - which works well during a full reload. Then I change "comment1" to "comment3" in the script and initiate partial reload with a button - this seems to work fine, too.

The problem happens when I add this same script as a part of a bigger data model. There are many tables in the model but none of the other tables have a "Line" or "Comment" column - Table1 is standalone table. Nowhere else do I have replace/add/merge statement either. A regular reload works fine but when I initiate partial load using a button (after changing "comment1" to "comment3"), nothing seems to change at all. 

Can anyone please let me know why this is the case? Is there any other change I have to make in the script to make sure partial reload works?

Labels (1)
6 Replies
daturpin
Partner - Creator II
Partner - Creator II

Can you show the script where you are changing 'comment1' to 'comment3'?

The problem might be in there?  Otherwise a REPLACE LOAD statement should work in either a full or partial reload, unless you use REPLACE ONLY LOAD or otherwise contain the statement within a If IsPartialReload() statement.

 

I have been faffing around with similar issues, right now I can't figure out why my INSERT INTO statement isn't working in partial reload.

KDev
Contributor II
Contributor II
Author

Hi @daturpin , thank you so much for the response. I change "comment1" to "comment3" in the same script I have for Table1. I don't have a separate block of script specifically for the change.

Table1:

Replace
LOAD * Inline [

Line , Comment

123 , comment1

145 , comment2

]; 

I just change the existing block in the load editor and initiate partial refresh. I don't have the ONLY prefix or an if block in my script, either. I hope that answered your question.

I have been trying to get partial reload to work in addition to a writeback functionality, that didn't go as planned so I figured I'll try a simple script first. 

daturpin
Partner - Creator II
Partner - Creator II

I don't see anything wrong with the INLINE statement, using REPLACE LOAD it should work both in full and partial reload.

But I am still not understanding how it works when standing alone, but not when part of a "bigger data model". Where did you insert the script? Are there any If NOT IsPartialReload() statements? Is there a missing semicolon somewhere?

What has tricked me a few times is that I have used TRACE statements and missed a semicolon; this doesn't throw an error but makes the system think some working code is part of the TRACE statement.

Now, the problems with the partial reload and writeback functionality. I might be able to help with that, as I have gotten that working, except when connected to an external source and doing a SQL INSERT OVERWRITE, I haven't been able to get that to work even after fixing all errors.

KDev
Contributor II
Contributor II
Author

Hi @daturpin let me give you a gist of how I'm expecting the reload to work as part of the writeback. Below is an overview:

Table1:

LOAD Line,Description from file1.qvd;

LEFT KEEP (Table1)

Table2:

LOAD Line,Config from file2.qvd;

LEFT KEEP (Table1)

TableToBeOverwritten:

REPLACE LOAD Line,Comment from overwrittenfile.qvd; 

I have a Vizlib writeback table setup with update function that writes back to the overwrittenfile.qvd - it is prepopulated with Line values from the other two qvd's and blank comments. The vizlib writeback template script is also added in the beginning. The writeback seems to work fine but when I do a partial load,  I get the below error:

KDev_0-1695057666747.png

 I assumed it could be because of the LEFT KEEP so I moved TableToBeOverwritten code to the very top and removed the left keep. I keep getting the same error. A full reload doesn't seem to give any error. I am unsure what I'm missing. 

 

daturpin
Partner - Creator II
Partner - Creator II

That error is the bane of my existence. Because you get the same error for ANY reason. Unless you can read the Log File (I cannot, because I've running serverless QVD, which it looks like you are as well), then it won't tell you much.

In this case, however, I think the problem is that your tables are out of sync to start with. Try using REPLACE LOAD on Table1 and Table2 instead of LOAD. It will still work in a full reload but it will also re-sync the tables on partial reload.

KDev
Contributor II
Contributor II
Author

Hi @daturpin . I will try replacing the LOAD with REPLACE LOAD, like you suggested. I'm worried it might make the reload slower since these tables take 2-3 minutes to load (there are at least 6 with the same LEFT KEEP to the main table), but if gets rid of this error I've been seeing for the past several days, so be it.

I'm exploring binary load as an alternative, for now. I have to see how that will pan out. Writeback has been quite a challenge for me. I really appreciate the help!