@@ -72,18 +72,20 @@ case class ReplaceAnalysis(context: GorContext, executeNor: Boolean, paramString
7272 }
7373
7474 override def process (r : Row ): Unit = {
75- val cvp = ReplaceCvp (r)
76- try {
77- val columnValues = columnsToReplace.indices.map(i => {
78- cvp.replaceCol = columnsToReplace(i)
79- val exIx = if (i > expressions.length - 1 ) 0 else i
80- evalFunction(cvp, expressions(exIx), expressionTypes(exIx))
81- })
82- r.setColumns(columnsToReplace, columnValues.toArray)
83- } catch {
84- case e : GorParsingException =>
85- val msg = s " Error in step: REPLACE $paramString\n ${e.getMessage}"
86- throw new GorDataException (msg, - 1 , header, r.getAllCols.toString, e)
75+ if (! columnsToReplace.isEmpty) {
76+ val cvp = ReplaceCvp (r)
77+ try {
78+ val columnValues = columnsToReplace.indices.map(i => {
79+ cvp.replaceCol = columnsToReplace(i)
80+ val exIx = if (i > expressions.length - 1 ) 0 else i
81+ evalFunction(cvp, expressions(exIx), expressionTypes(exIx))
82+ })
83+ r.setColumns(columnsToReplace, columnValues.toArray)
84+ } catch {
85+ case e : GorParsingException =>
86+ val msg = s " Error in step: REPLACE $paramString\n ${e.getMessage}"
87+ throw new GorDataException (msg, - 1 , header, r.getAllCols.toString, e)
88+ }
8789 }
8890 super .process(r)
8991 }
0 commit comments