namespace Community.CsharpSqlite
{
  public partial class Sqlite3
  {
    /* Automatically generated.  Do not edit */
    /* See the mkopcodeh.awk script for details */
    /* Automatically generated.  Do not edit */
    /* See the mkopcodeh.awk script for details */
    //#define OP_Goto                                 1
    //#define OP_Gosub                                2
    //#define OP_Return                               3
    //#define OP_Yield                                4
    //#define OP_HaltIfNull                           5
    //#define OP_Halt                                 6
    //#define OP_Integer                              7
    //#define OP_Int64                                8
    //#define OP_Real                               130   /* same as TK_FLOAT    */
    //#define OP_String8                             94   /* same as TK_STRING   */
    //#define OP_String                               9
    //#define OP_Null                                10
    //#define OP_Blob                                11
    //#define OP_Variable                            12
    //#define OP_Move                                13
    //#define OP_Copy                                14
    //#define OP_SCopy                               15
    //#define OP_ResultRow                           16
    //#define OP_Concat                              91   /* same as TK_CONCAT   */
    //#define OP_Add                                 86   /* same as TK_PLUS     */
    //#define OP_Subtract                            87   /* same as TK_MINUS    */
    //#define OP_Multiply                            88   /* same as TK_STAR     */
    //#define OP_Divide                              89   /* same as TK_SLASH    */
    //#define OP_Remainder                           90   /* same as TK_REM      */
    //#define OP_CollSeq                             17
    //#define OP_Function                            18
    //#define OP_BitAnd                              82   /* same as TK_BITAND   */
    //#define OP_BitOr                               83   /* same as TK_BITOR    */
    //#define OP_ShiftLeft                           84   /* same as TK_LSHIFT   */
    //#define OP_ShiftRight                          85   /* same as TK_RSHIFT   */
    //#define OP_AddImm                              20
    //#define OP_MustBeInt                           21
    //#define OP_RealAffinity                        22
    //#define OP_ToText                             141   /* same as TK_TO_TEXT  */
    //#define OP_ToBlob                             142   /* same as TK_TO_BLOB  */
    //#define OP_ToNumeric                          143   /* same as TK_TO_NUMERIC*/
    //#define OP_ToInt                              144   /* same as TK_TO_INT   */
    //#define OP_ToReal                             145   /* same as TK_TO_REAL  */
    //#define OP_Eq                                  76   /* same as TK_EQ       */
    //#define OP_Ne                                  75   /* same as TK_NE       */
    //#define OP_Lt                                  79   /* same as TK_LT       */
    //#define OP_Le                                  78   /* same as TK_LE       */
    //#define OP_Gt                                  77   /* same as TK_GT       */
    //#define OP_Ge                                  80   /* same as TK_GE       */
    //#define OP_Permutation                         23
    //#define OP_Compare                             24
    //#define OP_Jump                                25
    //#define OP_And                                 69   /* same as TK_AND      */
    //#define OP_Or                                  68   /* same as TK_OR       */
    //#define OP_Not                                 19   /* same as TK_NOT      */
    //#define OP_BitNot                              93   /* same as TK_BITNOT   */
    //#define OP_If                                  26
    //#define OP_IfNot                               27
    //#define OP_IsNull                              73   /* same as TK_ISNULL   */
    //#define OP_NotNull                             74   /* same as TK_NOTNULL  */
    //#define OP_Column                              28
    //#define OP_Affinity                            29
    //#define OP_MakeRecord                          30
    //#define OP_Count                               31
    //#define OP_Savepoint                           32
    //#define OP_AutoCommit                          33
    //#define OP_Transaction                         34
    //#define OP_ReadCookie                          35
    //#define OP_SetCookie                           36
    //#define OP_VerifyCookie                        37
    //#define OP_OpenRead                            38
    //#define OP_OpenWrite                           39
    //#define OP_OpenAutoindex                       40
    //#define OP_OpenEphemeral                       41
    //#define OP_OpenPseudo                          42
    //#define OP_Close                               43
    //#define OP_SeekLt                              44
    //#define OP_SeekLe                              45
    //#define OP_SeekGe                              46
    //#define OP_SeekGt                              47
    //#define OP_Seek                                48
    //#define OP_NotFound                            49
    //#define OP_Found                               50
    //#define OP_IsUnique                            51
    //#define OP_NotExists                           52
    //#define OP_Sequence                            53
    //#define OP_NewRowid                            54
    //#define OP_Insert                              55
    //#define OP_InsertInt                           56
    //#define OP_Delete                              57
    //#define OP_ResetCount                          58
    //#define OP_RowKey                              59
    //#define OP_RowData                             60
    //#define OP_Rowid                               61
    //#define OP_NullRow                             62
    //#define OP_Last                                63
    //#define OP_Sort                                64
    //#define OP_Rewind                              65
    //#define OP_Prev                                66
    //#define OP_Next                                67
    //#define OP_IdxInsert                           70
    //#define OP_IdxDelete                           71
    //#define OP_IdxRowid                            72
    //#define OP_IdxLT                               81
    //#define OP_IdxGE                               92
    //#define OP_Destroy                             95
    //#define OP_Clear                               96
    //#define OP_CreateIndex                         97
    //#define OP_CreateTable                         98
    //#define OP_ParseSchema                         99
    //#define OP_LoadAnalysis                       100
    //#define OP_DropTable                          101
    //#define OP_DropIndex                          102
    //#define OP_DropTrigger                        103
    //#define OP_IntegrityCk                        104
    //#define OP_RowSetAdd                          105
    //#define OP_RowSetRead                         106
    //#define OP_RowSetTest                         107
    //#define OP_Program                            108
    //#define OP_Param                              109
    //#define OP_FkCounter                          110
    //#define OP_FkIfZero                           111
    //#define OP_MemMax                             112
    //#define OP_IfPos                              113
    //#define OP_IfNeg                              114
    //#define OP_IfZero                             115
    //#define OP_AggStep                            116
    //#define OP_AggFinal                           117
    //#define OP_Checkpoint                         118
    //#define OP_JournalMode                        119
    //#define OP_Vacuum                             120
    //#define OP_IncrVacuum                         121
    //#define OP_Expire                             122
    //#define OP_TableLock                          123
    //#define OP_VBegin                             124
    //#define OP_VCreate                            125
    //#define OP_VDestroy                           126
    //#define OP_VOpen                              127
    //#define OP_VFilter                            128
    //#define OP_VColumn                            129
    //#define OP_VNext                              131
    //#define OP_VRename                            132
    //#define OP_VUpdate                            133
    //#define OP_Pagecount                          134
    //#define OP_MaxPgcnt                           135
    //#define OP_Trace                              136
    //#define OP_Noop                               137
    //#define OP_Explain                            138

