|
@@ -58,7 +58,13 @@ sortedFile := SORT(Files.DG_FETCHFILE, Lname,Fname,state ,__filepos, LOCAL);
|
|
|
BUILDINDEX(sortedFile,{Lname,Fname},{STRING tfn := TRIM(Fname), state, STRING100 blobfield {blob}:= fname+lname, __filepos},Files.DG_FetchIndex1Name, OVERWRITE, SORTED);
|
|
|
|
|
|
//This is only used to perform a keydiff.
|
|
|
-BUILDINDEX(sortedFile,{Lname,Fname},{STRING tfn := TRIM(Fname), state, STRING100 blobfield {blob}:= fname+lname, __filepos},Files.DG_FetchIndex2Name, OVERWRITE, SORTED);
|
|
|
+Files.DG_KeyDiffIndex1 createDiffRow(sortedFile l) := TRANSFORM
|
|
|
+ SELF.tfn := TRIM(l.Fname);
|
|
|
+ SELF.blobfield := l.fname+l.lname;
|
|
|
+ SELF := l;
|
|
|
+END;
|
|
|
+BUILDINDEX(Files.DG_KeyDiffIndex1, PROJECT(sortedFile, createDiffRow(LEFT)),OVERWRITE);
|
|
|
+BUILDINDEX(Files.DG_KeyDiffIndex2, PROJECT(sortedFile(lname != 'Doe'),createDiffRow(LEFT)), OVERWRITE);
|
|
|
|
|
|
//A version of the index with LName/FName transposed and x moved to the front.
|
|
|
BUILDINDEX(sortedFile,{Fname,Lname},{STRING100 blobfield {blob}:= fname+lname, STRING tfn := TRIM(Fname), state, __filepos},Files.DG_FetchTransIndexName, OVERWRITE);
|
|
@@ -68,15 +74,18 @@ fileServices.AddFileRelationship( Files.DG_FetchFileName, Files.DG_FetchFilePrel
|
|
|
|
|
|
fileServices.AddFileRelationship( Files.DG_FetchFileName, Files.DG_FetchIndex1Name, '', '', 'view', '1:1', false);
|
|
|
fileServices.AddFileRelationship( Files.DG_FetchFileName, Files.DG_FetchIndex1Name, '__fileposition__', '__filepos', 'link', '1:1', true);
|
|
|
-fileServices.AddFileRelationship( Files.DG_FetchFileName, Files.DG_FetchIndex2Name, '', '', 'view', '1:1', false);
|
|
|
-fileServices.AddFileRelationship( Files.DG_FetchFileName, Files.DG_FetchIndex2Name, '__fileposition__', '__filepos', 'link', '1:1', true);
|
|
|
+fileServices.AddFileRelationship( Files.DG_FetchFileName, Files.DG_KeyDiffIndex1Name, '', '', 'view', '1:1', false);
|
|
|
+fileServices.AddFileRelationship( Files.DG_FetchFileName, Files.DG_KeyDiffIndex1Name, '__fileposition__', '__filepos', 'link', '1:1', true);
|
|
|
+fileServices.AddFileRelationship( Files.DG_FetchFileName, Files.DG_KeyDiffIndex2Name, '', '', 'view', '1:1', false);
|
|
|
+fileServices.AddFileRelationship( Files.DG_FetchFileName, Files.DG_KeyDiffIndex2Name, '__fileposition__', '__filepos', 'link', '1:1', true);
|
|
|
|
|
|
//Optionally Create local versions of the indexes.
|
|
|
LocalFiles := $.Files(createMultiPart, TRUE);
|
|
|
IF (createMultiPart,
|
|
|
PARALLEL(
|
|
|
BUILDINDEX(sortedFile,{Lname,Fname},{STRING tfn := TRIM(Fname), state, STRING100 blobfield {blob}:= fname+lname, __filepos},LocalFiles.DG_FetchIndex1Name, OVERWRITE, SORTED, NOROOT);
|
|
|
- BUILDINDEX(sortedFile,{Lname,Fname},{STRING tfn := TRIM(Fname), state, STRING100 blobfield {blob}:= fname+lname, __filepos},LocalFiles.DG_FetchIndex2Name, OVERWRITE, SORTED, NOROOT);
|
|
|
+ BUILDINDEX(LocalFiles.DG_KeyDiffIndex1, PROJECT(sortedFile, createDiffRow(LEFT)),OVERWRITE,NOROOT);
|
|
|
+ BUILDINDEX(LocalFiles.DG_KeyDiffIndex2, PROJECT(sortedFile(lname != 'Doe'),createDiffRow(LEFT)), OVERWRITE,NOROOT);
|
|
|
BUILDINDEX(sortedFile,{Fname,Lname},{STRING100 blobfield {blob}:= fname+lname, STRING tfn := TRIM(Fname), state, __filepos},LocalFiles.DG_FetchTransIndexName, OVERWRITE, NOROOT);
|
|
|
)
|
|
|
);
|