Skip to content

[#132] JSON Decoder remove 100 characters string limit per node

For performance reasons on another M system, in a previous life this code limited JSON decoded nodes to be 100 characters. This causes confusion for people using this code base when any string is longer than 100 characters. For example:

{"path":"^%ydboctoocto(\"functions\",\"PG_CATALOG.PG_TABLE_IS_VISIBLE\",\"%ydboctoFZPxVOipyvcmjbTa20TTWJD\",\"binary\",0)"}

Got split into:

y("path")="^%ydboctoocto(""functions"",""PG_CATALOG.PG_TABLE_IS_VISIBLE"",""%ydboctoFZPxVOipyvcmjbTa20TTWJD"",""binary"
y("path","\",1)=""",0)"

This is VERY confusing.

Since this code is only intended to be used by YottaDB now, the string limit has been lifted to the maximum of 1 MB. The test long^%ydbwebjsonDecodeTest has been rejiggered so that a single JSON node is longer than 1 MB and it is now decoded successfully into two separate YottaDB nodes.

Be careful when using globals. The globals' record length should be as large as the longest node that you expect to store.

Version bumped from 4.1.1 to 4.1.2.

Edited by Sam Habiel

Merge request reports