Naming-Collision? SELECT() returns the wrong ...

(Jonas /) #1

Naming-Collision? SELECT() returns the wrong column

select(transaction_details[id]) returns [id] all fine in the Appeditor. But inside the App select(transaction_details[id]) returns [id_c_qty].

This behavior appeared a couple hours ago without me changing anything.

I guess that something was changed in the selector logic?

reassigning the key column for that table doent fix the problem either.

Please help

thy

(Jonas /) #2

Hint:

If I use the same formula inside a virtual column everything works just fine.

#3

Hi @Jonas, can you email support@appsheet.com with the name of the app and the place in the app where this select function is being used?

(Jonas /) #4

done

#5

I think I understand what’s going on now. [id_c_qty] is the row label. When you do SELECT over a key column, the result type is a list of Refs. In your expressions you have a TEXT() function around the select. We recently started rolling out a change to try to correct an inconsistency between expressions run on our server and within the app, where TEXT() on the server gives a localized value but within the app until recently it did not. I think this localizing of the Ref is causing it to show the row label instead of the key. Can you try to replace the TEXT with CONCATENATE and see if that gives the value you expect? CONCATENATE does not try to localize but should also produce a Text-type result.

#6

Well, as I test this theory in my own app I’m finding it doesn’t hold up. At least, I’m seeing the Ref value rather than the label whether I use concatenate or text function. I’ll keep looking.

#7

Actually, ignore that last comment, I was seeing the values coming from the server via sync rather than those calculated in the app. The problem within the app is as I thought, and using Concatenate in place of Text should work as a workaround until the Text behavior can be made consistent with the server.

(Jonas /) #8

that work’s.

thy for the investigation and support