    public const int OP_Goto = 1;
    public const int OP_Gosub = 2;
    public const int OP_Return = 3;
    public const int OP_Yield = 4;
    public const int OP_HaltIfNull = 5;
    public const int OP_Halt = 6;
    public const int OP_Integer = 7;
    public const int OP_Int64 = 8;
    public const int OP_Real = 130   /* same as TK_FLOAT    */;
    public const int OP_String8 = 94   /* same as TK_STRING   */;
    public const int OP_String = 9;
    public const int OP_Null = 10;
    public const int OP_Blob = 11;
    public const int OP_Variable = 12;
    public const int OP_Move = 13;
    public const int OP_Copy = 14;
    public const int OP_SCopy = 15;
    public const int OP_ResultRow = 16;
    public const int OP_Concat = 91   /* same as TK_CONCAT   */;
    public const int OP_Add = 86   /* same as TK_PLUS     */;
    public const int OP_Subtract = 87   /* same as TK_MINUS    */;
    public const int OP_Multiply = 88   /* same as TK_STAR     */;
    public const int OP_Divide = 89   /* same as TK_SLASH    */;
    public const int OP_Remainder = 90   /* same as TK_REM      */;
    public const int OP_CollSeq = 17;
    public const int OP_Function = 18;
    public const int OP_BitAnd = 82   /* same as TK_BITAND   */;
    public const int OP_BitOr = 83   /* same as TK_BITOR    */;
    public const int OP_ShiftLeft = 84   /* same as TK_LSHIFT   */;
    public const int OP_ShiftRight = 85   /* same as TK_RSHIFT   */;
    public const int OP_AddImm = 20;
    public const int OP_MustBeInt = 21;
    public const int OP_RealAffinity = 22;
    public const int OP_ToText = 141   /* same as TK_TO_TEXT  */;
    public const int OP_ToBlob = 142   /* same as TK_TO_BLOB  */;
    public const int OP_ToNumeric = 143   /* same as TK_TO_NUMERIC*/;
    public const int OP_ToInt = 144   /* same as TK_TO_INT   */;
    public const int OP_ToReal = 145   /* same as TK_TO_REAL  */;
    public const int OP_Eq = 76   /* same as TK_EQ       */;
    public const int OP_Ne = 75   /* same as TK_NE       */;
    public const int OP_Lt = 79   /* same as TK_LT       */;
    public const int OP_Le = 78   /* same as TK_LE       */;
    public const int OP_Gt = 77   /* same as TK_GT       */;
    public const int OP_Ge = 80   /* same as TK_GE       */;
    public const int OP_Permutation = 23;
    public const int OP_Compare = 24;
    public const int OP_Jump = 25;
    public const int OP_And = 69   /* same as TK_AND      */;
    public const int OP_Or = 68   /* same as TK_OR       */;
    public const int OP_Not = 19   /* same as TK_NOT      */;
    public const int OP_BitNot = 93   /* same as TK_BITNOT   */;
    public const int OP_If = 26;
    public const int OP_IfNot = 27;
    public const int OP_IsNull = 73   /* same as TK_ISNULL   */;
    public const int OP_NotNull = 74   /* same as TK_NOTNULL  */;
    public const int OP_Column = 28;
    public const int OP_Affinity = 29;
    public const int OP_MakeRecord = 30;
    public const int OP_Count = 31;
    public const int OP_Savepoint = 32;
    public const int OP_AutoCommit = 33;
    public const int OP_Transaction = 34;
    public const int OP_ReadCookie = 35;
    public const int OP_SetCookie = 36;
    public const int OP_VerifyCookie = 37;
    public const int OP_OpenRead = 38;
    public const int OP_OpenWrite = 39;
    public const int OP_OpenAutoindex = 40;
    public const int OP_OpenEphemeral = 41;
    public const int OP_OpenPseudo = 42;
    public const int OP_Close = 43;
    public const int OP_SeekLt = 44;
    public const int OP_SeekLe = 45;
    public const int OP_SeekGe = 46;
    public const int OP_SeekGt = 47;
    public const int OP_Seek = 48;
    public const int OP_NotFound = 49;
    public const int OP_Found = 50;
    public const int OP_IsUnique = 51;
    public const int OP_NotExists = 52;
    public const int OP_Sequence = 53;
    public const int OP_NewRowid = 54;
    public const int OP_Insert = 55;
    public const int OP_InsertInt = 56;
    public const int OP_Delete = 57;
    public const int OP_ResetCount = 58;
    public const int OP_RowKey = 59;
    public const int OP_RowData = 60;
    public const int OP_Rowid = 61;
    public const int OP_NullRow = 62;
    public const int OP_Last = 63;
    public const int OP_Sort = 64;
    public const int OP_Rewind = 65;
    public const int OP_Prev = 66;
    public const int OP_Next = 67;
    public const int OP_IdxInsert = 70;
    public const int OP_IdxDelete = 71;
    public const int OP_IdxRowid = 72;
    public const int OP_IdxLT = 81;
    public const int OP_IdxGE = 92;
    public const int OP_Destroy = 95;
    public const int OP_Clear = 96;
    public const int OP_CreateIndex = 97;
    public const int OP_CreateTable = 98;
    public const int OP_ParseSchema = 99;
    public const int OP_LoadAnalysis = 100;
    public const int OP_DropTable = 101;
    public const int OP_DropIndex = 102;
    public const int OP_DropTrigger = 103;
    public const int OP_IntegrityCk = 104;
    public const int OP_RowSetAdd = 105;
    public const int OP_RowSetRead = 106;
    public const int OP_RowSetTest = 107;
    public const int OP_Program = 108;
    public const int OP_Param = 109;
    public const int OP_FkCounter = 110;
    public const int OP_FkIfZero = 111;
    public const int OP_MemMax = 112;
    public const int OP_IfPos = 113;
    public const int OP_IfNeg = 114;
    public const int OP_IfZero = 115;
    public const int OP_AggStep = 116;
    public const int OP_AggFinal = 117;
    public const int OP_Checkpoint = 118;
    public const int OP_JournalMode = 119;
    public const int OP_Vacuum = 120;
    public const int OP_IncrVacuum = 121;
    public const int OP_Expire = 122;
    public const int OP_TableLock = 123;
    public const int OP_VBegin = 124;
    public const int OP_VCreate = 125;
    public const int OP_VDestroy = 126;
    public const int OP_VOpen = 127;
    public const int OP_VFilter = 128;
    public const int OP_VColumn = 129;
    public const int OP_VNext = 131;
    public const int OP_VRename = 132;
    public const int OP_VUpdate = 133;
    public const int OP_Pagecount = 134;
    public const int OP_MaxPgcnt = 135;
    public const int OP_Trace = 136;
    public const int OP_Noop = 137;
    public const int OP_Explain = 138;

