[EDIT: row IDs are actually considered as special Text columns, so it’s normal to see the Type as “Text”. Tips: Keep the lock emoji in the name if you rename it to easily recognize them in the Editor!]
In Glide Data Editor, I added new columns for row IDs while the data was empty in the Google Sheet used as a data base (only first line with the titles of the columns).
I moved the columns at the left of the Sheet in Google Sheet.
Now, the columns appear as a Text columns in the App Editor, but keep working as a row ID columns (the columns are not editable and IDs are generated at each new row added):
It’s not a problem to run the app, but may be confusing when looking at which column is the one for row IDs… Especially when filtering rows or using IDs in relations:
Not sure which one is causing this, between the fact that you changed the name of the column (unlikely to be the cause), or having any formula/input that caused the column to convert to Text.
I have moved the rowID column around in the past and I don’t think it ever turned into a Text column, but when my client wrote something (without knowing the consequences) to that column, it turned into Text.
I created a new row ID column for another table, didn’t touch anything, but just the renaming of the column transformed the displayed type into text instead of row ID…
And it’s even worse than that, I noticed in another test that just clicking inside this input field with the name of the column changes the values of the IDs for each row as well as the column type!
And even without touching anything, the row ID appears as a text column, here is another test where I just created a new row ID column for a new table:
What exactly is the problem here. A Row ID column IS a text column…because it contains text. Show me a screenshot where the data editor has shown anything other than the ‘text’ icon once a RowID column is created. It is still working and automatically assigning new Row ID’s, correct?
Are you able to change the type to anything other than text? If you can’t change the type then it should still be considered a RowID column. Only normal columns would actually allow you to change the type.
If the type is making it confusing to identify Row ID columns, then you may want to reconsider your naming convention. Put the Lock emoji back into the name so it’s easily identifiable. I don’t think there is actually a problem here.
I read this and I think yeah, I have always identified it by the lock rather than its “type”. Is it true that “Row ID” is once considered a column type?
If the ID doesn’t sync then it would be a problem, the naming convention is in our control so it wouldn’t be a problem.
We probably consider it it’s own column type, but underneath it’s just a special locked down text column. I’m guessing we’ve never payed much attention to the actual data type. It’s always been pretty obvious based on the emoji character, and if it works it works.
I looked at a couple of my tables with Row ID’s. I almost never rename the column. I could see that it was a ‘text’ data type.
I also added a brand new Row ID column to a table that didn’t have one. Immediately it was considered a ‘text’ type once it was created.
I think you’re right, I checked and even in classic apps it appears as Text type with the “A”, maybe it’s just that I was used to see the lock emoji that remained even when renaming columns, or that in a previous (old) version of Glide they displayed a “key” icon instead of the “A” for these columns and stopped doing this months ago… I don’t know.
Anyway, except the fact that the values of IDs changed while renaming the column for the 1st time, it works as expected for a row ID column (generating IDs automatically). I recorded a video showing this bug, here is after row ID column creation:
I didn’t test further to see if this change of IDs can break relations in the app as it was a brand new table without connections with other tables but I guess it could break things if these IDs were stored somewhere else to refer to these rows
I can’t explain the Row ID’s changing, but if that’s happening long after the Row ID column has been added, then that’s definitely a bug. Once a Row ID column cell is populated, then nothing should be able to change it, unless you explicitly do something that would overwrite the value, such as changing it in the back end sheet, or maybe a set column action.
Under normal circumstances, I have never seen a RowID column reset the values once it’s established.
I was able to reproduce your issue, even without editing the column to rename it after adding it. I just added a Row ID column to a google sheet table with a few existing rows, waited a few seconds and the ID’s all reset to something different. I didn’t touch anything. Seems like a one-off scenario though, and after that they never change again no matter how much I attempt to rename the column.
My guess is that they reset when the new Row ID column initially syncs to the Google sheet and back again. After that I initial sync then it’s stable. I think it would be next to impossible to run into a scenario where, in the 1 second window, another row is added somewhere else and happens to use that Row ID as the basis of a relation.
Again, I think we’re overanalyzing something that really isn’t a problem. Row IDs have been around for a long time and have been really really stable. If these were real issues, then we would have heard about broken relations a long time ago.
Interesting, thank you for your analysis, maybe it’s the value displayed in GDE at the beginning that is not the same as the one actually written in the Sheet after creation, so that’s why it comes with the correct value only after the first sync between Glide and Sheet.
But yes I didn’t notice issues in the app so I agree with you, it’s not a real problem in the end