SQLite Forum

update-from on without rowid virtual tables
Login
I had forgotten how it worked (not looked at this in over a year) and now you've said about the sqlite_vtab_nochange, I've gone and checked the return value from it inside the xColumn method.

In the case of the normal update, the query appears to be using the index on the primary key and I just get this as the full output:

```
sqlite3_vtab_nochange for column 0 returned true
sqlite3_vtab_nochange for column 1 returned true
sqlite3_vtab_nochange for column 0 returned false
```

In the case of the update from, it looks like it's not using the index, but instead iterating over the table as I get loads of output like:

```
sqlite3_vtab_nochange for column 0 returned false
```

But the in the middle I critically get

```
sqlite3_vtab_nochange for column 0 returned false
sqlite3_vtab_nochange for column 1 returned false
```

So rather than the nochange value being lost in between the instructions, it looks like it may never be correct in the first place.