[EMAIL PROTECTED] wrote:

Dan Kennedy <[EMAIL PROTECTED]> wrote:
Another proposal:  Suppose that when creating an
sqlite3_stmt using sqlite3_prepare, the original SQL
text was stored in the sqlite3_stmt.  Then when a
schema change occurred, the statement was automatically
recompiled and rebound.
The authorization callback
would have to be reinvoked from within sqlite3_step() too.

Yikes!  I didn't think of that.  This is pretty big
negative and will likely scuttle plans to do automatic
re-prepare.
--
D. Richard Hipp <[EMAIL PROTECTED]>


Richard,

Why?

I don't see why this should have any impact. If you pass the SQLITE_SCHEMA error back to the user, they will have to re-prepare the statement, which will also re-invoke the authorizer. Aren't the authorizer callbacks an automatic part of the compilation process? If the authorizer allowed you to compile the statement successfully the first time, isn't it almost certain that it would allow you to compile the statement again?

Furthermore, I don't believe that most users are using an authorizer anyway (but I could definitely be wrong about that). In that case all the authorizer callbacks become no-ops don't they?

Dennis Cote

Reply via email to