diff --git a/Freeswitch.2010.sln b/Freeswitch.2010.sln index 009b986ad3..3c2ddaa802 100644 --- a/Freeswitch.2010.sln +++ b/Freeswitch.2010.sln @@ -605,6 +605,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download PCRE", "libs\win32 EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download SPEEX", "libs\win32\Download SPEEX.2010.vcxproj", "{1BDAB935-27DC-47E3-95EA-17E024D39C31}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download SQLITE", "libs\win32\Download SQLITE.2010.vcxproj", "{97D25665-34CD-4E0C-96E7-88F0795B8883}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution All|Win32 = All|Win32 @@ -4103,6 +4105,23 @@ Global {1BDAB935-27DC-47E3-95EA-17E024D39C31}.Release|x64.Build.0 = Release|Win32 {1BDAB935-27DC-47E3-95EA-17E024D39C31}.Release|x64 Setup.ActiveCfg = Release|Win32 {1BDAB935-27DC-47E3-95EA-17E024D39C31}.Release|x86 Setup.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.All|Win32.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.All|Win32.Build.0 = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.All|x64.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.All|x64 Setup.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.All|x86 Setup.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|Win32.ActiveCfg = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|Win32.Build.0 = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|x64.ActiveCfg = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|x64.Build.0 = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|x64 Setup.ActiveCfg = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|x86 Setup.ActiveCfg = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|Win32.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|Win32.Build.0 = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|x64.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|x64.Build.0 = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|x64 Setup.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|x86 Setup.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -4269,6 +4288,7 @@ Global {3970BCDE-BE1A-4CF3-A65F-5264BA2E47B5} = {C120A020-773F-4EA3-923F-B67AF28B750D} {B1E7E876-347F-4DC9-9BEA-D1AFBD9DFF8A} = {C120A020-773F-4EA3-923F-B67AF28B750D} {1BDAB935-27DC-47E3-95EA-17E024D39C31} = {C120A020-773F-4EA3-923F-B67AF28B750D} + {97D25665-34CD-4E0C-96E7-88F0795B8883} = {C120A020-773F-4EA3-923F-B67AF28B750D} {988CACF7-3FCB-4992-BE69-77872AE67DC8} = {6CD61A1D-797C-470A-BE08-8C31B68BB336} {5BC072DB-3826-48EA-AF34-FE32AA01E83B} = {6CD61A1D-797C-470A-BE08-8C31B68BB336} {FA429E98-8B03-45E6-A096-A4BC5E821DE4} = {6CD61A1D-797C-470A-BE08-8C31B68BB336} diff --git a/Freeswitch.2012.sln b/Freeswitch.2012.sln index 3ea435e83d..9315308f24 100644 --- a/Freeswitch.2012.sln +++ b/Freeswitch.2012.sln @@ -612,6 +612,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download PCRE", "libs\win32 EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download SPEEX", "libs\win32\Download SPEEX.2012.vcxproj", "{1BDAB935-27DC-47E3-95EA-17E024D39C31}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download SQLITE", "libs\win32\Download SQLITE.2012.vcxproj", "{97D25665-34CD-4E0C-96E7-88F0795B8883}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution All|Win32 = All|Win32 @@ -4127,6 +4129,23 @@ Global {1BDAB935-27DC-47E3-95EA-17E024D39C31}.Release|x64.Build.0 = Release|Win32 {1BDAB935-27DC-47E3-95EA-17E024D39C31}.Release|x64 Setup.ActiveCfg = Release|Win32 {1BDAB935-27DC-47E3-95EA-17E024D39C31}.Release|x86 Setup.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.All|Win32.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.All|Win32.Build.0 = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.All|x64.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.All|x64 Setup.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.All|x86 Setup.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|Win32.ActiveCfg = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|Win32.Build.0 = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|x64.ActiveCfg = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|x64.Build.0 = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|x64 Setup.ActiveCfg = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Debug|x86 Setup.ActiveCfg = Debug|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|Win32.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|Win32.Build.0 = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|x64.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|x64.Build.0 = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|x64 Setup.ActiveCfg = Release|Win32 + {97D25665-34CD-4E0C-96E7-88F0795B8883}.Release|x86 Setup.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -4294,6 +4313,7 @@ Global {3970BCDE-BE1A-4CF3-A65F-5264BA2E47B5} = {C120A020-773F-4EA3-923F-B67AF28B750D} {B1E7E876-347F-4DC9-9BEA-D1AFBD9DFF8A} = {C120A020-773F-4EA3-923F-B67AF28B750D} {1BDAB935-27DC-47E3-95EA-17E024D39C31} = {C120A020-773F-4EA3-923F-B67AF28B750D} + {97D25665-34CD-4E0C-96E7-88F0795B8883} = {C120A020-773F-4EA3-923F-B67AF28B750D} {988CACF7-3FCB-4992-BE69-77872AE67DC8} = {6CD61A1D-797C-470A-BE08-8C31B68BB336} {5BC072DB-3826-48EA-AF34-FE32AA01E83B} = {6CD61A1D-797C-470A-BE08-8C31B68BB336} {FA429E98-8B03-45E6-A096-A4BC5E821DE4} = {6CD61A1D-797C-470A-BE08-8C31B68BB336} diff --git a/libs/win32/Download SQLITE.2010.vcxproj b/libs/win32/Download SQLITE.2010.vcxproj new file mode 100644 index 0000000000..3a85881ee4 --- /dev/null +++ b/libs/win32/Download SQLITE.2010.vcxproj @@ -0,0 +1,82 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + Download SQLITE + {97D25665-34CD-4E0C-96E7-88F0795B8883} + Download SQLITE + Win32Proj + + + + Utility + MultiByte + + + Utility + MultiByte + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(PlatformName)\CURL\$(Configuration)\ + $(PlatformName)\CURL\$(Configuration)\ + + + + $(IntDir)BuildLog $(ProjectName).htm + + + + + + + + + $(IntDir)BuildLog $(ProjectName).htm + + + + + + + + + + + + + Document + Downloading SQLITE. + if not exist "$(ProjectDir)..\sqlite-amalgamation-3080401" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/sqlite-amalgamation-3080401.zip "$(ProjectDir).." + + $(ProjectDir)..\sqlite-amalgamation-3080401;%(Outputs) + Downloading SQLITE. + if not exist "$(ProjectDir)..\sqlite-amalgamation-3080401" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/sqlite-amalgamation-3080401.zip "$(ProjectDir).." + + $(ProjectDir)..\sqlite-amalgamation-3080401;%(Outputs) + + + + + + \ No newline at end of file diff --git a/libs/win32/Download SQLITE.2012.vcxproj b/libs/win32/Download SQLITE.2012.vcxproj new file mode 100644 index 0000000000..13349e1e58 --- /dev/null +++ b/libs/win32/Download SQLITE.2012.vcxproj @@ -0,0 +1,84 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + Download SQLITE + {97D25665-34CD-4E0C-96E7-88F0795B8883} + Download SQLITE + Win32Proj + + + + Utility + MultiByte + v110 + + + Utility + MultiByte + v110 + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(PlatformName)\CURL\$(Configuration)\ + $(PlatformName)\CURL\$(Configuration)\ + + + + $(IntDir)BuildLog $(ProjectName).htm + + + + + + + + + $(IntDir)BuildLog $(ProjectName).htm + + + + + + + + + + + + + Document + Downloading SQLITE. + if not exist "$(ProjectDir)..\sqlite-amalgamation-3080401" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/sqlite-amalgamation-3080401.zip "$(ProjectDir).." + + $(ProjectDir)..\sqlite-amalgamation-3080401;%(Outputs) + Downloading SQLITE. + if not exist "$(ProjectDir)..\sqlite-amalgamation-3080401" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/sqlite-amalgamation-3080401.zip "$(ProjectDir).." + + $(ProjectDir)..\sqlite-amalgamation-3080401;%(Outputs) + + + + + + diff --git a/libs/win32/speex/libspeex.2012.vcxproj b/libs/win32/speex/libspeex.2012.vcxproj index 61ed3124eb..931daf2fb3 100644 --- a/libs/win32/speex/libspeex.2012.vcxproj +++ b/libs/win32/speex/libspeex.2012.vcxproj @@ -613,7 +613,6 @@ - diff --git a/libs/win32/speex/libspeex.2012.vcxproj.filters b/libs/win32/speex/libspeex.2012.vcxproj.filters index e799cdc160..c7b3d35421 100644 --- a/libs/win32/speex/libspeex.2012.vcxproj.filters +++ b/libs/win32/speex/libspeex.2012.vcxproj.filters @@ -143,9 +143,6 @@ Header Files - - Header Files - Header Files diff --git a/libs/win32/sqlite/keywordhash.h b/libs/win32/sqlite/keywordhash.h deleted file mode 100644 index bc0898f3be..0000000000 --- a/libs/win32/sqlite/keywordhash.h +++ /dev/null @@ -1,98 +0,0 @@ -/* Hash score: 167 */ -static int keywordCode(const char *z, int n){ - static const char zText[544] = - "ABORTABLEFTEMPORARYADDATABASELECTHENDEFAULTRANSACTIONATURALTER" - "AISEACHECKEYAFTEREFERENCESCAPELSEXCEPTRIGGEREGEXPLAINITIALLYANALYZE" - "XCLUSIVEXISTSTATEMENTANDEFERRABLEATTACHAVINGLOBEFOREIGNOREINDEX" - "AUTOINCREMENTBEGINNERENAMEBETWEENOTNULLIKEBYCASCADEFERREDELETE" - "CASECASTCOLLATECOLUMNCOMMITCONFLICTCONSTRAINTERSECTCREATECROSS" - "CURRENT_DATECURRENT_TIMESTAMPLANDESCDETACHDISTINCTDROPRAGMATCH" - "FAILIMITFROMFULLGROUPDATEIFIMMEDIATEINSERTINSTEADINTOFFSETISNULL" - "JOINORDEREPLACEOUTERESTRICTPRIMARYQUERYRIGHTROLLBACKROWHENUNION" - "UNIQUEUSINGVACUUMVALUESVIEWHEREVIRTUAL"; - static const unsigned char aHash[127] = { - 92, 80, 107, 91, 0, 4, 0, 0, 114, 0, 83, 0, 0, - 95, 44, 76, 93, 0, 106, 109, 97, 90, 0, 10, 0, 0, - 113, 0, 117, 103, 0, 28, 48, 0, 41, 0, 0, 65, 71, - 0, 63, 19, 0, 105, 36, 104, 0, 108, 74, 0, 0, 33, - 0, 61, 37, 0, 8, 0, 115, 38, 12, 0, 77, 40, 25, - 66, 0, 0, 31, 81, 53, 30, 50, 20, 88, 0, 34, 0, - 75, 26, 0, 72, 0, 0, 0, 64, 47, 67, 22, 87, 29, - 69, 86, 0, 1, 0, 9, 101, 58, 18, 0, 112, 82, 99, - 54, 6, 85, 0, 0, 49, 94, 0, 102, 0, 70, 0, 0, - 15, 0, 116, 51, 56, 0, 2, 55, 0, 111, - }; - static const unsigned char aNext[117] = { - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 11, 0, 0, 0, 0, 5, 13, 0, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, - 0, 0, 16, 0, 23, 52, 0, 0, 0, 0, 45, 0, 59, - 0, 0, 0, 0, 0, 0, 0, 0, 73, 42, 0, 24, 60, - 21, 0, 79, 0, 0, 68, 0, 0, 84, 46, 0, 0, 0, - 0, 0, 0, 0, 0, 39, 96, 98, 0, 0, 100, 0, 32, - 0, 14, 27, 78, 0, 57, 89, 0, 35, 0, 62, 0, 110, - }; - static const unsigned char aLen[117] = { - 5, 5, 4, 4, 9, 2, 3, 8, 2, 6, 4, 3, 7, - 11, 2, 7, 5, 5, 4, 5, 3, 5, 10, 6, 4, 6, - 7, 6, 7, 9, 3, 7, 9, 6, 9, 3, 10, 6, 6, - 4, 6, 3, 7, 6, 7, 5, 13, 2, 2, 5, 5, 6, - 7, 3, 7, 4, 4, 2, 7, 3, 8, 6, 4, 4, 7, - 6, 6, 8, 10, 9, 6, 5, 12, 12, 17, 4, 4, 6, - 8, 2, 4, 6, 5, 4, 5, 4, 4, 5, 6, 2, 9, - 6, 7, 4, 2, 6, 3, 6, 4, 5, 7, 5, 8, 7, - 5, 5, 8, 3, 4, 5, 6, 5, 6, 6, 4, 5, 7, - }; - static const unsigned short int aOffset[117] = { - 0, 4, 7, 10, 10, 14, 19, 21, 26, 27, 32, 34, 36, - 42, 51, 52, 57, 61, 65, 67, 71, 74, 78, 86, 91, 94, - 99, 105, 108, 113, 118, 122, 128, 136, 141, 150, 152, 162, 167, - 172, 175, 177, 177, 181, 185, 187, 192, 194, 196, 205, 208, 212, - 218, 224, 224, 227, 230, 234, 236, 237, 241, 248, 254, 258, 262, - 269, 275, 281, 289, 296, 305, 311, 316, 328, 328, 344, 348, 352, - 358, 359, 366, 369, 373, 378, 381, 386, 390, 394, 397, 403, 405, - 414, 420, 427, 430, 430, 433, 436, 442, 446, 450, 457, 461, 469, - 476, 481, 486, 494, 496, 500, 505, 511, 516, 522, 528, 531, 536, - }; - static const unsigned char aCode[117] = { - TK_ABORT, TK_TABLE, TK_JOIN_KW, TK_TEMP, TK_TEMP, - TK_OR, TK_ADD, TK_DATABASE, TK_AS, TK_SELECT, - TK_THEN, TK_END, TK_DEFAULT, TK_TRANSACTION,TK_ON, - TK_JOIN_KW, TK_ALTER, TK_RAISE, TK_EACH, TK_CHECK, - TK_KEY, TK_AFTER, TK_REFERENCES, TK_ESCAPE, TK_ELSE, - TK_EXCEPT, TK_TRIGGER, TK_LIKE_KW, TK_EXPLAIN, TK_INITIALLY, - TK_ALL, TK_ANALYZE, TK_EXCLUSIVE, TK_EXISTS, TK_STATEMENT, - TK_AND, TK_DEFERRABLE, TK_ATTACH, TK_HAVING, TK_LIKE_KW, - TK_BEFORE, TK_FOR, TK_FOREIGN, TK_IGNORE, TK_REINDEX, - TK_INDEX, TK_AUTOINCR, TK_TO, TK_IN, TK_BEGIN, - TK_JOIN_KW, TK_RENAME, TK_BETWEEN, TK_NOT, TK_NOTNULL, - TK_NULL, TK_LIKE_KW, TK_BY, TK_CASCADE, TK_ASC, - TK_DEFERRED, TK_DELETE, TK_CASE, TK_CAST, TK_COLLATE, - TK_COLUMNKW, TK_COMMIT, TK_CONFLICT, TK_CONSTRAINT, TK_INTERSECT, - TK_CREATE, TK_JOIN_KW, TK_CTIME_KW, TK_CTIME_KW, TK_CTIME_KW, - TK_PLAN, TK_DESC, TK_DETACH, TK_DISTINCT, TK_IS, - TK_DROP, TK_PRAGMA, TK_MATCH, TK_FAIL, TK_LIMIT, - TK_FROM, TK_JOIN_KW, TK_GROUP, TK_UPDATE, TK_IF, - TK_IMMEDIATE, TK_INSERT, TK_INSTEAD, TK_INTO, TK_OF, - TK_OFFSET, TK_SET, TK_ISNULL, TK_JOIN, TK_ORDER, - TK_REPLACE, TK_JOIN_KW, TK_RESTRICT, TK_PRIMARY, TK_QUERY, - TK_JOIN_KW, TK_ROLLBACK, TK_ROW, TK_WHEN, TK_UNION, - TK_UNIQUE, TK_USING, TK_VACUUM, TK_VALUES, TK_VIEW, - TK_WHERE, TK_VIRTUAL, - }; - int h, i; - if( n<2 ) return TK_ID; - h = ((charMap(z[0])*4) ^ - (charMap(z[n-1])*3) ^ - n) % 127; - for(i=((int)aHash[h])-1; i>=0; i=((int)aNext[i])-1){ - if( aLen[i]==n && sqlite3StrNICmp(&zText[aOffset[i]],z,n)==0 ){ - return aCode[i]; - } - } - return TK_ID; -} -int sqlite3KeywordCode(const unsigned char *z, int n){ - return keywordCode((char*)z, n); -} diff --git a/libs/win32/sqlite/opcodes.c b/libs/win32/sqlite/opcodes.c deleted file mode 100644 index 4f79647649..0000000000 --- a/libs/win32/sqlite/opcodes.c +++ /dev/null @@ -1,149 +0,0 @@ -/* Automatically generated. Do not edit */ -/* See the mkopcodec.awk script for details. */ -#if !defined(SQLITE_OMIT_EXPLAIN) || !defined(NDEBUG) || defined(VDBE_PROFILE) || defined(SQLITE_DEBUG) -const char *const sqlite3OpcodeNames[] = { "?", - /* 1 */ "MemLoad", - /* 2 */ "VNext", - /* 3 */ "Column", - /* 4 */ "SetCookie", - /* 5 */ "IfMemPos", - /* 6 */ "Sequence", - /* 7 */ "MoveGt", - /* 8 */ "RowKey", - /* 9 */ "OpenWrite", - /* 10 */ "If", - /* 11 */ "Pop", - /* 12 */ "VRowid", - /* 13 */ "CollSeq", - /* 14 */ "OpenRead", - /* 15 */ "Expire", - /* 16 */ "Not", - /* 17 */ "AutoCommit", - /* 18 */ "IntegrityCk", - /* 19 */ "Sort", - /* 20 */ "Function", - /* 21 */ "Noop", - /* 22 */ "Return", - /* 23 */ "NewRowid", - /* 24 */ "IfMemNeg", - /* 25 */ "Variable", - /* 26 */ "String", - /* 27 */ "RealAffinity", - /* 28 */ "ParseSchema", - /* 29 */ "VOpen", - /* 30 */ "Close", - /* 31 */ "CreateIndex", - /* 32 */ "IsUnique", - /* 33 */ "NotFound", - /* 34 */ "Int64", - /* 35 */ "MustBeInt", - /* 36 */ "Halt", - /* 37 */ "Rowid", - /* 38 */ "IdxLT", - /* 39 */ "AddImm", - /* 40 */ "Statement", - /* 41 */ "RowData", - /* 42 */ "MemMax", - /* 43 */ "Push", - /* 44 */ "NotExists", - /* 45 */ "MemIncr", - /* 46 */ "Gosub", - /* 47 */ "Integer", - /* 48 */ "MemInt", - /* 49 */ "Prev", - /* 50 */ "VColumn", - /* 51 */ "CreateTable", - /* 52 */ "Last", - /* 53 */ "IdxRowid", - /* 54 */ "MakeIdxRec", - /* 55 */ "ResetCount", - /* 56 */ "FifoWrite", - /* 57 */ "Callback", - /* 58 */ "ContextPush", - /* 59 */ "DropTrigger", - /* 60 */ "DropIndex", - /* 61 */ "Or", - /* 62 */ "And", - /* 63 */ "IdxGE", - /* 64 */ "IdxDelete", - /* 65 */ "Vacuum", - /* 66 */ "IsNull", - /* 67 */ "NotNull", - /* 68 */ "Ne", - /* 69 */ "Eq", - /* 70 */ "Gt", - /* 71 */ "Le", - /* 72 */ "Lt", - /* 73 */ "Ge", - /* 74 */ "MoveLe", - /* 75 */ "BitAnd", - /* 76 */ "BitOr", - /* 77 */ "ShiftLeft", - /* 78 */ "ShiftRight", - /* 79 */ "Add", - /* 80 */ "Subtract", - /* 81 */ "Multiply", - /* 82 */ "Divide", - /* 83 */ "Remainder", - /* 84 */ "Concat", - /* 85 */ "IfNot", - /* 86 */ "Negative", - /* 87 */ "DropTable", - /* 88 */ "BitNot", - /* 89 */ "String8", - /* 90 */ "MakeRecord", - /* 91 */ "Delete", - /* 92 */ "AggFinal", - /* 93 */ "Dup", - /* 94 */ "Goto", - /* 95 */ "TableLock", - /* 96 */ "FifoRead", - /* 97 */ "Clear", - /* 98 */ "IdxGT", - /* 99 */ "MoveLt", - /* 100 */ "VerifyCookie", - /* 101 */ "AggStep", - /* 102 */ "Pull", - /* 103 */ "SetNumColumns", - /* 104 */ "AbsValue", - /* 105 */ "Transaction", - /* 106 */ "VFilter", - /* 107 */ "VDestroy", - /* 108 */ "ContextPop", - /* 109 */ "Next", - /* 110 */ "IdxInsert", - /* 111 */ "Distinct", - /* 112 */ "Insert", - /* 113 */ "Destroy", - /* 114 */ "ReadCookie", - /* 115 */ "ForceInt", - /* 116 */ "LoadAnalysis", - /* 117 */ "Explain", - /* 118 */ "IfMemZero", - /* 119 */ "OpenPseudo", - /* 120 */ "OpenEphemeral", - /* 121 */ "Null", - /* 122 */ "Blob", - /* 123 */ "MemStore", - /* 124 */ "Rewind", - /* 125 */ "MoveGe", - /* 126 */ "Real", - /* 127 */ "HexBlob", - /* 128 */ "VBegin", - /* 129 */ "VUpdate", - /* 130 */ "VCreate", - /* 131 */ "MemMove", - /* 132 */ "MemNull", - /* 133 */ "Found", - /* 134 */ "NullRow", - /* 135 */ "NotUsed_135", - /* 136 */ "NotUsed_136", - /* 137 */ "NotUsed_137", - /* 138 */ "NotUsed_138", - /* 139 */ "ToText", - /* 140 */ "ToBlob", - /* 141 */ "ToNumeric", - /* 142 */ "ToInt", - /* 143 */ "ToReal", -}; -#endif diff --git a/libs/win32/sqlite/opcodes.h b/libs/win32/sqlite/opcodes.h deleted file mode 100644 index 69ffced309..0000000000 --- a/libs/win32/sqlite/opcodes.h +++ /dev/null @@ -1,161 +0,0 @@ -/* Automatically generated. Do not edit */ -/* See the mkopcodeh.awk script for details */ -#define OP_MemLoad 1 -#define OP_VNext 2 -#define OP_HexBlob 127 /* same as TK_BLOB */ -#define OP_Column 3 -#define OP_SetCookie 4 -#define OP_IfMemPos 5 -#define OP_Real 126 /* same as TK_FLOAT */ -#define OP_Sequence 6 -#define OP_MoveGt 7 -#define OP_Ge 73 /* same as TK_GE */ -#define OP_RowKey 8 -#define OP_Eq 69 /* same as TK_EQ */ -#define OP_OpenWrite 9 -#define OP_NotNull 67 /* same as TK_NOTNULL */ -#define OP_If 10 -#define OP_ToInt 142 /* same as TK_TO_INT */ -#define OP_String8 89 /* same as TK_STRING */ -#define OP_Pop 11 -#define OP_VRowid 12 -#define OP_CollSeq 13 -#define OP_OpenRead 14 -#define OP_Expire 15 -#define OP_AutoCommit 17 -#define OP_Gt 70 /* same as TK_GT */ -#define OP_IntegrityCk 18 -#define OP_Sort 19 -#define OP_Function 20 -#define OP_And 62 /* same as TK_AND */ -#define OP_Subtract 80 /* same as TK_MINUS */ -#define OP_Noop 21 -#define OP_Return 22 -#define OP_Remainder 83 /* same as TK_REM */ -#define OP_NewRowid 23 -#define OP_Multiply 81 /* same as TK_STAR */ -#define OP_IfMemNeg 24 -#define OP_Variable 25 -#define OP_String 26 -#define OP_RealAffinity 27 -#define OP_ParseSchema 28 -#define OP_VOpen 29 -#define OP_Close 30 -#define OP_CreateIndex 31 -#define OP_IsUnique 32 -#define OP_NotFound 33 -#define OP_Int64 34 -#define OP_MustBeInt 35 -#define OP_Halt 36 -#define OP_Rowid 37 -#define OP_IdxLT 38 -#define OP_AddImm 39 -#define OP_Statement 40 -#define OP_RowData 41 -#define OP_MemMax 42 -#define OP_Push 43 -#define OP_Or 61 /* same as TK_OR */ -#define OP_NotExists 44 -#define OP_MemIncr 45 -#define OP_Gosub 46 -#define OP_Divide 82 /* same as TK_SLASH */ -#define OP_Integer 47 -#define OP_ToNumeric 141 /* same as TK_TO_NUMERIC*/ -#define OP_MemInt 48 -#define OP_Prev 49 -#define OP_Concat 84 /* same as TK_CONCAT */ -#define OP_BitAnd 75 /* same as TK_BITAND */ -#define OP_VColumn 50 -#define OP_CreateTable 51 -#define OP_Last 52 -#define OP_IsNull 66 /* same as TK_ISNULL */ -#define OP_IdxRowid 53 -#define OP_MakeIdxRec 54 -#define OP_ShiftRight 78 /* same as TK_RSHIFT */ -#define OP_ResetCount 55 -#define OP_FifoWrite 56 -#define OP_Callback 57 -#define OP_ContextPush 58 -#define OP_DropTrigger 59 -#define OP_DropIndex 60 -#define OP_IdxGE 63 -#define OP_IdxDelete 64 -#define OP_Vacuum 65 -#define OP_MoveLe 74 -#define OP_IfNot 85 -#define OP_DropTable 87 -#define OP_MakeRecord 90 -#define OP_ToBlob 140 /* same as TK_TO_BLOB */ -#define OP_Delete 91 -#define OP_AggFinal 92 -#define OP_ShiftLeft 77 /* same as TK_LSHIFT */ -#define OP_Dup 93 -#define OP_Goto 94 -#define OP_TableLock 95 -#define OP_FifoRead 96 -#define OP_Clear 97 -#define OP_IdxGT 98 -#define OP_MoveLt 99 -#define OP_Le 71 /* same as TK_LE */ -#define OP_VerifyCookie 100 -#define OP_AggStep 101 -#define OP_Pull 102 -#define OP_ToText 139 /* same as TK_TO_TEXT */ -#define OP_Not 16 /* same as TK_NOT */ -#define OP_ToReal 143 /* same as TK_TO_REAL */ -#define OP_SetNumColumns 103 -#define OP_AbsValue 104 -#define OP_Transaction 105 -#define OP_VFilter 106 -#define OP_Negative 86 /* same as TK_UMINUS */ -#define OP_Ne 68 /* same as TK_NE */ -#define OP_VDestroy 107 -#define OP_ContextPop 108 -#define OP_BitOr 76 /* same as TK_BITOR */ -#define OP_Next 109 -#define OP_IdxInsert 110 -#define OP_Distinct 111 -#define OP_Lt 72 /* same as TK_LT */ -#define OP_Insert 112 -#define OP_Destroy 113 -#define OP_ReadCookie 114 -#define OP_ForceInt 115 -#define OP_LoadAnalysis 116 -#define OP_Explain 117 -#define OP_IfMemZero 118 -#define OP_OpenPseudo 119 -#define OP_OpenEphemeral 120 -#define OP_Null 121 -#define OP_Blob 122 -#define OP_Add 79 /* same as TK_PLUS */ -#define OP_MemStore 123 -#define OP_Rewind 124 -#define OP_MoveGe 125 -#define OP_VBegin 128 -#define OP_VUpdate 129 -#define OP_BitNot 88 /* same as TK_BITNOT */ -#define OP_VCreate 130 -#define OP_MemMove 131 -#define OP_MemNull 132 -#define OP_Found 133 -#define OP_NullRow 134 - -/* The following opcode values are never used */ -#define OP_NotUsed_135 135 -#define OP_NotUsed_136 136 -#define OP_NotUsed_137 137 -#define OP_NotUsed_138 138 - -/* Opcodes that are guaranteed to never push a value onto the stack -** contain a 1 their corresponding position of the following mask -** set. See the opcodeNoPush() function in vdbeaux.c */ -#define NOPUSH_MASK_0 0xeeb4 -#define NOPUSH_MASK_1 0x796b -#define NOPUSH_MASK_2 0x7ddb -#define NOPUSH_MASK_3 0xff92 -#define NOPUSH_MASK_4 0xffff -#define NOPUSH_MASK_5 0xd9ef -#define NOPUSH_MASK_6 0xfefe -#define NOPUSH_MASK_7 0x39d9 -#define NOPUSH_MASK_8 0xf867 -#define NOPUSH_MASK_9 0x0000 diff --git a/libs/win32/sqlite/parse.c b/libs/win32/sqlite/parse.c deleted file mode 100644 index 524803948d..0000000000 --- a/libs/win32/sqlite/parse.c +++ /dev/null @@ -1,3434 +0,0 @@ -/* Driver template for the LEMON parser generator. -** The author disclaims copyright to this source code. -*/ -/* First off, code is include which follows the "include" declaration -** in the input file. */ -#include -#line 56 "parse.y" - -#include "sqliteInt.h" -#include "parse.h" - -/* -** An instance of this structure holds information about the -** LIMIT clause of a SELECT statement. -*/ -struct LimitVal { - Expr *pLimit; /* The LIMIT expression. NULL if there is no limit */ - Expr *pOffset; /* The OFFSET expression. NULL if there is none */ -}; - -/* -** An instance of this structure is used to store the LIKE, -** GLOB, NOT LIKE, and NOT GLOB operators. -*/ -struct LikeOp { - Token eOperator; /* "like" or "glob" or "regexp" */ - int not; /* True if the NOT keyword is present */ -}; - -/* -** An instance of the following structure describes the event of a -** TRIGGER. "a" is the event type, one of TK_UPDATE, TK_INSERT, -** TK_DELETE, or TK_INSTEAD. If the event is of the form -** -** UPDATE ON (a,b,c) -** -** Then the "b" IdList records the list "a,b,c". -*/ -struct TrigEvent { int a; IdList * b; }; - -/* -** An instance of this structure holds the ATTACH key and the key type. -*/ -struct AttachKey { int type; Token key; }; - -#line 48 "parse.c" -/* Next is all token values, in a form suitable for use by makeheaders. -** This section will be null unless lemon is run with the -m switch. -*/ -/* -** These constants (all generated automatically by the parser generator) -** specify the various kinds of tokens (terminals) that the parser -** understands. -** -** Each symbol here is a terminal symbol in the grammar. -*/ -/* Make sure the INTERFACE macro is defined. -*/ -#ifndef INTERFACE -# define INTERFACE 1 -#endif -/* The next thing included is series of defines which control -** various aspects of the generated parser. -** YYCODETYPE is the data type used for storing terminal -** and nonterminal numbers. "unsigned char" is -** used if there are fewer than 250 terminals -** and nonterminals. "int" is used otherwise. -** YYNOCODE is a number of type YYCODETYPE which corresponds -** to no legal terminal or nonterminal number. This -** number is used to fill in empty slots of the hash -** table. -** YYFALLBACK If defined, this indicates that one or more tokens -** have fall-back values which should be used if the -** original value of the token will not parse. -** YYACTIONTYPE is the data type used for storing terminal -** and nonterminal numbers. "unsigned char" is -** used if there are fewer than 250 rules and -** states combined. "int" is used otherwise. -** sqlite3ParserTOKENTYPE is the data type used for minor tokens given -** directly to the parser from the tokenizer. -** YYMINORTYPE is the data type used for all minor tokens. -** This is typically a union of many types, one of -** which is sqlite3ParserTOKENTYPE. The entry in the union -** for base tokens is called "yy0". -** YYSTACKDEPTH is the maximum depth of the parser's stack. -** sqlite3ParserARG_SDECL A static variable declaration for the %extra_argument -** sqlite3ParserARG_PDECL A parameter declaration for the %extra_argument -** sqlite3ParserARG_STORE Code to store %extra_argument into yypParser -** sqlite3ParserARG_FETCH Code to extract %extra_argument from yypParser -** YYNSTATE the combined number of states. -** YYNRULE the number of rules in the grammar -** YYERRORSYMBOL is the code number of the error symbol. If not -** defined, then do no error processing. -*/ -#define YYCODETYPE unsigned char -#define YYNOCODE 249 -#define YYACTIONTYPE unsigned short int -#define YYWILDCARD 60 -#define sqlite3ParserTOKENTYPE Token -typedef union { - sqlite3ParserTOKENTYPE yy0; - Select* yy43; - TriggerStep* yy75; - struct LimitVal yy84; - struct LikeOp yy86; - Expr * yy158; - Token yy178; - struct {int value; int mask;} yy207; - ExprList* yy242; - int yy316; - IdList* yy352; - struct TrigEvent yy354; - SrcList* yy419; - Expr* yy450; - int yy497; -} YYMINORTYPE; -#define YYSTACKDEPTH 100 -#define sqlite3ParserARG_SDECL Parse *pParse; -#define sqlite3ParserARG_PDECL ,Parse *pParse -#define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse -#define sqlite3ParserARG_STORE yypParser->pParse = pParse -#define YYNSTATE 587 -#define YYNRULE 312 -#define YYERRORSYMBOL 139 -#define YYERRSYMDT yy497 -#define YYFALLBACK 1 -#define YY_NO_ACTION (YYNSTATE+YYNRULE+2) -#define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) -#define YY_ERROR_ACTION (YYNSTATE+YYNRULE) - -/* Next are that tables used to determine what action to take based on the -** current state and lookahead token. These tables are used to implement -** functions that take a state number and lookahead value and return an -** action integer. -** -** Suppose the action integer is N. Then the action is determined as -** follows -** -** 0 <= N < YYNSTATE Shift N. That is, push the lookahead -** token onto the stack and goto state N. -** -** YYNSTATE <= N < YYNSTATE+YYNRULE Reduce by rule N-YYNSTATE. -** -** N == YYNSTATE+YYNRULE A syntax error has occurred. -** -** N == YYNSTATE+YYNRULE+1 The parser accepts its input. -** -** N == YYNSTATE+YYNRULE+2 No such action. Denotes unused -** slots in the yy_action[] table. -** -** The action table is constructed as a single large table named yy_action[]. -** Given state S and lookahead X, the action is computed as -** -** yy_action[ yy_shift_ofst[S] + X ] -** -** If the index value yy_shift_ofst[S]+X is out of range or if the value -** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X or if yy_shift_ofst[S] -** is equal to YY_SHIFT_USE_DFLT, it means that the action is not in the table -** and that yy_default[S] should be used instead. -** -** The formula above is for computing the action when the lookahead is -** a terminal symbol. If the lookahead is a non-terminal (as occurs after -** a reduce action) then the yy_reduce_ofst[] array is used in place of -** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of -** YY_SHIFT_USE_DFLT. -** -** The following are the tables generated in this section: -** -** yy_action[] A single table containing all actions. -** yy_lookahead[] A table containing the lookahead for each entry in -** yy_action. Used to detect hash collisions. -** yy_shift_ofst[] For each state, the offset into yy_action for -** shifting terminals. -** yy_reduce_ofst[] For each state, the offset into yy_action for -** shifting non-terminals after a reduce. -** yy_default[] Default action for each state. -*/ -static const YYACTIONTYPE yy_action[] = { - /* 0 */ 289, 900, 121, 586, 205, 169, 2, 435, 61, 61, - /* 10 */ 61, 61, 435, 63, 63, 63, 63, 64, 64, 65, - /* 20 */ 65, 65, 66, 230, 198, 299, 420, 426, 68, 63, - /* 30 */ 63, 63, 63, 64, 64, 65, 65, 65, 66, 230, - /* 40 */ 67, 447, 69, 151, 230, 60, 59, 294, 430, 431, - /* 50 */ 427, 427, 62, 62, 61, 61, 61, 61, 411, 63, - /* 60 */ 63, 63, 63, 64, 64, 65, 65, 65, 66, 230, - /* 70 */ 289, 487, 515, 435, 570, 415, 80, 67, 435, 69, - /* 80 */ 151, 63, 63, 63, 63, 64, 64, 65, 65, 65, - /* 90 */ 66, 230, 569, 568, 248, 386, 420, 426, 2, 572, - /* 100 */ 58, 115, 238, 340, 243, 341, 173, 417, 417, 417, - /* 110 */ 570, 387, 384, 249, 289, 60, 59, 294, 430, 431, - /* 120 */ 427, 427, 62, 62, 61, 61, 61, 61, 569, 63, - /* 130 */ 63, 63, 63, 64, 64, 65, 65, 65, 66, 230, - /* 140 */ 420, 426, 92, 64, 64, 65, 65, 65, 66, 230, - /* 150 */ 245, 392, 56, 171, 566, 207, 406, 443, 208, 60, - /* 160 */ 59, 294, 430, 431, 427, 427, 62, 62, 61, 61, - /* 170 */ 61, 61, 205, 63, 63, 63, 63, 64, 64, 65, - /* 180 */ 65, 65, 66, 230, 289, 368, 522, 411, 522, 111, - /* 190 */ 378, 207, 447, 467, 223, 403, 21, 532, 21, 172, - /* 200 */ 157, 317, 66, 230, 336, 404, 520, 443, 208, 486, - /* 210 */ 420, 426, 146, 147, 517, 488, 489, 393, 394, 148, - /* 220 */ 531, 224, 487, 410, 41, 407, 415, 567, 289, 60, - /* 230 */ 59, 294, 430, 431, 427, 427, 62, 62, 61, 61, - /* 240 */ 61, 61, 476, 63, 63, 63, 63, 64, 64, 65, - /* 250 */ 65, 65, 66, 230, 420, 426, 491, 492, 417, 417, - /* 260 */ 417, 155, 549, 331, 211, 65, 65, 65, 66, 230, - /* 270 */ 546, 492, 289, 60, 59, 294, 430, 431, 427, 427, - /* 280 */ 62, 62, 61, 61, 61, 61, 467, 63, 63, 63, - /* 290 */ 63, 64, 64, 65, 65, 65, 66, 230, 420, 426, - /* 300 */ 548, 299, 178, 297, 522, 342, 345, 346, 472, 67, - /* 310 */ 460, 69, 151, 577, 21, 338, 347, 60, 59, 294, - /* 320 */ 430, 431, 427, 427, 62, 62, 61, 61, 61, 61, - /* 330 */ 530, 63, 63, 63, 63, 64, 64, 65, 65, 65, - /* 340 */ 66, 230, 409, 523, 76, 289, 408, 478, 452, 482, - /* 350 */ 392, 369, 266, 265, 283, 149, 405, 445, 521, 165, - /* 360 */ 453, 317, 205, 67, 517, 69, 151, 529, 503, 152, - /* 370 */ 248, 420, 426, 454, 528, 493, 161, 115, 238, 340, - /* 380 */ 243, 341, 173, 410, 35, 494, 580, 288, 79, 249, - /* 390 */ 60, 59, 294, 430, 431, 427, 427, 62, 62, 61, - /* 400 */ 61, 61, 61, 411, 63, 63, 63, 63, 64, 64, - /* 410 */ 65, 65, 65, 66, 230, 289, 393, 394, 178, 485, - /* 420 */ 508, 342, 345, 346, 178, 296, 317, 342, 345, 346, - /* 430 */ 366, 317, 347, 20, 317, 141, 317, 457, 347, 150, - /* 440 */ 509, 420, 426, 22, 295, 438, 439, 435, 410, 35, - /* 450 */ 328, 260, 472, 410, 28, 232, 410, 35, 410, 36, - /* 460 */ 60, 59, 294, 430, 431, 427, 427, 62, 62, 61, - /* 470 */ 61, 61, 61, 411, 63, 63, 63, 63, 64, 64, - /* 480 */ 65, 65, 65, 66, 230, 289, 436, 481, 23, 502, - /* 490 */ 298, 234, 380, 301, 317, 217, 317, 476, 333, 317, - /* 500 */ 392, 317, 457, 337, 168, 157, 421, 422, 207, 231, - /* 510 */ 457, 420, 426, 435, 313, 388, 410, 35, 410, 49, - /* 520 */ 204, 410, 41, 410, 49, 410, 3, 197, 424, 425, - /* 530 */ 60, 59, 294, 430, 431, 427, 427, 62, 62, 61, - /* 540 */ 61, 61, 61, 382, 63, 63, 63, 63, 64, 64, - /* 550 */ 65, 65, 65, 66, 230, 289, 443, 423, 357, 252, - /* 560 */ 434, 411, 210, 292, 308, 350, 393, 394, 448, 309, - /* 570 */ 456, 322, 438, 439, 320, 1, 433, 433, 19, 392, - /* 580 */ 541, 420, 426, 191, 540, 375, 584, 891, 543, 891, - /* 590 */ 584, 890, 174, 890, 472, 392, 358, 445, 323, 165, - /* 600 */ 60, 59, 294, 430, 431, 427, 427, 62, 62, 61, - /* 610 */ 61, 61, 61, 383, 63, 63, 63, 63, 64, 64, - /* 620 */ 65, 65, 65, 66, 230, 289, 370, 581, 9, 452, - /* 630 */ 91, 581, 10, 236, 409, 207, 392, 359, 408, 392, - /* 640 */ 156, 453, 169, 362, 435, 393, 394, 320, 291, 433, - /* 650 */ 433, 420, 426, 249, 454, 320, 327, 433, 433, 260, - /* 660 */ 462, 393, 394, 515, 515, 545, 515, 463, 270, 289, - /* 670 */ 60, 59, 294, 430, 431, 427, 427, 62, 62, 61, - /* 680 */ 61, 61, 61, 82, 63, 63, 63, 63, 64, 64, - /* 690 */ 65, 65, 65, 66, 230, 420, 426, 480, 302, 216, - /* 700 */ 261, 303, 393, 394, 822, 393, 394, 273, 515, 271, - /* 710 */ 435, 515, 334, 289, 60, 59, 294, 430, 431, 427, - /* 720 */ 427, 62, 62, 61, 61, 61, 61, 233, 63, 63, - /* 730 */ 63, 63, 64, 64, 65, 65, 65, 66, 230, 420, - /* 740 */ 426, 247, 247, 304, 247, 318, 306, 587, 387, 384, - /* 750 */ 395, 396, 397, 320, 219, 433, 433, 289, 60, 70, - /* 760 */ 294, 430, 431, 427, 427, 62, 62, 61, 61, 61, - /* 770 */ 61, 317, 63, 63, 63, 63, 64, 64, 65, 65, - /* 780 */ 65, 66, 230, 420, 426, 476, 247, 391, 272, 247, - /* 790 */ 539, 356, 539, 410, 29, 175, 176, 177, 162, 260, - /* 800 */ 260, 289, 5, 59, 294, 430, 431, 427, 427, 62, - /* 810 */ 62, 61, 61, 61, 61, 377, 63, 63, 63, 63, - /* 820 */ 64, 64, 65, 65, 65, 66, 230, 420, 426, 392, - /* 830 */ 311, 120, 392, 319, 205, 260, 366, 465, 254, 189, - /* 840 */ 556, 558, 260, 75, 260, 77, 307, 376, 294, 430, - /* 850 */ 431, 427, 427, 62, 62, 61, 61, 61, 61, 260, - /* 860 */ 63, 63, 63, 63, 64, 64, 65, 65, 65, 66, - /* 870 */ 230, 72, 324, 411, 4, 260, 559, 258, 293, 256, - /* 880 */ 174, 125, 317, 560, 317, 274, 321, 72, 324, 193, - /* 890 */ 4, 153, 621, 180, 293, 393, 394, 367, 393, 394, - /* 900 */ 374, 218, 321, 326, 410, 24, 410, 33, 183, 317, - /* 910 */ 428, 206, 441, 441, 447, 317, 276, 317, 55, 326, - /* 920 */ 363, 468, 239, 411, 469, 411, 455, 411, 13, 144, - /* 930 */ 447, 410, 53, 240, 74, 73, 291, 410, 52, 410, - /* 940 */ 96, 116, 411, 72, 315, 316, 582, 474, 415, 170, - /* 950 */ 74, 73, 479, 317, 507, 506, 317, 500, 416, 72, - /* 960 */ 315, 316, 72, 324, 415, 4, 205, 317, 329, 293, - /* 970 */ 317, 458, 483, 444, 13, 410, 94, 321, 410, 99, - /* 980 */ 417, 417, 417, 418, 419, 12, 583, 466, 317, 410, - /* 990 */ 100, 471, 410, 110, 326, 475, 417, 417, 417, 418, - /* 1000 */ 419, 12, 497, 498, 512, 447, 125, 159, 244, 317, - /* 1010 */ 410, 112, 220, 221, 222, 102, 537, 538, 317, 251, - /* 1020 */ 317, 125, 317, 504, 505, 74, 73, 349, 202, 125, - /* 1030 */ 278, 410, 17, 510, 72, 315, 316, 279, 524, 415, - /* 1040 */ 410, 97, 410, 34, 410, 95, 317, 511, 544, 200, - /* 1050 */ 125, 548, 552, 253, 170, 317, 199, 255, 317, 201, - /* 1060 */ 553, 257, 89, 317, 259, 563, 317, 89, 410, 25, - /* 1070 */ 317, 417, 417, 417, 418, 419, 12, 410, 54, 186, - /* 1080 */ 410, 113, 354, 317, 264, 410, 114, 317, 410, 26, - /* 1090 */ 361, 364, 410, 37, 579, 365, 287, 317, 267, 317, - /* 1100 */ 143, 317, 373, 275, 265, 410, 38, 268, 290, 410, - /* 1110 */ 27, 317, 269, 205, 555, 565, 317, 277, 317, 410, - /* 1120 */ 39, 410, 40, 410, 42, 317, 280, 317, 281, 317, - /* 1130 */ 576, 317, 225, 410, 43, 401, 503, 379, 410, 44, - /* 1140 */ 410, 30, 317, 325, 440, 317, 461, 410, 31, 410, - /* 1150 */ 45, 410, 46, 410, 47, 442, 317, 551, 317, 464, - /* 1160 */ 317, 241, 513, 516, 410, 48, 344, 410, 32, 562, - /* 1170 */ 160, 390, 398, 399, 400, 8, 314, 412, 410, 11, - /* 1180 */ 410, 50, 410, 51, 82, 332, 226, 81, 330, 227, - /* 1190 */ 57, 406, 414, 228, 78, 167, 229, 209, 83, 413, - /* 1200 */ 459, 122, 335, 339, 500, 490, 235, 495, 242, 473, - /* 1210 */ 237, 300, 477, 499, 496, 501, 103, 284, 246, 514, - /* 1220 */ 518, 519, 525, 526, 527, 351, 533, 181, 285, 182, - /* 1230 */ 184, 214, 353, 185, 535, 187, 215, 355, 86, 118, - /* 1240 */ 360, 547, 190, 129, 139, 371, 262, 372, 130, 536, - /* 1250 */ 554, 310, 131, 132, 573, 90, 133, 135, 93, 138, - /* 1260 */ 578, 574, 575, 109, 213, 561, 101, 119, 389, 18, - /* 1270 */ 98, 402, 622, 623, 163, 164, 429, 312, 432, 71, - /* 1280 */ 449, 437, 446, 140, 154, 166, 450, 6, 451, 470, - /* 1290 */ 7, 123, 14, 13, 124, 158, 484, 212, 84, 343, - /* 1300 */ 104, 348, 250, 105, 85, 117, 106, 240, 179, 352, - /* 1310 */ 142, 534, 126, 305, 170, 263, 188, 107, 286, 550, - /* 1320 */ 127, 128, 15, 542, 192, 87, 194, 88, 195, 557, - /* 1330 */ 196, 136, 137, 134, 16, 108, 571, 282, 381, 564, - /* 1340 */ 203, 145, 385, 901, 585, -}; -static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 16, 140, 141, 142, 111, 21, 145, 23, 70, 71, - /* 10 */ 72, 73, 23, 75, 76, 77, 78, 79, 80, 81, - /* 20 */ 82, 83, 84, 85, 156, 16, 42, 43, 74, 75, - /* 30 */ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - /* 40 */ 217, 59, 219, 220, 85, 61, 62, 63, 64, 65, - /* 50 */ 66, 67, 68, 69, 70, 71, 72, 73, 190, 75, - /* 60 */ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - /* 70 */ 16, 89, 148, 89, 148, 93, 22, 217, 89, 219, - /* 80 */ 220, 75, 76, 77, 78, 79, 80, 81, 82, 83, - /* 90 */ 84, 85, 166, 167, 85, 142, 42, 43, 145, 239, - /* 100 */ 46, 92, 93, 94, 95, 96, 97, 125, 126, 127, - /* 110 */ 148, 1, 2, 104, 16, 61, 62, 63, 64, 65, - /* 120 */ 66, 67, 68, 69, 70, 71, 72, 73, 166, 75, - /* 130 */ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - /* 140 */ 42, 43, 44, 79, 80, 81, 82, 83, 84, 85, - /* 150 */ 226, 23, 19, 156, 228, 229, 23, 79, 80, 61, - /* 160 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - /* 170 */ 72, 73, 111, 75, 76, 77, 78, 79, 80, 81, - /* 180 */ 82, 83, 84, 85, 16, 124, 148, 190, 148, 21, - /* 190 */ 228, 229, 59, 22, 154, 157, 158, 157, 158, 202, - /* 200 */ 203, 148, 84, 85, 207, 168, 169, 79, 80, 170, - /* 210 */ 42, 43, 79, 80, 177, 170, 161, 89, 90, 181, - /* 220 */ 182, 191, 89, 170, 171, 170, 93, 99, 16, 61, - /* 230 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - /* 240 */ 72, 73, 148, 75, 76, 77, 78, 79, 80, 81, - /* 250 */ 82, 83, 84, 85, 42, 43, 186, 187, 125, 126, - /* 260 */ 127, 90, 11, 210, 211, 81, 82, 83, 84, 85, - /* 270 */ 186, 187, 16, 61, 62, 63, 64, 65, 66, 67, - /* 280 */ 68, 69, 70, 71, 72, 73, 115, 75, 76, 77, - /* 290 */ 78, 79, 80, 81, 82, 83, 84, 85, 42, 43, - /* 300 */ 49, 16, 91, 209, 148, 94, 95, 96, 162, 217, - /* 310 */ 218, 219, 220, 157, 158, 81, 105, 61, 62, 63, - /* 320 */ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - /* 330 */ 182, 75, 76, 77, 78, 79, 80, 81, 82, 83, - /* 340 */ 84, 85, 108, 182, 132, 16, 112, 201, 12, 20, - /* 350 */ 23, 100, 101, 102, 159, 22, 169, 162, 163, 164, - /* 360 */ 24, 148, 111, 217, 177, 219, 220, 177, 178, 156, - /* 370 */ 85, 42, 43, 37, 184, 39, 91, 92, 93, 94, - /* 380 */ 95, 96, 97, 170, 171, 49, 245, 246, 132, 104, - /* 390 */ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - /* 400 */ 71, 72, 73, 190, 75, 76, 77, 78, 79, 80, - /* 410 */ 81, 82, 83, 84, 85, 16, 89, 90, 91, 20, - /* 420 */ 30, 94, 95, 96, 91, 212, 148, 94, 95, 96, - /* 430 */ 148, 148, 105, 19, 148, 21, 148, 224, 105, 156, - /* 440 */ 50, 42, 43, 19, 165, 166, 167, 23, 170, 171, - /* 450 */ 187, 148, 162, 170, 171, 148, 170, 171, 170, 171, - /* 460 */ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - /* 470 */ 71, 72, 73, 190, 75, 76, 77, 78, 79, 80, - /* 480 */ 81, 82, 83, 84, 85, 16, 20, 20, 22, 20, - /* 490 */ 212, 201, 189, 103, 148, 213, 148, 148, 212, 148, - /* 500 */ 23, 148, 224, 148, 202, 203, 42, 43, 229, 221, - /* 510 */ 224, 42, 43, 89, 143, 144, 170, 171, 170, 171, - /* 520 */ 149, 170, 171, 170, 171, 170, 171, 156, 64, 65, - /* 530 */ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - /* 540 */ 71, 72, 73, 240, 75, 76, 77, 78, 79, 80, - /* 550 */ 81, 82, 83, 84, 85, 16, 79, 93, 209, 20, - /* 560 */ 20, 190, 211, 151, 216, 16, 89, 90, 20, 216, - /* 570 */ 224, 165, 166, 167, 107, 19, 109, 110, 19, 23, - /* 580 */ 25, 42, 43, 22, 29, 214, 19, 20, 18, 22, - /* 590 */ 19, 20, 43, 22, 162, 23, 41, 162, 163, 164, - /* 600 */ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - /* 610 */ 71, 72, 73, 242, 75, 76, 77, 78, 79, 80, - /* 620 */ 81, 82, 83, 84, 85, 16, 56, 60, 69, 12, - /* 630 */ 21, 60, 19, 201, 108, 229, 23, 225, 112, 23, - /* 640 */ 148, 24, 21, 231, 23, 89, 90, 107, 99, 109, - /* 650 */ 110, 42, 43, 104, 37, 107, 39, 109, 110, 148, - /* 660 */ 27, 89, 90, 148, 148, 95, 148, 34, 14, 16, - /* 670 */ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - /* 680 */ 71, 72, 73, 122, 75, 76, 77, 78, 79, 80, - /* 690 */ 81, 82, 83, 84, 85, 42, 43, 81, 183, 183, - /* 700 */ 189, 183, 89, 90, 134, 89, 90, 53, 148, 55, - /* 710 */ 89, 148, 148, 16, 61, 62, 63, 64, 65, 66, - /* 720 */ 67, 68, 69, 70, 71, 72, 73, 148, 75, 76, - /* 730 */ 77, 78, 79, 80, 81, 82, 83, 84, 85, 42, - /* 740 */ 43, 226, 226, 183, 226, 148, 183, 0, 1, 2, - /* 750 */ 7, 8, 9, 107, 146, 109, 110, 16, 61, 62, - /* 760 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - /* 770 */ 73, 148, 75, 76, 77, 78, 79, 80, 81, 82, - /* 780 */ 83, 84, 85, 42, 43, 148, 226, 148, 134, 226, - /* 790 */ 100, 101, 102, 170, 171, 100, 101, 102, 19, 148, - /* 800 */ 148, 16, 192, 62, 63, 64, 65, 66, 67, 68, - /* 810 */ 69, 70, 71, 72, 73, 92, 75, 76, 77, 78, - /* 820 */ 79, 80, 81, 82, 83, 84, 85, 42, 43, 23, - /* 830 */ 243, 244, 23, 16, 111, 148, 148, 22, 14, 156, - /* 840 */ 189, 189, 148, 131, 148, 133, 209, 124, 63, 64, - /* 850 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 148, - /* 860 */ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - /* 870 */ 85, 16, 17, 190, 19, 148, 189, 53, 23, 55, - /* 880 */ 43, 22, 148, 189, 148, 189, 31, 16, 17, 156, - /* 890 */ 19, 156, 113, 156, 23, 89, 90, 214, 89, 90, - /* 900 */ 189, 213, 31, 48, 170, 171, 170, 171, 156, 148, - /* 910 */ 93, 193, 125, 126, 59, 148, 189, 148, 200, 48, - /* 920 */ 237, 115, 93, 190, 115, 190, 20, 190, 22, 114, - /* 930 */ 59, 170, 171, 104, 79, 80, 99, 170, 171, 170, - /* 940 */ 171, 148, 190, 88, 89, 90, 20, 20, 93, 22, - /* 950 */ 79, 80, 81, 148, 92, 93, 148, 98, 148, 88, - /* 960 */ 89, 90, 16, 17, 93, 19, 111, 148, 148, 23, - /* 970 */ 148, 148, 20, 162, 22, 170, 171, 31, 170, 171, - /* 980 */ 125, 126, 127, 128, 129, 130, 60, 204, 148, 170, - /* 990 */ 171, 148, 170, 171, 48, 148, 125, 126, 127, 128, - /* 1000 */ 129, 130, 7, 8, 20, 59, 22, 5, 148, 148, - /* 1010 */ 170, 171, 10, 11, 12, 13, 51, 52, 148, 20, - /* 1020 */ 148, 22, 148, 148, 179, 79, 80, 20, 26, 22, - /* 1030 */ 28, 170, 171, 179, 88, 89, 90, 35, 148, 93, - /* 1040 */ 170, 171, 170, 171, 170, 171, 148, 179, 20, 47, - /* 1050 */ 22, 49, 20, 148, 22, 148, 54, 148, 148, 57, - /* 1060 */ 20, 148, 22, 148, 148, 20, 148, 22, 170, 171, - /* 1070 */ 148, 125, 126, 127, 128, 129, 130, 170, 171, 233, - /* 1080 */ 170, 171, 234, 148, 148, 170, 171, 148, 170, 171, - /* 1090 */ 148, 148, 170, 171, 20, 148, 22, 148, 148, 148, - /* 1100 */ 192, 148, 100, 101, 102, 170, 171, 148, 106, 170, - /* 1110 */ 171, 148, 148, 111, 148, 148, 148, 148, 148, 170, - /* 1120 */ 171, 170, 171, 170, 171, 148, 148, 148, 148, 148, - /* 1130 */ 148, 148, 194, 170, 171, 150, 178, 135, 170, 171, - /* 1140 */ 170, 171, 148, 223, 230, 148, 173, 170, 171, 170, - /* 1150 */ 171, 170, 171, 170, 171, 230, 148, 195, 148, 173, - /* 1160 */ 148, 173, 173, 173, 170, 171, 174, 170, 171, 195, - /* 1170 */ 6, 147, 147, 147, 147, 22, 155, 190, 170, 171, - /* 1180 */ 170, 171, 170, 171, 122, 119, 195, 120, 117, 196, - /* 1190 */ 121, 23, 161, 197, 131, 113, 198, 222, 99, 199, - /* 1200 */ 153, 153, 116, 99, 98, 172, 205, 172, 172, 206, - /* 1210 */ 205, 40, 206, 174, 180, 172, 19, 175, 85, 161, - /* 1220 */ 161, 180, 172, 172, 172, 15, 153, 152, 175, 152, - /* 1230 */ 152, 227, 153, 153, 153, 152, 227, 38, 131, 61, - /* 1240 */ 153, 185, 185, 19, 215, 153, 235, 15, 188, 236, - /* 1250 */ 195, 153, 188, 188, 33, 238, 188, 185, 238, 215, - /* 1260 */ 138, 153, 153, 241, 176, 195, 176, 244, 1, 232, - /* 1270 */ 160, 20, 113, 113, 113, 113, 93, 247, 108, 19, - /* 1280 */ 11, 20, 20, 19, 19, 22, 20, 118, 20, 115, - /* 1290 */ 118, 19, 22, 22, 20, 113, 20, 44, 19, 44, - /* 1300 */ 19, 44, 20, 19, 19, 32, 19, 104, 97, 16, - /* 1310 */ 21, 17, 99, 36, 22, 134, 99, 19, 5, 1, - /* 1320 */ 45, 103, 19, 45, 123, 69, 114, 69, 14, 17, - /* 1330 */ 116, 103, 123, 114, 19, 14, 20, 137, 58, 124, - /* 1340 */ 136, 19, 3, 248, 4, -}; -#define YY_SHIFT_USE_DFLT (-108) -#define YY_SHIFT_MAX 385 -static const short yy_shift_ofst[] = { - /* 0 */ 110, 855, 1002, -16, 855, 946, 946, 946, 327, 128, - /* 10 */ -107, 98, 946, 946, 946, 946, 946, -46, 251, 477, - /* 20 */ 572, -11, 78, 78, 54, 168, 212, 256, 329, 399, - /* 30 */ 469, 539, 609, 653, 697, 653, 653, 653, 653, 653, - /* 40 */ 653, 653, 653, 653, 653, 653, 653, 653, 653, 653, - /* 50 */ 653, 653, 741, 785, 785, 871, 946, 946, 946, 946, - /* 60 */ 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, - /* 70 */ 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, - /* 80 */ 946, 946, 946, 946, 946, 946, 946, 946, 946, 946, - /* 90 */ 946, 946, 946, 946, -62, -62, 6, 6, 285, 64, - /* 100 */ 184, 549, 570, 572, 572, 572, 572, 572, 572, 572, - /* 110 */ 118, -11, -41, -108, -108, 133, 9, 336, 336, 567, - /* 120 */ 571, 747, 621, 572, 621, 572, 572, 572, 572, 572, - /* 130 */ 572, 572, 572, 572, 572, 572, 572, 572, 723, 61, - /* 140 */ -107, -107, -107, -108, -108, -108, -18, -18, 333, 211, - /* 150 */ 467, 556, 540, 548, 617, 806, 809, 613, 616, 743, - /* 160 */ 572, 572, 234, 572, 572, 424, 572, 572, 171, 572, - /* 170 */ 572, 646, 171, 572, 572, 390, 390, 390, 572, 572, - /* 180 */ 646, 572, 572, 646, 572, 555, 690, 572, 572, 646, - /* 190 */ 572, 572, 572, 646, 572, 572, 572, 646, 646, 572, - /* 200 */ 572, 572, 572, 572, 414, 526, 815, 787, 787, 712, - /* 210 */ 633, 633, 633, 837, 633, 633, 859, 561, 561, 1164, - /* 220 */ 1164, 1164, 1164, 1153, -107, 1062, 1066, 1067, 1071, 1069, - /* 230 */ 1168, 1063, 1082, 1082, 1099, 1086, 1099, 1086, 1104, 1104, - /* 240 */ 1171, 1104, 1106, 1104, 1197, 1133, 1168, 1133, 1168, 1171, - /* 250 */ 1104, 1104, 1104, 1197, 1210, 1082, 1210, 1082, 1210, 1082, - /* 260 */ 1082, 1199, 1107, 1210, 1082, 1178, 1178, 1224, 1062, 1082, - /* 270 */ 1232, 1232, 1232, 1232, 1062, 1178, 1224, 1082, 1221, 1221, - /* 280 */ 1082, 1082, 1122, -108, -108, -108, -108, -108, -108, 464, - /* 290 */ 654, 695, 824, 779, 817, 466, 906, 927, 952, 829, - /* 300 */ 995, 862, 984, 999, 1007, 965, 1028, 1032, 1040, 1045, - /* 310 */ 559, 1074, 926, 1267, 1251, 1159, 1160, 1161, 1162, 1183, - /* 320 */ 1170, 1260, 1261, 1262, 1264, 1269, 1265, 1266, 1263, 1268, - /* 330 */ 1169, 1270, 1172, 1271, 1174, 1272, 1274, 1182, 1276, 1273, - /* 340 */ 1253, 1279, 1255, 1281, 1282, 1284, 1285, 1257, 1287, 1211, - /* 350 */ 1203, 1293, 1294, 1289, 1213, 1277, 1275, 1292, 1278, 1181, - /* 360 */ 1217, 1298, 1313, 1318, 1218, 1256, 1258, 1201, 1303, 1212, - /* 370 */ 1314, 1214, 1312, 1219, 1228, 1209, 1315, 1215, 1316, 1321, - /* 380 */ 1280, 1204, 1200, 1322, 1339, 1340, -}; -#define YY_REDUCE_USE_DFLT (-178) -#define YY_REDUCE_MAX 288 -static const short yy_reduce_ofst[] = { - /* 0 */ -139, 213, 371, 146, 283, 278, 53, 286, 38, -74, - /* 10 */ -3, -140, 288, 346, 351, 348, 353, 92, 683, -38, - /* 20 */ 40, 195, 279, 406, -177, -177, -177, -177, -177, -177, - /* 30 */ -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, - /* 40 */ -177, -177, -177, -177, -177, -177, -177, -177, -177, -177, - /* 50 */ -177, -177, -177, -177, -177, 355, 623, 734, 736, 761, - /* 60 */ 767, 769, 805, 808, 819, 822, 840, 861, 870, 872, - /* 70 */ 874, 898, 907, 910, 915, 918, 922, 935, 939, 949, - /* 80 */ 951, 953, 963, 968, 970, 977, 979, 981, 983, 994, - /* 90 */ 997, 1008, 1010, 1012, -177, -177, -177, -177, 37, -177, - /* 100 */ -177, 190, 412, 515, 516, 518, 560, 563, 303, 156, - /* 110 */ -177, 435, -177, -177, -177, 55, 187, 70, 84, 141, - /* 120 */ 141, -47, 290, 94, 432, -76, 511, 349, 282, 637, - /* 130 */ 651, 652, 687, 694, 696, 711, 688, 727, -132, 733, - /* 140 */ 735, 737, 752, 718, 302, 587, 39, 45, 148, 161, - /* 150 */ 30, 307, 30, 30, 263, 492, 564, 579, 597, 608, - /* 160 */ 639, 793, 610, 597, 810, 811, 820, 823, 783, 843, - /* 170 */ 847, 30, 783, 860, 875, 845, 854, 868, 890, 905, - /* 180 */ 30, 909, 913, 30, 916, 846, 848, 936, 942, 30, - /* 190 */ 943, 947, 950, 30, 959, 964, 966, 30, 30, 967, - /* 200 */ 969, 978, 980, 982, 985, 908, 938, 914, 925, 920, - /* 210 */ 973, 986, 988, 958, 989, 990, 992, 962, 974, 1024, - /* 220 */ 1025, 1026, 1027, 1021, 987, 991, 993, 996, 998, 1000, - /* 230 */ 1031, 975, 1047, 1048, 1001, 1003, 1005, 1006, 1033, 1035, - /* 240 */ 1034, 1036, 1039, 1043, 1042, 1004, 1058, 1009, 1059, 1041, - /* 250 */ 1050, 1051, 1052, 1053, 1075, 1073, 1077, 1079, 1078, 1080, - /* 260 */ 1081, 1011, 1013, 1083, 1087, 1056, 1057, 1029, 1055, 1092, - /* 270 */ 1060, 1064, 1065, 1068, 1070, 1072, 1044, 1098, 1017, 1020, - /* 280 */ 1108, 1109, 1022, 1110, 1088, 1090, 1037, 1023, 1030, -}; -static const YYACTIONTYPE yy_default[] = { - /* 0 */ 593, 819, 899, 708, 899, 819, 899, 819, 899, 844, - /* 10 */ 712, 873, 815, 819, 899, 899, 899, 790, 899, 844, - /* 20 */ 899, 624, 844, 844, 741, 899, 899, 899, 899, 899, - /* 30 */ 899, 899, 899, 742, 899, 818, 814, 810, 812, 811, - /* 40 */ 743, 732, 739, 746, 724, 858, 748, 749, 755, 756, - /* 50 */ 874, 877, 778, 777, 796, 899, 899, 899, 899, 899, - /* 60 */ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, - /* 70 */ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, - /* 80 */ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, - /* 90 */ 899, 899, 899, 899, 780, 801, 779, 789, 617, 781, - /* 100 */ 782, 677, 612, 899, 899, 899, 899, 899, 899, 899, - /* 110 */ 783, 899, 784, 797, 798, 899, 899, 899, 899, 899, - /* 120 */ 899, 593, 708, 899, 708, 899, 899, 899, 899, 899, - /* 130 */ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, - /* 140 */ 899, 899, 899, 702, 712, 892, 899, 899, 668, 899, - /* 150 */ 899, 899, 899, 899, 899, 899, 899, 899, 899, 600, - /* 160 */ 598, 899, 700, 899, 899, 626, 899, 899, 710, 899, - /* 170 */ 899, 715, 716, 899, 899, 899, 899, 899, 899, 899, - /* 180 */ 614, 899, 899, 689, 899, 850, 899, 899, 899, 865, - /* 190 */ 899, 899, 899, 863, 899, 899, 899, 691, 751, 831, - /* 200 */ 899, 878, 880, 899, 899, 700, 709, 899, 899, 813, - /* 210 */ 735, 735, 735, 647, 735, 735, 650, 745, 745, 597, - /* 220 */ 597, 597, 597, 667, 899, 745, 736, 738, 728, 740, - /* 230 */ 899, 899, 717, 717, 725, 727, 725, 727, 679, 679, - /* 240 */ 664, 679, 650, 679, 823, 828, 899, 828, 899, 664, - /* 250 */ 679, 679, 679, 823, 609, 717, 609, 717, 609, 717, - /* 260 */ 717, 854, 857, 609, 717, 681, 681, 757, 745, 717, - /* 270 */ 688, 688, 688, 688, 745, 681, 757, 717, 876, 876, - /* 280 */ 717, 717, 885, 634, 652, 652, 860, 892, 897, 899, - /* 290 */ 899, 899, 899, 764, 899, 899, 899, 899, 899, 899, - /* 300 */ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, - /* 310 */ 837, 899, 899, 899, 899, 769, 765, 899, 766, 899, - /* 320 */ 694, 899, 899, 899, 899, 899, 899, 899, 899, 899, - /* 330 */ 899, 729, 899, 737, 899, 899, 899, 899, 899, 899, - /* 340 */ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, - /* 350 */ 899, 899, 899, 899, 899, 899, 852, 853, 899, 899, - /* 360 */ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, - /* 370 */ 899, 899, 899, 899, 899, 899, 899, 899, 899, 899, - /* 380 */ 884, 899, 899, 887, 594, 899, 588, 591, 590, 592, - /* 390 */ 596, 599, 621, 622, 623, 601, 602, 603, 604, 605, - /* 400 */ 606, 607, 613, 615, 633, 635, 619, 637, 698, 699, - /* 410 */ 761, 692, 693, 697, 772, 763, 767, 768, 770, 771, - /* 420 */ 785, 786, 788, 794, 800, 803, 787, 792, 793, 795, - /* 430 */ 799, 802, 695, 696, 806, 620, 627, 628, 631, 632, - /* 440 */ 840, 842, 841, 843, 630, 629, 773, 776, 808, 809, - /* 450 */ 866, 867, 868, 869, 870, 804, 816, 817, 718, 807, - /* 460 */ 791, 730, 733, 734, 731, 701, 711, 720, 721, 722, - /* 470 */ 723, 706, 707, 713, 726, 759, 760, 714, 703, 704, - /* 480 */ 705, 805, 762, 774, 775, 638, 639, 769, 640, 641, - /* 490 */ 642, 680, 683, 684, 685, 643, 662, 665, 666, 644, - /* 500 */ 651, 645, 646, 653, 654, 655, 658, 659, 660, 661, - /* 510 */ 656, 657, 824, 825, 829, 827, 826, 648, 649, 663, - /* 520 */ 636, 625, 618, 669, 672, 673, 674, 675, 676, 678, - /* 530 */ 670, 671, 616, 608, 610, 719, 846, 855, 856, 851, - /* 540 */ 847, 848, 849, 611, 820, 821, 682, 753, 754, 845, - /* 550 */ 859, 861, 758, 862, 864, 889, 686, 687, 690, 830, - /* 560 */ 871, 744, 747, 750, 752, 832, 833, 834, 835, 838, - /* 570 */ 839, 836, 872, 875, 879, 881, 882, 883, 886, 888, - /* 580 */ 893, 894, 895, 898, 896, 595, 589, -}; -#define YY_SZ_ACTTAB (int)(sizeof(yy_action)/sizeof(yy_action[0])) - -/* The next table maps tokens into fallback tokens. If a construct -** like the following: -** -** %fallback ID X Y Z. -** -** appears in the grammer, then ID becomes a fallback token for X, Y, -** and Z. Whenever one of the tokens X, Y, or Z is input to the parser -** but it does not parse, the type of the token is changed to ID and -** the parse is retried before an error is thrown. -*/ -#ifdef YYFALLBACK -static const YYCODETYPE yyFallback[] = { - 0, /* $ => nothing */ - 0, /* SEMI => nothing */ - 23, /* EXPLAIN => ID */ - 23, /* QUERY => ID */ - 23, /* PLAN => ID */ - 23, /* BEGIN => ID */ - 0, /* TRANSACTION => nothing */ - 23, /* DEFERRED => ID */ - 23, /* IMMEDIATE => ID */ - 23, /* EXCLUSIVE => ID */ - 0, /* COMMIT => nothing */ - 23, /* END => ID */ - 0, /* ROLLBACK => nothing */ - 0, /* CREATE => nothing */ - 0, /* TABLE => nothing */ - 23, /* IF => ID */ - 0, /* NOT => nothing */ - 0, /* EXISTS => nothing */ - 23, /* TEMP => ID */ - 0, /* LP => nothing */ - 0, /* RP => nothing */ - 0, /* AS => nothing */ - 0, /* COMMA => nothing */ - 0, /* ID => nothing */ - 23, /* ABORT => ID */ - 23, /* AFTER => ID */ - 23, /* ANALYZE => ID */ - 23, /* ASC => ID */ - 23, /* ATTACH => ID */ - 23, /* BEFORE => ID */ - 23, /* CASCADE => ID */ - 23, /* CAST => ID */ - 23, /* CONFLICT => ID */ - 23, /* DATABASE => ID */ - 23, /* DESC => ID */ - 23, /* DETACH => ID */ - 23, /* EACH => ID */ - 23, /* FAIL => ID */ - 23, /* FOR => ID */ - 23, /* IGNORE => ID */ - 23, /* INITIALLY => ID */ - 23, /* INSTEAD => ID */ - 23, /* LIKE_KW => ID */ - 23, /* MATCH => ID */ - 23, /* KEY => ID */ - 23, /* OF => ID */ - 23, /* OFFSET => ID */ - 23, /* PRAGMA => ID */ - 23, /* RAISE => ID */ - 23, /* REPLACE => ID */ - 23, /* RESTRICT => ID */ - 23, /* ROW => ID */ - 23, /* STATEMENT => ID */ - 23, /* TRIGGER => ID */ - 23, /* VACUUM => ID */ - 23, /* VIEW => ID */ - 23, /* VIRTUAL => ID */ - 23, /* REINDEX => ID */ - 23, /* RENAME => ID */ - 23, /* CTIME_KW => ID */ - 0, /* ANY => nothing */ - 0, /* OR => nothing */ - 0, /* AND => nothing */ - 0, /* IS => nothing */ - 0, /* BETWEEN => nothing */ - 0, /* IN => nothing */ - 0, /* ISNULL => nothing */ - 0, /* NOTNULL => nothing */ - 0, /* NE => nothing */ - 0, /* EQ => nothing */ - 0, /* GT => nothing */ - 0, /* LE => nothing */ - 0, /* LT => nothing */ - 0, /* GE => nothing */ - 0, /* ESCAPE => nothing */ - 0, /* BITAND => nothing */ - 0, /* BITOR => nothing */ - 0, /* LSHIFT => nothing */ - 0, /* RSHIFT => nothing */ - 0, /* PLUS => nothing */ - 0, /* MINUS => nothing */ - 0, /* STAR => nothing */ - 0, /* SLASH => nothing */ - 0, /* REM => nothing */ - 0, /* CONCAT => nothing */ - 0, /* COLLATE => nothing */ - 0, /* UMINUS => nothing */ - 0, /* UPLUS => nothing */ - 0, /* BITNOT => nothing */ - 0, /* STRING => nothing */ - 0, /* JOIN_KW => nothing */ - 0, /* CONSTRAINT => nothing */ - 0, /* DEFAULT => nothing */ - 0, /* NULL => nothing */ - 0, /* PRIMARY => nothing */ - 0, /* UNIQUE => nothing */ - 0, /* CHECK => nothing */ - 0, /* REFERENCES => nothing */ - 0, /* AUTOINCR => nothing */ - 0, /* ON => nothing */ - 0, /* DELETE => nothing */ - 0, /* UPDATE => nothing */ - 0, /* INSERT => nothing */ - 0, /* SET => nothing */ - 0, /* DEFERRABLE => nothing */ - 0, /* FOREIGN => nothing */ - 0, /* DROP => nothing */ - 0, /* UNION => nothing */ - 0, /* ALL => nothing */ - 0, /* EXCEPT => nothing */ - 0, /* INTERSECT => nothing */ - 0, /* SELECT => nothing */ - 0, /* DISTINCT => nothing */ - 0, /* DOT => nothing */ - 0, /* FROM => nothing */ - 0, /* JOIN => nothing */ - 0, /* USING => nothing */ - 0, /* ORDER => nothing */ - 0, /* BY => nothing */ - 0, /* GROUP => nothing */ - 0, /* HAVING => nothing */ - 0, /* LIMIT => nothing */ - 0, /* WHERE => nothing */ - 0, /* INTO => nothing */ - 0, /* VALUES => nothing */ - 0, /* INTEGER => nothing */ - 0, /* FLOAT => nothing */ - 0, /* BLOB => nothing */ - 0, /* REGISTER => nothing */ - 0, /* VARIABLE => nothing */ - 0, /* CASE => nothing */ - 0, /* WHEN => nothing */ - 0, /* THEN => nothing */ - 0, /* ELSE => nothing */ - 0, /* INDEX => nothing */ - 0, /* ALTER => nothing */ - 0, /* TO => nothing */ - 0, /* ADD => nothing */ - 0, /* COLUMNKW => nothing */ -}; -#endif /* YYFALLBACK */ - -/* The following structure represents a single element of the -** parser's stack. Information stored includes: -** -** + The state number for the parser at this level of the stack. -** -** + The value of the token stored at this level of the stack. -** (In other words, the "major" token.) -** -** + The semantic value stored at this level of the stack. This is -** the information used by the action routines in the grammar. -** It is sometimes called the "minor" token. -*/ -struct yyStackEntry { - int stateno; /* The state-number */ - int major; /* The major token value. This is the code - ** number for the token at this stack level */ - YYMINORTYPE minor; /* The user-supplied minor token value. This - ** is the value of the token */ -}; -typedef struct yyStackEntry yyStackEntry; - -/* The state of the parser is completely contained in an instance of -** the following structure */ -struct yyParser { - int yyidx; /* Index of top element in stack */ - int yyerrcnt; /* Shifts left before out of the error */ - sqlite3ParserARG_SDECL /* A place to hold %extra_argument */ - yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */ -}; -typedef struct yyParser yyParser; - -#ifndef NDEBUG -#include -static FILE *yyTraceFILE = 0; -static char *yyTracePrompt = 0; -#endif /* NDEBUG */ - -#ifndef NDEBUG -/* -** Turn parser tracing on by giving a stream to which to write the trace -** and a prompt to preface each trace message. Tracing is turned off -** by making either argument NULL -** -** Inputs: -**
    -**
  • A FILE* to which trace output should be written. -** If NULL, then tracing is turned off. -**
  • A prefix string written at the beginning of every -** line of trace output. If NULL, then tracing is -** turned off. -**
