Datagrid internal error

Paul Dupuis paul at researchware.com
Tue Aug 9 08:09:00 EDT 2022


comma delimited or cr delimited, without looking it up, I am sure it is 
in the right format since it work 99.99% of the time.

The names that would be in the column list all go through a name check 
function. That function prevents names that are all spaces, longer than 
255 characters, or are a handful of "reserved words" and checks that 
each name does not contain the following characters

     if (it < 32)  then return false -- all control characters (0x0000 
to 0x0031)
     if (it = 34)  then return false -- "                quote (0x0034) 
-- LC string encapsulator
     if (it = 40)  then return false -- (     left parenthesis (0x0040) 
-- used in filter and theory criteria
     if (it = 41)  then return false -- )    right parenthesis (0x0041) 
-- used in filter and theory criteria
     if (it = 44)  then return false -- ,                comma (0x0044) 
-- LC item delimiter
     if (it = 60)  then return false -- <       less than sign (0x0060) 
-- htmlText tag delimiter
     if (it = 62)  then return false -- >    greater than sign (0x0062) 
-- htmlText tag delimiter
     if (it = 91)  then return false -- [  left square bracket (0x0091) 
-- LC merge delimiter
     if (it = 92)  then return false -- \            backslash (0x0092) 
-- regex string escape character
     if (it = 93)  then return false -- ] right square bracket (0x0093) 
-- LC merge delimiter
     if (it = 124) then return false -- |         vertical bar (0x0124) 
-- used in code
     if (it = 127) then return false -- DEL             delete (0x0127)

So, comma's are excluded, as are [ and ], and control characters, etc.. 
However all Unicode characters, codepoints 128 and up are allowed. 
Testing shows you can have a Datagrid where you can set the columns to 
empty, so that is not the cause of the error.

I can only image that the customer entered a name with some characters 
that Datagrid has a problem with as a column name OR that the shear 
number of columns (as the customer is working with a very large dataset) 
exceeds some practical Datagrid limit, but what would that be?

I don't really want to have to carve out time to build test stacks to 
try names with every possible characters or ever increasing numbers of 
column names until the error occurs or those possibilities are ruled 
out. I was hoping there might be someone on the list who was familiar 
enough with the internals of the Datagrid to have some idea what might 
have caused the error.

Unfortunately, the customer's data is confidential, so they do not want 
to provide the data to us to use for testing. And the customer is either 
not technically savvy or does not have time (they have said they are 
under a deadline) to help much in troubleshooting. They can get the 
analysis this Datagrid provides by exporting some data to Excel and 
doing the analysis in Excel, so the error is not a show-stopper for them 
as well. Definitely not as convenient as the report in our app, but a 
viable work-around.

See my original post for the executionContexts and the specific error.


On 8/8/2022 7:56 PM, Bob Sneidar via use-livecode wrote:
> Nope I take that back it's lines. I remember now wondering why that was.
>
> Bob S
>
>
>> On Aug 8, 2022, at 16:53 , Bob Sneidar <bobsneidar at iotecdigital.com> wrote:
>>
>> I believe dgProp ["columns"] is a comma delimited list.
>>
>> Bob S
>>
>>
>>> On Aug 8, 2022, at 09:26 , Paul Dupuis via use-livecode <use-livecode at lists.runrev.com> wrote:
>>>
>>> A customer encountered the following execution error (below) in our app (built on Livecode 9.6.7, MacOS 12.5). This error is occurring in the scrips for the Datagrid itself, rather than our code. At the end, it is one of our handler, "populateMe", where line 139 is where the error starts.
>>> Line 139 set the dgProp["columns"] of grp "rwMatrixObj_DataGrid" to tColumnNames
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode




More information about the use-livecode mailing list