File: sqlerrorcodes.h

package info (click to toggle)
sqlitestudio 3.4.21%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 54,880 kB
  • sloc: ansic: 406,208; cpp: 123,872; yacc: 2,692; tcl: 497; sh: 462; xml: 426; makefile: 19
file content (39 lines) | stat: -rw-r--r-- 1,618 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef SQLERRORCODES_H
#define SQLERRORCODES_H

#include "coreSQLiteStudio_global.h"

/**
 * @brief Custom SQL error codes.
 *
 * Those are custom error codes that can be returned by SqlResults::getErrorCode().
 * Usually error codes come from SQLite itself, but some errors can be generated
 * by SQLiteStudio and for those cases this enum lists possible codes.
 *
 * Codes in this enum are not conflicting with error codes returned from SQLite.
 */
struct API_EXPORT SqlErrorCode
{
    enum
    {
        DB_NOT_OPEN = -1000, /**< Database was not open */
        QUERY_EXECUTOR_ERROR = -1001, /**< QueryExecutor error (its sophisticated logic encountered some problem) */
        PARSER_ERROR = -1002, /**< Parser class could not parse the query, because it was either invalid SQL, or bug in the Parser */
        INTERRUPTED = -1003, /**< Query execution was interrupted */
        INVALID_ARGUMENT = -1004, /**< Passed query argument was invalid (out of range, invalid format, etc.) */
        DB_NOT_DEFINED = -1005, /**< Database was not defined */
        OTHER_EXECUTION_ERROR = -1006 /**< Identifies other execution errors, see error message for details */
    };

    /**
     * @brief Tests if given error code means that execution was interrupted.
     * @param errorCode Error code to test.
     * @return true if the code represents interruption, or false otherwise.
     *
     * This method checks both SqlErrorCode::INTERRUPTED and SQLITE_INTERRUPT values,
     * so if the code is either of them, it returns true.
     */
    static bool isInterrupted(int errorCode);
};

#endif // SQLERRORCODES_H