1 Reply Latest reply: Dec 15, 2017 4:10 AM by Magnus Berg RSS

    IndexDel function is not aligned

    Walter Yip

      The IndexAdd function allows to specific the container name and index folder, but the IndexDel function only allow to specify the index folder. So if we specify same index folder with different container name, then the IndexDel function will delete both.

      Besides, the IndexDel function is not working since the following code might be not updated.

       

      IndexDel function line 471:

      Call DoDir ('$(vL.QDF.SharedConfigPath)\$(vL.QDF.IndexFolderName)$(vL.QDF.IndexQVD)', '_tmp_DoDir', '', '','true'); //Dir of vL.QDF.IndexQVD file or directory

      IndexAdd function line 95 - 107:

      //--- Create Index folders or filenames if using Qlik Sense----

      if '$(vL.QDF.IndexFolderName)' = '' then  //If no customized Index folder name is used

          let vL.QDF.IndexFolderNameNew = '$(vL.QDF.ContainerPathName)$(vL.ContainerPathName)_$(vL.QDF.FolderName)';

       

       

      elseif '$(vL.ContainerPathName)' = '' then // If both customized Index folder name and customized container is active

          let vL.QDF.IndexFolderNameNew = '$(vL.QDF.ContainerPathName)_$(vL.QDF.IndexFolderName)_$(vL.QDF.FolderName)';  

       

       

      else // If customized index folder name is used

          let vL.QDF.IndexFolderNameNew = '$(vL.ContainerPathName)_$(vL.QDF.IndexFolderName)_';

      endif

       

      LET vL.QDF.ConfigPath = '$(vL.QDF.SharedConfigPath)Index\$(vL.QDF.IndexFolderNameNew)$(vL.QDF.QVDFileName).Index';

      Since the index file creation name consists of container name, index folder name and QVD file name, so the IndexDel will not work as it only consider index folder name.

       

      So, it might need to update the IndexDel function by taking consider of container name or change the line 471 for a wild card before the index folder name as the follows:

      Call DoDir ('$(vL.QDF.SharedConfigPath)\*$(vL.QDF.IndexFolderName)$(vL.QDF.IndexQVD)', '_tmp_DoDir', '', '','true'); //Dir of vL.QDF.IndexQVD file or directory