Question MARK PONGONIS · Nov 9, 2023

Is there a function that will check if an http request was successful or not? Maybe something similar to c# respose.IsSuccessStatusCode? %Status still returns success even if the response status code equals say 404.

Ex.

http=##class(%Net.HttpRequest).%New()
http.Server="example.com"
tsc = http.Get()   
http.HttpResponse.StatusCode    <== this is where i would like to check the status without having to write a custom function

4
1 810
Question MARK PONGONIS · Jul 15, 2022

Is there a way to perform an %Prepare()/%Execute() that will wait until the record being queried is unlocked by another process? 

Ex: 

Process 1 - is opening record, updating, then saving. NOTE: this is using embedded SQL

&sql(SELECT %ID INTO :id FROM table WHERE Prop=:prop)
s obj=##class(APPTRACKER.CacheHB.CustomEventCacheHB).%OpenId(eventId)
//updating record...
s sc=obj.%Save()

Process 2 - is querying the same record while Process 1 has it open. Result is nothing is returned and %SQLCODE is 0

//simplified snippet with extra code removed
    ...
    s sql = ##class(%SQL.
3
0 293
Question MARK PONGONIS · Apr 7, 2021

anyone know of a simple way to search a blob of text from a list of keywords in one fell swoop, without having to iterate through each keyword and perform an individual search? Ex. 

s keywords="This,blob,text"

s text = "This is a sample blob of text"

i text[keywords w "hit"

2
0 323
Question MARK PONGONIS · Dec 15, 2020

Anyone know if it's possible using cache objectscript (or something else maybe) to reference an object property using a variable? For example:

s obj={}

s obj.prop1="hello"

s var="prop1"

w obj.var    <== which would result in a reference to obj.prop1 and write out "hello"

7
0 431
Question MARK PONGONIS · Aug 27, 2018

Is there a way to lock at the record level? I know that you can lock at the table level:

&sql(UNLOCK mytest IN EXCLUSIVE MODE)

but am unable to find a way to lock just at the record/row level. 

Would this also affect a SELECT statement done on the record?

1
0 458
Question MARK PONGONIS · Jul 17, 2018

Would like to know if there is an alternative or better way to paginate through a dataset using dynamic SQL than what I am using below. The problem is that as the potential pool of data gets larger, this code slows down to the point of not being useable. In analyzing each line of code below, it appears the slow down is related to the initial rset.%Next() iteration. Is there anything available which does not require a subquery/%VID such as a simple LIMIT/OFFSET?

My code is similar to :

s sql=##class(%SQL.Statement).

31
3 3738