Great point, @David Hockenbroch about JSON types, thank you!
- Log in to post comments
Great point, @David Hockenbroch about JSON types, thank you!
Bravo, @Vitaliy Serdtsev !
But I cannot set true and false in advance before any interaction with JSON/%Dynamic Object/%Dynamic Array.
Or can? )
For JSON, it's essential to support true and false, as it is expected by the majority of Web and mobile UI frameworks. So IRIS can recieve a lot of JSON llike:
{"p1":true,"p2":false}And should be able easily response with;
{"p1":false,"p2":true}, and not:
{"p1":$$$NO,"p2":$$$YES}Set dObj={"idea":(true), "doubt":(false)}
Do you think this is better? ;)
Actually, my another proposal is to have true and false as part of the language, where true=1 and false 0 or similar for booleans.
Thank you, @Julius Kavay !
Sounds like a great idea of enhancement, thanks for sharing, @Julius Kavay !
Thank you, @Steve Pisani ! Thanks for sharing your experience! Yes, there can be different tools and combinations that provide results of decent quality - some friends of mine also consider Antigravity (and Gemini) or Claude Code with Cursor. I hope we'll end up with several working recipes to speed up the development of usual things x100 times.
Yes, it is OK to avoid any ObjectScript or Embedded Python.
Yes it's OK to have only R from CRUD or UD from CRUD. Or only C :) All CRUD are also welcomed!
Thank you, @Tani Frankel !
Thank you, @Sylvain Guilbaud !
BTW, why split Data and Code into two databases?
Thank you, @Stephen Canzano ! That's interesting!
Thank you, Vitaly!
I see. And in my case some sets of parameters cause an anomaly, and it is not very effective to investigate it one-by-one
Thank you, @Vitaliy Serdtsev !
If enabled auditing gives the ability to see parameters, or the ability to copy/paste into SQL query tool a ready/made sql query that has been running in the system?
BTW, the global indeed contains the history! Thank you!
Thanks @David Hockenbroch ! Introduced an idea to get such a history as a system feature.
Thank you, @Robert Cemper ! Looks... complicated(?) to get an SQL query that causes anomalies?
Thank you, @Yuri Marx @Robert Cemper ! Works for me as well - my issue was that JSON.Adapter is case sensitive. if payload comes as:
{ "strprop": "string", "BoolProp": true } error fires (very unreadable). I thought that reason is the boolean value, but turned out it is property naming issue - should 100% match either name in a class description, or special JSON property name clause.
Thank you, @Dominic Chui !
Thanks @Enrico Parisi ! Yes, sometimes 3641144 could be enough to store a file.
Faced the same issue. What is the size limitation on working with streams in DynamicObjects/JSON? 1MB?
This is how our ^%REST service is organized, that consumes OpenAPI spec (unfortunately not the latest one, but still workable 2.0) and generates package.spec.cls with map , package.disp.cls with dispatch and params handling and package.impl.cls with business logic implementation stubs.
But what ^%REST doesn't provide - it doesn't generate unit-tests to make sure that all the impl.cls methods and dispatch methods work as expected. @David Hockenbroch's article here is very focused exactly on this gap, thank you, Dave.
Very useful! Thank you @David Hockenbroch !
Yes, this sounds safer.
I'm still curious what does [identity] do here?
property id as%Library.BigInt [ identity ];is it only for "Object" access and not for SQL?
Ah, I see -
VALUES (saleId,companyId,productId,saleDate,saleAmountUSD)Impressive indeed.
I'm curious how and if the approach work if the id name in csv is diffent of "id", e.g.."CompanyId"?
Wow. Thanks @Vitaliy Serdtsev !
This is impressive.
So if I understand properly, LOAD DATA guesses somehow that id is the idkey and primarykey here?
&sql(LOAD DATA FROM FILE 'C:\data\companies.csv'
INTO dc_onetomany.companies(id,name,industry,description,website)
USING {"from":{"file":{"header":true}}})if AllowIdentityInsert =1?
Thanks @Dan Pasco !
So this $system.SQL.SetIdentityInsert(1) is a system-wide setting, right?
It looks like there is an option to have it as a parameter for a class as well, like @Vitaliy Serdtsev shared above