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