Which I guess is misleading to me. While it probably did what I told it to do, it did not do what I expected it to do. If I do the originaly query again, I still get the same results, meaning that Note.isPublic was not updated to false
I did it in the meantime by running the query and getting a list of ids manually (over 3K) and then running a graphql mutation with those ids and set the desired field to false.
yes, that is what I have been missing. I was reading the docs on Upsert Block and I see now that in passing it mentions,
Execution of an upsert block also returns the response of the query executed on the state of the database before mutation was executed . To get the latest result, we should commit the mutation and execute another query.
I did not understand that clearly enough that I had to do that before the changes were committed, I understood it to mean that in order to get the data after the upsert I would need to run a separate query.
To commit the mutation, pass the parameter commitNow=true in the URL.
A link to committing mutations should probably be on the Upsert Block doc page, now that it is a separate page by itself (I think it used to be one big doc page for Mutations). Maybe even a page dedicated to “Committing Mutations” inside of the Mutation docs that can then be linked to from anywhere discussing the need to commit before changes become “live”