AI bot directed me here to report a bug and I couldn't find any proper "Report a bug" form, so I'm doing it here.
There is apparently an issue in the functionality that translates XanoScript to Stack and it looks like the same exact code can be interpreted in two ways by Xano. This causes for example uploading script with Cursor to break the script despite correct code.
Steps to reproduce:
1. Create a DB table with spaces in the name
1b. (probably needed) Rename the table to whatever but still with spaces in the name (i think this step may be required to trigger special syntax from Xano later)
2. Create a very simple function (using Stack view!) that will bulk delete records from this table:
As you can see the Where clause is marked with "db" correctly.
This is how it looks like if you switch to XanoScript:
Note: without renaming the table first, Xano generated code with underscores ($db.table_with_spaces) and then the problem doesn't happen. But once it switches to this way there's apparently no way back.
Without doing any changes in the code, just click Save in XanoScript view.
Go back to Stack and check where clause on the Delete query:
Now, where clause is an expression and it DOES NOT work. It just accepts all records.
XanoScript stays exactly the same, so this distinction between expression and not expression is kept somewhere outside of the code and this information is lost when saving from script or pushing from code IDE. Not sure how this can be fixed without changes to XanoScript syntax but this seriously messes up using IDEs for Xano.
Shouldn't only text in backticks (` `) be interpreted as expression? This would solve the ambiguity.