• Kirill Smelkov's avatar
    open: Fix error message · 0d47edb6
    Kirill Smelkov authored
    By accident I was trying to open a non-existing database file and got
    the following message:
    
    	unable to open database file (unable to open database file)
    
    which was not helpful.
    
    By convention the error returned by a function should contain the
    context passed to that function - the filename in Open case, the
    operation performed and the error description. So
    
    - teach OpenError to print filename of the opened database and the
      operation.
    - don't duplicate the code in braces if we have the error message
      with the same text because they are often redundant.
    - if we have only error code but not a message, still we have to include
      the filename and operation in the printed context.
    - in the Open itself: always return OpenError on handling errors from
      sqlite3_open_v2 even if db == nil - instead of returning only Errno
      without any context.
    
    Now the error in my case is:
    
    	notfound.db: unable to open database file
    
    ( @gwenn requested to omit the ": open" (operation) probable because it
      duplicates error detail a bit )
    
    /helped-by @gwenn
    0d47edb6
sqlite.go 21.2 KB