Post by meerkat on Dec 27, 2018 12:16:34 GMT -5
Basically RB does everything. It just has 2 major bugs that makes it not usable, for me anyway.
1. SQLite record locks. Sometimes records get locked and there is no way out. The record is locked above the program level. In fact you can run a program and get a lock. You can log out and sign in again, use another program and that will have a lock.. The only way out is to completely shut down Run Basic and start it again. I've written the same program in LB4.5 and other languages an never get record locks.
I've tried everything in the world to stop the locks.
I open the database with the following open and it helps, but doesn't cure it.
' -------------------------------------
' Connect to Database
' --------------------------------------
[connectDb] ' Connect to the DB
sqliteconnect #sql, elksDb$ ' Connect to the DB
#sql execute("PRAGMA cache_spill=0")
#sql execute("PRAGMA journal_size_limit=0")
#sql execute("PRAGMA journal_mode=WAL")
#sql execute("PRAGMA locking_mode=NORMAL")
#sql execute("PRAGMA synchronous=0")
#sql execute("PRAGMA wal_autocheckpoint=0")
RETURN
I've closed the DB and opened it before writes and that don't work.
I've used two handles and close #1 before inserts and open #2 to insert and then close #2 and open #1 again. No use.
2. The other problem is memory leaks. Before I rewrote some of the RB programs in another language, I used to have a batch program that would take RB down and bring it back up before it ran out of memory.
3. WOuld be nice to have a managed database feature like mySQL, Postgres , but can live with SQLite
1. SQLite record locks. Sometimes records get locked and there is no way out. The record is locked above the program level. In fact you can run a program and get a lock. You can log out and sign in again, use another program and that will have a lock.. The only way out is to completely shut down Run Basic and start it again. I've written the same program in LB4.5 and other languages an never get record locks.
I've tried everything in the world to stop the locks.
I open the database with the following open and it helps, but doesn't cure it.
' -------------------------------------
' Connect to Database
' --------------------------------------
[connectDb] ' Connect to the DB
sqliteconnect #sql, elksDb$ ' Connect to the DB
#sql execute("PRAGMA cache_spill=0")
#sql execute("PRAGMA journal_size_limit=0")
#sql execute("PRAGMA journal_mode=WAL")
#sql execute("PRAGMA locking_mode=NORMAL")
#sql execute("PRAGMA synchronous=0")
#sql execute("PRAGMA wal_autocheckpoint=0")
RETURN
I've closed the DB and opened it before writes and that don't work.
I've used two handles and close #1 before inserts and open #2 to insert and then close #2 and open #1 again. No use.
2. The other problem is memory leaks. Before I rewrote some of the RB programs in another language, I used to have a batch program that would take RB down and bring it back up before it ran out of memory.
3. WOuld be nice to have a managed database feature like mySQL, Postgres , but can live with SQLite