-** -** Outputs: -** None. -*/ -void sqlite3ParserTrace(FILE *TraceFILE, char *zTracePrompt){ - yyTraceFILE = TraceFILE; - yyTracePrompt = zTracePrompt; - if( yyTraceFILE==0 ) yyTracePrompt = 0; - else if( yyTracePrompt==0 ) yyTraceFILE = 0; -} -#endif /* NDEBUG */ - -#ifndef NDEBUG -/* For tracing shifts, the names of all terminals and nonterminals -** are required. The following table supplies these names */ -static const char *const yyTokenName[] = { - "$", "SEMI", "EXPLAIN", "QUERY", - "PLAN", "BEGIN", "TRANSACTION", "DEFERRED", - "IMMEDIATE", "EXCLUSIVE", "COMMIT", "END", - "ROLLBACK", "CREATE", "TABLE", "IF", - "NOT", "EXISTS", "TEMP", "LP", - "RP", "AS", "COMMA", "ID", - "ABORT", "AFTER", "ANALYZE", "ASC", - "ATTACH", "BEFORE", "CASCADE", "CAST", - "CONFLICT", "DATABASE", "DESC", "DETACH", - "EACH", "FAIL", "FOR", "IGNORE", - "INITIALLY", "INSTEAD", "LIKE_KW", "MATCH", - "KEY", "OF", "OFFSET", "PRAGMA", - "RAISE", "REPLACE", "RESTRICT", "ROW", - "STATEMENT", "TRIGGER", "VACUUM", "VIEW", - "VIRTUAL", "REINDEX", "RENAME", "CTIME_KW", - "ANY", "OR", "AND", "IS", - "BETWEEN", "IN", "ISNULL", "NOTNULL", - "NE", "EQ", "GT", "LE", - "LT", "GE", "ESCAPE", "BITAND", - "BITOR", "LSHIFT", "RSHIFT", "PLUS", - "MINUS", "STAR", "SLASH", "REM", - "CONCAT", "COLLATE", "UMINUS", "UPLUS", - "BITNOT", "STRING", "JOIN_KW", "CONSTRAINT", - "DEFAULT", "NULL", "PRIMARY", "UNIQUE", - "CHECK", "REFERENCES", "AUTOINCR", "ON", - "DELETE", "UPDATE", "INSERT", "SET", - "DEFERRABLE", "FOREIGN", "DROP", "UNION", - "ALL", "EXCEPT", "INTERSECT", "SELECT", - "DISTINCT", "DOT", "FROM", "JOIN", - "USING", "ORDER", "BY", "GROUP", - "HAVING", "LIMIT", "WHERE", "INTO", - "VALUES", "INTEGER", "FLOAT", "BLOB", - "REGISTER", "VARIABLE", "CASE", "WHEN", - "THEN", "ELSE", "INDEX", "ALTER", - "TO", "ADD", "COLUMNKW", "error", - "input", "cmdlist", "ecmd", "cmdx", - "cmd", "explain", "transtype", "trans_opt", - "nm", "create_table", "create_table_args", "temp", - "ifnotexists", "dbnm", "columnlist", "conslist_opt", - "select", "column", "columnid", "type", - "carglist", "id", "ids", "typetoken", - "typename", "signed", "plus_num", "minus_num", - "carg", "ccons", "term", "expr", - "onconf", "sortorder", "autoinc", "idxlist_opt", - "refargs", "defer_subclause", "refarg", "refact", - "init_deferred_pred_opt", "conslist", "tcons", "idxlist", - "defer_subclause_opt", "orconf", "resolvetype", "raisetype", - "ifexists", "fullname", "oneselect", "multiselect_op", - "distinct", "selcollist", "from", "where_opt", - "groupby_opt", "having_opt", "orderby_opt", "limit_opt", - "sclp", "as", "seltablist", "stl_prefix", - "joinop", "on_opt", "using_opt", "seltablist_paren", - "joinop2", "inscollist", "sortlist", "sortitem", - "exprlist", "setlist", "insert_cmd", "inscollist_opt", - "itemlist", "likeop", "escape", "between_op", - "in_op", "case_operand", "case_exprlist", "case_else", - "expritem", "uniqueflag", "idxitem", "collate", - "nmnum", "plus_opt", "number", "trigger_decl", - "trigger_cmd_list", "trigger_time", "trigger_event", "foreach_clause", - "when_clause", "trigger_cmd", "database_kw_opt", "key_opt", - "add_column_fullname", "kwcolumn_opt", "create_vtab", "vtabarglist", - "vtabarg", "vtabargtoken", "lp", "anylist", -}; -#endif /* NDEBUG */ - -#ifndef NDEBUG -/* For tracing reduce actions, the names of all rules are required. -*/ -static const char *const yyRuleName[] = { - /* 0 */ "input ::= cmdlist", - /* 1 */ "cmdlist ::= cmdlist ecmd", - /* 2 */ "cmdlist ::= ecmd", - /* 3 */ "cmdx ::= cmd", - /* 4 */ "ecmd ::= SEMI", - /* 5 */ "ecmd ::= explain cmdx SEMI", - /* 6 */ "explain ::=", - /* 7 */ "explain ::= EXPLAIN", - /* 8 */ "explain ::= EXPLAIN QUERY PLAN", - /* 9 */ "cmd ::= BEGIN transtype trans_opt", - /* 10 */ "trans_opt ::=", - /* 11 */ "trans_opt ::= TRANSACTION", - /* 12 */ "trans_opt ::= TRANSACTION nm", - /* 13 */ "transtype ::=", - /* 14 */ "transtype ::= DEFERRED", - /* 15 */ "transtype ::= IMMEDIATE", - /* 16 */ "transtype ::= EXCLUSIVE", - /* 17 */ "cmd ::= COMMIT trans_opt", - /* 18 */ "cmd ::= END trans_opt", - /* 19 */ "cmd ::= ROLLBACK trans_opt", - /* 20 */ "cmd ::= create_table create_table_args", - /* 21 */ "create_table ::= CREATE temp TABLE ifnotexists nm dbnm", - /* 22 */ "ifnotexists ::=", - /* 23 */ "ifnotexists ::= IF NOT EXISTS", - /* 24 */ "temp ::= TEMP", - /* 25 */ "temp ::=", - /* 26 */ "create_table_args ::= LP columnlist conslist_opt RP", - /* 27 */ "create_table_args ::= AS select", - /* 28 */ "columnlist ::= columnlist COMMA column", - /* 29 */ "columnlist ::= column", - /* 30 */ "column ::= columnid type carglist", - /* 31 */ "columnid ::= nm", - /* 32 */ "id ::= ID", - /* 33 */ "ids ::= ID|STRING", - /* 34 */ "nm ::= ID", - /* 35 */ "nm ::= STRING", - /* 36 */ "nm ::= JOIN_KW", - /* 37 */ "type ::=", - /* 38 */ "type ::= typetoken", - /* 39 */ "typetoken ::= typename", - /* 40 */ "typetoken ::= typename LP signed RP", - /* 41 */ "typetoken ::= typename LP signed COMMA signed RP", - /* 42 */ "typename ::= ids", - /* 43 */ "typename ::= typename ids", - /* 44 */ "signed ::= plus_num", - /* 45 */ "signed ::= minus_num", - /* 46 */ "carglist ::= carglist carg", - /* 47 */ "carglist ::=", - /* 48 */ "carg ::= CONSTRAINT nm ccons", - /* 49 */ "carg ::= ccons", - /* 50 */ "ccons ::= DEFAULT term", - /* 51 */ "ccons ::= DEFAULT LP expr RP", - /* 52 */ "ccons ::= DEFAULT PLUS term", - /* 53 */ "ccons ::= DEFAULT MINUS term", - /* 54 */ "ccons ::= DEFAULT id", - /* 55 */ "ccons ::= NULL onconf", - /* 56 */ "ccons ::= NOT NULL onconf", - /* 57 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", - /* 58 */ "ccons ::= UNIQUE onconf", - /* 59 */ "ccons ::= CHECK LP expr RP", - /* 60 */ "ccons ::= REFERENCES nm idxlist_opt refargs", - /* 61 */ "ccons ::= defer_subclause", - /* 62 */ "ccons ::= COLLATE id", - /* 63 */ "autoinc ::=", - /* 64 */ "autoinc ::= AUTOINCR", - /* 65 */ "refargs ::=", - /* 66 */ "refargs ::= refargs refarg", - /* 67 */ "refarg ::= MATCH nm", - /* 68 */ "refarg ::= ON DELETE refact", - /* 69 */ "refarg ::= ON UPDATE refact", - /* 70 */ "refarg ::= ON INSERT refact", - /* 71 */ "refact ::= SET NULL", - /* 72 */ "refact ::= SET DEFAULT", - /* 73 */ "refact ::= CASCADE", - /* 74 */ "refact ::= RESTRICT", - /* 75 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", - /* 76 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", - /* 77 */ "init_deferred_pred_opt ::=", - /* 78 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", - /* 79 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", - /* 80 */ "conslist_opt ::=", - /* 81 */ "conslist_opt ::= COMMA conslist", - /* 82 */ "conslist ::= conslist COMMA tcons", - /* 83 */ "conslist ::= conslist tcons", - /* 84 */ "conslist ::= tcons", - /* 85 */ "tcons ::= CONSTRAINT nm", - /* 86 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", - /* 87 */ "tcons ::= UNIQUE LP idxlist RP onconf", - /* 88 */ "tcons ::= CHECK LP expr RP onconf", - /* 89 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", - /* 90 */ "defer_subclause_opt ::=", - /* 91 */ "defer_subclause_opt ::= defer_subclause", - /* 92 */ "onconf ::=", - /* 93 */ "onconf ::= ON CONFLICT resolvetype", - /* 94 */ "orconf ::=", - /* 95 */ "orconf ::= OR resolvetype", - /* 96 */ "resolvetype ::= raisetype", - /* 97 */ "resolvetype ::= IGNORE", - /* 98 */ "resolvetype ::= REPLACE", - /* 99 */ "cmd ::= DROP TABLE ifexists fullname", - /* 100 */ "ifexists ::= IF EXISTS", - /* 101 */ "ifexists ::=", - /* 102 */ "cmd ::= CREATE temp VIEW ifnotexists nm dbnm AS select", - /* 103 */ "cmd ::= DROP VIEW ifexists fullname", - /* 104 */ "cmd ::= select", - /* 105 */ "select ::= oneselect", - /* 106 */ "select ::= select multiselect_op oneselect", - /* 107 */ "multiselect_op ::= UNION", - /* 108 */ "multiselect_op ::= UNION ALL", - /* 109 */ "multiselect_op ::= EXCEPT|INTERSECT", - /* 110 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", - /* 111 */ "distinct ::= DISTINCT", - /* 112 */ "distinct ::= ALL", - /* 113 */ "distinct ::=", - /* 114 */ "sclp ::= selcollist COMMA", - /* 115 */ "sclp ::=", - /* 116 */ "selcollist ::= sclp expr as", - /* 117 */ "selcollist ::= sclp STAR", - /* 118 */ "selcollist ::= sclp nm DOT STAR", - /* 119 */ "as ::= AS nm", - /* 120 */ "as ::= ids", - /* 121 */ "as ::=", - /* 122 */ "from ::=", - /* 123 */ "from ::= FROM seltablist", - /* 124 */ "stl_prefix ::= seltablist joinop", - /* 125 */ "stl_prefix ::=", - /* 126 */ "seltablist ::= stl_prefix nm dbnm as on_opt using_opt", - /* 127 */ "seltablist ::= stl_prefix LP seltablist_paren RP as on_opt using_opt", - /* 128 */ "seltablist_paren ::= select", - /* 129 */ "seltablist_paren ::= seltablist", - /* 130 */ "dbnm ::=", - /* 131 */ "dbnm ::= DOT nm", - /* 132 */ "fullname ::= nm dbnm", - /* 133 */ "joinop ::= COMMA|JOIN", - /* 134 */ "joinop ::= JOIN_KW JOIN", - /* 135 */ "joinop ::= JOIN_KW nm JOIN", - /* 136 */ "joinop ::= JOIN_KW nm nm JOIN", - /* 137 */ "on_opt ::= ON expr", - /* 138 */ "on_opt ::=", - /* 139 */ "using_opt ::= USING LP inscollist RP", - /* 140 */ "using_opt ::=", - /* 141 */ "orderby_opt ::=", - /* 142 */ "orderby_opt ::= ORDER BY sortlist", - /* 143 */ "sortlist ::= sortlist COMMA sortitem sortorder", - /* 144 */ "sortlist ::= sortitem sortorder", - /* 145 */ "sortitem ::= expr", - /* 146 */ "sortorder ::= ASC", - /* 147 */ "sortorder ::= DESC", - /* 148 */ "sortorder ::=", - /* 149 */ "groupby_opt ::=", - /* 150 */ "groupby_opt ::= GROUP BY exprlist", - /* 151 */ "having_opt ::=", - /* 152 */ "having_opt ::= HAVING expr", - /* 153 */ "limit_opt ::=", - /* 154 */ "limit_opt ::= LIMIT expr", - /* 155 */ "limit_opt ::= LIMIT expr OFFSET expr", - /* 156 */ "limit_opt ::= LIMIT expr COMMA expr", - /* 157 */ "cmd ::= DELETE FROM fullname where_opt", - /* 158 */ "where_opt ::=", - /* 159 */ "where_opt ::= WHERE expr", - /* 160 */ "cmd ::= UPDATE orconf fullname SET setlist where_opt", - /* 161 */ "setlist ::= setlist COMMA nm EQ expr", - /* 162 */ "setlist ::= nm EQ expr", - /* 163 */ "cmd ::= insert_cmd INTO fullname inscollist_opt VALUES LP itemlist RP", - /* 164 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select", - /* 165 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", - /* 166 */ "insert_cmd ::= INSERT orconf", - /* 167 */ "insert_cmd ::= REPLACE", - /* 168 */ "itemlist ::= itemlist COMMA expr", - /* 169 */ "itemlist ::= expr", - /* 170 */ "inscollist_opt ::=", - /* 171 */ "inscollist_opt ::= LP inscollist RP", - /* 172 */ "inscollist ::= inscollist COMMA nm", - /* 173 */ "inscollist ::= nm", - /* 174 */ "expr ::= term", - /* 175 */ "expr ::= LP expr RP", - /* 176 */ "term ::= NULL", - /* 177 */ "expr ::= ID", - /* 178 */ "expr ::= JOIN_KW", - /* 179 */ "expr ::= nm DOT nm", - /* 180 */ "expr ::= nm DOT nm DOT nm", - /* 181 */ "term ::= INTEGER|FLOAT|BLOB", - /* 182 */ "term ::= STRING", - /* 183 */ "expr ::= REGISTER", - /* 184 */ "expr ::= VARIABLE", - /* 185 */ "expr ::= expr COLLATE id", - /* 186 */ "expr ::= CAST LP expr AS typetoken RP", - /* 187 */ "expr ::= ID LP distinct exprlist RP", - /* 188 */ "expr ::= ID LP STAR RP", - /* 189 */ "term ::= CTIME_KW", - /* 190 */ "expr ::= expr AND expr", - /* 191 */ "expr ::= expr OR expr", - /* 192 */ "expr ::= expr LT|GT|GE|LE expr", - /* 193 */ "expr ::= expr EQ|NE expr", - /* 194 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", - /* 195 */ "expr ::= expr PLUS|MINUS expr", - /* 196 */ "expr ::= expr STAR|SLASH|REM expr", - /* 197 */ "expr ::= expr CONCAT expr", - /* 198 */ "likeop ::= LIKE_KW", - /* 199 */ "likeop ::= NOT LIKE_KW", - /* 200 */ "likeop ::= MATCH", - /* 201 */ "likeop ::= NOT MATCH", - /* 202 */ "escape ::= ESCAPE expr", - /* 203 */ "escape ::=", - /* 204 */ "expr ::= expr likeop expr escape", - /* 205 */ "expr ::= expr ISNULL|NOTNULL", - /* 206 */ "expr ::= expr IS NULL", - /* 207 */ "expr ::= expr NOT NULL", - /* 208 */ "expr ::= expr IS NOT NULL", - /* 209 */ "expr ::= NOT|BITNOT expr", - /* 210 */ "expr ::= MINUS expr", - /* 211 */ "expr ::= PLUS expr", - /* 212 */ "between_op ::= BETWEEN", - /* 213 */ "between_op ::= NOT BETWEEN", - /* 214 */ "expr ::= expr between_op expr AND expr", - /* 215 */ "in_op ::= IN", - /* 216 */ "in_op ::= NOT IN", - /* 217 */ "expr ::= expr in_op LP exprlist RP", - /* 218 */ "expr ::= LP select RP", - /* 219 */ "expr ::= expr in_op LP select RP", - /* 220 */ "expr ::= expr in_op nm dbnm", - /* 221 */ "expr ::= EXISTS LP select RP", - /* 222 */ "expr ::= CASE case_operand case_exprlist case_else END", - /* 223 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", - /* 224 */ "case_exprlist ::= WHEN expr THEN expr", - /* 225 */ "case_else ::= ELSE expr", - /* 226 */ "case_else ::=", - /* 227 */ "case_operand ::= expr", - /* 228 */ "case_operand ::=", - /* 229 */ "exprlist ::= exprlist COMMA expritem", - /* 230 */ "exprlist ::= expritem", - /* 231 */ "expritem ::= expr", - /* 232 */ "expritem ::=", - /* 233 */ "cmd ::= CREATE uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP", - /* 234 */ "uniqueflag ::= UNIQUE", - /* 235 */ "uniqueflag ::=", - /* 236 */ "idxlist_opt ::=", - /* 237 */ "idxlist_opt ::= LP idxlist RP", - /* 238 */ "idxlist ::= idxlist COMMA idxitem collate sortorder", - /* 239 */ "idxlist ::= idxitem collate sortorder", - /* 240 */ "idxitem ::= nm", - /* 241 */ "collate ::=", - /* 242 */ "collate ::= COLLATE id", - /* 243 */ "cmd ::= DROP INDEX ifexists fullname", - /* 244 */ "cmd ::= VACUUM", - /* 245 */ "cmd ::= VACUUM nm", - /* 246 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", - /* 247 */ "cmd ::= PRAGMA nm dbnm EQ ON", - /* 248 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", - /* 249 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", - /* 250 */ "cmd ::= PRAGMA nm dbnm", - /* 251 */ "nmnum ::= plus_num", - /* 252 */ "nmnum ::= nm", - /* 253 */ "plus_num ::= plus_opt number", - /* 254 */ "minus_num ::= MINUS number", - /* 255 */ "number ::= INTEGER|FLOAT", - /* 256 */ "plus_opt ::= PLUS", - /* 257 */ "plus_opt ::=", - /* 258 */ "cmd ::= CREATE trigger_decl BEGIN trigger_cmd_list END", - /* 259 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", - /* 260 */ "trigger_time ::= BEFORE", - /* 261 */ "trigger_time ::= AFTER", - /* 262 */ "trigger_time ::= INSTEAD OF", - /* 263 */ "trigger_time ::=", - /* 264 */ "trigger_event ::= DELETE|INSERT", - /* 265 */ "trigger_event ::= UPDATE", - /* 266 */ "trigger_event ::= UPDATE OF inscollist", - /* 267 */ "foreach_clause ::=", - /* 268 */ "foreach_clause ::= FOR EACH ROW", - /* 269 */ "foreach_clause ::= FOR EACH STATEMENT", - /* 270 */ "when_clause ::=", - /* 271 */ "when_clause ::= WHEN expr", - /* 272 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", - /* 273 */ "trigger_cmd_list ::=", - /* 274 */ "trigger_cmd ::= UPDATE orconf nm SET setlist where_opt", - /* 275 */ "trigger_cmd ::= insert_cmd INTO nm inscollist_opt VALUES LP itemlist RP", - /* 276 */ "trigger_cmd ::= insert_cmd INTO nm inscollist_opt select", - /* 277 */ "trigger_cmd ::= DELETE FROM nm where_opt", - /* 278 */ "trigger_cmd ::= select", - /* 279 */ "expr ::= RAISE LP IGNORE RP", - /* 280 */ "expr ::= RAISE LP raisetype COMMA nm RP", - /* 281 */ "raisetype ::= ROLLBACK", - /* 282 */ "raisetype ::= ABORT", - /* 283 */ "raisetype ::= FAIL", - /* 284 */ "cmd ::= DROP TRIGGER ifexists fullname", - /* 285 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", - /* 286 */ "key_opt ::=", - /* 287 */ "key_opt ::= KEY expr", - /* 288 */ "database_kw_opt ::= DATABASE", - /* 289 */ "database_kw_opt ::=", - /* 290 */ "cmd ::= DETACH database_kw_opt expr", - /* 291 */ "cmd ::= REINDEX", - /* 292 */ "cmd ::= REINDEX nm dbnm", - /* 293 */ "cmd ::= ANALYZE", - /* 294 */ "cmd ::= ANALYZE nm dbnm", - /* 295 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", - /* 296 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", - /* 297 */ "add_column_fullname ::= fullname", - /* 298 */ "kwcolumn_opt ::=", - /* 299 */ "kwcolumn_opt ::= COLUMNKW", - /* 300 */ "cmd ::= create_vtab", - /* 301 */ "cmd ::= create_vtab LP vtabarglist RP", - /* 302 */ "create_vtab ::= CREATE VIRTUAL TABLE nm dbnm USING nm", - /* 303 */ "vtabarglist ::= vtabarg", - /* 304 */ "vtabarglist ::= vtabarglist COMMA vtabarg", - /* 305 */ "vtabarg ::=", - /* 306 */ "vtabarg ::= vtabarg vtabargtoken", - /* 307 */ "vtabargtoken ::= ANY", - /* 308 */ "vtabargtoken ::= lp anylist RP", - /* 309 */ "lp ::= LP", - /* 310 */ "anylist ::=", - /* 311 */ "anylist ::= anylist ANY", -}; -#endif /* NDEBUG */ - -/* -** This function returns the symbolic name associated with a token -** value. -*/ -const char *sqlite3ParserTokenName(int tokenType){ -#ifndef NDEBUG - if( tokenType>0 && tokenType<(sizeof(yyTokenName)/sizeof(yyTokenName[0])) ){ - return yyTokenName[tokenType]; - }else{ - return "Unknown"; - } -#else - return ""; -#endif -} - -/* -** This function allocates a new parser. -** The only argument is a pointer to a function which works like -** malloc. -** -** Inputs: -** A pointer to the function used to allocate memory. -** -** Outputs: -** A pointer to a parser. This pointer is used in subsequent calls -** to sqlite3Parser and sqlite3ParserFree. -*/ -void *sqlite3ParserAlloc(void *(*mallocProc)(size_t)){ - yyParser *pParser; - pParser = (yyParser*)(*mallocProc)( (size_t)sizeof(yyParser) ); - if( pParser ){ - pParser->yyidx = -1; - } - return pParser; -} - -/* The following function deletes the value associated with a -** symbol. The symbol can be either a terminal or nonterminal. -** "yymajor" is the symbol code, and "yypminor" is a pointer to -** the value. -*/ -static void yy_destructor(YYCODETYPE yymajor, YYMINORTYPE *yypminor){ - switch( yymajor ){ - /* Here is inserted the actions which take place when a - ** terminal or non-terminal is destroyed. This can happen - ** when the symbol is popped from the stack during a - ** reduce or during error processing or when a parser is - ** being destroyed before it is finished parsing. - ** - ** Note: during a reduce, the only symbols destroyed are those - ** which appear on the RHS of the rule, but which are not used - ** inside the C code. - */ - case 156: - case 190: - case 207: -#line 375 "parse.y" -{sqlite3SelectDelete((yypminor->yy43));} -#line 1257 "parse.c" - break; - case 170: - case 171: - case 195: - case 197: - case 205: - case 211: - case 218: - case 221: - case 223: - case 224: - case 236: -#line 616 "parse.y" -{sqlite3ExprDelete((yypminor->yy450));} -#line 1272 "parse.c" - break; - case 175: - case 183: - case 193: - case 196: - case 198: - case 200: - case 210: - case 212: - case 213: - case 216: - case 222: -#line 856 "parse.y" -{sqlite3ExprListDelete((yypminor->yy242));} -#line 1287 "parse.c" - break; - case 189: - case 194: - case 202: - case 203: -#line 488 "parse.y" -{sqlite3SrcListDelete((yypminor->yy419));} -#line 1295 "parse.c" - break; - case 199: -#line 546 "parse.y" -{ - sqlite3ExprDelete((yypminor->yy84).pLimit); - sqlite3ExprDelete((yypminor->yy84).pOffset); -} -#line 1303 "parse.c" - break; - case 206: - case 209: - case 215: -#line 505 "parse.y" -{sqlite3IdListDelete((yypminor->yy352));} -#line 1310 "parse.c" - break; - case 232: - case 237: -#line 957 "parse.y" -{sqlite3DeleteTriggerStep((yypminor->yy75));} -#line 1316 "parse.c" - break; - case 234: -#line 941 "parse.y" -{sqlite3IdListDelete((yypminor->yy354).b);} -#line 1321 "parse.c" - break; - case 239: -#line 1025 "parse.y" -{sqlite3ExprDelete((yypminor->yy158));} -#line 1326 "parse.c" - break; - default: break; /* If no destructor action specified: do nothing */ - } -} - -/* -** Pop the parser's stack once. -** -** If there is a destructor routine associated with the token which -** is popped from the stack, then call it. -** -** Return the major token number for the symbol popped. -*/ -static int yy_pop_parser_stack(yyParser *pParser){ - YYCODETYPE yymajor; - yyStackEntry *yytos = &pParser->yystack[pParser->yyidx]; - - if( pParser->yyidx<0 ) return 0; -#ifndef NDEBUG - if( yyTraceFILE && pParser->yyidx>=0 ){ - fprintf(yyTraceFILE,"%sPopping %s\n", - yyTracePrompt, - yyTokenName[yytos->major]); - } -#endif - yymajor = yytos->major; - yy_destructor( yymajor, &yytos->minor); - pParser->yyidx--; - return yymajor; -} - -/* -** Deallocate and destroy a parser. Destructors are all called for -** all stack elements before shutting the parser down. -** -** Inputs: -**
    -**
  • A pointer to the parser. This should be a pointer -** obtained from sqlite3ParserAlloc. -**
  • A pointer to a function used to reclaim memory obtained -** from malloc. -**
