This is really a pretty major change.

Our experience with the comparable options in Pgtcl and Speedtables is that 
there is likely a lot of code that assumes that all array elements are set in 
`$db eval “...” array { ... }` blocks that will error out with this change. I 
don’t think I would be comfortable using this in existing code without doing an 
extensive audit... and for third party packages getting changes propagated 
upstream.

Making it a per-call option allows new code to use it safely, without impacting 
any other components that might be using the same database.

On 6/26/17, 11:31 AM, "drhsql...@gmail.com on behalf of Richard Hipp" 
<drhsql...@gmail.com on behalf of d...@sqlite.org> wrote:

    On 6/26/17, Peter da Silva <peter.dasi...@flightaware.com> wrote:
    > On 6/26/17, 11:15 AM, "drhsql...@gmail.com on behalf of Richard Hipp"
    > <drhsql...@gmail.com on behalf of d...@sqlite.org> wrote:
    >> If you get the latest check-in (https://www.sqlite.org/src/info/trunk)
    >> there is a new option on the "sqlite3" command called "-unsetnull 1" 
which
    >> causes "db eval" to work as you desire - by unsetting the array elements
    >> for NULL values.  This option is off by default for legacy compatibility.
    >
    > Could that be an option on the eval command rather than the db, so that
    > packages can safely use the feature on databases they don’t “own”?
    >
    
    It is per-connection.
    
    The change is sufficient minor and obscure that 99.9% of packages
    should work the same regardless of the setting.  The only reason for
    making it an option rather than the only way things happen is for the
    other 0.1% of application where it really will make a difference.
    
    -- 
    D. Richard Hipp
    d...@sqlite.org
    

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to