Gareth
05/19/2022, 4:57 AMzackster
05/19/2022, 6:47 AMzackster
05/19/2022, 2:06 PMdswitzer
05/19/2022, 8:26 PMGareth
05/20/2022, 4:42 AMdavla
05/20/2022, 9:58 AMzackster
05/20/2022, 11:54 AMthisOldDave
05/20/2022, 12:42 PMzackster
05/20/2022, 2:27 PMdswitzer
05/20/2022, 2:42 PMzackster
05/20/2022, 3:08 PMbdw429s
05/20/2022, 4:27 PMdswitzer
05/20/2022, 4:50 PMsteveduke
05/20/2022, 5:40 PMAdam Cameron
acf-compat
issue for Lucee? Can't find one, anyhow.
Raised it: https://luceeserver.atlassian.net/browse/LDEV-4001Jordan Clark
05/20/2022, 11:10 PMfor( var col in qWhatever)
where col will jump or repeat a row. Seems itβs not keeping the var scoped safely between threads. I have widdled the code down into a reproducible cfscript. When I change it to use 1 thread it works or when I replace with a for( var x = 1; x< qWhatever.recordCount; x+=1 ) var col = queryGetRow( qWhatever );
then col is safe and works. When I run on v5.3.8.206 all use cases work. What should be my next steps?cfsimplicity
05/21/2022, 7:30 AMzackster
05/21/2022, 7:30 AMzackster
05/21/2022, 8:04 AMristo
05/21/2022, 5:50 PMDavid Rogers
05/23/2022, 1:07 PMapplication
is touched, run some callback"bdw429s
05/25/2022, 12:21 AMqueryColumnData()
function has a closure
argument. I never had. The argument shows in cfdocs.org/querycolumndata, but with no explanation at all. The docs.lucee.org/reference/functions/querycolumndata.html#argument-closure page simply says
UDF/Closure that call with the values from columnwhich is a little vague. Some testing appears to show that this closure can be used map the array by returning a different value which overrides the value taken from the column. For instance, this would upper case all the values from this column in the final array
myQuery
.columnData( 'name', (data)=>data.ucase() );
but I'm really wondering why this exists. CFML already has a construct called arrayMap()
which seems sufficient if I want to massage all the values of an array
myQuery
.columnData( 'name' )
.map( (data)=>data.ucase() );
I'm just not clear why queryColumnData()
needed this as there's certainly no precedent set that any BIF that returns an array also has an inbuilt closure argument for also mapping that array.Adam Cameron
zackster
05/25/2022, 10:20 AMzackster
05/25/2022, 10:28 AMdswitzer
05/26/2022, 9:44 PMGareth
05/27/2022, 2:01 AMgavinbaumanis
05/27/2022, 3:49 AM"ERROR","http-nio-8080-exec-4","05/26/2022","13:33:24","","class org.hibernate.exception.GenericJDBCException cannot be cast to class java.lang.ThreadDeath (org.hibernate.exception.GenericJDBCException is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @2a332ff8; java.lang.ThreadDeath is in module java.base of loader 'bootstrap');class org.hibernate.exception.GenericJDBCException cannot be cast to class java.lang.ThreadDeath (org.hibernate.exception.GenericJDBCException is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @2a332ff8; java.lang.ThreadDeath is in module java.base of loader 'bootstrap');lucee.runtime.exp.NativeException: class org.hibernate.exception.GenericJDBCException cannot be cast to class java.lang.ThreadDeath (org.hibernate.exception.GenericJDBCException is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @2a332ff8; java.lang.ThreadDeath is in module java.base of loader 'bootstrap')
at lucee.commons.lang.ExceptionUtil.rethrowIfNecessary(ExceptionUtil.java:200)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:348)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:217)
at lucee.runtime.type.scope.UndefinedImpl.call(UndefinedImpl.java:785)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:787)
at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1747)
at model.verbatimmodel_cfc$cf.udfCall2(/gsncfc/model/verbatimModel.cfc:226)
at model.verbatimmodel_cfc$cf.udfCall(/gsncfc/model/verbatimModel.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:217)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:684)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:572)
at lucee.runtime.ComponentImpl.call(ComponentImpl.java:1911)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:787)
at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1747)
at dbsetup.scripts.verbatimdataloadrt_cfm$cf$mv.call(/dbsetup/scripts/verbatimDataLoadRT.cfm:11)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:1034)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:926)
at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:217)
at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:44)
at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2460)
at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2450)
at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2421)
at lucee.runtime.engine.Request.exe(Request.java:45)
at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1179)
at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1125)
at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:102)
at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:679)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ClassCastException: class org.hibernate.exception.GenericJDBCException cannot be cast to class java.lang.ThreadDeath (org.hibernate.exception.GenericJDBCException is in unnamed module of loader org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @2a332ff8; java.lang.ThreadDeath is in module java.base of loader 'bootstrap')
Gareth
05/27/2022, 4:10 AMGareth
05/27/2022, 4:10 AM