[Coldbox 5.4.1][Lucee 5.3.2] Lucee does not seem to process my queries anymore...

I am now on ColdBox 5.4.1.

a) When I spin a Lucee server version 5.2.9+31, everything works fine and all my tests pass (see attached pix1).
b) However, when I spin a Lucee server version 5.3.2+77, major headaches, none of my tests pass any more… (see attached pix2).

It is exactly the same code. Does not seem related to Coldbox but to Lucee… Affecting all my queries.

NB: I am not using ORM. All my queries are built dynamically using a schema.xml file that provides field names and table names within a child DAO:

// The xmlObject was set in the baseDAO class to manipulate the schema.xml file found in the models/xml directory.

public function init(){

var Arguments = StructNew();
Arguments.fieldNameList = ArrayToList(XmlSearch(xmlObject,"/schema/model[3]/entity[1]/propertyName/propertyValue/@name"));
Arguments.tableName = ArrayToList(XmlSearch(xmlObject,"/schema/model[3]/entity[1]/@name"));
Arguments.keyFieldName = ArrayToList(XmlSearch(xmlObject,"/schema/model[3]/entity[1]/propertyName[1]/propertyValue/@name"));
Super.Init(argumentCollection=Arguments);

return this;

}

In the parent, the baseDAO class, I parse the XML object to build the query:

xmlObject = XmlParse("/models/xml/schema.xml",“yes”)





variables.instance.fieldNameList = reReplace(arguments.fieldNameList,"<.*?>","","all"); variables.instance.tableName = reReplace(arguments.tableName,"<.*?>","","all"); variables.instance.keyFieldName = reReplace(arguments.keyFieldName,"<.*?>","","all"); variables.instance.keyFieldName2 = reReplace(arguments.keyFieldName2,"<.*?>","","all");

Any ideas what has happened between the two versions of Lucee with regard to XML functions ?

| Zac_Spitzer
June 14 |

  • | - |

According to Zac Spitzer, the issue of XmlParse() breaking Lucee has been fixed in the latest snapshot, https://luceeserver.atlassian.net/browse/LDEV-2253

As soon you update Lucee to 5.3.3.53-SNAPSHOT or higher, that has fixed the issue, will this patch do nothing anymore, but also throw no error. But you should remove it anyway.