Assistance with using SQLite in PAMGuard
(1) By AmberCrittenden (ambercrittenden) on 2021-10-07 02:00:47 [link] [source]
Hi, I'm a PhD student from Melbourne, Australia, and have been attempting to use SQLite as a database in PAMGuard.
I have loaded an SQLite database module into PAMGuard, but when the analysis is finished, opeing the database in SQLite Studio shows no data (all fields are empty) even when I can see the detector modules are making detections. I have also attempted opening the SQLite database in PAMGuard Viewer after PAMGuard has finished running, but all of these fields are also empty.
Do any PAMGuard users have suggestions as to why I am not able to view the output in my SQLite database? Any and all insight would be greatly appreciated!
(2) By SeverKetor on 2021-10-07 02:28:37 in reply to 1 [link] [source]
This sounds more like a PAMGuard issue than an SQLite one. If I had to throw a dart blindfolded, I'd guess it's not committing transactions. Maybe there's a Save button/option/whatever that you need to hit? You'll have better luck if you ask for PAMGuard support elsewhere.
Without being a PAMGuard user, I can still suggest some clarifications that will help others (who might be PAMGuard users) to sort out what is going wrong for you. My comments follow quoted fragments:
I have loaded an SQLite database module into PAMGuard,
Is an "SQLite database module" the same as an "SQLite database"? Or are you simply saying that you have enabled PAMGuard to access SQLite databases generally?
when the analysis is finished, opeing the database in SQLite Studio shows no data
Here, it will be crucial to detail what "the database" means. We can assume that you intend to refer to a database that you intended to access from within PAMGuard, but you need to specify what, specifically, you wrote/did/clicked etc. to designate an actual database file for the SQLite library to open and operate upon.
shows no data (all fields are empty)
Are the expected tables present? Do you mean that no rows were inserted when they should have been? Please use conventional terminology, where rows in a table correspond to tuples of the column values. (The term "field" often means a member of such a tuple. Is that your usage here?)
even when I can see the detector modules are making detections.
If you were to briefly explain the importance or consequence of this in terms of resulting modifications upon the actual database opened by PAMGuard, folks here who are not PAMGuard experts may be able to help.
I have also attempted opening the SQLite database in PAMGuard Viewer after PAMGuard has finished running, but all of these fields are also empty.
To me, (a PAMGuard non-user), this means one of two things: (1) the effects of your PAMGuard run on the database it actually opens are not what you are expecting; or (2) the database being modified by your PAMGuard run is not the same one you are peering into with other tools (including "PAMGuard Viewer".) I do not see enough information in your post to distinguish these cases.
suggestions as to why I am not able to view the output in my SQLite database?
(Not to be flippant here, just analytical:) Either "the output" is an empty set, or it is landing somewhere other than "[your] SQLite database". Have you run an experiment where you use PAMGuard the same way, except with a different DBMS where "the database" unambiguously refers to something you can view with other tools? Or put differently: Why do you believe "the output" is not the empty set?