    /* The following opcode values are never used */
    //#define OP_NotUsed_139                        139
    //#define OP_NotUsed_140                        140

    /* The following opcode values are never used */
    public const int OP_NotUsed_138 = 138;
    public const int OP_NotUsed_139 = 139;
    public const int OP_NotUsed_140 = 140;


    /* Properties such as "out2" or "jump" that are specified in
    ** comments following the "case" for each opcode in the vdbe.c
    ** are encoded into bitvectors as follows:
    */
    //#define OPFLG_JUMP            0x0001  /* jump:  P2 holds jmp target */
    //#define OPFLG_OUT2_PRERELEASE 0x0002  /* out2-prerelease: */
    //#define OPFLG_IN1             0x0004  /* in1:   P1 is an input */
    //#define OPFLG_IN2             0x0008  /* in2:   P2 is an input */
    //#define OPFLG_IN3             0x0010  /* in3:   P3 is an input */
    //#define OPFLG_OUT2            0x0020  /* out2:  P2 is an output */
    //#define OPFLG_OUT3            0x0040  /* out3:  P3 is an output */

    public const int OPFLG_JUMP = 0x0001;            /* jump:  P2 holds jmp target */
    public const int OPFLG_OUT2_PRERELEASE = 0x0002; /* out2-prerelease: */
    public const int OPFLG_IN1 = 0x0004;             /* in1:   P1 is an input */
    public const int OPFLG_IN2 = 0x0008;             /* in2:   P2 is an input */
    public const int OPFLG_IN3 = 0x0010;             /* in3:   P3 is an input */
    public const int OPFLG_OUT2 = 0x0020;            /* out2:  P2 is an output */
    public const int OPFLG_OUT3 = 0x0040;            /* out3:  P3 is an output */
    public static int[] OPFLG_INITIALIZER = new int[]{
/*   0 */ 0x00, 0x01, 0x05, 0x04, 0x04, 0x10, 0x00, 0x02,
/*   8 */ 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x24, 0x24,
/*  16 */ 0x00, 0x00, 0x00, 0x24, 0x04, 0x05, 0x04, 0x00,
/*  24 */ 0x00, 0x01, 0x05, 0x05, 0x00, 0x00, 0x00, 0x02,
/*  32 */ 0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00, 0x00,
/*  40 */ 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11,
/*  48 */ 0x08, 0x11, 0x11, 0x11, 0x11, 0x02, 0x02, 0x00,
/*  56 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
/*  64 */ 0x01, 0x01, 0x01, 0x01, 0x4c, 0x4c, 0x08, 0x00,
/*  72 */ 0x02, 0x05, 0x05, 0x15, 0x15, 0x15, 0x15, 0x15,
/*  80 */ 0x15, 0x01, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
/*  88 */ 0x4c, 0x4c, 0x4c, 0x4c, 0x01, 0x24, 0x02, 0x02,
/*  96 */ 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 104 */ 0x00, 0x0c, 0x45, 0x15, 0x01, 0x02, 0x00, 0x01,
/* 112 */ 0x08, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x02,
/* 120 */ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 128 */ 0x01, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x02,
/* 136 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04,
/* 144 */ 0x04, 0x04
};
  }
}
