Would the SQL log of ARS show that query? (I hope so)
And if so - any idea what it would look like in the log? -John On Jul 16, 2010, at 9:18 AM, LJ LongWing wrote: ** John, I know the question comes up every once in awhile….and the common agreement is that yes, remedy will pass a 1=0 to the DB…the argument typically occurs around what happens when it hits the DB. Well, from personal experience, I have seen remedy pass a 1=1 to the DB and have that query BLOCK other queries to the table…so in the instance of SQL Server 2005, I guarantee you that it’s passed to the DB, and the DB does a table scan. From: Action Request System discussion list(ARSList) [mailto:arsl...@arslist.org] On Behalf Of John Sundberg Sent: Thursday, July 15, 2010 6:52 PM To: arslist@ARSLIST.ORG Subject: Re: Capturing SQL Statement ** Doug, Wondering -- does AR Server eval the string before sending to the DB? Specifically - if the qualification on a filter translates to 1=0 -- does the database do a tablescan against the table to see if any records match 1=0 ? I would think that a cheap ARS optimization would be to grab "false" qualifications - and never go to the database at all. This comes up every once in awhile -- and I don't think that ARS would take a qualification where 1=0 and send it to the database for a result list and processing. And -- if ARS does pass 1=0 to the database -- why would that be? -John On Jul 15, 2010, at 6:33 PM, Mueller, Doug wrote: ** John, You cannot. You can have workflow that looks at what is entered in fields and what is entered in the advanced search bar. You cannot however get ahold of the SQL generated. The way the system is constructed is that the qualification comes across the wire as an AR System qualification. That is parsed and processed by the server. There is no workflow on searches at all, but even if there were, the server layers are Receive call and route to a queue Data validation/ access control checking Filters Translation to SQL and issuing command The only layer you would have access is the Filter layer and that occurs before any translation to SQL. There is no way to capture in advance the SQL. You can log SQL statements so you can look at it later, but that is after the fact. You cannot get ahold of the SQL statement in logic. Doug From: Action Request System discussion list(ARSList) [mailto:arsl...@arslist.org] On Behalf Of J Kovalcik Sent: Thursday, July 15, 2010 2:43 PM To: arslist@ARSLIST.ORG Subject: Capturing SQL Statement ** Listers, I would like to capture the SQL query before it would be submitted to the database. For example, if in a search form, the user enters search criteria in any fields or the advanced search bar, I would like to capture that query before clicking the search button. Can I use one of the Remedy API's that are already built ? Or are there any other ideas ? Thanks, John Kovalcik _attend WWRUG10 www.wwrug.com ARSlist: "Where the Answers Are"_ _attend WWRUG10 www.wwrug.com ARSlist: "Where the Answers Are"_ -- John Sundberg Kinetic Data, Inc. "Building a Better Service Experience" Recipient of the WWRUG09 Innovator of the Year Award john.sundb...@kineticdata.com 651.556.0930 I www.kineticdata.com _attend WWRUG10 www.wwrug.com ARSlist: "Where the Answers Are"_ _attend WWRUG10 www.wwrug.com ARSlist: "Where the Answers Are"_ -- John Sundberg Kinetic Data, Inc. "Building a Better Service Experience" Recipient of the WWRUG09 Innovator of the Year Award john.sundb...@kineticdata.com 651.556.0930 I www.kineticdata.com _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug10 www.wwrug.com ARSlist: "Where the Answers Are"