/*
 * Copyright (c) 2007 David Crawshaw <david@zentus.com>
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
package org.sqlite.core;

public interface Codes {
    /** Successful result */
    public static final int SQLITE_OK = 0;

    /** SQL error or missing database */
    public static final int SQLITE_ERROR = 1;

    /** An internal logic error in SQLite */
    public static final int SQLITE_INTERNAL = 2;

    /** Access permission denied */
    public static final int SQLITE_PERM = 3;

    /** Callback routine requested an abort */
    public static final int SQLITE_ABORT = 4;

    /** The database file is locked */
    public static final int SQLITE_BUSY = 5;

    /** A table in the database is locked */
    public static final int SQLITE_LOCKED = 6;

    /** A malloc() failed */
    public static final int SQLITE_NOMEM = 7;

    /** Attempt to write a readonly database */
    public static final int SQLITE_READONLY = 8;

    /** Operation terminated by sqlite_interrupt() */
    public static final int SQLITE_INTERRUPT = 9;

    /** Some kind of disk I/O error occurred */
    public static final int SQLITE_IOERR = 10;

    /** The database disk image is malformed */
    public static final int SQLITE_CORRUPT = 11;

    /** (Internal Only) Table or record not found */
    public static final int SQLITE_NOTFOUND = 12;

    /** Insertion failed because database is full */
    public static final int SQLITE_FULL = 13;

    /** Unable to open the database file */
    public static final int SQLITE_CANTOPEN = 14;

    /** Database lock protocol error */
    public static final int SQLITE_PROTOCOL = 15;

    /** (Internal Only) Database table is empty */
    public static final int SQLITE_EMPTY = 16;

    /** The database schema changed */
    public static final int SQLITE_SCHEMA = 17;

    /** Too much data for one row of a table */
    public static final int SQLITE_TOOBIG = 18;

    /** Abort due to constraint violation */
    public static final int SQLITE_CONSTRAINT = 19;

    /** Data type mismatch */
    public static final int SQLITE_MISMATCH = 20;

    /** Library used incorrectly */
    public static final int SQLITE_MISUSE = 21;

    /** Uses OS features not supported on host */
    public static final int SQLITE_NOLFS = 22;

    /** Authorization denied */
    public static final int SQLITE_AUTH = 23;

    /** sqlite_step() has another row ready */
    public static final int SQLITE_ROW = 100;

    /** sqlite_step() has finished executing */
    public static final int SQLITE_DONE = 101;

    // types returned by sqlite3_column_type()

    public static final int SQLITE_INTEGER = 1;
    public static final int SQLITE_FLOAT = 2;
    public static final int SQLITE_TEXT = 3;
    public static final int SQLITE_BLOB = 4;
    public static final int SQLITE_NULL = 5;
}
