Ticket #171 (new defect)
Opened 5 months ago
gateway.getAll() cferror - Variable QGET is undefined.
| Reported by: | matjaz | Owned by: | dhughes |
|---|---|---|---|
| Type: | defect | Priority: | highest |
| Milestone: | Component: | Reactor - Gateway | |
| Version: | Severity: | blocker | |
| Keywords: | Cc: |
Description
In some cases I was getting an error if calling deleteAll() and getAll() gateway methods. I debugged and found the problem was in reactor.query.query.getQueryFile() method - line nr. 61. Query.getQueryFile method is called from reactor.base.abstractGateway.getByQuery() method and since 'getQueryFile' returned wrong .cfm file name(.cfm created by deleteAll() method call) it deleted the values. Therefore 'qget' local variable is undefined when returning from 'getByQuery'.
Problem in reactor.query.query.getQueryFile() method - line nr. 61:
<cfset var queryFileName = "/reactor/project/#arguments.Config.getProject()#/Queries/" & arguments.Config.getType() & "_" & getHash() &"_" &".cfm" />
This fixed the problem - I added 'type' form arguments so it didn't return .cfm file name for delete.
<cfset var queryFileName = "/reactor/project/#arguments.Config.getProject()#/Queries/" & arguments.Config.getType() & "_" & getHash() &"_" &arguments.type&".cfm" />
This is a quich fix the main problem looks to be in getHash() method where the same value is returned for getAll() and deleteAll()
I want to thank all of you who made the Reactor and released it! Respect!

