One method for dynamically updating superkeys
There is an option in the ecl compiler 'allFilesDynamic' that you may find useful. Should be able to set it using #option or on the command line.
You are right though that packages are the recommended way to go long term.
You are right though that packages are the recommended way to go long term.
- richardkchapman
- Community Advisory Board Member
- Posts: 110
- Joined: Fri Jun 17, 2011 8:59 am
Just adding some information for this thread.
Recently I read an article written by Dan Camper (link below) and he explains how to update an superkey in a Roxie Query without downtime using packages.
As far as I understand, using packages, is the "official" way to update Superkeys that is being used by Roxie. On the other hand, the DYNAMIC file is a way to refer to a file that, for some reason, do not exist yet (but it will).
Summary:
- If you want to update a superkey that is used by a Roxie, use packages;
- If you want to refer to a file that is not there (for some reason that is not under your control), use DYNAMIC;
Link for the Dan Camper article:
https://hpccsystems.com/blog/real-time- ... s-in-roxie
- Artur Baruchi
Recently I read an article written by Dan Camper (link below) and he explains how to update an superkey in a Roxie Query without downtime using packages.
As far as I understand, using packages, is the "official" way to update Superkeys that is being used by Roxie. On the other hand, the DYNAMIC file is a way to refer to a file that, for some reason, do not exist yet (but it will).
Summary:
- If you want to update a superkey that is used by a Roxie, use packages;
- If you want to refer to a file that is not there (for some reason that is not under your control), use DYNAMIC;
Link for the Dan Camper article:
https://hpccsystems.com/blog/real-time- ... s-in-roxie
- Artur Baruchi
- abaruchi
- Posts: 19
- Joined: Thu Apr 18, 2019 4:50 pm
Using the OPT flag on either the INDEX() or DATASET() function will allow ROXIE to work with files that may not exist, whether you use package maps or DYNAMIC().
DYNAMIC() -- which is a function surrounding the logical filename in the INDEX() or DATASET() function -- just tells ROXIE to always resolve the pathname at runtime, for every query, which means ROXIE does not preload the data, lock the file, maintain caches, etc. If you don't put an OPT flag in there and the file is missing, you will get a runtime error even with DYNAMIC().
DYNAMIC() -- which is a function surrounding the logical filename in the INDEX() or DATASET() function -- just tells ROXIE to always resolve the pathname at runtime, for every query, which means ROXIE does not preload the data, lock the file, maintain caches, etc. If you don't put an OPT flag in there and the file is missing, you will get a runtime error even with DYNAMIC().
- DSC
- Community Advisory Board Member
- Posts: 571
- Joined: Tue Oct 18, 2011 4:45 pm
13 posts
• Page 2 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 1 guest