Unless you go to an older version I dont think thats going to change anything .. as you didnt have a problem with the node working or being installed like in that thread.
The issue is that after some sqlite node version, some code was introduced to check for $ instead of ?
(along with the length of $ parameters and msg.payload length)
Hi @dceejay .. im not so experienced with github but i had a go at a PR (link)
Updated sqlite node README.md to match the more detailed node help file (the usage info was already there)
This can give better information to users that dont have the node installed but want to see how it works from the readme.md file.
Also added an example of how to use parameters Via msg.topic for both node html and README.md
ps. do you think its worth reverting the way parameters are passed with matching length
instead of $ to use .split('?') in line 57 ?
How to reset node errors?
When node enters the error state "Error: SQLITE_RANGE: column index out of range" the only way to reset is to delete it. Is there any other way?
There is some problem if besides topic and payload other properties are also passed. E.g. "msg.pull", "msg.sockedid", "msg.socketip" which I use in my function node to 1. SELECT and then INSERT or UPDATE the DB.
Seems like this input causes the node to go into permanent error state:
Please submit a bug on the node's GitHub page.
Doing a Restart Flows from the Deploy drop-down should clear the error.
Provide the database schema on the report.
It should not lockup the node permanently, but that is apparently not a valid statement, hence the errror.
It should be, I think topic: "INSERT INTO users_connection_data (ip, connected, date) VALUES ($ip, $connected, $date)"
node-red-stop cd .node-red npm install node-red-node-sqlite@1.0.2 node-red-start
Note that when binding a payload the UPDATE also needs to be sent with "$", example: UPDATE users_connection_data SET connected = $connected, date = $date WHERE ip = $ip;