@@ -95,7 +95,14 @@ result: out=" WHERE Text='Admin' AND Text='1'"]]></Description>
9595 }
9696 set value = valTemp _ ")"
9797 } else {
98- set value = $$$sq(value)
98+ // bake ((value)) values as a (('value')) to help the optimizer
99+ if (($e(value,1,2)="((") && ($e(value,*-1,*)="))")) {
100+ set value = $e(value, 3,*-3)
101+ set value = $$$sq(value)
102+ set value = "((" _ value _ "))"
103+ } else {
104+ set value = $$$sq(value)
105+ }
99106 set:value="'$$$NULL'" value = "NULL"
100107 }
101108
@@ -350,6 +357,15 @@ nocount - do not output count of rows</Description>
350357<Implementation ><![CDATA[
351358 Set:$IsObject($Get(%request)) tMode = %request.Get("mode", 0)
352359 Set tRS = ##class(%ResultSet).%New()
360+
361+ If $$$webContext {
362+ Set nocount = %request.Get("nocount", $$$NO)
363+ }
364+
365+ If ((..currPage=1) && ($g(nocount, $$$NO)) && ($ZCVT($tr(..sql," "), "U") '[ "SELECTTOP")) {
366+ Set ..sql = $replace(..sql , "SELECT", "SELECT TOP " _ ..pageSize _ " ",,1,1)
367+ }
368+
353369 Set tSC = tRS.Prepare(..sql)
354370 Set tRS.RuntimeMode = $Get(tMode, 0)
355371 Set pInfo.queryText = "sql: "_..sql
0 commit comments