@@ -52,12 +52,12 @@ class DiffixAnonymizer implements Anonymizer {
5252 } ) ;
5353 }
5454
55- private makeBinSQL = ( columnName : string , { binSize } : NumericGeneralization ) => {
56- return `floor_by(cast(${ columnName } AS real ), ${ binSize } )` ;
55+ private makeBinSQL = ( columnName : string , columnType : string , { binSize } : NumericGeneralization ) => {
56+ return `floor_by(cast(${ columnName } AS ${ columnType } ), ${ binSize } ) AS ${ columnName } ` ;
5757 } ;
5858
5959 private makeSubstringSQL = ( columnName : string , { substringStart, substringLength } : StringGeneralization ) => {
60- return `substring(${ columnName } , ${ substringStart } , ${ substringLength } )` ;
60+ return `substring(${ columnName } , ${ substringStart } , ${ substringLength } ) AS ${ columnName } ` ;
6161 } ;
6262
6363 private mapBucketToSQL = ( column : BucketColumn ) => {
@@ -66,16 +66,14 @@ class DiffixAnonymizer implements Anonymizer {
6666 switch ( column . type ) {
6767 case 'integer' :
6868 return column . generalization
69- ? this . makeBinSQL ( columnName , column . generalization ) + ` AS ${ columnName } `
69+ ? this . makeBinSQL ( columnName , 'integer' , column . generalization )
7070 : `cast(${ columnName } AS integer) AS ${ columnName } ` ;
7171 case 'real' :
7272 return column . generalization
73- ? this . makeBinSQL ( columnName , column . generalization ) + ` AS ${ columnName } `
73+ ? this . makeBinSQL ( columnName , 'real' , column . generalization )
7474 : `cast(${ columnName } AS real) AS ${ columnName } ` ;
7575 case 'text' :
76- return column . generalization
77- ? this . makeSubstringSQL ( columnName , column . generalization ) + ` AS ${ columnName } `
78- : columnName ;
76+ return column . generalization ? this . makeSubstringSQL ( columnName , column . generalization ) : columnName ;
7977 case 'boolean' :
8078 return `cast(${ columnName } AS boolean) AS ${ columnName } ` ;
8179 }
0 commit comments