Figured out how to get the NOE, it’s definitely sandbox related. You don’t have access to files in the sandbox unless you’ve requested access from the user with an OpenDialog. So your recent files list will not work on subsequent launches unless the DB is in the Downloads folder, since you’ve set your entitlements for that (which, as I said, you shouldn’t)
Sam can help with security-bodged-bookmarks, but they’re such a headache.
I think Jürg did nail it…
Turns out the SAKILA database example was set to JOURNAL MODE = WAL
where JOURNAL MODE = DELETE is the default (and the mode is all the other tests I ran)
Tim… I don’t understand your comment about the app icon?
dim jMode As String
dim rs As Recordset = db.SQLSelect("pragma journal_mode")
jMode = rs.Field("journal_mode").StringValue
db.SQLExecute("pragma journal_mode = delete")
when I open a database or create a new one.
When I close the database:
db.SQLExecute("pragma journal_mode = " + jMode)
I know this is teaching Grandma to suck eggs but it seems to work for me!
Well that’ll screw with a database’s Last Modified date if you do that and the user doesn’t make any changes.
Not acceptable for a consumer-facing general database editor.
[quote=336154:@Tim Parnell]Well that’ll screw with a database’s Last Modified date if you do that and the user doesn’t make any changes.
Not acceptable for a consumer-facing general database editor.[/quote]
Oops!
I accept that statement fully. However, if you are using a database editor on a database then wouldn’t you expect the last modified date to be changed anyway?
I understand the auditing logic of what you are saying, Tim, and it makes perfect sense. But, surely, if it were truly that much of an issue you wouldn’t allow any direct editing of a database.
Sometimes while working with databases I just want to view the data quickly. I don’t always want or need to edit.
I could lock the database file at the system level, but that’s going out of my way to use a tool that’s doing writes when it’s not told to by the user.
Let’s keep this thread on Tadpole, if you have any questions or need advice I’m happy to chat privately.
dim jMode As String
dim rs As Recordset = db.SQLSelect("pragma journal_mode")
jMode = rs.Field("journal_mode").StringValue
db.SQLExecute("pragma journal_mode = delete")
when I open a database or create a new one.
When I close the database:
db.SQLExecute("pragma journal_mode = " + jMode)
I know this is teaching Grandma to suck eggs but it seems to work for me![/quote]
what is the purpose of using the pragma journal_mode??
The journal mode controls how ROLLBACK is handled…
the default is “DELETE” …
the Sakila database has WAL as the default… which requires two files to be written while the database is open
These files are what SANDBOX does not like.
Btw, Mac OS does a decent job of logging all sandbox related issues to the console. A good way to test is to create a new user on your Mac, download and start your software and keep an eye on the console if you encounter any trouble.
I guess for now TadPole will have to be non-sandboxed (and therefore not in the Apple Store)…
I have had some feedback related mostly toward speed issues with results from user entered queries, and I’m working on these now
for now I am not using AppWrap on the macOS version, until I get all the issues worked out of the app itself. Seems Sandboxing creates a whole new set of headaches… (yes I know I can AppWrap without Sandbox… and will go that route later)
This version fixes a few bugs that were reported to me. including speeding up return results from large queries entered in the SQL Editor (by up to 6x in tests)
It also adds a “FILTER” dialog for tables viewed using the Tree Navigator (dbl click on a table name)
Due to the tremendous feedback I have been getting (thanks all)
I have been adding some minor features to Tadpole, but am also undergoing a major re-engineering effort to better utilize the SQL tokenizer to allow Tadpole to support FOREIGN KEYS …
As a result, the next Beta release will probably be a number of days from now… but in the meantime, anyone that is playing with Tadpole, I would still like any and all feedback, comments, suggestions etc…
whats it do with compound primary keys ?
I dont see any in that schema (and I’d really rather not in most schema’s but you know someone will have them)
[quote=337815:@Norman Palardy]whats it do with compound primary keys ?
I dont see any in that schema (and I’d really rather not in most schema’s but you know someone will have them)[/quote]
you mean
PRIMARY KEY(column1,column2)
GOOD Question… what would you like to see it (or any other app) do?
In regards to this diagramming… the question would be more related to Compound FOREIGN keys, as they are the ones that define the links between tables.
The diagram above is just a “Tool” window in Tadpole, the main window where all the actual database manipulation takes places provides access to all that information… All the tables, views, indexes, triggers … etc.