Daniel Shahaf wrote:

> Julian Foad wrote on Thu, Feb 14, 2013 at 21:17:03 +0000:
>>  Daniel Shahaf wrote:
>>  > @@ -739,8 +743,8 @@ init_sqlite(void *baton, apr_pool_t *pool)
>>  >    {
>>  >      int err = sqlite3_config(SQLITE_CONFIG_MULTITHREAD);
>>  >      if (err != SQLITE_OK && err != SQLITE_MISUSE)
>>  > -      return svn_error_create(SQLITE_ERROR_CODE(err), NULL,
>>  > -                              _("Could not configure 
> SQLite"));
>>  > +      return svn_error_createf(SQLITE_ERROR_CODE(err), NULL,
>>  > +                               _("Could not configure SQLite 
> (%d)"), 
>>  > err);
>> 
>>  In cases like this one, it seems we should be using one of the above sqlite 
> -> svn error converters so that we get the full SQLite description, and then 
> wrapping the resulting svn error object with "Could not configure 
> SQLite".
>> 
> 
> As in:
> 
>   return svn_error_quick_wrap(svn_error_create(SQLITE_ERROR_CODE(err),
>                                                NULL, NULL)
>                               _("Could not configure SQLite (%d)"));
> 
> ?

No.  I mean a chain of two svn error objects, one containing SQLite's expansion 
of 'err' (including both its number and its message), which you can get from 
e.g. the SQLITE_ERR() macro; and one containing the wrapper message "Could not 
configure SQLite".  Such as:

return svn_error_quick_wrap(SQLITE_ERR(err, db),
                            _("Could not configure SQLite"));

- Julian

Reply via email to