-*/ -void sqlite3ParserFree( - void *p, /* The parser to be deleted */ - void (*freeProc)(void*) /* Function used to reclaim memory */ -){ - yyParser *pParser = (yyParser*)p; - if( pParser==0 ) return; - while( pParser->yyidx>=0 ) yy_pop_parser_stack(pParser); - (*freeProc)((void*)pParser); -} - -/* -** Find the appropriate action for a parser given the terminal -** look-ahead token iLookAhead. -** -** If the look-ahead token is YYNOCODE, then check to see if the action is -** independent of the look-ahead. If it is, return the action, otherwise -** return YY_NO_ACTION. -*/ -static int yy_find_shift_action( - yyParser *pParser, /* The parser */ - YYCODETYPE iLookAhead /* The look-ahead token */ -){ - int i; - int stateno = pParser->yystack[pParser->yyidx].stateno; - - if( stateno>YY_SHIFT_MAX || (i = yy_shift_ofst[stateno])==YY_SHIFT_USE_DFLT ){ - return yy_default[stateno]; - } - if( iLookAhead==YYNOCODE ){ - return YY_NO_ACTION; - } - i += iLookAhead; - if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){ - if( iLookAhead>0 ){ -#ifdef YYFALLBACK - int iFallback; /* Fallback token */ - if( iLookAhead %s\n", - yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]); - } -#endif - return yy_find_shift_action(pParser, iFallback); - } -#endif -#ifdef YYWILDCARD - { - int j = i - iLookAhead + YYWILDCARD; - if( j>=0 && j %s\n", - yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[YYWILDCARD]); - } -#endif /* NDEBUG */ - return yy_action[j]; - } - } -#endif /* YYWILDCARD */ - } - return yy_default[stateno]; - }else{ - return yy_action[i]; - } -} - -/* -** Find the appropriate action for a parser given the non-terminal -** look-ahead token iLookAhead. -** -** If the look-ahead token is YYNOCODE, then check to see if the action is -** independent of the look-ahead. If it is, return the action, otherwise -** return YY_NO_ACTION. -*/ -static int yy_find_reduce_action( - int stateno, /* Current state number */ - YYCODETYPE iLookAhead /* The look-ahead token */ -){ - int i; - /* int stateno = pParser->yystack[pParser->yyidx].stateno; */ - - if( stateno>YY_REDUCE_MAX || - (i = yy_reduce_ofst[stateno])==YY_REDUCE_USE_DFLT ){ - return yy_default[stateno]; - } - if( iLookAhead==YYNOCODE ){ - return YY_NO_ACTION; - } - i += iLookAhead; - if( i<0 || i>=YY_SZ_ACTTAB || yy_lookahead[i]!=iLookAhead ){ - return yy_default[stateno]; - }else{ - return yy_action[i]; - } -} - -/* -** Perform a shift action. -*/ -static void yy_shift( - yyParser *yypParser, /* The parser to be shifted */ - int yyNewState, /* The new state to shift in */ - int yyMajor, /* The major token to shift in */ - YYMINORTYPE *yypMinor /* Pointer ot the minor token to shift in */ -){ - yyStackEntry *yytos; - yypParser->yyidx++; - if( yypParser->yyidx>=YYSTACKDEPTH ){ - sqlite3ParserARG_FETCH; - yypParser->yyidx--; -#ifndef NDEBUG - if( yyTraceFILE ){ - fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt); - } -#endif - while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser); - /* Here code is inserted which will execute if the parser - ** stack every overflows */ -#line 44 "parse.y" - - sqlite3ErrorMsg(pParse, "parser stack overflow"); - pParse->parseError = 1; -#line 1495 "parse.c" - sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument var */ - return; - } - yytos = &yypParser->yystack[yypParser->yyidx]; - yytos->stateno = yyNewState; - yytos->major = yyMajor; - yytos->minor = *yypMinor; -#ifndef NDEBUG - if( yyTraceFILE && yypParser->yyidx>0 ){ - int i; - fprintf(yyTraceFILE,"%sShift %d\n",yyTracePrompt,yyNewState); - fprintf(yyTraceFILE,"%sStack:",yyTracePrompt); - for(i=1; i<=yypParser->yyidx; i++) - fprintf(yyTraceFILE," %s",yyTokenName[yypParser->yystack[i].major]); - fprintf(yyTraceFILE,"\n"); - } -#endif -} - -/* The following table contains information about every rule that -** is used during the reduce. -*/ -static const struct { - YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ - unsigned char nrhs; /* Number of right-hand side symbols in the rule */ -} yyRuleInfo[] = { - { 140, 1 }, - { 141, 2 }, - { 141, 1 }, - { 143, 1 }, - { 142, 1 }, - { 142, 3 }, - { 145, 0 }, - { 145, 1 }, - { 145, 3 }, - { 144, 3 }, - { 147, 0 }, - { 147, 1 }, - { 147, 2 }, - { 146, 0 }, - { 146, 1 }, - { 146, 1 }, - { 146, 1 }, - { 144, 2 }, - { 144, 2 }, - { 144, 2 }, - { 144, 2 }, - { 149, 6 }, - { 152, 0 }, - { 152, 3 }, - { 151, 1 }, - { 151, 0 }, - { 150, 4 }, - { 150, 2 }, - { 154, 3 }, - { 154, 1 }, - { 157, 3 }, - { 158, 1 }, - { 161, 1 }, - { 162, 1 }, - { 148, 1 }, - { 148, 1 }, - { 148, 1 }, - { 159, 0 }, - { 159, 1 }, - { 163, 1 }, - { 163, 4 }, - { 163, 6 }, - { 164, 1 }, - { 164, 2 }, - { 165, 1 }, - { 165, 1 }, - { 160, 2 }, - { 160, 0 }, - { 168, 3 }, - { 168, 1 }, - { 169, 2 }, - { 169, 4 }, - { 169, 3 }, - { 169, 3 }, - { 169, 2 }, - { 169, 2 }, - { 169, 3 }, - { 169, 5 }, - { 169, 2 }, - { 169, 4 }, - { 169, 4 }, - { 169, 1 }, - { 169, 2 }, - { 174, 0 }, - { 174, 1 }, - { 176, 0 }, - { 176, 2 }, - { 178, 2 }, - { 178, 3 }, - { 178, 3 }, - { 178, 3 }, - { 179, 2 }, - { 179, 2 }, - { 179, 1 }, - { 179, 1 }, - { 177, 3 }, - { 177, 2 }, - { 180, 0 }, - { 180, 2 }, - { 180, 2 }, - { 155, 0 }, - { 155, 2 }, - { 181, 3 }, - { 181, 2 }, - { 181, 1 }, - { 182, 2 }, - { 182, 7 }, - { 182, 5 }, - { 182, 5 }, - { 182, 10 }, - { 184, 0 }, - { 184, 1 }, - { 172, 0 }, - { 172, 3 }, - { 185, 0 }, - { 185, 2 }, - { 186, 1 }, - { 186, 1 }, - { 186, 1 }, - { 144, 4 }, - { 188, 2 }, - { 188, 0 }, - { 144, 8 }, - { 144, 4 }, - { 144, 1 }, - { 156, 1 }, - { 156, 3 }, - { 191, 1 }, - { 191, 2 }, - { 191, 1 }, - { 190, 9 }, - { 192, 1 }, - { 192, 1 }, - { 192, 0 }, - { 200, 2 }, - { 200, 0 }, - { 193, 3 }, - { 193, 2 }, - { 193, 4 }, - { 201, 2 }, - { 201, 1 }, - { 201, 0 }, - { 194, 0 }, - { 194, 2 }, - { 203, 2 }, - { 203, 0 }, - { 202, 6 }, - { 202, 7 }, - { 207, 1 }, - { 207, 1 }, - { 153, 0 }, - { 153, 2 }, - { 189, 2 }, - { 204, 1 }, - { 204, 2 }, - { 204, 3 }, - { 204, 4 }, - { 205, 2 }, - { 205, 0 }, - { 206, 4 }, - { 206, 0 }, - { 198, 0 }, - { 198, 3 }, - { 210, 4 }, - { 210, 2 }, - { 211, 1 }, - { 173, 1 }, - { 173, 1 }, - { 173, 0 }, - { 196, 0 }, - { 196, 3 }, - { 197, 0 }, - { 197, 2 }, - { 199, 0 }, - { 199, 2 }, - { 199, 4 }, - { 199, 4 }, - { 144, 4 }, - { 195, 0 }, - { 195, 2 }, - { 144, 6 }, - { 213, 5 }, - { 213, 3 }, - { 144, 8 }, - { 144, 5 }, - { 144, 6 }, - { 214, 2 }, - { 214, 1 }, - { 216, 3 }, - { 216, 1 }, - { 215, 0 }, - { 215, 3 }, - { 209, 3 }, - { 209, 1 }, - { 171, 1 }, - { 171, 3 }, - { 170, 1 }, - { 171, 1 }, - { 171, 1 }, - { 171, 3 }, - { 171, 5 }, - { 170, 1 }, - { 170, 1 }, - { 171, 1 }, - { 171, 1 }, - { 171, 3 }, - { 171, 6 }, - { 171, 5 }, - { 171, 4 }, - { 170, 1 }, - { 171, 3 }, - { 171, 3 }, - { 171, 3 }, - { 171, 3 }, - { 171, 3 }, - { 171, 3 }, - { 171, 3 }, - { 171, 3 }, - { 217, 1 }, - { 217, 2 }, - { 217, 1 }, - { 217, 2 }, - { 218, 2 }, - { 218, 0 }, - { 171, 4 }, - { 171, 2 }, - { 171, 3 }, - { 171, 3 }, - { 171, 4 }, - { 171, 2 }, - { 171, 2 }, - { 171, 2 }, - { 219, 1 }, - { 219, 2 }, - { 171, 5 }, - { 220, 1 }, - { 220, 2 }, - { 171, 5 }, - { 171, 3 }, - { 171, 5 }, - { 171, 4 }, - { 171, 4 }, - { 171, 5 }, - { 222, 5 }, - { 222, 4 }, - { 223, 2 }, - { 223, 0 }, - { 221, 1 }, - { 221, 0 }, - { 212, 3 }, - { 212, 1 }, - { 224, 1 }, - { 224, 0 }, - { 144, 11 }, - { 225, 1 }, - { 225, 0 }, - { 175, 0 }, - { 175, 3 }, - { 183, 5 }, - { 183, 3 }, - { 226, 1 }, - { 227, 0 }, - { 227, 2 }, - { 144, 4 }, - { 144, 1 }, - { 144, 2 }, - { 144, 5 }, - { 144, 5 }, - { 144, 5 }, - { 144, 6 }, - { 144, 3 }, - { 228, 1 }, - { 228, 1 }, - { 166, 2 }, - { 167, 2 }, - { 230, 1 }, - { 229, 1 }, - { 229, 0 }, - { 144, 5 }, - { 231, 11 }, - { 233, 1 }, - { 233, 1 }, - { 233, 2 }, - { 233, 0 }, - { 234, 1 }, - { 234, 1 }, - { 234, 3 }, - { 235, 0 }, - { 235, 3 }, - { 235, 3 }, - { 236, 0 }, - { 236, 2 }, - { 232, 3 }, - { 232, 0 }, - { 237, 6 }, - { 237, 8 }, - { 237, 5 }, - { 237, 4 }, - { 237, 1 }, - { 171, 4 }, - { 171, 6 }, - { 187, 1 }, - { 187, 1 }, - { 187, 1 }, - { 144, 4 }, - { 144, 6 }, - { 239, 0 }, - { 239, 2 }, - { 238, 1 }, - { 238, 0 }, - { 144, 3 }, - { 144, 1 }, - { 144, 3 }, - { 144, 1 }, - { 144, 3 }, - { 144, 6 }, - { 144, 6 }, - { 240, 1 }, - { 241, 0 }, - { 241, 1 }, - { 144, 1 }, - { 144, 4 }, - { 242, 7 }, - { 243, 1 }, - { 243, 3 }, - { 244, 0 }, - { 244, 2 }, - { 245, 1 }, - { 245, 3 }, - { 246, 1 }, - { 247, 0 }, - { 247, 2 }, -}; - -static void yy_accept(yyParser*); /* Forward Declaration */ - -/* -** Perform a reduce action and the shift that must immediately -** follow the reduce. -*/ -static void yy_reduce( - yyParser *yypParser, /* The parser */ - int yyruleno /* Number of the rule by which to reduce */ -){ - int yygoto; /* The next state */ - int yyact; /* The next action */ - YYMINORTYPE yygotominor; /* The LHS of the rule reduced */ - yyStackEntry *yymsp; /* The top of the parser's stack */ - int yysize; /* Amount to pop the stack */ - sqlite3ParserARG_FETCH; - yymsp = &yypParser->yystack[yypParser->yyidx]; -#ifndef NDEBUG - if( yyTraceFILE && yyruleno>=0 - && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){ - fprintf(yyTraceFILE, "%sReduce [%s].\n", yyTracePrompt, - yyRuleName[yyruleno]); - } -#endif /* NDEBUG */ - - /* Silence complaints from purify about yygotominor being uninitialized - ** in some cases when it is copied into the stack after the following - ** switch. yygotominor is uninitialized when a rule reduces that does - ** not set the value of its left-hand side nonterminal. Leaving the - ** value of the nonterminal uninitialized is utterly harmless as long - ** as the value is never used. So really the only thing this code - ** accomplishes is to quieten purify. - ** - ** 2007-01-16: The wireshark project (www.wireshark.org) reports that - ** without this code, their parser segfaults. I'm not sure what there - ** parser is doing to make this happen. This is the second bug report - ** from wireshark this week. Clearly they are stressing Lemon in ways - ** that it has not been previously stressed... (SQLite ticket #2172) - */ - memset(&yygotominor, 0, sizeof(yygotominor)); - - - switch( yyruleno ){ - /* Beginning here are the reduction cases. A typical example - ** follows: - ** case 0: - ** #line - ** { ... } // User supplied code - ** #line - ** break; - */ - case 3: -#line 100 "parse.y" -{ sqlite3FinishCoding(pParse); } -#line 1890 "parse.c" - break; - case 6: -#line 103 "parse.y" -{ sqlite3BeginParse(pParse, 0); } -#line 1895 "parse.c" - break; - case 7: -#line 105 "parse.y" -{ sqlite3BeginParse(pParse, 1); } -#line 1900 "parse.c" - break; - case 8: -#line 106 "parse.y" -{ sqlite3BeginParse(pParse, 2); } -#line 1905 "parse.c" - break; - case 9: -#line 112 "parse.y" -{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy316);} -#line 1910 "parse.c" - break; - case 13: -#line 117 "parse.y" -{yygotominor.yy316 = TK_DEFERRED;} -#line 1915 "parse.c" - break; - case 14: - case 15: - case 16: - case 107: - case 109: -#line 118 "parse.y" -{yygotominor.yy316 = yymsp[0].major;} -#line 1924 "parse.c" - break; - case 17: - case 18: -#line 121 "parse.y" -{sqlite3CommitTransaction(pParse);} -#line 1930 "parse.c" - break; - case 19: -#line 123 "parse.y" -{sqlite3RollbackTransaction(pParse);} -#line 1935 "parse.c" - break; - case 21: -#line 128 "parse.y" -{ - sqlite3StartTable(pParse,&yymsp[-1].minor.yy178,&yymsp[0].minor.yy178,yymsp[-4].minor.yy316,0,0,yymsp[-2].minor.yy316); -} -#line 1942 "parse.c" - break; - case 22: - case 25: - case 63: - case 77: - case 79: - case 90: - case 101: - case 112: - case 113: - case 212: - case 215: -#line 132 "parse.y" -{yygotominor.yy316 = 0;} -#line 1957 "parse.c" - break; - case 23: - case 24: - case 64: - case 78: - case 100: - case 111: - case 213: - case 216: -#line 133 "parse.y" -{yygotominor.yy316 = 1;} -#line 1969 "parse.c" - break; - case 26: -#line 139 "parse.y" -{ - sqlite3EndTable(pParse,&yymsp[-1].minor.yy178,&yymsp[0].minor.yy0,0); -} -#line 1976 "parse.c" - break; - case 27: -#line 142 "parse.y" -{ - sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy43); - sqlite3SelectDelete(yymsp[0].minor.yy43); -} -#line 1984 "parse.c" - break; - case 30: -#line 154 "parse.y" -{ - yygotominor.yy178.z = yymsp[-2].minor.yy178.z; - yygotominor.yy178.n = (pParse->sLastToken.z-yymsp[-2].minor.yy178.z) + pParse->sLastToken.n; -} -#line 1992 "parse.c" - break; - case 31: -#line 158 "parse.y" -{ - sqlite3AddColumn(pParse,&yymsp[0].minor.yy178); - yygotominor.yy178 = yymsp[0].minor.yy178; -} -#line 2000 "parse.c" - break; - case 32: - case 33: - case 34: - case 35: - case 36: - case 255: -#line 168 "parse.y" -{yygotominor.yy178 = yymsp[0].minor.yy0;} -#line 2010 "parse.c" - break; - case 38: -#line 229 "parse.y" -{sqlite3AddColumnType(pParse,&yymsp[0].minor.yy178);} -#line 2015 "parse.c" - break; - case 39: - case 42: - case 119: - case 120: - case 131: - case 240: - case 242: - case 251: - case 252: - case 253: - case 254: -#line 230 "parse.y" -{yygotominor.yy178 = yymsp[0].minor.yy178;} -#line 2030 "parse.c" - break; - case 40: -#line 231 "parse.y" -{ - yygotominor.yy178.z = yymsp[-3].minor.yy178.z; - yygotominor.yy178.n = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy178.z; -} -#line 2038 "parse.c" - break; - case 41: -#line 235 "parse.y" -{ - yygotominor.yy178.z = yymsp[-5].minor.yy178.z; - yygotominor.yy178.n = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy178.z; -} -#line 2046 "parse.c" - break; - case 43: -#line 241 "parse.y" -{yygotominor.yy178.z=yymsp[-1].minor.yy178.z; yygotominor.yy178.n=yymsp[0].minor.yy178.n+(yymsp[0].minor.yy178.z-yymsp[-1].minor.yy178.z);} -#line 2051 "parse.c" - break; - case 44: -#line 243 "parse.y" -{ yygotominor.yy316 = atoi((char*)yymsp[0].minor.yy178.z); } -#line 2056 "parse.c" - break; - case 45: -#line 244 "parse.y" -{ yygotominor.yy316 = -atoi((char*)yymsp[0].minor.yy178.z); } -#line 2061 "parse.c" - break; - case 50: - case 52: -#line 253 "parse.y" -{sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy450);} -#line 2067 "parse.c" - break; - case 51: -#line 254 "parse.y" -{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy450);} -#line 2072 "parse.c" - break; - case 53: -#line 256 "parse.y" -{ - Expr *p = sqlite3Expr(TK_UMINUS, yymsp[0].minor.yy450, 0, 0); - sqlite3AddDefaultValue(pParse,p); -} -#line 2080 "parse.c" - break; - case 54: -#line 260 "parse.y" -{ - Expr *p = sqlite3Expr(TK_STRING, 0, 0, &yymsp[0].minor.yy178); - sqlite3AddDefaultValue(pParse,p); -} -#line 2088 "parse.c" - break; - case 56: -#line 269 "parse.y" -{sqlite3AddNotNull(pParse, yymsp[0].minor.yy316);} -#line 2093 "parse.c" - break; - case 57: -#line 271 "parse.y" -{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy316,yymsp[0].minor.yy316,yymsp[-2].minor.yy316);} -#line 2098 "parse.c" - break; - case 58: -#line 272 "parse.y" -{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy316,0,0,0,0);} -#line 2103 "parse.c" - break; - case 59: -#line 273 "parse.y" -{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy450);} -#line 2108 "parse.c" - break; - case 60: -#line 275 "parse.y" -{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy178,yymsp[-1].minor.yy242,yymsp[0].minor.yy316);} -#line 2113 "parse.c" - break; - case 61: -#line 276 "parse.y" -{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy316);} -#line 2118 "parse.c" - break; - case 62: -#line 277 "parse.y" -{sqlite3AddCollateType(pParse, (char*)yymsp[0].minor.yy178.z, yymsp[0].minor.yy178.n);} -#line 2123 "parse.c" - break; - case 65: -#line 290 "parse.y" -{ yygotominor.yy316 = OE_Restrict * 0x010101; } -#line 2128 "parse.c" - break; - case 66: -#line 291 "parse.y" -{ yygotominor.yy316 = (yymsp[-1].minor.yy316 & yymsp[0].minor.yy207.mask) | yymsp[0].minor.yy207.value; } -#line 2133 "parse.c" - break; - case 67: -#line 293 "parse.y" -{ yygotominor.yy207.value = 0; yygotominor.yy207.mask = 0x000000; } -#line 2138 "parse.c" - break; - case 68: -#line 294 "parse.y" -{ yygotominor.yy207.value = yymsp[0].minor.yy316; yygotominor.yy207.mask = 0x0000ff; } -#line 2143 "parse.c" - break; - case 69: -#line 295 "parse.y" -{ yygotominor.yy207.value = yymsp[0].minor.yy316<<8; yygotominor.yy207.mask = 0x00ff00; } -#line 2148 "parse.c" - break; - case 70: -#line 296 "parse.y" -{ yygotominor.yy207.value = yymsp[0].minor.yy316<<16; yygotominor.yy207.mask = 0xff0000; } -#line 2153 "parse.c" - break; - case 71: -#line 298 "parse.y" -{ yygotominor.yy316 = OE_SetNull; } -#line 2158 "parse.c" - break; - case 72: -#line 299 "parse.y" -{ yygotominor.yy316 = OE_SetDflt; } -#line 2163 "parse.c" - break; - case 73: -#line 300 "parse.y" -{ yygotominor.yy316 = OE_Cascade; } -#line 2168 "parse.c" - break; - case 74: -#line 301 "parse.y" -{ yygotominor.yy316 = OE_Restrict; } -#line 2173 "parse.c" - break; - case 75: - case 76: - case 91: - case 93: - case 95: - case 96: - case 166: -#line 303 "parse.y" -{yygotominor.yy316 = yymsp[0].minor.yy316;} -#line 2184 "parse.c" - break; - case 80: -#line 313 "parse.y" -{yygotominor.yy178.n = 0; yygotominor.yy178.z = 0;} -#line 2189 "parse.c" - break; - case 81: -#line 314 "parse.y" -{yygotominor.yy178 = yymsp[-1].minor.yy0;} -#line 2194 "parse.c" - break; - case 86: -#line 320 "parse.y" -{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy242,yymsp[0].minor.yy316,yymsp[-2].minor.yy316,0);} -#line 2199 "parse.c" - break; - case 87: -#line 322 "parse.y" -{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy242,yymsp[0].minor.yy316,0,0,0,0);} -#line 2204 "parse.c" - break; - case 88: -#line 323 "parse.y" -{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy450);} -#line 2209 "parse.c" - break; - case 89: -#line 325 "parse.y" -{ - sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy242, &yymsp[-3].minor.yy178, yymsp[-2].minor.yy242, yymsp[-1].minor.yy316); - sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy316); -} -#line 2217 "parse.c" - break; - case 92: - case 94: -#line 339 "parse.y" -{yygotominor.yy316 = OE_Default;} -#line 2223 "parse.c" - break; - case 97: -#line 344 "parse.y" -{yygotominor.yy316 = OE_Ignore;} -#line 2228 "parse.c" - break; - case 98: - case 167: -#line 345 "parse.y" -{yygotominor.yy316 = OE_Replace;} -#line 2234 "parse.c" - break; - case 99: -#line 349 "parse.y" -{ - sqlite3DropTable(pParse, yymsp[0].minor.yy419, 0, yymsp[-1].minor.yy316); -} -#line 2241 "parse.c" - break; - case 102: -#line 359 "parse.y" -{ - sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy178, &yymsp[-2].minor.yy178, yymsp[0].minor.yy43, yymsp[-6].minor.yy316, yymsp[-4].minor.yy316); -} -#line 2248 "parse.c" - break; - case 103: -#line 362 "parse.y" -{ - sqlite3DropTable(pParse, yymsp[0].minor.yy419, 1, yymsp[-1].minor.yy316); -} -#line 2255 "parse.c" - break; - case 104: -#line 369 "parse.y" -{ - sqlite3Select(pParse, yymsp[0].minor.yy43, SRT_Callback, 0, 0, 0, 0, 0); - sqlite3SelectDelete(yymsp[0].minor.yy43); -} -#line 2263 "parse.c" - break; - case 105: - case 128: -#line 379 "parse.y" -{yygotominor.yy43 = yymsp[0].minor.yy43;} -#line 2269 "parse.c" - break; - case 106: -#line 381 "parse.y" -{ - if( yymsp[0].minor.yy43 ){ - yymsp[0].minor.yy43->op = yymsp[-1].minor.yy316; - yymsp[0].minor.yy43->pPrior = yymsp[-2].minor.yy43; - } - yygotominor.yy43 = yymsp[0].minor.yy43; -} -#line 2280 "parse.c" - break; - case 108: -#line 390 "parse.y" -{yygotominor.yy316 = TK_ALL;} -#line 2285 "parse.c" - break; - case 110: -#line 394 "parse.y" -{ - yygotominor.yy43 = sqlite3SelectNew(yymsp[-6].minor.yy242,yymsp[-5].minor.yy419,yymsp[-4].minor.yy450,yymsp[-3].minor.yy242,yymsp[-2].minor.yy450,yymsp[-1].minor.yy242,yymsp[-7].minor.yy316,yymsp[0].minor.yy84.pLimit,yymsp[0].minor.yy84.pOffset); -} -#line 2292 "parse.c" - break; - case 114: - case 237: -#line 415 "parse.y" -{yygotominor.yy242 = yymsp[-1].minor.yy242;} -#line 2298 "parse.c" - break; - case 115: - case 141: - case 149: - case 236: -#line 416 "parse.y" -{yygotominor.yy242 = 0;} -#line 2306 "parse.c" - break; - case 116: -#line 417 "parse.y" -{ - yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-2].minor.yy242,yymsp[-1].minor.yy450,yymsp[0].minor.yy178.n?&yymsp[0].minor.yy178:0); -} -#line 2313 "parse.c" - break; - case 117: -#line 420 "parse.y" -{ - yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-1].minor.yy242, sqlite3Expr(TK_ALL, 0, 0, 0), 0); -} -#line 2320 "parse.c" - break; - case 118: -#line 423 "parse.y" -{ - Expr *pRight = sqlite3Expr(TK_ALL, 0, 0, 0); - Expr *pLeft = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy178); - yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-3].minor.yy242, sqlite3Expr(TK_DOT, pLeft, pRight, 0), 0); -} -#line 2329 "parse.c" - break; - case 121: -#line 435 "parse.y" -{yygotominor.yy178.n = 0;} -#line 2334 "parse.c" - break; - case 122: -#line 447 "parse.y" -{yygotominor.yy419 = sqliteMalloc(sizeof(*yygotominor.yy419));} -#line 2339 "parse.c" - break; - case 123: -#line 448 "parse.y" -{ - yygotominor.yy419 = yymsp[0].minor.yy419; - sqlite3SrcListShiftJoinType(yygotominor.yy419); -} -#line 2347 "parse.c" - break; - case 124: -#line 456 "parse.y" -{ - yygotominor.yy419 = yymsp[-1].minor.yy419; - if( yygotominor.yy419 && yygotominor.yy419->nSrc>0 ) yygotominor.yy419->a[yygotominor.yy419->nSrc-1].jointype = yymsp[0].minor.yy316; -} -#line 2355 "parse.c" - break; - case 125: -#line 460 "parse.y" -{yygotominor.yy419 = 0;} -#line 2360 "parse.c" - break; - case 126: -#line 461 "parse.y" -{ - yygotominor.yy419 = sqlite3SrcListAppendFromTerm(yymsp[-5].minor.yy419,&yymsp[-4].minor.yy178,&yymsp[-3].minor.yy178,&yymsp[-2].minor.yy178,0,yymsp[-1].minor.yy450,yymsp[0].minor.yy352); -} -#line 2367 "parse.c" - break; - case 127: -#line 466 "parse.y" -{ - yygotominor.yy419 = sqlite3SrcListAppendFromTerm(yymsp[-6].minor.yy419,0,0,&yymsp[-2].minor.yy178,yymsp[-4].minor.yy43,yymsp[-1].minor.yy450,yymsp[0].minor.yy352); - } -#line 2374 "parse.c" - break; - case 129: -#line 477 "parse.y" -{ - sqlite3SrcListShiftJoinType(yymsp[0].minor.yy419); - yygotominor.yy43 = sqlite3SelectNew(0,yymsp[0].minor.yy419,0,0,0,0,0,0,0); - } -#line 2382 "parse.c" - break; - case 130: -#line 484 "parse.y" -{yygotominor.yy178.z=0; yygotominor.yy178.n=0;} -#line 2387 "parse.c" - break; - case 132: -#line 489 "parse.y" -{yygotominor.yy419 = sqlite3SrcListAppend(0,&yymsp[-1].minor.yy178,&yymsp[0].minor.yy178);} -#line 2392 "parse.c" - break; - case 133: -#line 493 "parse.y" -{ yygotominor.yy316 = JT_INNER; } -#line 2397 "parse.c" - break; - case 134: -#line 494 "parse.y" -{ yygotominor.yy316 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } -#line 2402 "parse.c" - break; - case 135: -#line 495 "parse.y" -{ yygotominor.yy316 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy178,0); } -#line 2407 "parse.c" - break; - case 136: -#line 497 "parse.y" -{ yygotominor.yy316 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy178,&yymsp[-1].minor.yy178); } -#line 2412 "parse.c" - break; - case 137: - case 145: - case 152: - case 159: - case 174: - case 202: - case 225: - case 227: - case 231: -#line 501 "parse.y" -{yygotominor.yy450 = yymsp[0].minor.yy450;} -#line 2425 "parse.c" - break; - case 138: - case 151: - case 158: - case 203: - case 226: - case 228: - case 232: -#line 502 "parse.y" -{yygotominor.yy450 = 0;} -#line 2436 "parse.c" - break; - case 139: - case 171: -#line 506 "parse.y" -{yygotominor.yy352 = yymsp[-1].minor.yy352;} -#line 2442 "parse.c" - break; - case 140: - case 170: -#line 507 "parse.y" -{yygotominor.yy352 = 0;} -#line 2448 "parse.c" - break; - case 142: - case 150: -#line 518 "parse.y" -{yygotominor.yy242 = yymsp[0].minor.yy242;} -#line 2454 "parse.c" - break; - case 143: -#line 519 "parse.y" -{ - yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-3].minor.yy242,yymsp[-1].minor.yy450,0); - if( yygotominor.yy242 ) yygotominor.yy242->a[yygotominor.yy242->nExpr-1].sortOrder = yymsp[0].minor.yy316; -} -#line 2462 "parse.c" - break; - case 144: -#line 523 "parse.y" -{ - yygotominor.yy242 = sqlite3ExprListAppend(0,yymsp[-1].minor.yy450,0); - if( yygotominor.yy242 && yygotominor.yy242->a ) yygotominor.yy242->a[0].sortOrder = yymsp[0].minor.yy316; -} -#line 2470 "parse.c" - break; - case 146: - case 148: -#line 531 "parse.y" -{yygotominor.yy316 = SQLITE_SO_ASC;} -#line 2476 "parse.c" - break; - case 147: -#line 532 "parse.y" -{yygotominor.yy316 = SQLITE_SO_DESC;} -#line 2481 "parse.c" - break; - case 153: -#line 550 "parse.y" -{yygotominor.yy84.pLimit = 0; yygotominor.yy84.pOffset = 0;} -#line 2486 "parse.c" - break; - case 154: -#line 551 "parse.y" -{yygotominor.yy84.pLimit = yymsp[0].minor.yy450; yygotominor.yy84.pOffset = 0;} -#line 2491 "parse.c" - break; - case 155: -#line 553 "parse.y" -{yygotominor.yy84.pLimit = yymsp[-2].minor.yy450; yygotominor.yy84.pOffset = yymsp[0].minor.yy450;} -#line 2496 "parse.c" - break; - case 156: -#line 555 "parse.y" -{yygotominor.yy84.pOffset = yymsp[-2].minor.yy450; yygotominor.yy84.pLimit = yymsp[0].minor.yy450;} -#line 2501 "parse.c" - break; - case 157: -#line 559 "parse.y" -{sqlite3DeleteFrom(pParse,yymsp[-1].minor.yy419,yymsp[0].minor.yy450);} -#line 2506 "parse.c" - break; - case 160: -#line 570 "parse.y" -{sqlite3Update(pParse,yymsp[-3].minor.yy419,yymsp[-1].minor.yy242,yymsp[0].minor.yy450,yymsp[-4].minor.yy316);} -#line 2511 "parse.c" - break; - case 161: -#line 576 "parse.y" -{yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-4].minor.yy242,yymsp[0].minor.yy450,&yymsp[-2].minor.yy178);} -#line 2516 "parse.c" - break; - case 162: -#line 577 "parse.y" -{yygotominor.yy242 = sqlite3ExprListAppend(0,yymsp[0].minor.yy450,&yymsp[-2].minor.yy178);} -#line 2521 "parse.c" - break; - case 163: -#line 583 "parse.y" -{sqlite3Insert(pParse, yymsp[-5].minor.yy419, yymsp[-1].minor.yy242, 0, yymsp[-4].minor.yy352, yymsp[-7].minor.yy316);} -#line 2526 "parse.c" - break; - case 164: -#line 585 "parse.y" -{sqlite3Insert(pParse, yymsp[-2].minor.yy419, 0, yymsp[0].minor.yy43, yymsp[-1].minor.yy352, yymsp[-4].minor.yy316);} -#line 2531 "parse.c" - break; - case 165: -#line 587 "parse.y" -{sqlite3Insert(pParse, yymsp[-3].minor.yy419, 0, 0, yymsp[-2].minor.yy352, yymsp[-5].minor.yy316);} -#line 2536 "parse.c" - break; - case 168: - case 229: -#line 597 "parse.y" -{yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-2].minor.yy242,yymsp[0].minor.yy450,0);} -#line 2542 "parse.c" - break; - case 169: - case 230: -#line 598 "parse.y" -{yygotominor.yy242 = sqlite3ExprListAppend(0,yymsp[0].minor.yy450,0);} -#line 2548 "parse.c" - break; - case 172: -#line 607 "parse.y" -{yygotominor.yy352 = sqlite3IdListAppend(yymsp[-2].minor.yy352,&yymsp[0].minor.yy178);} -#line 2553 "parse.c" - break; - case 173: -#line 608 "parse.y" -{yygotominor.yy352 = sqlite3IdListAppend(0,&yymsp[0].minor.yy178);} -#line 2558 "parse.c" - break; - case 175: -#line 619 "parse.y" -{yygotominor.yy450 = yymsp[-1].minor.yy450; sqlite3ExprSpan(yygotominor.yy450,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); } -#line 2563 "parse.c" - break; - case 176: - case 181: - case 182: -#line 620 "parse.y" -{yygotominor.yy450 = sqlite3Expr(yymsp[0].major, 0, 0, &yymsp[0].minor.yy0);} -#line 2570 "parse.c" - break; - case 177: - case 178: -#line 621 "parse.y" -{yygotominor.yy450 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy0);} -#line 2576 "parse.c" - break; - case 179: -#line 623 "parse.y" -{ - Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy178); - Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy178); - yygotominor.yy450 = sqlite3Expr(TK_DOT, temp1, temp2, 0); -} -#line 2585 "parse.c" - break; - case 180: -#line 628 "parse.y" -{ - Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-4].minor.yy178); - Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy178); - Expr *temp3 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy178); - Expr *temp4 = sqlite3Expr(TK_DOT, temp2, temp3, 0); - yygotominor.yy450 = sqlite3Expr(TK_DOT, temp1, temp4, 0); -} -#line 2596 "parse.c" - break; - case 183: -#line 637 "parse.y" -{yygotominor.yy450 = sqlite3RegisterExpr(pParse, &yymsp[0].minor.yy0);} -#line 2601 "parse.c" - break; - case 184: -#line 638 "parse.y" -{ - Token *pToken = &yymsp[0].minor.yy0; - Expr *pExpr = yygotominor.yy450 = sqlite3Expr(TK_VARIABLE, 0, 0, pToken); - sqlite3ExprAssignVarNumber(pParse, pExpr); -} -#line 2610 "parse.c" - break; - case 185: -#line 643 "parse.y" -{ - yygotominor.yy450 = sqlite3ExprSetColl(pParse, yymsp[-2].minor.yy450, &yymsp[0].minor.yy178); -} -#line 2617 "parse.c" - break; - case 186: -#line 647 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_CAST, yymsp[-3].minor.yy450, 0, &yymsp[-1].minor.yy178); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); -} -#line 2625 "parse.c" - break; - case 187: -#line 652 "parse.y" -{ - yygotominor.yy450 = sqlite3ExprFunction(yymsp[-1].minor.yy242, &yymsp[-4].minor.yy0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); - if( yymsp[-2].minor.yy316 && yygotominor.yy450 ){ - yygotominor.yy450->flags |= EP_Distinct; - } -} -#line 2636 "parse.c" - break; - case 188: -#line 659 "parse.y" -{ - yygotominor.yy450 = sqlite3ExprFunction(0, &yymsp[-3].minor.yy0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); -} -#line 2644 "parse.c" - break; - case 189: -#line 663 "parse.y" -{ - /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are - ** treated as functions that return constants */ - yygotominor.yy450 = sqlite3ExprFunction(0,&yymsp[0].minor.yy0); - if( yygotominor.yy450 ){ - yygotominor.yy450->op = TK_CONST_FUNC; - yygotominor.yy450->span = yymsp[0].minor.yy0; - } -} -#line 2657 "parse.c" - break; - case 190: - case 191: - case 192: - case 193: - case 194: - case 195: - case 196: - case 197: -#line 672 "parse.y" -{yygotominor.yy450 = sqlite3Expr(yymsp[-1].major, yymsp[-2].minor.yy450, yymsp[0].minor.yy450, 0);} -#line 2669 "parse.c" - break; - case 198: - case 200: -#line 682 "parse.y" -{yygotominor.yy86.eOperator = yymsp[0].minor.yy0; yygotominor.yy86.not = 0;} -#line 2675 "parse.c" - break; - case 199: - case 201: -#line 683 "parse.y" -{yygotominor.yy86.eOperator = yymsp[0].minor.yy0; yygotominor.yy86.not = 1;} -#line 2681 "parse.c" - break; - case 204: -#line 690 "parse.y" -{ - ExprList *pList; - pList = sqlite3ExprListAppend(0, yymsp[-1].minor.yy450, 0); - pList = sqlite3ExprListAppend(pList, yymsp[-3].minor.yy450, 0); - if( yymsp[0].minor.yy450 ){ - pList = sqlite3ExprListAppend(pList, yymsp[0].minor.yy450, 0); - } - yygotominor.yy450 = sqlite3ExprFunction(pList, &yymsp[-2].minor.yy86.eOperator); - if( yymsp[-2].minor.yy86.not ) yygotominor.yy450 = sqlite3Expr(TK_NOT, yygotominor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450, &yymsp[-3].minor.yy450->span, &yymsp[-1].minor.yy450->span); - if( yygotominor.yy450 ) yygotominor.yy450->flags |= EP_InfixFunc; -} -#line 2697 "parse.c" - break; - case 205: -#line 703 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(yymsp[0].major, yymsp[-1].minor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-1].minor.yy450->span,&yymsp[0].minor.yy0); -} -#line 2705 "parse.c" - break; - case 206: -#line 707 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_ISNULL, yymsp[-2].minor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-2].minor.yy450->span,&yymsp[0].minor.yy0); -} -#line 2713 "parse.c" - break; - case 207: -#line 711 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_NOTNULL, yymsp[-2].minor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-2].minor.yy450->span,&yymsp[0].minor.yy0); -} -#line 2721 "parse.c" - break; - case 208: -#line 715 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_NOTNULL, yymsp[-3].minor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-3].minor.yy450->span,&yymsp[0].minor.yy0); -} -#line 2729 "parse.c" - break; - case 209: -#line 719 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(yymsp[-1].major, yymsp[0].minor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy450->span); -} -#line 2737 "parse.c" - break; - case 210: -#line 723 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_UMINUS, yymsp[0].minor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy450->span); -} -#line 2745 "parse.c" - break; - case 211: -#line 727 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_UPLUS, yymsp[0].minor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy450->span); -} -#line 2753 "parse.c" - break; - case 214: -#line 734 "parse.y" -{ - ExprList *pList = sqlite3ExprListAppend(0, yymsp[-2].minor.yy450, 0); - pList = sqlite3ExprListAppend(pList, yymsp[0].minor.yy450, 0); - yygotominor.yy450 = sqlite3Expr(TK_BETWEEN, yymsp[-4].minor.yy450, 0, 0); - if( yygotominor.yy450 ){ - yygotominor.yy450->pList = pList; - }else{ - sqlite3ExprListDelete(pList); - } - if( yymsp[-3].minor.yy316 ) yygotominor.yy450 = sqlite3Expr(TK_NOT, yygotominor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-4].minor.yy450->span,&yymsp[0].minor.yy450->span); -} -#line 2769 "parse.c" - break; - case 217: -#line 750 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_IN, yymsp[-4].minor.yy450, 0, 0); - if( yygotominor.yy450 ){ - yygotominor.yy450->pList = yymsp[-1].minor.yy242; - }else{ - sqlite3ExprListDelete(yymsp[-1].minor.yy242); - } - if( yymsp[-3].minor.yy316 ) yygotominor.yy450 = sqlite3Expr(TK_NOT, yygotominor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-4].minor.yy450->span,&yymsp[0].minor.yy0); - } -#line 2783 "parse.c" - break; - case 218: -#line 760 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_SELECT, 0, 0, 0); - if( yygotominor.yy450 ){ - yygotominor.yy450->pSelect = yymsp[-1].minor.yy43; - }else{ - sqlite3SelectDelete(yymsp[-1].minor.yy43); - } - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); - } -#line 2796 "parse.c" - break; - case 219: -#line 769 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_IN, yymsp[-4].minor.yy450, 0, 0); - if( yygotominor.yy450 ){ - yygotominor.yy450->pSelect = yymsp[-1].minor.yy43; - }else{ - sqlite3SelectDelete(yymsp[-1].minor.yy43); - } - if( yymsp[-3].minor.yy316 ) yygotominor.yy450 = sqlite3Expr(TK_NOT, yygotominor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-4].minor.yy450->span,&yymsp[0].minor.yy0); - } -#line 2810 "parse.c" - break; - case 220: -#line 779 "parse.y" -{ - SrcList *pSrc = sqlite3SrcListAppend(0,&yymsp[-1].minor.yy178,&yymsp[0].minor.yy178); - yygotominor.yy450 = sqlite3Expr(TK_IN, yymsp[-3].minor.yy450, 0, 0); - if( yygotominor.yy450 ){ - yygotominor.yy450->pSelect = sqlite3SelectNew(0,pSrc,0,0,0,0,0,0,0); - }else{ - sqlite3SrcListDelete(pSrc); - } - if( yymsp[-2].minor.yy316 ) yygotominor.yy450 = sqlite3Expr(TK_NOT, yygotominor.yy450, 0, 0); - sqlite3ExprSpan(yygotominor.yy450,&yymsp[-3].minor.yy450->span,yymsp[0].minor.yy178.z?&yymsp[0].minor.yy178:&yymsp[-1].minor.yy178); - } -#line 2825 "parse.c" - break; - case 221: -#line 790 "parse.y" -{ - Expr *p = yygotominor.yy450 = sqlite3Expr(TK_EXISTS, 0, 0, 0); - if( p ){ - p->pSelect = yymsp[-1].minor.yy43; - sqlite3ExprSpan(p,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); - }else{ - sqlite3SelectDelete(yymsp[-1].minor.yy43); - } - } -#line 2838 "parse.c" - break; - case 222: -#line 802 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_CASE, yymsp[-3].minor.yy450, yymsp[-1].minor.yy450, 0); - if( yygotominor.yy450 ){ - yygotominor.yy450->pList = yymsp[-2].minor.yy242; - }else{ - sqlite3ExprListDelete(yymsp[-2].minor.yy242); - } - sqlite3ExprSpan(yygotominor.yy450, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0); -} -#line 2851 "parse.c" - break; - case 223: -#line 813 "parse.y" -{ - yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-4].minor.yy242, yymsp[-2].minor.yy450, 0); - yygotominor.yy242 = sqlite3ExprListAppend(yygotominor.yy242, yymsp[0].minor.yy450, 0); -} -#line 2859 "parse.c" - break; - case 224: -#line 817 "parse.y" -{ - yygotominor.yy242 = sqlite3ExprListAppend(0, yymsp[-2].minor.yy450, 0); - yygotominor.yy242 = sqlite3ExprListAppend(yygotominor.yy242, yymsp[0].minor.yy450, 0); -} -#line 2867 "parse.c" - break; - case 233: -#line 844 "parse.y" -{ - sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy178, &yymsp[-5].minor.yy178, sqlite3SrcListAppend(0,&yymsp[-3].minor.yy178,0), yymsp[-1].minor.yy242, yymsp[-9].minor.yy316, - &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, yymsp[-7].minor.yy316); -} -#line 2875 "parse.c" - break; - case 234: - case 282: -#line 850 "parse.y" -{yygotominor.yy316 = OE_Abort;} -#line 2881 "parse.c" - break; - case 235: -#line 851 "parse.y" -{yygotominor.yy316 = OE_None;} -#line 2886 "parse.c" - break; - case 238: -#line 861 "parse.y" -{ - Expr *p = 0; - if( yymsp[-1].minor.yy178.n>0 ){ - p = sqlite3Expr(TK_COLUMN, 0, 0, 0); - if( p ) p->pColl = sqlite3LocateCollSeq(pParse, (char*)yymsp[-1].minor.yy178.z, yymsp[-1].minor.yy178.n); - } - yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-4].minor.yy242, p, &yymsp[-2].minor.yy178); - if( yygotominor.yy242 ) yygotominor.yy242->a[yygotominor.yy242->nExpr-1].sortOrder = yymsp[0].minor.yy316; -} -#line 2899 "parse.c" - break; - case 239: -#line 870 "parse.y" -{ - Expr *p = 0; - if( yymsp[-1].minor.yy178.n>0 ){ - p = sqlite3Expr(TK_COLUMN, 0, 0, 0); - if( p ) p->pColl = sqlite3LocateCollSeq(pParse, (char*)yymsp[-1].minor.yy178.z, yymsp[-1].minor.yy178.n); - } - yygotominor.yy242 = sqlite3ExprListAppend(0, p, &yymsp[-2].minor.yy178); - if( yygotominor.yy242 ) yygotominor.yy242->a[yygotominor.yy242->nExpr-1].sortOrder = yymsp[0].minor.yy316; -} -#line 2912 "parse.c" - break; - case 241: -#line 882 "parse.y" -{yygotominor.yy178.z = 0; yygotominor.yy178.n = 0;} -#line 2917 "parse.c" - break; - case 243: -#line 888 "parse.y" -{sqlite3DropIndex(pParse, yymsp[0].minor.yy419, yymsp[-1].minor.yy316);} -#line 2922 "parse.c" - break; - case 244: - case 245: -#line 893 "parse.y" -{sqlite3Vacuum(pParse);} -#line 2928 "parse.c" - break; - case 246: -#line 900 "parse.y" -{sqlite3Pragma(pParse,&yymsp[-3].minor.yy178,&yymsp[-2].minor.yy178,&yymsp[0].minor.yy178,0);} -#line 2933 "parse.c" - break; - case 247: -#line 901 "parse.y" -{sqlite3Pragma(pParse,&yymsp[-3].minor.yy178,&yymsp[-2].minor.yy178,&yymsp[0].minor.yy0,0);} -#line 2938 "parse.c" - break; - case 248: -#line 902 "parse.y" -{ - sqlite3Pragma(pParse,&yymsp[-3].minor.yy178,&yymsp[-2].minor.yy178,&yymsp[0].minor.yy178,1); -} -#line 2945 "parse.c" - break; - case 249: -#line 905 "parse.y" -{sqlite3Pragma(pParse,&yymsp[-4].minor.yy178,&yymsp[-3].minor.yy178,&yymsp[-1].minor.yy178,0);} -#line 2950 "parse.c" - break; - case 250: -#line 906 "parse.y" -{sqlite3Pragma(pParse,&yymsp[-1].minor.yy178,&yymsp[0].minor.yy178,0,0);} -#line 2955 "parse.c" - break; - case 258: -#line 920 "parse.y" -{ - Token all; - all.z = yymsp[-3].minor.yy178.z; - all.n = (yymsp[0].minor.yy0.z - yymsp[-3].minor.yy178.z) + yymsp[0].minor.yy0.n; - sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy75, &all); -} -#line 2965 "parse.c" - break; - case 259: -#line 929 "parse.y" -{ - sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy178, &yymsp[-6].minor.yy178, yymsp[-5].minor.yy316, yymsp[-4].minor.yy354.a, yymsp[-4].minor.yy354.b, yymsp[-2].minor.yy419, yymsp[-1].minor.yy316, yymsp[0].minor.yy450, yymsp[-10].minor.yy316, yymsp[-8].minor.yy316); - yygotominor.yy178 = (yymsp[-6].minor.yy178.n==0?yymsp[-7].minor.yy178:yymsp[-6].minor.yy178); -} -#line 2973 "parse.c" - break; - case 260: - case 263: -#line 935 "parse.y" -{ yygotominor.yy316 = TK_BEFORE; } -#line 2979 "parse.c" - break; - case 261: -#line 936 "parse.y" -{ yygotominor.yy316 = TK_AFTER; } -#line 2984 "parse.c" - break; - case 262: -#line 937 "parse.y" -{ yygotominor.yy316 = TK_INSTEAD;} -#line 2989 "parse.c" - break; - case 264: - case 265: -#line 942 "parse.y" -{yygotominor.yy354.a = yymsp[0].major; yygotominor.yy354.b = 0;} -#line 2995 "parse.c" - break; - case 266: -#line 944 "parse.y" -{yygotominor.yy354.a = TK_UPDATE; yygotominor.yy354.b = yymsp[0].minor.yy352;} -#line 3000 "parse.c" - break; - case 267: - case 268: -#line 947 "parse.y" -{ yygotominor.yy316 = TK_ROW; } -#line 3006 "parse.c" - break; - case 269: -#line 949 "parse.y" -{ yygotominor.yy316 = TK_STATEMENT; } -#line 3011 "parse.c" - break; - case 270: -#line 953 "parse.y" -{ yygotominor.yy450 = 0; } -#line 3016 "parse.c" - break; - case 271: -#line 954 "parse.y" -{ yygotominor.yy450 = yymsp[0].minor.yy450; } -#line 3021 "parse.c" - break; - case 272: -#line 958 "parse.y" -{ - if( yymsp[-2].minor.yy75 ){ - yymsp[-2].minor.yy75->pLast->pNext = yymsp[-1].minor.yy75; - }else{ - yymsp[-2].minor.yy75 = yymsp[-1].minor.yy75; - } - yymsp[-2].minor.yy75->pLast = yymsp[-1].minor.yy75; - yygotominor.yy75 = yymsp[-2].minor.yy75; -} -#line 3034 "parse.c" - break; - case 273: -#line 967 "parse.y" -{ yygotominor.yy75 = 0; } -#line 3039 "parse.c" - break; - case 274: -#line 973 "parse.y" -{ yygotominor.yy75 = sqlite3TriggerUpdateStep(&yymsp[-3].minor.yy178, yymsp[-1].minor.yy242, yymsp[0].minor.yy450, yymsp[-4].minor.yy316); } -#line 3044 "parse.c" - break; - case 275: -#line 978 "parse.y" -{yygotominor.yy75 = sqlite3TriggerInsertStep(&yymsp[-5].minor.yy178, yymsp[-4].minor.yy352, yymsp[-1].minor.yy242, 0, yymsp[-7].minor.yy316);} -#line 3049 "parse.c" - break; - case 276: -#line 981 "parse.y" -{yygotominor.yy75 = sqlite3TriggerInsertStep(&yymsp[-2].minor.yy178, yymsp[-1].minor.yy352, 0, yymsp[0].minor.yy43, yymsp[-4].minor.yy316);} -#line 3054 "parse.c" - break; - case 277: -#line 985 "parse.y" -{yygotominor.yy75 = sqlite3TriggerDeleteStep(&yymsp[-1].minor.yy178, yymsp[0].minor.yy450);} -#line 3059 "parse.c" - break; - case 278: -#line 988 "parse.y" -{yygotominor.yy75 = sqlite3TriggerSelectStep(yymsp[0].minor.yy43); } -#line 3064 "parse.c" - break; - case 279: -#line 991 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_RAISE, 0, 0, 0); - if( yygotominor.yy450 ){ - yygotominor.yy450->iColumn = OE_Ignore; - sqlite3ExprSpan(yygotominor.yy450, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0); - } -} -#line 3075 "parse.c" - break; - case 280: -#line 998 "parse.y" -{ - yygotominor.yy450 = sqlite3Expr(TK_RAISE, 0, 0, &yymsp[-1].minor.yy178); - if( yygotominor.yy450 ) { - yygotominor.yy450->iColumn = yymsp[-3].minor.yy316; - sqlite3ExprSpan(yygotominor.yy450, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0); - } -} -#line 3086 "parse.c" - break; - case 281: -#line 1008 "parse.y" -{yygotominor.yy316 = OE_Rollback;} -#line 3091 "parse.c" - break; - case 283: -#line 1010 "parse.y" -{yygotominor.yy316 = OE_Fail;} -#line 3096 "parse.c" - break; - case 284: -#line 1015 "parse.y" -{ - sqlite3DropTrigger(pParse,yymsp[0].minor.yy419,yymsp[-1].minor.yy316); -} -#line 3103 "parse.c" - break; - case 285: -#line 1021 "parse.y" -{ - sqlite3Attach(pParse, yymsp[-3].minor.yy450, yymsp[-1].minor.yy450, yymsp[0].minor.yy158); -} -#line 3110 "parse.c" - break; - case 286: -#line 1026 "parse.y" -{ yygotominor.yy158 = 0; } -#line 3115 "parse.c" - break; - case 287: -#line 1027 "parse.y" -{ yygotominor.yy158 = yymsp[0].minor.yy450; } -#line 3120 "parse.c" - break; - case 290: -#line 1033 "parse.y" -{ - sqlite3Detach(pParse, yymsp[0].minor.yy450); -} -#line 3127 "parse.c" - break; - case 291: -#line 1039 "parse.y" -{sqlite3Reindex(pParse, 0, 0);} -#line 3132 "parse.c" - break; - case 292: -#line 1040 "parse.y" -{sqlite3Reindex(pParse, &yymsp[-1].minor.yy178, &yymsp[0].minor.yy178);} -#line 3137 "parse.c" - break; - case 293: -#line 1045 "parse.y" -{sqlite3Analyze(pParse, 0, 0);} -#line 3142 "parse.c" - break; - case 294: -#line 1046 "parse.y" -{sqlite3Analyze(pParse, &yymsp[-1].minor.yy178, &yymsp[0].minor.yy178);} -#line 3147 "parse.c" - break; - case 295: -#line 1051 "parse.y" -{ - sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy419,&yymsp[0].minor.yy178); -} -#line 3154 "parse.c" - break; - case 296: -#line 1054 "parse.y" -{ - sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy178); -} -#line 3161 "parse.c" - break; - case 297: -#line 1057 "parse.y" -{ - sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy419); -} -#line 3168 "parse.c" - break; - case 300: -#line 1066 "parse.y" -{sqlite3VtabFinishParse(pParse,0);} -#line 3173 "parse.c" - break; - case 301: -#line 1067 "parse.y" -{sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} -#line 3178 "parse.c" - break; - case 302: -#line 1068 "parse.y" -{ - sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy178, &yymsp[-2].minor.yy178, &yymsp[0].minor.yy178); -} -#line 3185 "parse.c" - break; - case 305: -#line 1073 "parse.y" -{sqlite3VtabArgInit(pParse);} -#line 3190 "parse.c" - break; - case 307: - case 308: - case 309: - case 311: -#line 1075 "parse.y" -{sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} -#line 3198 "parse.c" - break; - }; - yygoto = yyRuleInfo[yyruleno].lhs; - yysize = yyRuleInfo[yyruleno].nrhs; - yypParser->yyidx -= yysize; - yyact = yy_find_reduce_action(yymsp[-yysize].stateno,yygoto); - if( yyact < YYNSTATE ){ -#ifdef NDEBUG - /* If we are not debugging and the reduce action popped at least - ** one element off the stack, then we can push the new element back - ** onto the stack here, and skip the stack overflow test in yy_shift(). - ** That gives a significant speed improvement. */ - if( yysize ){ - yypParser->yyidx++; - yymsp -= yysize-1; - yymsp->stateno = yyact; - yymsp->major = yygoto; - yymsp->minor = yygotominor; - }else -#endif - { - yy_shift(yypParser,yyact,yygoto,&yygotominor); - } - }else if( yyact == YYNSTATE + YYNRULE + 1 ){ - yy_accept(yypParser); - } -} - -/* -** The following code executes when the parse fails -*/ -static void yy_parse_failed( - yyParser *yypParser /* The parser */ -){ - sqlite3ParserARG_FETCH; -#ifndef NDEBUG - if( yyTraceFILE ){ - fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt); - } -#endif - while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser); - /* Here code is inserted which will be executed whenever the - ** parser fails */ - sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */ -} - -/* -** The following code executes when a syntax error first occurs. -*/ -static void yy_syntax_error( - yyParser *yypParser, /* The parser */ - int yymajor, /* The major type of the error token */ - YYMINORTYPE yyminor /* The minor type of the error token */ -){ - sqlite3ParserARG_FETCH; -#define TOKEN (yyminor.yy0) -#line 34 "parse.y" - - if( !pParse->parseError ){ - if( TOKEN.z[0] ){ - sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN); - }else{ - sqlite3ErrorMsg(pParse, "incomplete SQL statement"); - } - pParse->parseError = 1; - } -#line 3266 "parse.c" - sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */ -} - -/* -** The following is executed when the parser accepts -*/ -static void yy_accept( - yyParser *yypParser /* The parser */ -){ - sqlite3ParserARG_FETCH; -#ifndef NDEBUG - if( yyTraceFILE ){ - fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt); - } -#endif - while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser); - /* Here code is inserted which will be executed whenever the - ** parser accepts */ - sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */ -} - -/* The main parser program. -** The first argument is a pointer to a structure obtained from -** "sqlite3ParserAlloc" which describes the current state of the parser. -** The second argument is the major token number. The third is -** the minor token. The fourth optional argument is whatever the -** user wants (and specified in the grammar) and is available for -** use by the action routines. -** -** Inputs: -**
    -**
  • A pointer to the parser (an opaque structure.) -**
  • The major token number. -**
  • The minor token number. -**
  • An option argument of a grammar-specified type. -**
-** -** Outputs: -** None. -*/ -void sqlite3Parser( - void *yyp, /* The parser */ - int yymajor, /* The major token code number */ - sqlite3ParserTOKENTYPE yyminor /* The value for the token */ - sqlite3ParserARG_PDECL /* Optional %extra_argument parameter */ -){ - YYMINORTYPE yyminorunion; - int yyact; /* The parser action. */ - int yyendofinput; /* True if we are at the end of input */ - int yyerrorhit = 0; /* True if yymajor has invoked an error */ - yyParser *yypParser; /* The parser */ - - /* (re)initialize the parser, if necessary */ - yypParser = (yyParser*)yyp; - if( yypParser->yyidx<0 ){ - /* if( yymajor==0 ) return; // not sure why this was here... */ - yypParser->yyidx = 0; - yypParser->yyerrcnt = -1; - yypParser->yystack[0].stateno = 0; - yypParser->yystack[0].major = 0; - } - yyminorunion.yy0 = yyminor; - yyendofinput = (yymajor==0); - sqlite3ParserARG_STORE; - -#ifndef NDEBUG - if( yyTraceFILE ){ - fprintf(yyTraceFILE,"%sInput %s\n",yyTracePrompt,yyTokenName[yymajor]); - } -#endif - - do{ - yyact = yy_find_shift_action(yypParser,yymajor); - if( yyactyyerrcnt--; - if( yyendofinput && yypParser->yyidx>=0 ){ - yymajor = 0; - }else{ - yymajor = YYNOCODE; - } - }else if( yyact < YYNSTATE + YYNRULE ){ - yy_reduce(yypParser,yyact-YYNSTATE); - }else if( yyact == YY_ERROR_ACTION ){ - int yymx; -#ifndef NDEBUG - if( yyTraceFILE ){ - fprintf(yyTraceFILE,"%sSyntax Error!\n",yyTracePrompt); - } -#endif -#ifdef YYERRORSYMBOL - /* A syntax error has occurred. - ** The response to an error depends upon whether or not the - ** grammar defines an error token "ERROR". - ** - ** This is what we do if the grammar does define ERROR: - ** - ** * Call the %syntax_error function. - ** - ** * Begin popping the stack until we enter a state where - ** it is legal to shift the error symbol, then shift - ** the error symbol. - ** - ** * Set the error count to three. - ** - ** * Begin accepting and shifting new tokens. No new error - ** processing will occur until three tokens have been - ** shifted successfully. - ** - */ - if( yypParser->yyerrcnt<0 ){ - yy_syntax_error(yypParser,yymajor,yyminorunion); - } - yymx = yypParser->yystack[yypParser->yyidx].major; - if( yymx==YYERRORSYMBOL || yyerrorhit ){ -#ifndef NDEBUG - if( yyTraceFILE ){ - fprintf(yyTraceFILE,"%sDiscard input token %s\n", - yyTracePrompt,yyTokenName[yymajor]); - } -#endif - yy_destructor(yymajor,&yyminorunion); - yymajor = YYNOCODE; - }else{ - while( - yypParser->yyidx >= 0 && - yymx != YYERRORSYMBOL && - (yyact = yy_find_reduce_action( - yypParser->yystack[yypParser->yyidx].stateno, - YYERRORSYMBOL)) >= YYNSTATE - ){ - yy_pop_parser_stack(yypParser); - } - if( yypParser->yyidx < 0 || yymajor==0 ){ - yy_destructor(yymajor,&yyminorunion); - yy_parse_failed(yypParser); - yymajor = YYNOCODE; - }else if( yymx!=YYERRORSYMBOL ){ - YYMINORTYPE u2; - u2.YYERRSYMDT = 0; - yy_shift(yypParser,yyact,YYERRORSYMBOL,&u2); - } - } - yypParser->yyerrcnt = 3; - yyerrorhit = 1; -#else /* YYERRORSYMBOL is not defined */ - /* This is what we do if the grammar does not define ERROR: - ** - ** * Report an error message, and throw away the input token. - ** - ** * If the input token is $, then fail the parse. - ** - ** As before, subsequent error messages are suppressed until - ** three input tokens have been successfully shifted. - */ - if( yypParser->yyerrcnt<=0 ){ - yy_syntax_error(yypParser,yymajor,yyminorunion); - } - yypParser->yyerrcnt = 3; - yy_destructor(yymajor,&yyminorunion); - if( yyendofinput ){ - yy_parse_failed(yypParser); - } - yymajor = YYNOCODE; -#endif - }else{ - yy_accept(yypParser); - yymajor = YYNOCODE; - } - }while( yymajor!=YYNOCODE && yypParser->yyidx>=0 ); - return; -} diff --git a/libs/win32/sqlite/parse.h b/libs/win32/sqlite/parse.h deleted file mode 100644 index 3a71be199d..0000000000 --- a/libs/win32/sqlite/parse.h +++ /dev/null @@ -1,153 +0,0 @@ -#define TK_SEMI 1 -#define TK_EXPLAIN 2 -#define TK_QUERY 3 -#define TK_PLAN 4 -#define TK_BEGIN 5 -#define TK_TRANSACTION 6 -#define TK_DEFERRED 7 -#define TK_IMMEDIATE 8 -#define TK_EXCLUSIVE 9 -#define TK_COMMIT 10 -#define TK_END 11 -#define TK_ROLLBACK 12 -#define TK_CREATE 13 -#define TK_TABLE 14 -#define TK_IF 15 -#define TK_NOT 16 -#define TK_EXISTS 17 -#define TK_TEMP 18 -#define TK_LP 19 -#define TK_RP 20 -#define TK_AS 21 -#define TK_COMMA 22 -#define TK_ID 23 -#define TK_ABORT 24 -#define TK_AFTER 25 -#define TK_ANALYZE 26 -#define TK_ASC 27 -#define TK_ATTACH 28 -#define TK_BEFORE 29 -#define TK_CASCADE 30 -#define TK_CAST 31 -#define TK_CONFLICT 32 -#define TK_DATABASE 33 -#define TK_DESC 34 -#define TK_DETACH 35 -#define TK_EACH 36 -#define TK_FAIL 37 -#define TK_FOR 38 -#define TK_IGNORE 39 -#define TK_INITIALLY 40 -#define TK_INSTEAD 41 -#define TK_LIKE_KW 42 -#define TK_MATCH 43 -#define TK_KEY 44 -#define TK_OF 45 -#define TK_OFFSET 46 -#define TK_PRAGMA 47 -#define TK_RAISE 48 -#define TK_REPLACE 49 -#define TK_RESTRICT 50 -#define TK_ROW 51 -#define TK_STATEMENT 52 -#define TK_TRIGGER 53 -#define TK_VACUUM 54 -#define TK_VIEW 55 -#define TK_VIRTUAL 56 -#define TK_REINDEX 57 -#define TK_RENAME 58 -#define TK_CTIME_KW 59 -#define TK_ANY 60 -#define TK_OR 61 -#define TK_AND 62 -#define TK_IS 63 -#define TK_BETWEEN 64 -#define TK_IN 65 -#define TK_ISNULL 66 -#define TK_NOTNULL 67 -#define TK_NE 68 -#define TK_EQ 69 -#define TK_GT 70 -#define TK_LE 71 -#define TK_LT 72 -#define TK_GE 73 -#define TK_ESCAPE 74 -#define TK_BITAND 75 -#define TK_BITOR 76 -#define TK_LSHIFT 77 -#define TK_RSHIFT 78 -#define TK_PLUS 79 -#define TK_MINUS 80 -#define TK_STAR 81 -#define TK_SLASH 82 -#define TK_REM 83 -#define TK_CONCAT 84 -#define TK_COLLATE 85 -#define TK_UMINUS 86 -#define TK_UPLUS 87 -#define TK_BITNOT 88 -#define TK_STRING 89 -#define TK_JOIN_KW 90 -#define TK_CONSTRAINT 91 -#define TK_DEFAULT 92 -#define TK_NULL 93 -#define TK_PRIMARY 94 -#define TK_UNIQUE 95 -#define TK_CHECK 96 -#define TK_REFERENCES 97 -#define TK_AUTOINCR 98 -#define TK_ON 99 -#define TK_DELETE 100 -#define TK_UPDATE 101 -#define TK_INSERT 102 -#define TK_SET 103 -#define TK_DEFERRABLE 104 -#define TK_FOREIGN 105 -#define TK_DROP 106 -#define TK_UNION 107 -#define TK_ALL 108 -#define TK_EXCEPT 109 -#define TK_INTERSECT 110 -#define TK_SELECT 111 -#define TK_DISTINCT 112 -#define TK_DOT 113 -#define TK_FROM 114 -#define TK_JOIN 115 -#define TK_USING 116 -#define TK_ORDER 117 -#define TK_BY 118 -#define TK_GROUP 119 -#define TK_HAVING 120 -#define TK_LIMIT 121 -#define TK_WHERE 122 -#define TK_INTO 123 -#define TK_VALUES 124 -#define TK_INTEGER 125 -#define TK_FLOAT 126 -#define TK_BLOB 127 -#define TK_REGISTER 128 -#define TK_VARIABLE 129 -#define TK_CASE 130 -#define TK_WHEN 131 -#define TK_THEN 132 -#define TK_ELSE 133 -#define TK_INDEX 134 -#define TK_ALTER 135 -#define TK_TO 136 -#define TK_ADD 137 -#define TK_COLUMNKW 138 -#define TK_TO_TEXT 139 -#define TK_TO_BLOB 140 -#define TK_TO_NUMERIC 141 -#define TK_TO_INT 142 -#define TK_TO_REAL 143 -#define TK_END_OF_FILE 144 -#define TK_ILLEGAL 145 -#define TK_SPACE 146 -#define TK_UNCLOSED_STRING 147 -#define TK_COMMENT 148 -#define TK_FUNCTION 149 -#define TK_COLUMN 150 -#define TK_AGG_FUNCTION 151 -#define TK_AGG_COLUMN 152 -#define TK_CONST_FUNC 153 diff --git a/libs/win32/sqlite/sqlite.2010.vcxproj b/libs/win32/sqlite/sqlite.2010.vcxproj index 39df9afb99..4f541b2e88 100644 --- a/libs/win32/sqlite/sqlite.2010.vcxproj +++ b/libs/win32/sqlite/sqlite.2010.vcxproj @@ -122,17 +122,10 @@ - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - Disabled - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG;THREADSAFE=1;%(PreprocessorDefinitions) true EnableFastChecks @@ -146,20 +139,13 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - X64 Disabled - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG;THREADSAFE=1;%(PreprocessorDefinitions) true EnableFastChecks @@ -173,16 +159,9 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;THREADSAFE=1;%(PreprocessorDefinitions) MultiThreadedDLL TurnOffAllWarnings @@ -194,19 +173,12 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - X64 - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;THREADSAFE=1;%(PreprocessorDefinitions) MultiThreadedDLL TurnOffAllWarnings @@ -218,17 +190,10 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - Disabled - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG;THREADSAFE=1;%(PreprocessorDefinitions) true EnableFastChecks @@ -256,20 +221,13 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - X64 Disabled - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG;THREADSAFE=1;%(PreprocessorDefinitions) true EnableFastChecks @@ -297,16 +255,9 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;THREADSAFE=1;%(PreprocessorDefinitions) MultiThreadedDLL @@ -328,19 +279,12 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - X64 - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;THREADSAFE=1;%(PreprocessorDefinitions) MultiThreadedDLL @@ -362,72 +306,15 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - - - - - - - - - - - - - - - - - - - - - true - true - true - true - true - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + + + + + {97d25665-34cd-4e0c-96e7-88f0795b8883} + diff --git a/libs/win32/sqlite/sqlite.2010.vcxproj.filters b/libs/win32/sqlite/sqlite.2010.vcxproj.filters index 1b56bcf5b4..fbeb745a62 100644 --- a/libs/win32/sqlite/sqlite.2010.vcxproj.filters +++ b/libs/win32/sqlite/sqlite.2010.vcxproj.filters @@ -11,171 +11,12 @@ - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - + Source Files - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - + Header Files diff --git a/libs/win32/sqlite/sqlite.2012.vcxproj b/libs/win32/sqlite/sqlite.2012.vcxproj index 6605786d46..338aef3d25 100644 --- a/libs/win32/sqlite/sqlite.2012.vcxproj +++ b/libs/win32/sqlite/sqlite.2012.vcxproj @@ -1,4 +1,4 @@ - + @@ -130,17 +130,10 @@ - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - Disabled - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG;THREADSAFE=1;%(PreprocessorDefinitions) true EnableFastChecks @@ -154,20 +147,13 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - X64 Disabled - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG;THREADSAFE=1;%(PreprocessorDefinitions) true EnableFastChecks @@ -181,16 +167,9 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;THREADSAFE=1;%(PreprocessorDefinitions) MultiThreadedDLL TurnOffAllWarnings @@ -202,19 +181,12 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - X64 - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;THREADSAFE=1;%(PreprocessorDefinitions) MultiThreadedDLL TurnOffAllWarnings @@ -226,17 +198,10 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - Disabled - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG;THREADSAFE=1;%(PreprocessorDefinitions) true EnableFastChecks @@ -264,20 +229,13 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - X64 Disabled - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG;THREADSAFE=1;%(PreprocessorDefinitions) true EnableFastChecks @@ -305,16 +263,9 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;THREADSAFE=1;%(PreprocessorDefinitions) MultiThreadedDLL @@ -336,19 +287,12 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - if exist "$(ProjectDir)..\..\sqlite\src\sqlite3.h" del "$(ProjectDir)..\..\sqlite\src\sqlite3.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.h" del "$(ProjectDir)..\..\sqlite\src\parse.h" -if exist "$(ProjectDir)..\..\sqlite\src\parse.c" del "$(ProjectDir)..\..\sqlite\src\parse.c" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.h" del "$(ProjectDir)..\..\sqlite\src\opcodes.h" -if exist "$(ProjectDir)..\..\sqlite\src\opcodes.c" del "$(ProjectDir)..\..\sqlite\src\opcodes.c" -if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\sqlite\src\keywordhash.h" - X64 - $(ProjectDir);$(ProjectDir)..\..\sqlite\src;%(AdditionalIncludeDirectories) + %(AdditionalIncludeDirectories) _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;THREADSAFE=1;%(PreprocessorDefinitions) MultiThreadedDLL @@ -370,74 +314,17 @@ if exist "$(ProjectDir)..\..\sqlite\src\keywordhash.h" del "$(ProjectDir)..\..\s - - - - - - - - - - - - - - - - - - - - - true - true - true - true - true - true - true - true - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + + + + + {97d25665-34cd-4e0c-96e7-88f0795b8883} + - + \ No newline at end of file diff --git a/libs/win32/sqlite/sqlite.2012.vcxproj.filters b/libs/win32/sqlite/sqlite.2012.vcxproj.filters index 1b56bcf5b4..fbeb745a62 100644 --- a/libs/win32/sqlite/sqlite.2012.vcxproj.filters +++ b/libs/win32/sqlite/sqlite.2012.vcxproj.filters @@ -11,171 +11,12 @@ - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - + Source Files - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - + Header Files diff --git a/libs/win32/sqlite/sqlite3.def b/libs/win32/sqlite/sqlite3.def deleted file mode 100644 index e42a0cd3d6..0000000000 --- a/libs/win32/sqlite/sqlite3.def +++ /dev/null @@ -1,101 +0,0 @@ -EXPORTS -sqlite3_aggregate_context -sqlite3_aggregate_count -sqlite3_bind_blob -sqlite3_bind_double -sqlite3_bind_int -sqlite3_bind_int64 -sqlite3_bind_null -sqlite3_bind_parameter_count -sqlite3_bind_parameter_index -sqlite3_bind_parameter_name -sqlite3_bind_text -sqlite3_bind_text16 -sqlite3_busy_handler -sqlite3_busy_timeout -sqlite3_changes -sqlite3_close -sqlite3_collation_needed -sqlite3_collation_needed16 -sqlite3_column_blob -sqlite3_column_bytes -sqlite3_column_bytes16 -sqlite3_column_count -sqlite3_column_decltype -sqlite3_column_decltype16 -sqlite3_column_double -sqlite3_column_int -sqlite3_column_int64 -sqlite3_column_name -sqlite3_column_name16 -sqlite3_column_text -sqlite3_column_text16 -sqlite3_column_type -sqlite3_commit_hook -sqlite3_complete -sqlite3_complete16 -sqlite3_create_collation -sqlite3_create_collation16 -sqlite3_create_function -sqlite3_create_function16 -sqlite3_data_count -sqlite3_db_handle -sqlite3_enable_shared_cache -sqlite3_errcode -sqlite3_errmsg -sqlite3_errmsg16 -sqlite3_exec -sqlite3_expired -sqlite3_finalize -sqlite3_free -sqlite3_free_table -sqlite3_get_autocommit -sqlite3_get_auxdata -sqlite3_get_table -sqlite3_global_recover -sqlite3_interrupt -sqlite3_last_insert_rowid -sqlite3_libversion -sqlite3_libversion_number -sqlite3_mprintf -sqlite3_open -sqlite3_open16 -sqlite3_prepare -sqlite3_prepare16 -sqlite3_progress_handler -sqlite3_reset -sqlite3_result_blob -sqlite3_result_double -sqlite3_result_error -sqlite3_result_error16 -sqlite3_result_int -sqlite3_result_int64 -sqlite3_result_null -sqlite3_result_text -sqlite3_result_text16 -sqlite3_result_text16be -sqlite3_result_text16le -sqlite3_result_value -sqlite3_rollback_hook -sqlite3_set_authorizer -sqlite3_set_auxdata -sqlite3_snprintf -sqlite3_step -sqlite3_thread_cleanup -sqlite3_total_changes -sqlite3_trace -sqlite3_transfer_bindings -sqlite3_update_hook -sqlite3_user_data -sqlite3_value_blob -sqlite3_value_bytes -sqlite3_value_bytes16 -sqlite3_value_double -sqlite3_value_int -sqlite3_value_int64 -sqlite3_value_text -sqlite3_value_text16 -sqlite3_value_text16be -sqlite3_value_text16le -sqlite3_value_type -sqlite3_vmprintf diff --git a/libs/win32/sqlite/sqlite3.h b/libs/win32/sqlite/sqlite3.h deleted file mode 100644 index fc46b2aba7..0000000000 --- a/libs/win32/sqlite/sqlite3.h +++ /dev/null @@ -1,1872 +0,0 @@ -/* -** 2001 September 15 -** -** The author disclaims copyright to this source code. In place of -** a legal notice, here is a blessing: -** -** May you do good and not evil. -** May you find forgiveness for yourself and forgive others. -** May you share freely, never taking more than you give. -** -************************************************************************* -** This header file defines the interface that the SQLite library -** presents to client programs. -** -** @(#) $Id: sqlite.h.in,v 1.198 2007/01/26 00:51:44 drh Exp $ -*/ -#ifndef _SQLITE3_H_ -#define _SQLITE3_H_ -#include /* Needed for the definition of va_list */ - -/* -** Make sure we can call this stuff from C++. -*/ -#ifdef __cplusplus -extern "C" { -#endif - -/* -** The version of the SQLite library. -*/ -#ifdef SQLITE_VERSION -# undef SQLITE_VERSION -#endif -#define SQLITE_VERSION "3.3.13" - -/* -** The format of the version string is "X.Y.Z", where -** X is the major version number, Y is the minor version number and Z -** is the release number. The trailing string is often "alpha" or "beta". -** For example "3.1.1beta". -** -** The SQLITE_VERSION_NUMBER is an integer with the value -** (X*100000 + Y*1000 + Z). For example, for version "3.1.1beta", -** SQLITE_VERSION_NUMBER is set to 3001001. To detect if they are using -** version 3.1.1 or greater at compile time, programs may use the test -** (SQLITE_VERSION_NUMBER>=3001001). -*/ -#ifdef SQLITE_VERSION_NUMBER -# undef SQLITE_VERSION_NUMBER -#endif -#define SQLITE_VERSION_NUMBER 3003013 - -/* -** The version string is also compiled into the library so that a program -** can check to make sure that the lib*.a file and the *.h file are from -** the same version. The sqlite3_libversion() function returns a pointer -** to the sqlite3_version variable - useful in DLLs which cannot access -** global variables. -*/ -extern const char sqlite3_version[]; -const char *sqlite3_libversion(void); - -/* -** Return the value of the SQLITE_VERSION_NUMBER macro when the -** library was compiled. -*/ -int sqlite3_libversion_number(void); - -/* -** Each open sqlite database is represented by an instance of the -** following opaque structure. -*/ -typedef struct sqlite3 sqlite3; - - -/* -** Some compilers do not support the "long long" datatype. So we have -** to do a typedef that for 64-bit integers that depends on what compiler -** is being used. -*/ -#ifdef SQLITE_INT64_TYPE - typedef SQLITE_INT64_TYPE sqlite_int64; - typedef unsigned SQLITE_INT64_TYPE sqlite_uint64; -#elif defined(_MSC_VER) || defined(__BORLANDC__) - typedef __int64 sqlite_int64; - typedef unsigned __int64 sqlite_uint64; -#else - typedef long long int sqlite_int64; - typedef unsigned long long int sqlite_uint64; -#endif - -/* -** If compiling for a processor that lacks floating point support, -** substitute integer for floating-point -*/ -#ifdef SQLITE_OMIT_FLOATING_POINT -# define double sqlite_int64 -#endif - -/* -** A function to close the database. -** -** Call this function with a pointer to a structure that was previously -** returned from sqlite3_open() and the corresponding database will by closed. -** -** All SQL statements prepared using sqlite3_prepare() or -** sqlite3_prepare16() must be deallocated using sqlite3_finalize() before -** this routine is called. Otherwise, SQLITE_BUSY is returned and the -** database connection remains open. -*/ -int sqlite3_close(sqlite3 *); - -/* -** The type for a callback function. -*/ -typedef int (*sqlite3_callback)(void*,int,char**, char**); - -/* -** A function to executes one or more statements of SQL. -** -** If one or more of the SQL statements are queries, then -** the callback function specified by the 3rd parameter is -** invoked once for each row of the query result. This callback -** should normally return 0. If the callback returns a non-zero -** value then the query is aborted, all subsequent SQL statements -** are skipped and the sqlite3_exec() function returns the SQLITE_ABORT. -** -** The 1st parameter is an arbitrary pointer that is passed -** to the callback function as its first parameter. -** -** The 2nd parameter to the callback function is the number of -** columns in the query result. The 3rd parameter to the callback -** is an array of strings holding the values for each column. -** The 4th parameter to the callback is an array of strings holding -** the names of each column. -** -** The callback function may be NULL, even for queries. A NULL -** callback is not an error. It just means that no callback -** will be invoked. -** -** If an error occurs while parsing or evaluating the SQL (but -** not while executing the callback) then an appropriate error -** message is written into memory obtained from malloc() and -** *errmsg is made to point to that message. The calling function -** is responsible for freeing the memory that holds the error -** message. Use sqlite3_free() for this. If errmsg==NULL, -** then no error message is ever written. -** -** The return value is is SQLITE_OK if there are no errors and -** some other return code if there is an error. The particular -** return value depends on the type of error. -** -** If the query could not be executed because a database file is -** locked or busy, then this function returns SQLITE_BUSY. (This -** behavior can be modified somewhat using the sqlite3_busy_handler() -** and sqlite3_busy_timeout() functions below.) -*/ -int sqlite3_exec( - sqlite3*, /* An open database */ - const char *sql, /* SQL to be executed */ - sqlite3_callback, /* Callback function */ - void *, /* 1st argument to callback function */ - char **errmsg /* Error msg written here */ -); - -/* -** Return values for sqlite3_exec() and sqlite3_step() -*/ -#define SQLITE_OK 0 /* Successful result */ -/* beginning-of-error-codes */ -#define SQLITE_ERROR 1 /* SQL error or missing database */ -#define SQLITE_INTERNAL 2 /* NOT USED. Internal logic error in SQLite */ -#define SQLITE_PERM 3 /* Access permission denied */ -#define SQLITE_ABORT 4 /* Callback routine requested an abort */ -#define SQLITE_BUSY 5 /* The database file is locked */ -#define SQLITE_LOCKED 6 /* A table in the database is locked */ -#define SQLITE_NOMEM 7 /* A malloc() failed */ -#define SQLITE_READONLY 8 /* Attempt to write a readonly database */ -#define SQLITE_INTERRUPT 9 /* Operation terminated by sqlite3_interrupt()*/ -#define SQLITE_IOERR 10 /* Some kind of disk I/O error occurred */ -#define SQLITE_CORRUPT 11 /* The database disk image is malformed */ -#define SQLITE_NOTFOUND 12 /* NOT USED. Table or record not found */ -#define SQLITE_FULL 13 /* Insertion failed because database is full */ -#define SQLITE_CANTOPEN 14 /* Unable to open the database file */ -#define SQLITE_PROTOCOL 15 /* Database lock protocol error */ -#define SQLITE_EMPTY 16 /* Database is empty */ -#define SQLITE_SCHEMA 17 /* The database schema changed */ -#define SQLITE_TOOBIG 18 /* NOT USED. Too much data for one row */ -#define SQLITE_CONSTRAINT 19 /* Abort due to contraint violation */ -#define SQLITE_MISMATCH 20 /* Data type mismatch */ -#define SQLITE_MISUSE 21 /* Library used incorrectly */ -#define SQLITE_NOLFS 22 /* Uses OS features not supported on host */ -#define SQLITE_AUTH 23 /* Authorization denied */ -#define SQLITE_FORMAT 24 /* Auxiliary database format error */ -#define SQLITE_RANGE 25 /* 2nd parameter to sqlite3_bind out of range */ -#define SQLITE_NOTADB 26 /* File opened that is not a database file */ -#define SQLITE_ROW 100 /* sqlite3_step() has another row ready */ -#define SQLITE_DONE 101 /* sqlite3_step() has finished executing */ -/* end-of-error-codes */ - -/* -** Using the sqlite3_extended_result_codes() API, you can cause -** SQLite to return result codes with additional information in -** their upper bits. The lower 8 bits will be the same as the -** primary result codes above. But the upper bits might contain -** more specific error information. -** -** To extract the primary result code from an extended result code, -** simply mask off the lower 8 bits. -** -** primary = extended & 0xff; -** -** New result error codes may be added from time to time. Software -** that uses the extended result codes should plan accordingly and be -** sure to always handle new unknown codes gracefully. -** -** The SQLITE_OK result code will never be extended. It will always -** be exactly zero. -** -** The extended result codes always have the primary result code -** as a prefix. Primary result codes only contain a single "_" -** character. Extended result codes contain two or more "_" characters. -*/ -#define SQLITE_IOERR_READ (SQLITE_IOERR | (1<<8)) -#define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8)) -#define SQLITE_IOERR_WRITE (SQLITE_IOERR | (3<<8)) -#define SQLITE_IOERR_FSYNC (SQLITE_IOERR | (4<<8)) -#define SQLITE_IOERR_DIR_FSYNC (SQLITE_IOERR | (5<<8)) -#define SQLITE_IOERR_TRUNCATE (SQLITE_IOERR | (6<<8)) -#define SQLITE_IOERR_FSTAT (SQLITE_IOERR | (7<<8)) -#define SQLITE_IOERR_UNLOCK (SQLITE_IOERR | (8<<8)) -#define SQLITE_IOERR_RDLOCK (SQLITE_IOERR | (9<<8)) - -/* -** Enable or disable the extended result codes. -*/ -int sqlite3_extended_result_codes(sqlite3*, int onoff); - -/* -** Each entry in an SQLite table has a unique integer key. (The key is -** the value of the INTEGER PRIMARY KEY column if there is such a column, -** otherwise the key is generated at random. The unique key is always -** available as the ROWID, OID, or _ROWID_ column.) The following routine -** returns the integer key of the most recent insert in the database. -** -** This function is similar to the mysql_insert_id() function from MySQL. -*/ -sqlite_int64 sqlite3_last_insert_rowid(sqlite3*); - -/* -** This function returns the number of database rows that were changed -** (or inserted or deleted) by the most recent called sqlite3_exec(). -** -** All changes are counted, even if they were later undone by a -** ROLLBACK or ABORT. Except, changes associated with creating and -** dropping tables are not counted. -** -** If a callback invokes sqlite3_exec() recursively, then the changes -** in the inner, recursive call are counted together with the changes -** in the outer call. -** -** SQLite implements the command "DELETE FROM table" without a WHERE clause -** by dropping and recreating the table. (This is much faster than going -** through and deleting individual elements form the table.) Because of -** this optimization, the change count for "DELETE FROM table" will be -** zero regardless of the number of elements that were originally in the -** table. To get an accurate count of the number of rows deleted, use -** "DELETE FROM table WHERE 1" instead. -*/ -int sqlite3_changes(sqlite3*); - -/* -** This function returns the number of database rows that have been -** modified by INSERT, UPDATE or DELETE statements since the database handle -** was opened. This includes UPDATE, INSERT and DELETE statements executed -** as part of trigger programs. All changes are counted as soon as the -** statement that makes them is completed (when the statement handle is -** passed to sqlite3_reset() or sqlite_finalise()). -** -** SQLite implements the command "DELETE FROM table" without a WHERE clause -** by dropping and recreating the table. (This is much faster than going -** through and deleting individual elements form the table.) Because of -** this optimization, the change count for "DELETE FROM table" will be -** zero regardless of the number of elements that were originally in the -** table. To get an accurate count of the number of rows deleted, use -** "DELETE FROM table WHERE 1" instead. -*/ -int sqlite3_total_changes(sqlite3*); - -/* This function causes any pending database operation to abort and -** return at its earliest opportunity. This routine is typically -** called in response to a user action such as pressing "Cancel" -** or Ctrl-C where the user wants a long query operation to halt -** immediately. -*/ -void sqlite3_interrupt(sqlite3*); - - -/* These functions return true if the given input string comprises -** one or more complete SQL statements. For the sqlite3_complete() call, -** the parameter must be a nul-terminated UTF-8 string. For -** sqlite3_complete16(), a nul-terminated machine byte order UTF-16 string -** is required. -** -** The algorithm is simple. If the last token other than spaces -** and comments is a semicolon, then return true. otherwise return -** false. -*/ -int sqlite3_complete(const char *sql); -int sqlite3_complete16(const void *sql); - -/* -** This routine identifies a callback function that is invoked -** whenever an attempt is made to open a database table that is -** currently locked by another process or thread. If the busy callback -** is NULL, then sqlite3_exec() returns SQLITE_BUSY immediately if -** it finds a locked table. If the busy callback is not NULL, then -** sqlite3_exec() invokes the callback with two arguments. The -** first argument to the handler is a copy of the void* pointer which -** is the third argument to this routine. The second argument to -** the handler is the number of times that the busy handler has -** been invoked for this locking event. If the -** busy callback returns 0, then sqlite3_exec() immediately returns -** SQLITE_BUSY. If the callback returns non-zero, then sqlite3_exec() -** tries to open the table again and the cycle repeats. -** -** The presence of a busy handler does not guarantee that -** it will be invoked when there is lock contention. -** If SQLite determines that invoking the busy handler could result in -** a deadlock, it will return SQLITE_BUSY instead. -** Consider a scenario where one process is holding a read lock that -** it is trying to promote to a reserved lock and -** a second process is holding a reserved lock that it is trying -** to promote to an exclusive lock. The first process cannot proceed -** because it is blocked by the second and the second process cannot -** proceed because it is blocked by the first. If both processes -** invoke the busy handlers, neither will make any progress. Therefore, -** SQLite returns SQLITE_BUSY for the first process, hoping that this -** will induce the first process to release its read lock and allow -** the second process to proceed. -** -** The default busy callback is NULL. -** -** Sqlite is re-entrant, so the busy handler may start a new query. -** (It is not clear why anyone would every want to do this, but it -** is allowed, in theory.) But the busy handler may not close the -** database. Closing the database from a busy handler will delete -** data structures out from under the executing query and will -** probably result in a coredump. -*/ -int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*); - -/* -** This routine sets a busy handler that sleeps for a while when a -** table is locked. The handler will sleep multiple times until -** at least "ms" milleseconds of sleeping have been done. After -** "ms" milleseconds of sleeping, the handler returns 0 which -** causes sqlite3_exec() to return SQLITE_BUSY. -** -** Calling this routine with an argument less than or equal to zero -** turns off all busy handlers. -*/ -int sqlite3_busy_timeout(sqlite3*, int ms); - -/* -** This next routine is really just a wrapper around sqlite3_exec(). -** Instead of invoking a user-supplied callback for each row of the -** result, this routine remembers each row of the result in memory -** obtained from malloc(), then returns all of the result after the -** query has finished. -** -** As an example, suppose the query result where this table: -** -** Name | Age -** ----------------------- -** Alice | 43 -** Bob | 28 -** Cindy | 21 -** -** If the 3rd argument were &azResult then after the function returns -** azResult will contain the following data: -** -** azResult[0] = "Name"; -** azResult[1] = "Age"; -** azResult[2] = "Alice"; -** azResult[3] = "43"; -** azResult[4] = "Bob"; -** azResult[5] = "28"; -** azResult[6] = "Cindy"; -** azResult[7] = "21"; -** -** Notice that there is an extra row of data containing the column -** headers. But the *nrow return value is still 3. *ncolumn is -** set to 2. In general, the number of values inserted into azResult -** will be ((*nrow) + 1)*(*ncolumn). -** -** After the calling function has finished using the result, it should -** pass the result data pointer to sqlite3_free_table() in order to -** release the memory that was malloc-ed. Because of the way the -** malloc() happens, the calling function must not try to call -** free() directly. Only sqlite3_free_table() is able to release -** the memory properly and safely. -** -** The return value of this routine is the same as from sqlite3_exec(). -*/ -int sqlite3_get_table( - sqlite3*, /* An open database */ - const char *sql, /* SQL to be executed */ - char ***resultp, /* Result written to a char *[] that this points to */ - int *nrow, /* Number of result rows written here */ - int *ncolumn, /* Number of result columns written here */ - char **errmsg /* Error msg written here */ -); - -/* -** Call this routine to free the memory that sqlite3_get_table() allocated. -*/ -void sqlite3_free_table(char **result); - -/* -** The following routines are variants of the "sprintf()" from the -** standard C library. The resulting string is written into memory -** obtained from malloc() so that there is never a possiblity of buffer -** overflow. These routines also implement some additional formatting -** options that are useful for constructing SQL statements. -** -** The strings returned by these routines should be freed by calling -** sqlite3_free(). -** -** All of the usual printf formatting options apply. In addition, there -** is a "%q" option. %q works like %s in that it substitutes a null-terminated -** string from the argument list. But %q also doubles every '\'' character. -** %q is designed for use inside a string literal. By doubling each '\'' -** character it escapes that character and allows it to be inserted into -** the string. -** -** For example, so some string variable contains text as follows: -** -** char *zText = "It's a happy day!"; -** -** We can use this text in an SQL statement as follows: -** -** char *z = sqlite3_mprintf("INSERT INTO TABLES('%q')", zText); -** sqlite3_exec(db, z, callback1, 0, 0); -** sqlite3_free(z); -** -** Because the %q format string is used, the '\'' character in zText -** is escaped and the SQL generated is as follows: -** -** INSERT INTO table1 VALUES('It''s a happy day!') -** -** This is correct. Had we used %s instead of %q, the generated SQL -** would have looked like this: -** -** INSERT INTO table1 VALUES('It's a happy day!'); -** -** This second example is an SQL syntax error. As a general rule you -** should always use %q instead of %s when inserting text into a string -** literal. -*/ -char *sqlite3_mprintf(const char*,...); -char *sqlite3_vmprintf(const char*, va_list); -char *sqlite3_snprintf(int,char*,const char*, ...); - -/* -** SQLite uses its own memory allocator. On many installations, this -** memory allocator is identical to the standard malloc()/realloc()/free() -** and can be used interchangable. On others, the implementations are -** different. For maximum portability, it is best not to mix calls -** to the standard malloc/realloc/free with the sqlite versions. -*/ -void *sqlite3_malloc(int); -void *sqlite3_realloc(void*, int); -void sqlite3_free(void*); - -#ifndef SQLITE_OMIT_AUTHORIZATION -/* -** This routine registers a callback with the SQLite library. The -** callback is invoked (at compile-time, not at run-time) for each -** attempt to access a column of a table in the database. The callback -** returns SQLITE_OK if access is allowed, SQLITE_DENY if the entire -** SQL statement should be aborted with an error and SQLITE_IGNORE -** if the column should be treated as a NULL value. -*/ -int sqlite3_set_authorizer( - sqlite3*, - int (*xAuth)(void*,int,const char*,const char*,const char*,const char*), - void *pUserData -); -#endif - -/* -** The second parameter to the access authorization function above will -** be one of the values below. These values signify what kind of operation -** is to be authorized. The 3rd and 4th parameters to the authorization -** function will be parameters or NULL depending on which of the following -** codes is used as the second parameter. The 5th parameter is the name -** of the database ("main", "temp", etc.) if applicable. The 6th parameter -** is the name of the inner-most trigger or view that is responsible for -** the access attempt or NULL if this access attempt is directly from -** input SQL code. -** -** Arg-3 Arg-4 -*/ -#define SQLITE_COPY 0 /* Table Name File Name */ -#define SQLITE_CREATE_INDEX 1 /* Index Name Table Name */ -#define SQLITE_CREATE_TABLE 2 /* Table Name NULL */ -#define SQLITE_CREATE_TEMP_INDEX 3 /* Index Name Table Name */ -#define SQLITE_CREATE_TEMP_TABLE 4 /* Table Name NULL */ -#define SQLITE_CREATE_TEMP_TRIGGER 5 /* Trigger Name Table Name */ -#define SQLITE_CREATE_TEMP_VIEW 6 /* View Name NULL */ -#define SQLITE_CREATE_TRIGGER 7 /* Trigger Name Table Name */ -#define SQLITE_CREATE_VIEW 8 /* View Name NULL */ -#define SQLITE_DELETE 9 /* Table Name NULL */ -#define SQLITE_DROP_INDEX 10 /* Index Name Table Name */ -#define SQLITE_DROP_TABLE 11 /* Table Name NULL */ -#define SQLITE_DROP_TEMP_INDEX 12 /* Index Name Table Name */ -#define SQLITE_DROP_TEMP_TABLE 13 /* Table Name NULL */ -#define SQLITE_DROP_TEMP_TRIGGER 14 /* Trigger Name Table Name */ -#define SQLITE_DROP_TEMP_VIEW 15 /* View Name NULL */ -#define SQLITE_DROP_TRIGGER 16 /* Trigger Name Table Name */ -#define SQLITE_DROP_VIEW 17 /* View Name NULL */ -#define SQLITE_INSERT 18 /* Table Name NULL */ -#define SQLITE_PRAGMA 19 /* Pragma Name 1st arg or NULL */ -#define SQLITE_READ 20 /* Table Name Column Name */ -#define SQLITE_SELECT 21 /* NULL NULL */ -#define SQLITE_TRANSACTION 22 /* NULL NULL */ -#define SQLITE_UPDATE 23 /* Table Name Column Name */ -#define SQLITE_ATTACH 24 /* Filename NULL */ -#define SQLITE_DETACH 25 /* Database Name NULL */ -#define SQLITE_ALTER_TABLE 26 /* Database Name Table Name */ -#define SQLITE_REINDEX 27 /* Index Name NULL */ -#define SQLITE_ANALYZE 28 /* Table Name NULL */ -#define SQLITE_CREATE_VTABLE 29 /* Table Name Module Name */ -#define SQLITE_DROP_VTABLE 30 /* Table Name Module Name */ -#define SQLITE_FUNCTION 31 /* Function Name NULL */ - -/* -** The return value of the authorization function should be one of the -** following constants: -*/ -/* #define SQLITE_OK 0 // Allow access (This is actually defined above) */ -#define SQLITE_DENY 1 /* Abort the SQL statement with an error */ -#define SQLITE_IGNORE 2 /* Don't allow access, but don't generate an error */ - -/* -** Register a function for tracing SQL command evaluation. The function -** registered by sqlite3_trace() is invoked at the first sqlite3_step() -** for the evaluation of an SQL statement. The function registered by -** sqlite3_profile() runs at the end of each SQL statement and includes -** information on how long that statement ran. -** -** The sqlite3_profile() API is currently considered experimental and -** is subject to change. -*/ -void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*); -void *sqlite3_profile(sqlite3*, - void(*xProfile)(void*,const char*,sqlite_uint64), void*); - -/* -** This routine configures a callback function - the progress callback - that -** is invoked periodically during long running calls to sqlite3_exec(), -** sqlite3_step() and sqlite3_get_table(). An example use for this API is to -** keep a GUI updated during a large query. -** -** The progress callback is invoked once for every N virtual machine opcodes, -** where N is the second argument to this function. The progress callback -** itself is identified by the third argument to this function. The fourth -** argument to this function is a void pointer passed to the progress callback -** function each time it is invoked. -** -** If a call to sqlite3_exec(), sqlite3_step() or sqlite3_get_table() results -** in less than N opcodes being executed, then the progress callback is not -** invoked. -** -** To remove the progress callback altogether, pass NULL as the third -** argument to this function. -** -** If the progress callback returns a result other than 0, then the current -** query is immediately terminated and any database changes rolled back. If the -** query was part of a larger transaction, then the transaction is not rolled -** back and remains active. The sqlite3_exec() call returns SQLITE_ABORT. -** -******* THIS IS AN EXPERIMENTAL API AND IS SUBJECT TO CHANGE ****** -*/ -void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); - -/* -** Register a callback function to be invoked whenever a new transaction -** is committed. The pArg argument is passed through to the callback. -** callback. If the callback function returns non-zero, then the commit -** is converted into a rollback. -** -** If another function was previously registered, its pArg value is returned. -** Otherwise NULL is returned. -** -** Registering a NULL function disables the callback. -** -******* THIS IS AN EXPERIMENTAL API AND IS SUBJECT TO CHANGE ****** -*/ -void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*); - -/* -** Open the sqlite database file "filename". The "filename" is UTF-8 -** encoded for sqlite3_open() and UTF-16 encoded in the native byte order -** for sqlite3_open16(). An sqlite3* handle is returned in *ppDb, even -** if an error occurs. If the database is opened (or created) successfully, -** then SQLITE_OK is returned. Otherwise an error code is returned. The -** sqlite3_errmsg() or sqlite3_errmsg16() routines can be used to obtain -** an English language description of the error. -** -** If the database file does not exist, then a new database is created. -** The encoding for the database is UTF-8 if sqlite3_open() is called and -** UTF-16 if sqlite3_open16 is used. -** -** Whether or not an error occurs when it is opened, resources associated -** with the sqlite3* handle should be released by passing it to -** sqlite3_close() when it is no longer required. -*/ -int sqlite3_open( - const char *filename, /* Database filename (UTF-8) */ - sqlite3 **ppDb /* OUT: SQLite db handle */ -); -int sqlite3_open16( - const void *filename, /* Database filename (UTF-16) */ - sqlite3 **ppDb /* OUT: SQLite db handle */ -); - -/* -** Return the error code for the most recent sqlite3_* API call associated -** with sqlite3 handle 'db'. SQLITE_OK is returned if the most recent -** API call was successful. -** -** Calls to many sqlite3_* functions set the error code and string returned -** by sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16() -** (overwriting the previous values). Note that calls to sqlite3_errcode(), -** sqlite3_errmsg() and sqlite3_errmsg16() themselves do not affect the -** results of future invocations. -** -** Assuming no other intervening sqlite3_* API calls are made, the error -** code returned by this function is associated with the same error as -** the strings returned by sqlite3_errmsg() and sqlite3_errmsg16(). -*/ -int sqlite3_errcode(sqlite3 *db); - -/* -** Return a pointer to a UTF-8 encoded string describing in english the -** error condition for the most recent sqlite3_* API call. The returned -** string is always terminated by an 0x00 byte. -** -** The string "not an error" is returned when the most recent API call was -** successful. -*/ -const char *sqlite3_errmsg(sqlite3*); - -/* -** Return a pointer to a UTF-16 native byte order encoded string describing -** in english the error condition for the most recent sqlite3_* API call. -** The returned string is always terminated by a pair of 0x00 bytes. -** -** The string "not an error" is returned when the most recent API call was -** successful. -*/ -const void *sqlite3_errmsg16(sqlite3*); - -/* -** An instance of the following opaque structure is used to represent -** a compiled SQL statment. -*/ -typedef struct sqlite3_stmt sqlite3_stmt; - -/* -** To execute an SQL query, it must first be compiled into a byte-code -** program using one of the following routines. The only difference between -** them is that the second argument, specifying the SQL statement to -** compile, is assumed to be encoded in UTF-8 for the sqlite3_prepare() -** function and UTF-16 for sqlite3_prepare16(). -** -** The first parameter "db" is an SQLite database handle. The second -** parameter "zSql" is the statement to be compiled, encoded as either -** UTF-8 or UTF-16 (see above). If the next parameter, "nBytes", is less -** than zero, then zSql is read up to the first nul terminator. If -** "nBytes" is not less than zero, then it is the length of the string zSql -** in bytes (not characters). -** -** *pzTail is made to point to the first byte past the end of the first -** SQL statement in zSql. This routine only compiles the first statement -** in zSql, so *pzTail is left pointing to what remains uncompiled. -** -** *ppStmt is left pointing to a compiled SQL statement that can be -** executed using sqlite3_step(). Or if there is an error, *ppStmt may be -** set to NULL. If the input text contained no SQL (if the input is and -** empty string or a comment) then *ppStmt is set to NULL. -** -** On success, SQLITE_OK is returned. Otherwise an error code is returned. -*/ -int sqlite3_prepare( - sqlite3 *db, /* Database handle */ - const char *zSql, /* SQL statement, UTF-8 encoded */ - int nBytes, /* Length of zSql in bytes. */ - sqlite3_stmt **ppStmt, /* OUT: Statement handle */ - const char **pzTail /* OUT: Pointer to unused portion of zSql */ -); -int sqlite3_prepare16( - sqlite3 *db, /* Database handle */ - const void *zSql, /* SQL statement, UTF-16 encoded */ - int nBytes, /* Length of zSql in bytes. */ - sqlite3_stmt **ppStmt, /* OUT: Statement handle */ - const void **pzTail /* OUT: Pointer to unused portion of zSql */ -); - -/* -** Newer versions of the prepare API work just like the legacy versions -** but with one exception: The a copy of the SQL text is saved in the -** sqlite3_stmt structure that is returned. If this copy exists, it -** modifieds the behavior of sqlite3_step() slightly. First, sqlite3_step() -** will no longer return an SQLITE_SCHEMA error but will instead automatically -** rerun the compiler to rebuild the prepared statement. Secondly, -** sqlite3_step() now turns a full result code - the result code that -** use used to have to call sqlite3_reset() to get. -*/ -int sqlite3_prepare_v2( - sqlite3 *db, /* Database handle */ - const char *zSql, /* SQL statement, UTF-8 encoded */ - int nBytes, /* Length of zSql in bytes. */ - sqlite3_stmt **ppStmt, /* OUT: Statement handle */ - const char **pzTail /* OUT: Pointer to unused portion of zSql */ -); -int sqlite3_prepare16_v2( - sqlite3 *db, /* Database handle */ - const void *zSql, /* SQL statement, UTF-16 encoded */ - int nBytes, /* Length of zSql in bytes. */ - sqlite3_stmt **ppStmt, /* OUT: Statement handle */ - const void **pzTail /* OUT: Pointer to unused portion of zSql */ -); - -/* -** Pointers to the following two opaque structures are used to communicate -** with the implementations of user-defined functions. -*/ -typedef struct sqlite3_context sqlite3_context; -typedef struct Mem sqlite3_value; - -/* -** In the SQL strings input to sqlite3_prepare() and sqlite3_prepare16(), -** one or more literals can be replace by parameters "?" or ":AAA" or -** "$VVV" where AAA is an identifer and VVV is a variable name according -** to the syntax rules of the TCL programming language. -** The value of these parameters (also called "host parameter names") can -** be set using the routines listed below. -** -** In every case, the first parameter is a pointer to the sqlite3_stmt -** structure returned from sqlite3_prepare(). The second parameter is the -** index of the parameter. The first parameter as an index of 1. For -** named parameters (":AAA" or "$VVV") you can use -** sqlite3_bind_parameter_index() to get the correct index value given -** the parameters name. If the same named parameter occurs more than -** once, it is assigned the same index each time. -** -** The fifth parameter to sqlite3_bind_blob(), sqlite3_bind_text(), and -** sqlite3_bind_text16() is a destructor used to dispose of the BLOB or -** text after SQLite has finished with it. If the fifth argument is the -** special value SQLITE_STATIC, then the library assumes that the information -** is in static, unmanaged space and does not need to be freed. If the -** fifth argument has the value SQLITE_TRANSIENT, then SQLite makes its -** own private copy of the data. -** -** The sqlite3_bind_* routine must be called before sqlite3_step() after -** an sqlite3_prepare() or sqlite3_reset(). Unbound parameterss are -** interpreted as NULL. -*/ -int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*)); -int sqlite3_bind_double(sqlite3_stmt*, int, double); -int sqlite3_bind_int(sqlite3_stmt*, int, int); -int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite_int64); -int sqlite3_bind_null(sqlite3_stmt*, int); -int sqlite3_bind_text(sqlite3_stmt*, int, const char*, int n, void(*)(void*)); -int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*)); -int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*); - -/* -** Return the number of parameters in a compiled SQL statement. This -** routine was added to support DBD::SQLite. -*/ -int sqlite3_bind_parameter_count(sqlite3_stmt*); - -/* -** Return the name of the i-th parameter. Ordinary parameters "?" are -** nameless and a NULL is returned. For parameters of the form :AAA or -** $VVV the complete text of the parameter name is returned, including -** the initial ":" or "$". NULL is returned if the index is out of range. -*/ -const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int); - -/* -** Return the index of a parameter with the given name. The name -** must match exactly. If no parameter with the given name is found, -** return 0. -*/ -int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName); - -/* -** Set all the parameters in the compiled SQL statement to NULL. -*/ -int sqlite3_clear_bindings(sqlite3_stmt*); - -/* -** Return the number of columns in the result set returned by the compiled -** SQL statement. This routine returns 0 if pStmt is an SQL statement -** that does not return data (for example an UPDATE). -*/ -int sqlite3_column_count(sqlite3_stmt *pStmt); - -/* -** The first parameter is a compiled SQL statement. This function returns -** the column heading for the Nth column of that statement, where N is the -** second function parameter. The string returned is UTF-8 for -** sqlite3_column_name() and UTF-16 for sqlite3_column_name16(). -*/ -const char *sqlite3_column_name(sqlite3_stmt*,int); -const void *sqlite3_column_name16(sqlite3_stmt*,int); - -/* -** The first parameter to the following calls is a compiled SQL statement. -** These functions return information about the Nth column returned by -** the statement, where N is the second function argument. -** -** If the Nth column returned by the statement is not a column value, -** then all of the functions return NULL. Otherwise, the return the -** name of the attached database, table and column that the expression -** extracts a value from. -** -** As with all other SQLite APIs, those postfixed with "16" return UTF-16 -** encoded strings, the other functions return UTF-8. The memory containing -** the returned strings is valid until the statement handle is finalized(). -** -** These APIs are only available if the library was compiled with the -** SQLITE_ENABLE_COLUMN_METADATA preprocessor symbol defined. -*/ -const char *sqlite3_column_database_name(sqlite3_stmt*,int); -const void *sqlite3_column_database_name16(sqlite3_stmt*,int); -const char *sqlite3_column_table_name(sqlite3_stmt*,int); -const void *sqlite3_column_table_name16(sqlite3_stmt*,int); -const char *sqlite3_column_origin_name(sqlite3_stmt*,int); -const void *sqlite3_column_origin_name16(sqlite3_stmt*,int); - -/* -** The first parameter is a compiled SQL statement. If this statement -** is a SELECT statement, the Nth column of the returned result set -** of the SELECT is a table column then the declared type of the table -** column is returned. If the Nth column of the result set is not at table -** column, then a NULL pointer is returned. The returned string is always -** UTF-8 encoded. For example, in the database schema: -** -** CREATE TABLE t1(c1 VARIANT); -** -** And the following statement compiled: -** -** SELECT c1 + 1, c1 FROM t1; -** -** Then this routine would return the string "VARIANT" for the second -** result column (i==1), and a NULL pointer for the first result column -** (i==0). -*/ -const char *sqlite3_column_decltype(sqlite3_stmt *, int i); - -/* -** The first parameter is a compiled SQL statement. If this statement -** is a SELECT statement, the Nth column of the returned result set -** of the SELECT is a table column then the declared type of the table -** column is returned. If the Nth column of the result set is not at table -** column, then a NULL pointer is returned. The returned string is always -** UTF-16 encoded. For example, in the database schema: -** -** CREATE TABLE t1(c1 INTEGER); -** -** And the following statement compiled: -** -** SELECT c1 + 1, c1 FROM t1; -** -** Then this routine would return the string "INTEGER" for the second -** result column (i==1), and a NULL pointer for the first result column -** (i==0). -*/ -const void *sqlite3_column_decltype16(sqlite3_stmt*,int); - -/* -** After an SQL query has been compiled with a call to either -** sqlite3_prepare() or sqlite3_prepare16(), then this function must be -** called one or more times to execute the statement. -** -** The return value will be either SQLITE_BUSY, SQLITE_DONE, -** SQLITE_ROW, SQLITE_ERROR, or SQLITE_MISUSE. -** -** SQLITE_BUSY means that the database engine attempted to open -** a locked database and there is no busy callback registered. -** Call sqlite3_step() again to retry the open. -** -** SQLITE_DONE means that the statement has finished executing -** successfully. sqlite3_step() should not be called again on this virtual -** machine. -** -** If the SQL statement being executed returns any data, then -** SQLITE_ROW is returned each time a new row of data is ready -** for processing by the caller. The values may be accessed using -** the sqlite3_column_*() functions described below. sqlite3_step() -** is called again to retrieve the next row of data. -** -** SQLITE_ERROR means that a run-time error (such as a constraint -** violation) has occurred. sqlite3_step() should not be called again on -** the VM. More information may be found by calling sqlite3_errmsg(). -** -** SQLITE_MISUSE means that the this routine was called inappropriately. -** Perhaps it was called on a virtual machine that had already been -** finalized or on one that had previously returned SQLITE_ERROR or -** SQLITE_DONE. Or it could be the case the the same database connection -** is being used simulataneously by two or more threads. -*/ -int sqlite3_step(sqlite3_stmt*); - -/* -** Return the number of values in the current row of the result set. -** -** After a call to sqlite3_step() that returns SQLITE_ROW, this routine -** will return the same value as the sqlite3_column_count() function. -** After sqlite3_step() has returned an SQLITE_DONE, SQLITE_BUSY or -** error code, or before sqlite3_step() has been called on a -** compiled SQL statement, this routine returns zero. -*/ -int sqlite3_data_count(sqlite3_stmt *pStmt); - -/* -** Values are stored in the database in one of the following fundamental -** types. -*/ -#define SQLITE_INTEGER 1 -#define SQLITE_FLOAT 2 -/* #define SQLITE_TEXT 3 // See below */ -#define SQLITE_BLOB 4 -#define SQLITE_NULL 5 - -/* -** SQLite version 2 defines SQLITE_TEXT differently. To allow both -** version 2 and version 3 to be included, undefine them both if a -** conflict is seen. Define SQLITE3_TEXT to be the version 3 value. -*/ -#ifdef SQLITE_TEXT -# undef SQLITE_TEXT -#else -# define SQLITE_TEXT 3 -#endif -#define SQLITE3_TEXT 3 - -/* -** The next group of routines returns information about the information -** in a single column of the current result row of a query. In every -** case the first parameter is a pointer to the SQL statement that is being -** executed (the sqlite_stmt* that was returned from sqlite3_prepare()) and -** the second argument is the index of the column for which information -** should be returned. iCol is zero-indexed. The left-most column as an -** index of 0. -** -** If the SQL statement is not currently point to a valid row, or if the -** the colulmn index is out of range, the result is undefined. -** -** These routines attempt to convert the value where appropriate. For -** example, if the internal representation is FLOAT and a text result -** is requested, sprintf() is used internally to do the conversion -** automatically. The following table details the conversions that -** are applied: -** -** Internal Type Requested Type Conversion -** ------------- -------------- -------------------------- -** NULL INTEGER Result is 0 -** NULL FLOAT Result is 0.0 -** NULL TEXT Result is an empty string -** NULL BLOB Result is a zero-length BLOB -** INTEGER FLOAT Convert from integer to float -** INTEGER TEXT ASCII rendering of the integer -** INTEGER BLOB Same as for INTEGER->TEXT -** FLOAT INTEGER Convert from float to integer -** FLOAT TEXT ASCII rendering of the float -** FLOAT BLOB Same as FLOAT->TEXT -** TEXT INTEGER Use atoi() -** TEXT FLOAT Use atof() -** TEXT BLOB No change -** BLOB INTEGER Convert to TEXT then use atoi() -** BLOB FLOAT Convert to TEXT then use atof() -** BLOB TEXT Add a \000 terminator if needed -** -** The following access routines are provided: -** -** _type() Return the datatype of the result. This is one of -** SQLITE_INTEGER, SQLITE_FLOAT, SQLITE_TEXT, SQLITE_BLOB, -** or SQLITE_NULL. -** _blob() Return the value of a BLOB. -** _bytes() Return the number of bytes in a BLOB value or the number -** of bytes in a TEXT value represented as UTF-8. The \000 -** terminator is included in the byte count for TEXT values. -** _bytes16() Return the number of bytes in a BLOB value or the number -** of bytes in a TEXT value represented as UTF-16. The \u0000 -** terminator is included in the byte count for TEXT values. -** _double() Return a FLOAT value. -** _int() Return an INTEGER value in the host computer's native -** integer representation. This might be either a 32- or 64-bit -** integer depending on the host. -** _int64() Return an INTEGER value as a 64-bit signed integer. -** _text() Return the value as UTF-8 text. -** _text16() Return the value as UTF-16 text. -*/ -const void *sqlite3_column_blob(sqlite3_stmt*, int iCol); -int sqlite3_column_bytes(sqlite3_stmt*, int iCol); -int sqlite3_column_bytes16(sqlite3_stmt*, int iCol); -double sqlite3_column_double(sqlite3_stmt*, int iCol); -int sqlite3_column_int(sqlite3_stmt*, int iCol); -sqlite_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol); -const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol); -const void *sqlite3_column_text16(sqlite3_stmt*, int iCol); -int sqlite3_column_type(sqlite3_stmt*, int iCol); -int sqlite3_column_numeric_type(sqlite3_stmt*, int iCol); -sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol); - -/* -** The sqlite3_finalize() function is called to delete a compiled -** SQL statement obtained by a previous call to sqlite3_prepare() -** or sqlite3_prepare16(). If the statement was executed successfully, or -** not executed at all, then SQLITE_OK is returned. If execution of the -** statement failed then an error code is returned. -** -** This routine can be called at any point during the execution of the -** virtual machine. If the virtual machine has not completed execution -** when this routine is called, that is like encountering an error or -** an interrupt. (See sqlite3_interrupt().) Incomplete updates may be -** rolled back and transactions cancelled, depending on the circumstances, -** and the result code returned will be SQLITE_ABORT. -*/ -int sqlite3_finalize(sqlite3_stmt *pStmt); - -/* -** The sqlite3_reset() function is called to reset a compiled SQL -** statement obtained by a previous call to sqlite3_prepare() or -** sqlite3_prepare16() back to it's initial state, ready to be re-executed. -** Any SQL statement variables that had values bound to them using -** the sqlite3_bind_*() API retain their values. -*/ -int sqlite3_reset(sqlite3_stmt *pStmt); - -/* -** The following two functions are used to add user functions or aggregates -** implemented in C to the SQL langauge interpreted by SQLite. The -** difference only between the two is that the second parameter, the -** name of the (scalar) function or aggregate, is encoded in UTF-8 for -** sqlite3_create_function() and UTF-16 for sqlite3_create_function16(). -** -** The first argument is the database handle that the new function or -** aggregate is to be added to. If a single program uses more than one -** database handle internally, then user functions or aggregates must -** be added individually to each database handle with which they will be -** used. -** -** The third parameter is the number of arguments that the function or -** aggregate takes. If this parameter is negative, then the function or -** aggregate may take any number of arguments. -** -** The fourth parameter is one of SQLITE_UTF* values defined below, -** indicating the encoding that the function is most likely to handle -** values in. This does not change the behaviour of the programming -** interface. However, if two versions of the same function are registered -** with different encoding values, SQLite invokes the version likely to -** minimize conversions between text encodings. -** -** The seventh, eighth and ninth parameters, xFunc, xStep and xFinal, are -** pointers to user implemented C functions that implement the user -** function or aggregate. A scalar function requires an implementation of -** the xFunc callback only, NULL pointers should be passed as the xStep -** and xFinal parameters. An aggregate function requires an implementation -** of xStep and xFinal, but NULL should be passed for xFunc. To delete an -** existing user function or aggregate, pass NULL for all three function -** callback. Specifying an inconstent set of callback values, such as an -** xFunc and an xFinal, or an xStep but no xFinal, SQLITE_ERROR is -** returned. -*/ -int sqlite3_create_function( - sqlite3 *, - const char *zFunctionName, - int nArg, - int eTextRep, - void*, - void (*xFunc)(sqlite3_context*,int,sqlite3_value**), - void (*xStep)(sqlite3_context*,int,sqlite3_value**), - void (*xFinal)(sqlite3_context*) -); -int sqlite3_create_function16( - sqlite3*, - const void *zFunctionName, - int nArg, - int eTextRep, - void*, - void (*xFunc)(sqlite3_context*,int,sqlite3_value**), - void (*xStep)(sqlite3_context*,int,sqlite3_value**), - void (*xFinal)(sqlite3_context*) -); - -/* -** This function is deprecated. Do not use it. It continues to exist -** so as not to break legacy code. But new code should avoid using it. -*/ -int sqlite3_aggregate_count(sqlite3_context*); - -/* -** The next group of routines returns information about parameters to -** a user-defined function. Function implementations use these routines -** to access their parameters. These routines are the same as the -** sqlite3_column_* routines except that these routines take a single -** sqlite3_value* pointer instead of an sqlite3_stmt* and an integer -** column number. -*/ -const void *sqlite3_value_blob(sqlite3_value*); -int sqlite3_value_bytes(sqlite3_value*); -int sqlite3_value_bytes16(sqlite3_value*); -double sqlite3_value_double(sqlite3_value*); -int sqlite3_value_int(sqlite3_value*); -sqlite_int64 sqlite3_value_int64(sqlite3_value*); -const unsigned char *sqlite3_value_text(sqlite3_value*); -const void *sqlite3_value_text16(sqlite3_value*); -const void *sqlite3_value_text16le(sqlite3_value*); -const void *sqlite3_value_text16be(sqlite3_value*); -int sqlite3_value_type(sqlite3_value*); -int sqlite3_value_numeric_type(sqlite3_value*); - -/* -** Aggregate functions use the following routine to allocate -** a structure for storing their state. The first time this routine -** is called for a particular aggregate, a new structure of size nBytes -** is allocated, zeroed, and returned. On subsequent calls (for the -** same aggregate instance) the same buffer is returned. The implementation -** of the aggregate can use the returned buffer to accumulate data. -** -** The buffer allocated is freed automatically by SQLite. -*/ -void *sqlite3_aggregate_context(sqlite3_context*, int nBytes); - -/* -** The pUserData parameter to the sqlite3_create_function() -** routine used to register user functions is available to -** the implementation of the function using this call. -*/ -void *sqlite3_user_data(sqlite3_context*); - -/* -** The following two functions may be used by scalar user functions to -** associate meta-data with argument values. If the same value is passed to -** multiple invocations of the user-function during query execution, under -** some circumstances the associated meta-data may be preserved. This may -** be used, for example, to add a regular-expression matching scalar -** function. The compiled version of the regular expression is stored as -** meta-data associated with the SQL value passed as the regular expression -** pattern. -** -** Calling sqlite3_get_auxdata() returns a pointer to the meta data -** associated with the Nth argument value to the current user function -** call, where N is the second parameter. If no meta-data has been set for -** that value, then a NULL pointer is returned. -** -** The sqlite3_set_auxdata() is used to associate meta data with a user -** function argument. The third parameter is a pointer to the meta data -** to be associated with the Nth user function argument value. The fourth -** parameter specifies a 'delete function' that will be called on the meta -** data pointer to release it when it is no longer required. If the delete -** function pointer is NULL, it is not invoked. -** -** In practice, meta-data is preserved between function calls for -** expressions that are constant at compile time. This includes literal -** values and SQL variables. -*/ -void *sqlite3_get_auxdata(sqlite3_context*, int); -void sqlite3_set_auxdata(sqlite3_context*, int, void*, void (*)(void*)); - - -/* -** These are special value for the destructor that is passed in as the -** final argument to routines like sqlite3_result_blob(). If the destructor -** argument is SQLITE_STATIC, it means that the content pointer is constant -** and will never change. It does not need to be destroyed. The -** SQLITE_TRANSIENT value means that the content will likely change in -** the near future and that SQLite should make its own private copy of -** the content before returning. -** -** The typedef is necessary to work around problems in certain -** C++ compilers. See ticket #2191. -*/ -typedef void (*sqlite3_destructor_type)(void*); -#define SQLITE_STATIC ((sqlite3_destructor_type)0) -#define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1) - -/* -** User-defined functions invoke the following routines in order to -** set their return value. -*/ -void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*)); -void sqlite3_result_double(sqlite3_context*, double); -void sqlite3_result_error(sqlite3_context*, const char*, int); -void sqlite3_result_error16(sqlite3_context*, const void*, int); -void sqlite3_result_int(sqlite3_context*, int); -void sqlite3_result_int64(sqlite3_context*, sqlite_int64); -void sqlite3_result_null(sqlite3_context*); -void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*)); -void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*)); -void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*)); -void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*)); -void sqlite3_result_value(sqlite3_context*, sqlite3_value*); - -/* -** These are the allowed values for the eTextRep argument to -** sqlite3_create_collation and sqlite3_create_function. -*/ -#define SQLITE_UTF8 1 -#define SQLITE_UTF16LE 2 -#define SQLITE_UTF16BE 3 -#define SQLITE_UTF16 4 /* Use native byte order */ -#define SQLITE_ANY 5 /* sqlite3_create_function only */ -#define SQLITE_UTF16_ALIGNED 8 /* sqlite3_create_collation only */ - -/* -** These two functions are used to add new collation sequences to the -** sqlite3 handle specified as the first argument. -** -** The name of the new collation sequence is specified as a UTF-8 string -** for sqlite3_create_collation() and a UTF-16 string for -** sqlite3_create_collation16(). In both cases the name is passed as the -** second function argument. -** -** The third argument must be one of the constants SQLITE_UTF8, -** SQLITE_UTF16LE or SQLITE_UTF16BE, indicating that the user-supplied -** routine expects to be passed pointers to strings encoded using UTF-8, -** UTF-16 little-endian or UTF-16 big-endian respectively. -** -** A pointer to the user supplied routine must be passed as the fifth -** argument. If it is NULL, this is the same as deleting the collation -** sequence (so that SQLite cannot call it anymore). Each time the user -** supplied function is invoked, it is passed a copy of the void* passed as -** the fourth argument to sqlite3_create_collation() or -** sqlite3_create_collation16() as its first parameter. -** -** The remaining arguments to the user-supplied routine are two strings, -** each represented by a [length, data] pair and encoded in the encoding -** that was passed as the third argument when the collation sequence was -** registered. The user routine should return negative, zero or positive if -** the first string is less than, equal to, or greater than the second -** string. i.e. (STRING1 - STRING2). -*/ -int sqlite3_create_collation( - sqlite3*, - const char *zName, - int eTextRep, - void*, - int(*xCompare)(void*,int,const void*,int,const void*) -); -int sqlite3_create_collation16( - sqlite3*, - const char *zName, - int eTextRep, - void*, - int(*xCompare)(void*,int,const void*,int,const void*) -); - -/* -** To avoid having to register all collation sequences before a database -** can be used, a single callback function may be registered with the -** database handle to be called whenever an undefined collation sequence is -** required. -** -** If the function is registered using the sqlite3_collation_needed() API, -** then it is passed the names of undefined collation sequences as strings -** encoded in UTF-8. If sqlite3_collation_needed16() is used, the names -** are passed as UTF-16 in machine native byte order. A call to either -** function replaces any existing callback. -** -** When the user-function is invoked, the first argument passed is a copy -** of the second argument to sqlite3_collation_needed() or -** sqlite3_collation_needed16(). The second argument is the database -** handle. The third argument is one of SQLITE_UTF8, SQLITE_UTF16BE or -** SQLITE_UTF16LE, indicating the most desirable form of the collation -** sequence function required. The fourth parameter is the name of the -** required collation sequence. -** -** The collation sequence is returned to SQLite by a collation-needed -** callback using the sqlite3_create_collation() or -** sqlite3_create_collation16() APIs, described above. -*/ -int sqlite3_collation_needed( - sqlite3*, - void*, - void(*)(void*,sqlite3*,int eTextRep,const char*) -); -int sqlite3_collation_needed16( - sqlite3*, - void*, - void(*)(void*,sqlite3*,int eTextRep,const void*) -); - -/* -** Specify the key for an encrypted database. This routine should be -** called right after sqlite3_open(). -** -** The code to implement this API is not available in the public release -** of SQLite. -*/ -int sqlite3_key( - sqlite3 *db, /* Database to be rekeyed */ - const void *pKey, int nKey /* The key */ -); - -/* -** Change the key on an open database. If the current database is not -** encrypted, this routine will encrypt it. If pNew==0 or nNew==0, the -** database is decrypted. -** -** The code to implement this API is not available in the public release -** of SQLite. -*/ -int sqlite3_rekey( - sqlite3 *db, /* Database to be rekeyed */ - const void *pKey, int nKey /* The new key */ -); - -/* -** Sleep for a little while. The second parameter is the number of -** miliseconds to sleep for. -** -** If the operating system does not support sleep requests with -** milisecond time resolution, then the time will be rounded up to -** the nearest second. The number of miliseconds of sleep actually -** requested from the operating system is returned. -*/ -int sqlite3_sleep(int); - -/* -** Return TRUE (non-zero) if the statement supplied as an argument needs -** to be recompiled. A statement needs to be recompiled whenever the -** execution environment changes in a way that would alter the program -** that sqlite3_prepare() generates. For example, if new functions or -** collating sequences are registered or if an authorizer function is -** added or changed. -** -*/ -int sqlite3_expired(sqlite3_stmt*); - -/* -** Move all bindings from the first prepared statement over to the second. -** This routine is useful, for example, if the first prepared statement -** fails with an SQLITE_SCHEMA error. The same SQL can be prepared into -** the second prepared statement then all of the bindings transfered over -** to the second statement before the first statement is finalized. -*/ -int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*); - -/* -** If the following global variable is made to point to a -** string which is the name of a directory, then all temporary files -** created by SQLite will be placed in that directory. If this variable -** is NULL pointer, then SQLite does a search for an appropriate temporary -** file directory. -** -** Once sqlite3_open() has been called, changing this variable will invalidate -** the current temporary database, if any. -*/ -extern char *sqlite3_temp_directory; - -/* -** This function is called to recover from a malloc() failure that occured -** within the SQLite library. Normally, after a single malloc() fails the -** library refuses to function (all major calls return SQLITE_NOMEM). -** This function restores the library state so that it can be used again. -** -** All existing statements (sqlite3_stmt pointers) must be finalized or -** reset before this call is made. Otherwise, SQLITE_BUSY is returned. -** If any in-memory databases are in use, either as a main or TEMP -** database, SQLITE_ERROR is returned. In either of these cases, the -** library is not reset and remains unusable. -** -** This function is *not* threadsafe. Calling this from within a threaded -** application when threads other than the caller have used SQLite is -** dangerous and will almost certainly result in malfunctions. -** -** This functionality can be omitted from a build by defining the -** SQLITE_OMIT_GLOBALRECOVER at compile time. -*/ -int sqlite3_global_recover(void); - -/* -** Test to see whether or not the database connection is in autocommit -** mode. Return TRUE if it is and FALSE if not. Autocommit mode is on -** by default. Autocommit is disabled by a BEGIN statement and reenabled -** by the next COMMIT or ROLLBACK. -*/ -int sqlite3_get_autocommit(sqlite3*); - -/* -** Return the sqlite3* database handle to which the prepared statement given -** in the argument belongs. This is the same database handle that was -** the first argument to the sqlite3_prepare() that was used to create -** the statement in the first place. -*/ -sqlite3 *sqlite3_db_handle(sqlite3_stmt*); - -/* -** Register a callback function with the database connection identified by the -** first argument to be invoked whenever a row is updated, inserted or deleted. -** Any callback set by a previous call to this function for the same -** database connection is overridden. -** -** The second argument is a pointer to the function to invoke when a -** row is updated, inserted or deleted. The first argument to the callback is -** a copy of the third argument to sqlite3_update_hook. The second callback -** argument is one of SQLITE_INSERT, SQLITE_DELETE or SQLITE_UPDATE, depending -** on the operation that caused the callback to be invoked. The third and -** fourth arguments to the callback contain pointers to the database and -** table name containing the affected row. The final callback parameter is -** the rowid of the row. In the case of an update, this is the rowid after -** the update takes place. -** -** The update hook is not invoked when internal system tables are -** modified (i.e. sqlite_master and sqlite_sequence). -** -** If another function was previously registered, its pArg value is returned. -** Otherwise NULL is returned. -*/ -void *sqlite3_update_hook( - sqlite3*, - void(*)(void *,int ,char const *,char const *,sqlite_int64), - void* -); - -/* -** Register a callback to be invoked whenever a transaction is rolled -** back. -** -** The new callback function overrides any existing rollback-hook -** callback. If there was an existing callback, then it's pArg value -** (the third argument to sqlite3_rollback_hook() when it was registered) -** is returned. Otherwise, NULL is returned. -** -** For the purposes of this API, a transaction is said to have been -** rolled back if an explicit "ROLLBACK" statement is executed, or -** an error or constraint causes an implicit rollback to occur. The -** callback is not invoked if a transaction is automatically rolled -** back because the database connection is closed. -*/ -void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); - -/* -** This function is only available if the library is compiled without -** the SQLITE_OMIT_SHARED_CACHE macro defined. It is used to enable or -** disable (if the argument is true or false, respectively) the -** "shared pager" feature. -*/ -int sqlite3_enable_shared_cache(int); - -/* -** Attempt to free N bytes of heap memory by deallocating non-essential -** memory allocations held by the database library (example: memory -** used to cache database pages to improve performance). -** -** This function is not a part of standard builds. It is only created -** if SQLite is compiled with the SQLITE_ENABLE_MEMORY_MANAGEMENT macro. -*/ -int sqlite3_release_memory(int); - -/* -** Place a "soft" limit on the amount of heap memory that may be allocated by -** SQLite within the current thread. If an internal allocation is requested -** that would exceed the specified limit, sqlite3_release_memory() is invoked -** one or more times to free up some space before the allocation is made. -** -** The limit is called "soft", because if sqlite3_release_memory() cannot free -** sufficient memory to prevent the limit from being exceeded, the memory is -** allocated anyway and the current operation proceeds. -** -** This function is only available if the library was compiled with the -** SQLITE_ENABLE_MEMORY_MANAGEMENT option set. -** memory-management has been enabled. -*/ -void sqlite3_soft_heap_limit(int); - -/* -** This routine makes sure that all thread-local storage has been -** deallocated for the current thread. -** -** This routine is not technically necessary. All thread-local storage -** will be automatically deallocated once memory-management and -** shared-cache are disabled and the soft heap limit has been set -** to zero. This routine is provided as a convenience for users who -** want to make absolutely sure they have not forgotten something -** prior to killing off a thread. -*/ -void sqlite3_thread_cleanup(void); - -/* -** Return meta information about a specific column of a specific database -** table accessible using the connection handle passed as the first function -** argument. -** -** The column is identified by the second, third and fourth parameters to -** this function. The second parameter is either the name of the database -** (i.e. "main", "temp" or an attached database) containing the specified -** table or NULL. If it is NULL, then all attached databases are searched -** for the table using the same algorithm as the database engine uses to -** resolve unqualified table references. -** -** The third and fourth parameters to this function are the table and column -** name of the desired column, respectively. Neither of these parameters -** may be NULL. -** -** Meta information is returned by writing to the memory locations passed as -** the 5th and subsequent parameters to this function. Any of these -** arguments may be NULL, in which case the corresponding element of meta -** information is ommitted. -** -** Parameter Output Type Description -** ----------------------------------- -** -** 5th const char* Data type -** 6th const char* Name of the default collation sequence -** 7th int True if the column has a NOT NULL constraint -** 8th int True if the column is part of the PRIMARY KEY -** 9th int True if the column is AUTOINCREMENT -** -** -** The memory pointed to by the character pointers returned for the -** declaration type and collation sequence is valid only until the next -** call to any sqlite API function. -** -** If the specified table is actually a view, then an error is returned. -** -** If the specified column is "rowid", "oid" or "_rowid_" and an -** INTEGER PRIMARY KEY column has been explicitly declared, then the output -** parameters are set for the explicitly declared column. If there is no -** explicitly declared IPK column, then the output parameters are set as -** follows: -** -** data type: "INTEGER" -** collation sequence: "BINARY" -** not null: 0 -** primary key: 1 -** auto increment: 0 -** -** This function may load one or more schemas from database files. If an -** error occurs during this process, or if the requested table or column -** cannot be found, an SQLITE error code is returned and an error message -** left in the database handle (to be retrieved using sqlite3_errmsg()). -** -** This API is only available if the library was compiled with the -** SQLITE_ENABLE_COLUMN_METADATA preprocessor symbol defined. -*/ -int sqlite3_table_column_metadata( - sqlite3 *db, /* Connection handle */ - const char *zDbName, /* Database name or NULL */ - const char *zTableName, /* Table name */ - const char *zColumnName, /* Column name */ - char const **pzDataType, /* OUTPUT: Declared data type */ - char const **pzCollSeq, /* OUTPUT: Collation sequence name */ - int *pNotNull, /* OUTPUT: True if NOT NULL constraint exists */ - int *pPrimaryKey, /* OUTPUT: True if column part of PK */ - int *pAutoinc /* OUTPUT: True if colums is auto-increment */ -); - -/* -****** EXPERIMENTAL - subject to change without notice ************** -** -** Attempt to load an SQLite extension library contained in the file -** zFile. The entry point is zProc. zProc may be 0 in which case the -** name of the entry point defaults to "sqlite3_extension_init". -** -** Return SQLITE_OK on success and SQLITE_ERROR if something goes wrong. -** -** If an error occurs and pzErrMsg is not 0, then fill *pzErrMsg with -** error message text. The calling function should free this memory -** by calling sqlite3_free(). -** -** Extension loading must be enabled using sqlite3_enable_load_extension() -** prior to calling this API or an error will be returned. -** -****** EXPERIMENTAL - subject to change without notice ************** -*/ -int sqlite3_load_extension( - sqlite3 *db, /* Load the extension into this database connection */ - const char *zFile, /* Name of the shared library containing extension */ - const char *zProc, /* Entry point. Derived from zFile if 0 */ - char **pzErrMsg /* Put error message here if not 0 */ -); - -/* -** So as not to open security holes in older applications that are -** unprepared to deal with extension load, and as a means of disabling -** extension loading while executing user-entered SQL, the following -** API is provided to turn the extension loading mechanism on and -** off. It is off by default. See ticket #1863. -** -** Call this routine with onoff==1 to turn extension loading on -** and call it with onoff==0 to turn it back off again. -*/ -int sqlite3_enable_load_extension(sqlite3 *db, int onoff); - -/* -****** EXPERIMENTAL - subject to change without notice ************** -** -** Register an extension entry point that is automatically invoked -** whenever a new database connection is opened. -** -** This API can be invoked at program startup in order to register -** one or more statically linked extensions that will be available -** to all new database connections. -** -** Duplicate extensions are detected so calling this routine multiple -** times with the same extension is harmless. -** -** This routine stores a pointer to the extension in an array -** that is obtained from malloc(). If you run a memory leak -** checker on your program and it reports a leak because of this -** array, then invoke sqlite3_automatic_extension_reset() prior -** to shutdown to free the memory. -** -** Automatic extensions apply across all threads. -*/ -int sqlite3_auto_extension(void *xEntryPoint); - - -/* -****** EXPERIMENTAL - subject to change without notice ************** -** -** Disable all previously registered automatic extensions. This -** routine undoes the effect of all prior sqlite3_automatic_extension() -** calls. -** -** This call disabled automatic extensions in all threads. -*/ -void sqlite3_reset_auto_extension(void); - - -/* -****** EXPERIMENTAL - subject to change without notice ************** -** -** The interface to the virtual-table mechanism is currently considered -** to be experimental. The interface might change in incompatible ways. -** If this is a problem for you, do not use the interface at this time. -** -** When the virtual-table mechanism stablizes, we will declare the -** interface fixed, support it indefinitely, and remove this comment. -*/ - -/* -** Structures used by the virtual table interface -*/ -typedef struct sqlite3_vtab sqlite3_vtab; -typedef struct sqlite3_index_info sqlite3_index_info; -typedef struct sqlite3_vtab_cursor sqlite3_vtab_cursor; -typedef struct sqlite3_module sqlite3_module; - -/* -** A module is a class of virtual tables. Each module is defined -** by an instance of the following structure. This structure consists -** mostly of methods for the module. -*/ -struct sqlite3_module { - int iVersion; - int (*xCreate)(sqlite3*, void *pAux, - int argc, const char *const*argv, - sqlite3_vtab **ppVTab, char**); - int (*xConnect)(sqlite3*, void *pAux, - int argc, const char *const*argv, - sqlite3_vtab **ppVTab, char**); - int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); - int (*xDisconnect)(sqlite3_vtab *pVTab); - int (*xDestroy)(sqlite3_vtab *pVTab); - int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); - int (*xClose)(sqlite3_vtab_cursor*); - int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, - int argc, sqlite3_value **argv); - int (*xNext)(sqlite3_vtab_cursor*); - int (*xEof)(sqlite3_vtab_cursor*); - int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int); - int (*xRowid)(sqlite3_vtab_cursor*, sqlite_int64 *pRowid); - int (*xUpdate)(sqlite3_vtab *, int, sqlite3_value **, sqlite_int64 *); - int (*xBegin)(sqlite3_vtab *pVTab); - int (*xSync)(sqlite3_vtab *pVTab); - int (*xCommit)(sqlite3_vtab *pVTab); - int (*xRollback)(sqlite3_vtab *pVTab); - int (*xFindFunction)(sqlite3_vtab *pVtab, int nArg, const char *zName, - void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), - void **ppArg); -}; - -/* -** The sqlite3_index_info structure and its substructures is used to -** pass information into and receive the reply from the xBestIndex -** method of an sqlite3_module. The fields under **Inputs** are the -** inputs to xBestIndex and are read-only. xBestIndex inserts its -** results into the **Outputs** fields. -** -** The aConstraint[] array records WHERE clause constraints of the -** form: -** -** column OP expr -** -** Where OP is =, <, <=, >, or >=. The particular operator is stored -** in aConstraint[].op. The index of the column is stored in -** aConstraint[].iColumn. aConstraint[].usable is TRUE if the -** expr on the right-hand side can be evaluated (and thus the constraint -** is usable) and false if it cannot. -** -** The optimizer automatically inverts terms of the form "expr OP column" -** and makes other simplificatinos to the WHERE clause in an attempt to -** get as many WHERE clause terms into the form shown above as possible. -** The aConstraint[] array only reports WHERE clause terms in the correct -** form that refer to the particular virtual table being queried. -** -** Information about the ORDER BY clause is stored in aOrderBy[]. -** Each term of aOrderBy records a column of the ORDER BY clause. -** -** The xBestIndex method must fill aConstraintUsage[] with information -** about what parameters to pass to xFilter. If argvIndex>0 then -** the right-hand side of the corresponding aConstraint[] is evaluated -** and becomes the argvIndex-th entry in argv. If aConstraintUsage[].omit -** is true, then the constraint is assumed to be fully handled by the -** virtual table and is not checked again by SQLite. -** -** The idxNum and idxPtr values are recorded and passed into xFilter. -** sqlite3_free() is used to free idxPtr if needToFreeIdxPtr is true. -** -** The orderByConsumed means that output from xFilter will occur in -** the correct order to satisfy the ORDER BY clause so that no separate -** sorting step is required. -** -** The estimatedCost value is an estimate of the cost of doing the -** particular lookup. A full scan of a table with N entries should have -** a cost of N. A binary search of a table of N entries should have a -** cost of approximately log(N). -*/ -struct sqlite3_index_info { - /* Inputs */ - const int nConstraint; /* Number of entries in aConstraint */ - const struct sqlite3_index_constraint { - int iColumn; /* Column on left-hand side of constraint */ - unsigned char op; /* Constraint operator */ - unsigned char usable; /* True if this constraint is usable */ - int iTermOffset; /* Used internally - xBestIndex should ignore */ - } *const aConstraint; /* Table of WHERE clause constraints */ - const int nOrderBy; /* Number of terms in the ORDER BY clause */ - const struct sqlite3_index_orderby { - int iColumn; /* Column number */ - unsigned char desc; /* True for DESC. False for ASC. */ - } *const aOrderBy; /* The ORDER BY clause */ - - /* Outputs */ - struct sqlite3_index_constraint_usage { - int argvIndex; /* if >0, constraint is part of argv to xFilter */ - unsigned char omit; /* Do not code a test for this constraint */ - } *const aConstraintUsage; - int idxNum; /* Number used to identify the index */ - char *idxStr; /* String, possibly obtained from sqlite3_malloc */ - int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ - int orderByConsumed; /* True if output is already ordered */ - double estimatedCost; /* Estimated cost of using this index */ -}; -#define SQLITE_INDEX_CONSTRAINT_EQ 2 -#define SQLITE_INDEX_CONSTRAINT_GT 4 -#define SQLITE_INDEX_CONSTRAINT_LE 8 -#define SQLITE_INDEX_CONSTRAINT_LT 16 -#define SQLITE_INDEX_CONSTRAINT_GE 32 -#define SQLITE_INDEX_CONSTRAINT_MATCH 64 - -/* -** This routine is used to register a new module name with an SQLite -** connection. Module names must be registered before creating new -** virtual tables on the module, or before using preexisting virtual -** tables of the module. -*/ -int sqlite3_create_module( - sqlite3 *db, /* SQLite connection to register module with */ - const char *zName, /* Name of the module */ - const sqlite3_module *, /* Methods for the module */ - void * /* Client data for xCreate/xConnect */ -); - -/* -** Every module implementation uses a subclass of the following structure -** to describe a particular instance of the module. Each subclass will -** be taylored to the specific needs of the module implementation. The -** purpose of this superclass is to define certain fields that are common -** to all module implementations. -** -** Virtual tables methods can set an error message by assigning a -** string obtained from sqlite3_mprintf() to zErrMsg. The method should -** take care that any prior string is freed by a call to sqlite3_free() -** prior to assigning a new string to zErrMsg. After the error message -** is delivered up to the client application, the string will be automatically -** freed by sqlite3_free() and the zErrMsg field will be zeroed. Note -** that sqlite3_mprintf() and sqlite3_free() are used on the zErrMsg field -** since virtual tables are commonly implemented in loadable extensions which -** do not have access to sqlite3MPrintf() or sqlite3Free(). -*/ -struct sqlite3_vtab { - const sqlite3_module *pModule; /* The module for this virtual table */ - int nRef; /* Used internally */ - char *zErrMsg; /* Error message from sqlite3_mprintf() */ - /* Virtual table implementations will typically add additional fields */ -}; - -/* Every module implementation uses a subclass of the following structure -** to describe cursors that point into the virtual table and are used -** to loop through the virtual table. Cursors are created using the -** xOpen method of the module. Each module implementation will define -** the content of a cursor structure to suit its own needs. -** -** This superclass exists in order to define fields of the cursor that -** are common to all implementations. -*/ -struct sqlite3_vtab_cursor { - sqlite3_vtab *pVtab; /* Virtual table of this cursor */ - /* Virtual table implementations will typically add additional fields */ -}; - -/* -** The xCreate and xConnect methods of a module use the following API -** to declare the format (the names and datatypes of the columns) of -** the virtual tables they implement. -*/ -int sqlite3_declare_vtab(sqlite3*, const char *zCreateTable); - -/* -** Virtual tables can provide alternative implementations of functions -** using the xFindFunction method. But global versions of those functions -** must exist in order to be overloaded. -** -** This API makes sure a global version of a function with a particular -** name and number of parameters exists. If no such function exists -** before this API is called, a new function is created. The implementation -** of the new function always causes an exception to be thrown. So -** the new function is not good for anything by itself. Its only -** purpose is to be a place-holder function that can be overloaded -** by virtual tables. -** -** This API should be considered part of the virtual table interface, -** which is experimental and subject to change. -*/ -int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg); - -/* -** The interface to the virtual-table mechanism defined above (back up -** to a comment remarkably similar to this one) is currently considered -** to be experimental. The interface might change in incompatible ways. -** If this is a problem for you, do not use the interface at this time. -** -** When the virtual-table mechanism stablizes, we will declare the -** interface fixed, support it indefinitely, and remove this comment. -** -****** EXPERIMENTAL - subject to change without notice ************** -*/ - -/* -** Undo the hack that converts floating point types to integer for -** builds on processors without floating point support. -*/ -#ifdef SQLITE_OMIT_FLOATING_POINT -# undef double -#endif - -#ifdef __cplusplus -} /* End of the 'extern "C"' block */ -#endif -#endif diff --git a/libs/win32/util.vbs b/libs/win32/util.vbs index 032d1bbf5b..1bf4e3fdc4 100644 --- a/libs/win32/util.vbs +++ b/libs/win32/util.vbs @@ -85,7 +85,7 @@ Sub WgetUnCompress(URL, DestFolder) fileext = Right(filename, Len(filename) - NameEnd) Wget URL, DestFolder If fileext = "zip" Then - UnCompress Destfolder & filename, DestFolder & filebase + UnCompress Destfolder & filename, DestFolder Else UnCompress Destfolder & filename, DestFolder End If diff --git a/w32/Library/FreeSwitchCore.2010.vcxproj b/w32/Library/FreeSwitchCore.2010.vcxproj index ea17bf159b..cbe56e23ce 100644 --- a/w32/Library/FreeSwitchCore.2010.vcxproj +++ b/w32/Library/FreeSwitchCore.2010.vcxproj @@ -88,7 +88,7 @@ Disabled - ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) + ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\sqlite-amalgamation-3080401;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;PCRE_STATIC;STATICLIB;ENABLE_ZRTP;TPL_NOLIB;STFU_EXPORTS;LIBSOFIA_SIP_UA_STATIC;HAVE_OPENSSL;HAVE_OPENSSL_DTLS_SRTP;HAVE_OPENSSL_DTLS;%(PreprocessorDefinitions) true EnableFastChecks @@ -147,7 +147,7 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs Disabled - ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) + ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\sqlite-amalgamation-3080401;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;PCRE_STATIC;STATICLIB;ENABLE_ZRTP;TPL_NOLIB;STFU_EXPORTS;LIBSOFIA_SIP_UA_STATIC;HAVE_OPENSSL;HAVE_OPENSSL_DTLS_SRTP;HAVE_OPENSSL_DTLS;%(PreprocessorDefinitions) true EnableFastChecks @@ -199,7 +199,7 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs MaxSpeed - ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) + ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\sqlite-amalgamation-3080401;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;STATICLIB;CRASH_PROT;PCRE_STATIC;ENABLE_ZRTP;TPL_NOLIB;STFU_EXPORTS;LIBSOFIA_SIP_UA_STATIC;HAVE_OPENSSL;HAVE_OPENSSL_DTLS_SRTP;HAVE_OPENSSL_DTLS;%(PreprocessorDefinitions) MultiThreadedDLL Use @@ -249,7 +249,7 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs MaxSpeed - ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) + ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\sqlite-amalgamation-3080401;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;STATICLIB;CRASH_PROT;PCRE_STATIC;ENABLE_ZRTP;TPL_NOLIB;STFU_EXPORTS;LIBSOFIA_SIP_UA_STATIC;HAVE_OPENSSL;HAVE_OPENSSL_DTLS_SRTP;HAVE_OPENSSL_DTLS;%(PreprocessorDefinitions) MultiThreadedDLL Use @@ -755,7 +755,6 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs - diff --git a/w32/Library/FreeSwitchCore.2010.vcxproj.filters b/w32/Library/FreeSwitchCore.2010.vcxproj.filters index 86cab5f207..6a7b1912d7 100644 --- a/w32/Library/FreeSwitchCore.2010.vcxproj.filters +++ b/w32/Library/FreeSwitchCore.2010.vcxproj.filters @@ -327,9 +327,6 @@ Header Files - - Header Files - Header Files diff --git a/w32/Library/FreeSwitchCore.2012.vcxproj b/w32/Library/FreeSwitchCore.2012.vcxproj index 9a908edf4d..b7258122bf 100644 --- a/w32/Library/FreeSwitchCore.2012.vcxproj +++ b/w32/Library/FreeSwitchCore.2012.vcxproj @@ -92,7 +92,7 @@ Disabled - ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) + ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\sqlite-amalgamation-3080401;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;PCRE_STATIC;STATICLIB;ENABLE_ZRTP;TPL_NOLIB;STFU_EXPORTS;LIBSOFIA_SIP_UA_STATIC;HAVE_OPENSSL;HAVE_OPENSSL_DTLS_SRTP;HAVE_OPENSSL_DTLS;%(PreprocessorDefinitions) true EnableFastChecks @@ -155,7 +155,7 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs Disabled - ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) + ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\sqlite-amalgamation-3080401;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;PCRE_STATIC;STATICLIB;ENABLE_ZRTP;TPL_NOLIB;STFU_EXPORTS;LIBSOFIA_SIP_UA_STATIC;HAVE_OPENSSL;HAVE_OPENSSL_DTLS_SRTP;HAVE_OPENSSL_DTLS;%(PreprocessorDefinitions) true EnableFastChecks @@ -209,7 +209,7 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs MaxSpeed - ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) + ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\sqlite-amalgamation-3080401;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;STATICLIB;CRASH_PROT;PCRE_STATIC;ENABLE_ZRTP;TPL_NOLIB;STFU_EXPORTS;LIBSOFIA_SIP_UA_STATIC;HAVE_OPENSSL;HAVE_OPENSSL_DTLS_SRTP;HAVE_OPENSSL_DTLS;%(PreprocessorDefinitions) MultiThreadedDLL Create @@ -260,7 +260,7 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs MaxSpeed - ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) + ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\sqlite-amalgamation-3080401;..\..\libs\pcre-8.34;..\..\libs\speex-1.2rc1\include;..\..\libs\curl-7.35.0\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-4.0.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;..\..\libs\libtpl-1.5\src;..\..\libs\libtpl-1.5\src\win;..\..\libs\openssl-1.0.1f\include;..\..\libs\sofia-sip\libsofia-sip-ua\sdp;..\..\libs\sofia-sip\libsofia-sip-ua\su;..\..\libs\sofia-sip\win32;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;STATICLIB;CRASH_PROT;PCRE_STATIC;ENABLE_ZRTP;TPL_NOLIB;STFU_EXPORTS;LIBSOFIA_SIP_UA_STATIC;HAVE_OPENSSL;HAVE_OPENSSL_DTLS_SRTP;HAVE_OPENSSL_DTLS;%(PreprocessorDefinitions) MultiThreadedDLL Create