Index: Doc/Extra/dbfactorysupport.html ================================================================== --- Doc/Extra/dbfactorysupport.html +++ Doc/Extra/dbfactorysupport.html @@ -83,11 +83,11 @@ <DbProviderFactories> <remove invariant="System.Data.SQLite"/> <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, - Version=1.0.91.0, Culture=neutral, + Version=1.0.90.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/> </DbProviderFactories> </system.data> </configuration> Index: Doc/Extra/environment.html ================================================================== --- Doc/Extra/environment.html +++ Doc/Extra/environment.html @@ -40,41 +40,19 @@
-

- These environment variables are used to control several features of +

These environment variables are used to control several features of the System.Data.SQLite library. All of these environment variables - are optional. If a particular environment variable is not present, - the XML configuration file "System.Data.SQLite.dll.config" - in the directory containing the currently executing assembly (i.e. - the one containing all the managed components for System.Data.SQLite) - will also be consulted. If present, the XML configuration file should - be structured as follows: -

-        <?xml version="1.0"?>
-        <configuration>
-          <appSettings>
-            <add key="A_Setting" value="String Value" />
-            <add key="Another_Setting" value="%ENV_VALUE%" />
-          </appSettings>
-        </configuration>
-        
-

-

- All references to existing environment variables will be expanded to - their corresponding values within the returned settings values unless - either the "No_Expand" or "No_Expand_<name>" - environment variable is set [to anything]. + are optional.

None of these environment variables are supported by the Compact Framework builds of System.Data.SQLite, due to limitations imposed - by the platform itself; however, the XML configuration file mentioned - above may be used instead. + by the platform itself.

@@ -88,16 +66,15 @@ application domain unloading issues. + library pre-loading functionality will be disabled. By default, + the native library pre-loading will attempt to load the native + SQLite library from architecture-specific (e.g. "x86", "amd64", + "x64") or platform-specific (e.g. "Win32") directories that reside + underneath the application base directory. - - - - - - - -
Name
No_PreLoadSQLite If this environment variable is set [to anything], the native - library pre-loading code will be disabled. By default, the native - library pre-loading code will attempt to load the native SQLite - library from architecture-specific (e.g. "x86", - "amd64", "x64") or platform-specific (e.g. - "Win32") directories that reside underneath the application - base directory.
No_SQLiteConnectionNewParser If this environment variable is set [to anything], the new connection string parsing algorithm will not be used. This @@ -126,19 +103,10 @@ If this environment variable is set [to anything], it will be used instead of the processor architecture value contained in the PROCESSOR_ARCHITECTURE environment variable to help build the path of the native library to pre-load.
PreLoadSQLite_NoSearchForDirectoryIf this environment variable is set [to anything], the native - library pre-loading code will skip conducting a search for the native - library to pre-load. By default, the search starts in the location - of the currently executing assembly (i.e. the assembly containing all - the managed components for System.Data.SQLite) and then falls back to - the application domain base directory.
PreLoadSQLite_UseAssemblyDirectory If this environment variable is set [to anything], the location of the currently executing assembly (i.e. the one containing all the managed components for System.Data.SQLite) will be used as the basis @@ -151,17 +119,10 @@ system itself and should reflect the native processor architecture of the current process (e.g. a 32-bit x86 application running on a 64-bit x64 operating system should have the value "x86").
TypeName_SQLiteProviderServicesIf this environment variable is set [to anything], it will be - used by the System.Data.SQLite.SQLiteFactory class as the type name - containing the System.Data.Common.DbProviderServices implementation - that should be used.

Version History

-

1.0.91.0 - February XX, 2014 (release scheduled)

-
    -
  • Updated to SQLite 3.8.3.
  • -
  • Add support for Entity Framework 6.
  • -
  • Modify the namespace used for all internal classes in the System.Data.SQLite.Linq assembly. ** Potentially Incompatible Change **
  • -
  • Add SQLiteCompileOptions and InteropCompileOptions properties to the SQLiteConnection class to return the compile-time options for the SQLite core library and interop assembly, respectively.
  • -
  • Add BindInvariantText and ConvertInvariantText connection flags to force the invariant culture to be used when converting parameter values to/from strings.
  • -
  • Add NoConnectionPool and UseConnectionPool connection flags to disable or enable connection pooling by default.
  • -
  • Modify handling of the design-time components installer to run Visual Studio devenv.exe /setup after installing the package. This appears to be necessary in some circumstances for Visual Studio 2013. Pursuant to [a47eff2c71].
  • -
  • Modify the native library pre-loader to support reading settings from an XML configuration file and to be capable of checking more than one directory. Persuant to [f0246d1817].
  • -
  • Change the default behavior for the native library pre-loader so it first searches the executing (i.e. System.Data.SQLite) assembly directory and then the application domain directory. Pursuant to [f0246d1817]** Potentially Incompatible Change **
  • -

1.0.90.0 - December 23, 2013

  • Updated to SQLite 3.8.2.
  • Add Visual Studio 2013 support to all the applicable solution/project files, their associated supporting files, and the test suite.
  • Add Visual Studio 2013 support to the redesigned designer support installer.
  • Index: Doc/Extra/welcome.html ================================================================== --- Doc/Extra/welcome.html +++ Doc/Extra/welcome.html @@ -158,11 +158,11 @@

    Distributing the Binaries (Compact Framework)

    Both the System.Data.SQLite.DLL and SQLite.Interop.XXX.DLL files must be deployed on the Compact Framework.  The XXX is the build number of - the System.Data.SQLite library (e.g. "091").  The + the System.Data.SQLite library (e.g. "090").  The SQLite.Interop.XXX.DLL file is a fully native assembly compiled for the ARM processor, and System.Data.SQLite is the fully-managed Compact Framework assembly.


*/ #define SQLITE_FCNTL_LOCKSTATE 1 #define SQLITE_GET_LOCKPROXYFILE 2 #define SQLITE_SET_LOCKPROXYFILE 3 @@ -989,13 +967,10 @@ #define SQLITE_FCNTL_PRAGMA 14 #define SQLITE_FCNTL_BUSYHANDLER 15 #define SQLITE_FCNTL_TEMPFILENAME 16 #define SQLITE_FCNTL_MMAP_SIZE 18 #define SQLITE_FCNTL_TRACE 19 -#define SQLITE_FCNTL_HAS_MOVED 20 -#define SQLITE_FCNTL_SYNC 21 -#define SQLITE_FCNTL_COMMIT_PHASETWO 22 /* ** CAPI3REF: Mutex Handle ** ** The mutex module within SQLite defines [sqlite3_mutex] to be an @@ -2426,17 +2401,15 @@ ** already uses the largest possible [ROWID]. The PRNG is also used for ** the build-in random() and randomblob() SQL functions. This interface allows ** applications to access the same PRNG for other purposes. ** ** ^A call to this routine stores N bytes of randomness into buffer P. -** ^If N is less than one, then P can be a NULL pointer. ** -** ^If this routine has not been previously called or if the previous -** call had N less than one, then the PRNG is seeded using randomness -** obtained from the xRandomness method of the default [sqlite3_vfs] object. -** ^If the previous call to this routine had an N of 1 or more then -** the pseudo-randomness is generated +** ^The first time this routine is invoked (either internally or by +** the application) the PRNG is seeded using randomness obtained +** from the xRandomness method of the default [sqlite3_vfs] object. +** ^On all subsequent invocations, the pseudo-randomness is generated ** internally and without recourse to the [sqlite3_vfs] xRandomness ** method. */ SQLITE_API void sqlite3_randomness(int N, void *P); @@ -2592,11 +2565,10 @@ #define SQLITE_CREATE_VTABLE 29 /* Table Name Module Name */ #define SQLITE_DROP_VTABLE 30 /* Table Name Module Name */ #define SQLITE_FUNCTION 31 /* NULL Function Name */ #define SQLITE_SAVEPOINT 32 /* Operation Savepoint Name */ #define SQLITE_COPY 0 /* No longer used */ -#define SQLITE_RECURSIVE 33 /* NULL NULL */ /* ** CAPI3REF: Tracing And Profiling Functions ** ** These routines register callback functions that can be used for @@ -4011,28 +3983,19 @@ ** parameter is less than -1 or greater than 127 then the behavior is ** undefined. ** ** ^The fourth parameter, eTextRep, specifies what ** [SQLITE_UTF8 | text encoding] this SQL function prefers for -** its parameters. The application should set this parameter to -** [SQLITE_UTF16LE] if the function implementation invokes -** [sqlite3_value_text16le()] on an input, or [SQLITE_UTF16BE] if the -** implementation invokes [sqlite3_value_text16be()] on an input, or -** [SQLITE_UTF16] if [sqlite3_value_text16()] is used, or [SQLITE_UTF8] -** otherwise. ^The same SQL function may be registered multiple times using -** different preferred text encodings, with different implementations for -** each encoding. +** its parameters. Every SQL function implementation must be able to work +** with UTF-8, UTF-16le, or UTF-16be. But some implementations may be +** more efficient with one encoding than another. ^An application may +** invoke sqlite3_create_function() or sqlite3_create_function16() multiple +** times with the same function but with different values of eTextRep. ** ^When multiple implementations of the same function are available, SQLite ** will pick the one that involves the least amount of data conversion. -** -** ^The fourth parameter may optionally be ORed with [SQLITE_DETERMINISTIC] -** to signal that the function will always return the same result given -** the same inputs within a single SQL statement. Most SQL functions are -** deterministic. The built-in [random()] SQL function is an example of a -** function that is not deterministic. The SQLite query planner is able to -** perform additional optimizations on deterministic functions, so use -** of the [SQLITE_DETERMINISTIC] flag is recommended where possible. +** If there is only a single implementation which does not care what text +** encoding is used, then the fourth argument should be [SQLITE_ANY]. ** ** ^(The fifth parameter is an arbitrary pointer. The implementation of the ** function can gain access to this pointer using [sqlite3_user_data()].)^ ** ** ^The sixth, seventh and eighth parameters, xFunc, xStep and xFinal, are @@ -4114,23 +4077,13 @@ */ #define SQLITE_UTF8 1 #define SQLITE_UTF16LE 2 #define SQLITE_UTF16BE 3 #define SQLITE_UTF16 4 /* Use native byte order */ -#define SQLITE_ANY 5 /* Deprecated */ +#define SQLITE_ANY 5 /* sqlite3_create_function only */ #define SQLITE_UTF16_ALIGNED 8 /* sqlite3_create_collation only */ -/* -** CAPI3REF: Function Flags -** -** These constants may be ORed together with the -** [SQLITE_UTF8 | preferred text encoding] as the fourth argument -** to [sqlite3_create_function()], [sqlite3_create_function16()], or -** [sqlite3_create_function_v2()]. -*/ -#define SQLITE_DETERMINISTIC 0x800 - /* ** CAPI3REF: Deprecated Functions ** DEPRECATED ** ** These functions are [deprecated]. In order to maintain @@ -8041,169 +7994,167 @@ /************** End of hash.h ************************************************/ /************** Continuing where we left off in sqliteInt.h ******************/ /************** Include parse.h in the middle of sqliteInt.h *****************/ /************** Begin file parse.h *******************************************/ -#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_SAVEPOINT 13 -#define TK_RELEASE 14 -#define TK_TO 15 -#define TK_TABLE 16 -#define TK_CREATE 17 -#define TK_IF 18 -#define TK_NOT 19 -#define TK_EXISTS 20 -#define TK_TEMP 21 -#define TK_LP 22 -#define TK_RP 23 -#define TK_AS 24 -#define TK_WITHOUT 25 -#define TK_COMMA 26 -#define TK_ID 27 -#define TK_INDEXED 28 -#define TK_ABORT 29 -#define TK_ACTION 30 -#define TK_AFTER 31 -#define TK_ANALYZE 32 -#define TK_ASC 33 -#define TK_ATTACH 34 -#define TK_BEFORE 35 -#define TK_BY 36 -#define TK_CASCADE 37 -#define TK_CAST 38 -#define TK_COLUMNKW 39 -#define TK_CONFLICT 40 -#define TK_DATABASE 41 -#define TK_DESC 42 -#define TK_DETACH 43 -#define TK_EACH 44 -#define TK_FAIL 45 -#define TK_FOR 46 -#define TK_IGNORE 47 -#define TK_INITIALLY 48 -#define TK_INSTEAD 49 -#define TK_LIKE_KW 50 -#define TK_MATCH 51 -#define TK_NO 52 -#define TK_KEY 53 -#define TK_OF 54 -#define TK_OFFSET 55 -#define TK_PRAGMA 56 -#define TK_RAISE 57 -#define TK_RECURSIVE 58 -#define TK_REPLACE 59 -#define TK_RESTRICT 60 -#define TK_ROW 61 -#define TK_TRIGGER 62 -#define TK_VACUUM 63 -#define TK_VIEW 64 -#define TK_VIRTUAL 65 -#define TK_WITH 66 -#define TK_REINDEX 67 -#define TK_RENAME 68 -#define TK_CTIME_KW 69 -#define TK_ANY 70 -#define TK_OR 71 -#define TK_AND 72 -#define TK_IS 73 -#define TK_BETWEEN 74 -#define TK_IN 75 -#define TK_ISNULL 76 -#define TK_NOTNULL 77 -#define TK_NE 78 -#define TK_EQ 79 -#define TK_GT 80 -#define TK_LE 81 -#define TK_LT 82 -#define TK_GE 83 -#define TK_ESCAPE 84 -#define TK_BITAND 85 -#define TK_BITOR 86 -#define TK_LSHIFT 87 -#define TK_RSHIFT 88 -#define TK_PLUS 89 -#define TK_MINUS 90 -#define TK_STAR 91 -#define TK_SLASH 92 -#define TK_REM 93 -#define TK_CONCAT 94 -#define TK_COLLATE 95 -#define TK_BITNOT 96 -#define TK_STRING 97 -#define TK_JOIN_KW 98 -#define TK_CONSTRAINT 99 -#define TK_DEFAULT 100 -#define TK_NULL 101 -#define TK_PRIMARY 102 -#define TK_UNIQUE 103 -#define TK_CHECK 104 -#define TK_REFERENCES 105 -#define TK_AUTOINCR 106 -#define TK_ON 107 -#define TK_INSERT 108 -#define TK_DELETE 109 -#define TK_UPDATE 110 -#define TK_SET 111 -#define TK_DEFERRABLE 112 -#define TK_FOREIGN 113 -#define TK_DROP 114 -#define TK_UNION 115 -#define TK_ALL 116 -#define TK_EXCEPT 117 -#define TK_INTERSECT 118 -#define TK_SELECT 119 -#define TK_VALUES 120 -#define TK_DISTINCT 121 -#define TK_DOT 122 -#define TK_FROM 123 -#define TK_JOIN 124 -#define TK_USING 125 -#define TK_ORDER 126 -#define TK_GROUP 127 -#define TK_HAVING 128 -#define TK_LIMIT 129 -#define TK_WHERE 130 -#define TK_INTO 131 -#define TK_INTEGER 132 -#define TK_FLOAT 133 -#define TK_BLOB 134 -#define TK_VARIABLE 135 -#define TK_CASE 136 -#define TK_WHEN 137 -#define TK_THEN 138 -#define TK_ELSE 139 -#define TK_INDEX 140 -#define TK_ALTER 141 -#define TK_ADD 142 -#define TK_TO_TEXT 143 -#define TK_TO_BLOB 144 -#define TK_TO_NUMERIC 145 -#define TK_TO_INT 146 -#define TK_TO_REAL 147 -#define TK_ISNOT 148 -#define TK_END_OF_FILE 149 -#define TK_ILLEGAL 150 -#define TK_SPACE 151 -#define TK_UNCLOSED_STRING 152 -#define TK_FUNCTION 153 -#define TK_COLUMN 154 -#define TK_AGG_FUNCTION 155 -#define TK_AGG_COLUMN 156 -#define TK_UMINUS 157 -#define TK_UPLUS 158 -#define TK_REGISTER 159 +#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_SAVEPOINT 13 +#define TK_RELEASE 14 +#define TK_TO 15 +#define TK_TABLE 16 +#define TK_CREATE 17 +#define TK_IF 18 +#define TK_NOT 19 +#define TK_EXISTS 20 +#define TK_TEMP 21 +#define TK_LP 22 +#define TK_RP 23 +#define TK_AS 24 +#define TK_WITHOUT 25 +#define TK_COMMA 26 +#define TK_ID 27 +#define TK_INDEXED 28 +#define TK_ABORT 29 +#define TK_ACTION 30 +#define TK_AFTER 31 +#define TK_ANALYZE 32 +#define TK_ASC 33 +#define TK_ATTACH 34 +#define TK_BEFORE 35 +#define TK_BY 36 +#define TK_CASCADE 37 +#define TK_CAST 38 +#define TK_COLUMNKW 39 +#define TK_CONFLICT 40 +#define TK_DATABASE 41 +#define TK_DESC 42 +#define TK_DETACH 43 +#define TK_EACH 44 +#define TK_FAIL 45 +#define TK_FOR 46 +#define TK_IGNORE 47 +#define TK_INITIALLY 48 +#define TK_INSTEAD 49 +#define TK_LIKE_KW 50 +#define TK_MATCH 51 +#define TK_NO 52 +#define TK_KEY 53 +#define TK_OF 54 +#define TK_OFFSET 55 +#define TK_PRAGMA 56 +#define TK_RAISE 57 +#define TK_REPLACE 58 +#define TK_RESTRICT 59 +#define TK_ROW 60 +#define TK_TRIGGER 61 +#define TK_VACUUM 62 +#define TK_VIEW 63 +#define TK_VIRTUAL 64 +#define TK_REINDEX 65 +#define TK_RENAME 66 +#define TK_CTIME_KW 67 +#define TK_ANY 68 +#define TK_OR 69 +#define TK_AND 70 +#define TK_IS 71 +#define TK_BETWEEN 72 +#define TK_IN 73 +#define TK_ISNULL 74 +#define TK_NOTNULL 75 +#define TK_NE 76 +#define TK_EQ 77 +#define TK_GT 78 +#define TK_LE 79 +#define TK_LT 80 +#define TK_GE 81 +#define TK_ESCAPE 82 +#define TK_BITAND 83 +#define TK_BITOR 84 +#define TK_LSHIFT 85 +#define TK_RSHIFT 86 +#define TK_PLUS 87 +#define TK_MINUS 88 +#define TK_STAR 89 +#define TK_SLASH 90 +#define TK_REM 91 +#define TK_CONCAT 92 +#define TK_COLLATE 93 +#define TK_BITNOT 94 +#define TK_STRING 95 +#define TK_JOIN_KW 96 +#define TK_CONSTRAINT 97 +#define TK_DEFAULT 98 +#define TK_NULL 99 +#define TK_PRIMARY 100 +#define TK_UNIQUE 101 +#define TK_CHECK 102 +#define TK_REFERENCES 103 +#define TK_AUTOINCR 104 +#define TK_ON 105 +#define TK_INSERT 106 +#define TK_DELETE 107 +#define TK_UPDATE 108 +#define TK_SET 109 +#define TK_DEFERRABLE 110 +#define TK_FOREIGN 111 +#define TK_DROP 112 +#define TK_UNION 113 +#define TK_ALL 114 +#define TK_EXCEPT 115 +#define TK_INTERSECT 116 +#define TK_SELECT 117 +#define TK_DISTINCT 118 +#define TK_DOT 119 +#define TK_FROM 120 +#define TK_JOIN 121 +#define TK_USING 122 +#define TK_ORDER 123 +#define TK_GROUP 124 +#define TK_HAVING 125 +#define TK_LIMIT 126 +#define TK_WHERE 127 +#define TK_INTO 128 +#define TK_VALUES 129 +#define TK_INTEGER 130 +#define TK_FLOAT 131 +#define TK_BLOB 132 +#define TK_REGISTER 133 +#define TK_VARIABLE 134 +#define TK_CASE 135 +#define TK_WHEN 136 +#define TK_THEN 137 +#define TK_ELSE 138 +#define TK_INDEX 139 +#define TK_ALTER 140 +#define TK_ADD 141 +#define TK_TO_TEXT 142 +#define TK_TO_BLOB 143 +#define TK_TO_NUMERIC 144 +#define TK_TO_INT 145 +#define TK_TO_REAL 146 +#define TK_ISNOT 147 +#define TK_END_OF_FILE 148 +#define TK_ILLEGAL 149 +#define TK_SPACE 150 +#define TK_UNCLOSED_STRING 151 +#define TK_FUNCTION 152 +#define TK_COLUMN 153 +#define TK_AGG_FUNCTION 154 +#define TK_AGG_COLUMN 155 +#define TK_UMINUS 156 +#define TK_UPLUS 157 /************** End of parse.h ***********************************************/ /************** Continuing where we left off in sqliteInt.h ******************/ #include #include @@ -8630,11 +8581,10 @@ typedef struct Lookaside Lookaside; typedef struct LookasideSlot LookasideSlot; typedef struct Module Module; typedef struct NameContext NameContext; typedef struct Parse Parse; -typedef struct PrintfArguments PrintfArguments; typedef struct RowSet RowSet; typedef struct Savepoint Savepoint; typedef struct Select Select; typedef struct SelectDest SelectDest; typedef struct SrcList SrcList; @@ -8648,11 +8598,10 @@ typedef struct UnpackedRecord UnpackedRecord; typedef struct VTable VTable; typedef struct VtabCtx VtabCtx; typedef struct Walker Walker; typedef struct WhereInfo WhereInfo; -typedef struct With With; /* ** Defer sourcing vdbe.h and btree.h until after the "u8" and ** "BusyHandler" typedefs. vdbe.h also requires a few of the opaque ** pointer types (i.e. FuncDef) defined above. @@ -9104,11 +9053,11 @@ #define OP_String 25 /* synopsis: r[P2]='P4' (len=P1) */ #define OP_Null 26 /* synopsis: r[P2..P3]=NULL */ #define OP_Blob 27 /* synopsis: r[P2]=P4 (len=P1) */ #define OP_Variable 28 /* synopsis: r[P2]=parameter(P1,P4) */ #define OP_Move 29 /* synopsis: r[P2@P3]=r[P1@P3] */ -#define OP_Copy 30 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */ +#define OP_Copy 30 /* synopsis: r[P2@P3]=r[P1@P3] */ #define OP_SCopy 31 /* synopsis: r[P2]=r[P1] */ #define OP_ResultRow 32 /* synopsis: output=r[P1@P2] */ #define OP_CollSeq 33 #define OP_AddImm 34 /* synopsis: r[P1]=r[P1]+P2 */ #define OP_MustBeInt 35 @@ -9143,39 +9092,39 @@ #define OP_Found 64 /* synopsis: key=r[P3@P4] */ #define OP_NotExists 65 /* synopsis: intkey=r[P3] */ #define OP_Sequence 66 /* synopsis: r[P2]=rowid */ #define OP_NewRowid 67 /* synopsis: r[P2]=rowid */ #define OP_Insert 68 /* synopsis: intkey=r[P3] data=r[P2] */ -#define OP_InsertInt 69 /* synopsis: intkey=P3 data=r[P2] */ -#define OP_Delete 70 -#define OP_Or 71 /* same as TK_OR, synopsis: r[P3]=(r[P1] || r[P2]) */ -#define OP_And 72 /* same as TK_AND, synopsis: r[P3]=(r[P1] && r[P2]) */ +#define OP_Or 69 /* same as TK_OR, synopsis: r[P3]=(r[P1] || r[P2]) */ +#define OP_And 70 /* same as TK_AND, synopsis: r[P3]=(r[P1] && r[P2]) */ +#define OP_InsertInt 71 /* synopsis: intkey=P3 data=r[P2] */ +#define OP_Delete 72 #define OP_ResetCount 73 -#define OP_SorterCompare 74 /* synopsis: if key(P1)!=rtrim(r[P3],P4) goto P2 */ -#define OP_SorterData 75 /* synopsis: r[P2]=data */ -#define OP_IsNull 76 /* same as TK_ISNULL, synopsis: if r[P1]==NULL goto P2 */ -#define OP_NotNull 77 /* same as TK_NOTNULL, synopsis: if r[P1]!=NULL goto P2 */ -#define OP_Ne 78 /* same as TK_NE, synopsis: if r[P1]!=r[P3] goto P2 */ -#define OP_Eq 79 /* same as TK_EQ, synopsis: if r[P1]==r[P3] goto P2 */ -#define OP_Gt 80 /* same as TK_GT, synopsis: if r[P1]>r[P3] goto P2 */ -#define OP_Le 81 /* same as TK_LE, synopsis: if r[P1]<=r[P3] goto P2 */ -#define OP_Lt 82 /* same as TK_LT, synopsis: if r[P1]=r[P3] goto P2 */ -#define OP_RowKey 84 /* synopsis: r[P2]=key */ -#define OP_BitAnd 85 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */ -#define OP_BitOr 86 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */ -#define OP_ShiftLeft 87 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<>r[P1] */ -#define OP_Add 89 /* same as TK_PLUS, synopsis: r[P3]=r[P1]+r[P2] */ -#define OP_Subtract 90 /* same as TK_MINUS, synopsis: r[P3]=r[P2]-r[P1] */ -#define OP_Multiply 91 /* same as TK_STAR, synopsis: r[P3]=r[P1]*r[P2] */ -#define OP_Divide 92 /* same as TK_SLASH, synopsis: r[P3]=r[P2]/r[P1] */ -#define OP_Remainder 93 /* same as TK_REM, synopsis: r[P3]=r[P2]%r[P1] */ -#define OP_Concat 94 /* same as TK_CONCAT, synopsis: r[P3]=r[P2]+r[P1] */ -#define OP_RowData 95 /* synopsis: r[P2]=data */ -#define OP_BitNot 96 /* same as TK_BITNOT, synopsis: r[P1]= ~r[P1] */ -#define OP_String8 97 /* same as TK_STRING, synopsis: r[P2]='P4' */ +#define OP_IsNull 74 /* same as TK_ISNULL, synopsis: if r[P1]==NULL goto P2 */ +#define OP_NotNull 75 /* same as TK_NOTNULL, synopsis: if r[P1]!=NULL goto P2 */ +#define OP_Ne 76 /* same as TK_NE, synopsis: if r[P1]!=r[P3] goto P2 */ +#define OP_Eq 77 /* same as TK_EQ, synopsis: if r[P1]==r[P3] goto P2 */ +#define OP_Gt 78 /* same as TK_GT, synopsis: if r[P1]>r[P3] goto P2 */ +#define OP_Le 79 /* same as TK_LE, synopsis: if r[P1]<=r[P3] goto P2 */ +#define OP_Lt 80 /* same as TK_LT, synopsis: if r[P1]=r[P3] goto P2 */ +#define OP_SorterCompare 82 /* synopsis: if key(P1)!=rtrim(r[P3],P4) goto P2 */ +#define OP_BitAnd 83 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */ +#define OP_BitOr 84 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */ +#define OP_ShiftLeft 85 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<>r[P1] */ +#define OP_Add 87 /* same as TK_PLUS, synopsis: r[P3]=r[P1]+r[P2] */ +#define OP_Subtract 88 /* same as TK_MINUS, synopsis: r[P3]=r[P2]-r[P1] */ +#define OP_Multiply 89 /* same as TK_STAR, synopsis: r[P3]=r[P1]*r[P2] */ +#define OP_Divide 90 /* same as TK_SLASH, synopsis: r[P3]=r[P2]/r[P1] */ +#define OP_Remainder 91 /* same as TK_REM, synopsis: r[P3]=r[P2]%r[P1] */ +#define OP_Concat 92 /* same as TK_CONCAT, synopsis: r[P3]=r[P2]+r[P1] */ +#define OP_SorterData 93 /* synopsis: r[P2]=data */ +#define OP_BitNot 94 /* same as TK_BITNOT, synopsis: r[P1]= ~r[P1] */ +#define OP_String8 95 /* same as TK_STRING, synopsis: r[P2]='P4' */ +#define OP_RowKey 96 /* synopsis: r[P2]=key */ +#define OP_RowData 97 /* synopsis: r[P2]=data */ #define OP_Rowid 98 /* synopsis: r[P2]=rowid */ #define OP_NullRow 99 #define OP_Last 100 #define OP_SorterSort 101 #define OP_Sort 102 @@ -9205,27 +9154,27 @@ #define OP_FkIfZero 126 /* synopsis: if fkctr[P1]==0 goto P2 */ #define OP_MemMax 127 /* synopsis: r[P1]=max(r[P1],r[P2]) */ #define OP_IfPos 128 /* synopsis: if r[P1]>0 goto P2 */ #define OP_IfNeg 129 /* synopsis: if r[P1]<0 goto P2 */ #define OP_IfZero 130 /* synopsis: r[P1]+=P3, if r[P1]==0 goto P2 */ -#define OP_AggFinal 131 /* synopsis: accum=r[P1] N=P2 */ -#define OP_IncrVacuum 132 -#define OP_Real 133 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ +#define OP_Real 131 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ +#define OP_AggFinal 132 /* synopsis: accum=r[P1] N=P2 */ +#define OP_IncrVacuum 133 #define OP_Expire 134 #define OP_TableLock 135 /* synopsis: iDb=P1 root=P2 write=P3 */ #define OP_VBegin 136 #define OP_VCreate 137 #define OP_VDestroy 138 #define OP_VOpen 139 #define OP_VColumn 140 /* synopsis: r[P3]=vcolumn(P2) */ #define OP_VNext 141 -#define OP_VRename 142 -#define OP_ToText 143 /* same as TK_TO_TEXT */ -#define OP_ToBlob 144 /* same as TK_TO_BLOB */ -#define OP_ToNumeric 145 /* same as TK_TO_NUMERIC */ -#define OP_ToInt 146 /* same as TK_TO_INT */ -#define OP_ToReal 147 /* same as TK_TO_REAL */ +#define OP_ToText 142 /* same as TK_TO_TEXT */ +#define OP_ToBlob 143 /* same as TK_TO_BLOB */ +#define OP_ToNumeric 144 /* same as TK_TO_NUMERIC */ +#define OP_ToInt 145 /* same as TK_TO_INT */ +#define OP_ToReal 146 /* same as TK_TO_REAL */ +#define OP_VRename 147 #define OP_Pagecount 148 #define OP_MaxPgcnt 149 #define OP_Trace 150 #define OP_Noop 151 #define OP_Explain 152 @@ -9249,31 +9198,31 @@ /* 24 */ 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x20,\ /* 32 */ 0x00, 0x00, 0x04, 0x05, 0x04, 0x00, 0x00, 0x01,\ /* 40 */ 0x01, 0x05, 0x05, 0x00, 0x00, 0x00, 0x02, 0x02,\ /* 48 */ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ /* 56 */ 0x00, 0x11, 0x11, 0x11, 0x11, 0x08, 0x11, 0x11,\ -/* 64 */ 0x11, 0x11, 0x02, 0x02, 0x00, 0x00, 0x00, 0x4c,\ -/* 72 */ 0x4c, 0x00, 0x00, 0x00, 0x05, 0x05, 0x15, 0x15,\ -/* 80 */ 0x15, 0x15, 0x15, 0x15, 0x00, 0x4c, 0x4c, 0x4c,\ -/* 88 */ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x00,\ -/* 96 */ 0x24, 0x02, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01,\ +/* 64 */ 0x11, 0x11, 0x02, 0x02, 0x00, 0x4c, 0x4c, 0x00,\ +/* 72 */ 0x00, 0x00, 0x05, 0x05, 0x15, 0x15, 0x15, 0x15,\ +/* 80 */ 0x15, 0x15, 0x00, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,\ +/* 88 */ 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x00, 0x24, 0x02,\ +/* 96 */ 0x00, 0x00, 0x02, 0x00, 0x01, 0x01, 0x01, 0x01,\ /* 104 */ 0x08, 0x08, 0x00, 0x02, 0x01, 0x01, 0x02, 0x00,\ /* 112 */ 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ /* 120 */ 0x0c, 0x45, 0x15, 0x01, 0x02, 0x00, 0x01, 0x08,\ -/* 128 */ 0x05, 0x05, 0x05, 0x00, 0x01, 0x02, 0x00, 0x00,\ -/* 136 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04,\ -/* 144 */ 0x04, 0x04, 0x04, 0x04, 0x02, 0x02, 0x00, 0x00,\ +/* 128 */ 0x05, 0x05, 0x05, 0x02, 0x00, 0x01, 0x00, 0x00,\ +/* 136 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x04,\ +/* 144 */ 0x04, 0x04, 0x04, 0x00, 0x02, 0x02, 0x00, 0x00,\ /* 152 */ 0x00,} /************** End of opcodes.h *********************************************/ /************** Continuing where we left off in vdbe.h ***********************/ /* ** Prototypes for the VDBE interface. See comments on the implementation ** for a description of what each of these routines does. */ -SQLITE_PRIVATE Vdbe *sqlite3VdbeCreate(Parse*); +SQLITE_PRIVATE Vdbe *sqlite3VdbeCreate(sqlite3*); SQLITE_PRIVATE int sqlite3VdbeAddOp0(Vdbe*,int); SQLITE_PRIVATE int sqlite3VdbeAddOp1(Vdbe*,int,int); SQLITE_PRIVATE int sqlite3VdbeAddOp2(Vdbe*,int,int,int); SQLITE_PRIVATE int sqlite3VdbeAddOp3(Vdbe*,int,int,int,int); SQLITE_PRIVATE int sqlite3VdbeAddOp4(Vdbe*,int,int,int,int,const char *zP4,int); @@ -9284,11 +9233,10 @@ SQLITE_PRIVATE void sqlite3VdbeChangeP2(Vdbe*, u32 addr, int P2); SQLITE_PRIVATE void sqlite3VdbeChangeP3(Vdbe*, u32 addr, int P3); SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe*, u8 P5); SQLITE_PRIVATE void sqlite3VdbeJumpHere(Vdbe*, int addr); SQLITE_PRIVATE void sqlite3VdbeChangeToNoop(Vdbe*, int addr); -SQLITE_PRIVATE int sqlite3VdbeDeletePriorOpcode(Vdbe*, u8 op); SQLITE_PRIVATE void sqlite3VdbeChangeP4(Vdbe*, int addr, const char *zP4, int N); SQLITE_PRIVATE void sqlite3VdbeSetP4KeyInfo(Parse*, Index*); SQLITE_PRIVATE void sqlite3VdbeUsesBtree(Vdbe*, int); SQLITE_PRIVATE VdbeOp *sqlite3VdbeGetOp(Vdbe*, int); SQLITE_PRIVATE int sqlite3VdbeMakeLabel(Vdbe*); @@ -9491,11 +9439,10 @@ SQLITE_PRIVATE int sqlite3PagerAcquire(Pager *pPager, Pgno pgno, DbPage **ppPage, int clrFlag); #define sqlite3PagerGet(A,B,C) sqlite3PagerAcquire(A,B,C,0) SQLITE_PRIVATE DbPage *sqlite3PagerLookup(Pager *pPager, Pgno pgno); SQLITE_PRIVATE void sqlite3PagerRef(DbPage*); SQLITE_PRIVATE void sqlite3PagerUnref(DbPage*); -SQLITE_PRIVATE void sqlite3PagerUnrefNotNull(DbPage*); /* Operations on page references. */ SQLITE_PRIVATE int sqlite3PagerWrite(DbPage*); SQLITE_PRIVATE void sqlite3PagerDontWrite(DbPage*); SQLITE_PRIVATE int sqlite3PagerMovepage(Pager*,DbPage*,Pgno,int); @@ -9506,11 +9453,11 @@ /* Functions used to manage pager transactions and savepoints. */ SQLITE_PRIVATE void sqlite3PagerPagecount(Pager*, int*); SQLITE_PRIVATE int sqlite3PagerBegin(Pager*, int exFlag, int); SQLITE_PRIVATE int sqlite3PagerCommitPhaseOne(Pager*,const char *zMaster, int); SQLITE_PRIVATE int sqlite3PagerExclusiveLock(Pager*); -SQLITE_PRIVATE int sqlite3PagerSync(Pager *pPager, const char *zMaster); +SQLITE_PRIVATE int sqlite3PagerSync(Pager *pPager); SQLITE_PRIVATE int sqlite3PagerCommitPhaseTwo(Pager*); SQLITE_PRIVATE int sqlite3PagerRollback(Pager*); SQLITE_PRIVATE int sqlite3PagerOpenSavepoint(Pager *pPager, int n); SQLITE_PRIVATE int sqlite3PagerSavepoint(Pager *pPager, int op, int iSavepoint); SQLITE_PRIVATE int sqlite3PagerSharedLock(Pager *pPager); @@ -10378,11 +10325,11 @@ */ #define SQLITE_QueryFlattener 0x0001 /* Query flattening */ #define SQLITE_ColumnCache 0x0002 /* Column cache */ #define SQLITE_GroupByOrder 0x0004 /* GROUPBY cover of ORDERBY */ #define SQLITE_FactorOutConst 0x0008 /* Constant factoring */ -/* not used 0x0010 // Was: SQLITE_IdxRealAsInt */ +#define SQLITE_IdxRealAsInt 0x0010 /* Store REAL as INT in indices */ #define SQLITE_DistinctOpt 0x0020 /* DISTINCT using indexes */ #define SQLITE_CoverIdxScan 0x0040 /* Covering index scans */ #define SQLITE_OrderByIdxJoin 0x0080 /* ORDER BY of joins via index */ #define SQLITE_SubqCoroutine 0x0100 /* Evaluate subqueries as coroutines */ #define SQLITE_Transitive 0x0200 /* Transitive constraints */ @@ -10750,11 +10697,11 @@ Schema *pSchema; /* Schema that contains this table */ Table *pNextZombie; /* Next on the Parse.pZombieTab list */ }; /* -** Allowed values for Table.tabFlags. +** Allowed values for Tabe.tabFlags. */ #define TF_Readonly 0x01 /* Read-only system table */ #define TF_Ephemeral 0x02 /* An ephemeral table */ #define TF_HasPrimaryKey 0x04 /* Table has a primary key */ #define TF_Autoincrement 0x08 /* Integer primary key is autoincrement */ @@ -11010,11 +10957,10 @@ u8 useSortingIdx; /* In direct mode, reference the sorting index rather ** than the source table */ int sortingIdx; /* Cursor number of the sorting index */ int sortingIdxPTab; /* Cursor number of pseudo-table */ int nSortingColumn; /* Number of columns in the sorting index */ - int mnReg, mxReg; /* Range of registers allocated for aCol and aFunc */ ExprList *pGroupBy; /* The group by clause */ struct AggInfo_col { /* For each column used in source tables */ Table *pTab; /* Source table */ int iTable; /* Cursor number of the source table */ int iColumn; /* Column number within the source table */ @@ -11303,11 +11249,10 @@ /* ** A bit in a Bitmask */ #define MASKBIT(n) (((Bitmask)1)<<(n)) -#define MASKBIT32(n) (((unsigned int)1)<<(n)) /* ** The following structure describes the FROM clause of a SELECT statement. ** Each table or subquery in the FROM clause is a separate element of ** the SrcList.a[] array. @@ -11340,11 +11285,10 @@ int regReturn; /* Register holding return address of addrFillSub */ u8 jointype; /* Type of join between this able and the previous */ unsigned notIndexed :1; /* True if there is a NOT INDEXED clause */ unsigned isCorrelated :1; /* True if sub-query is correlated */ unsigned viaCoroutine :1; /* Implemented as a co-routine */ - unsigned isRecursive :1; /* True for recursive reference in WITH */ #ifndef SQLITE_OMIT_EXPLAIN u8 iSelectId; /* If pSelect!=0, the id of the sub-select in EQP */ #endif int iCursor; /* The VDBE cursor number used to access this table */ Expr *pOn; /* The ON clause of a join */ @@ -11467,11 +11411,10 @@ Select *pPrior; /* Prior select in a compound select statement */ Select *pNext; /* Next select to the left in a compound */ Select *pRightmost; /* Right-most select in a compound select statement */ Expr *pLimit; /* LIMIT expression. NULL means not used. */ Expr *pOffset; /* OFFSET expression. NULL means not used. */ - With *pWith; /* WITH clause attached to this select. Or NULL. */ }; /* ** Allowed values for Select.selFlags. The "SF" prefix stands for ** "Select Flag". @@ -11485,74 +11428,15 @@ #define SF_UseSorter 0x0040 /* Sort using a sorter */ #define SF_Values 0x0080 /* Synthesized from VALUES clause */ #define SF_Materialize 0x0100 /* Force materialization of views */ #define SF_NestedFrom 0x0200 /* Part of a parenthesized FROM clause */ #define SF_MaybeConvert 0x0400 /* Need convertCompoundSelectToSubquery() */ -#define SF_Recursive 0x0800 /* The recursive part of a recursive CTE */ /* -** The results of a SELECT can be distributed in several ways, as defined -** by one of the following macros. The "SRT" prefix means "SELECT Result -** Type". -** -** SRT_Union Store results as a key in a temporary index -** identified by pDest->iSDParm. -** -** SRT_Except Remove results from the temporary index pDest->iSDParm. -** -** SRT_Exists Store a 1 in memory cell pDest->iSDParm if the result -** set is not empty. -** -** SRT_Discard Throw the results away. This is used by SELECT -** statements within triggers whose only purpose is -** the side-effects of functions. -** -** All of the above are free to ignore their ORDER BY clause. Those that -** follow must honor the ORDER BY clause. -** -** SRT_Output Generate a row of output (using the OP_ResultRow -** opcode) for each row in the result set. -** -** SRT_Mem Only valid if the result is a single column. -** Store the first column of the first result row -** in register pDest->iSDParm then abandon the rest -** of the query. This destination implies "LIMIT 1". -** -** SRT_Set The result must be a single column. Store each -** row of result as the key in table pDest->iSDParm. -** Apply the affinity pDest->affSdst before storing -** results. Used to implement "IN (SELECT ...)". -** -** SRT_EphemTab Create an temporary table pDest->iSDParm and store -** the result there. The cursor is left open after -** returning. This is like SRT_Table except that -** this destination uses OP_OpenEphemeral to create -** the table first. -** -** SRT_Coroutine Generate a co-routine that returns a new row of -** results each time it is invoked. The entry point -** of the co-routine is stored in register pDest->iSDParm -** and the result row is stored in pDest->nDest registers -** starting with pDest->iSdst. -** -** SRT_Table Store results in temporary table pDest->iSDParm. -** This is like SRT_EphemTab except that the table -** is assumed to already be open. -** -** SRT_DistTable Store results in a temporary table pDest->iSDParm. -** But also use temporary table pDest->iSDParm+1 as -** a record of all prior results and ignore any duplicate -** rows. Name means: "Distinct Table". -** -** SRT_Queue Store results in priority queue pDest->iSDParm (really -** an index). Append a sequence number so that all entries -** are distinct. -** -** SRT_DistQueue Store results in priority queue pDest->iSDParm only if -** the same record has never been stored before. The -** index at pDest->iSDParm+1 hold all prior stores. +** The results of a select can be distributed in several ways. The +** "SRT" prefix means "SELECT Result Type". */ #define SRT_Union 1 /* Store result as keys in an index */ #define SRT_Except 2 /* Remove result from a UNION index */ #define SRT_Exists 3 /* Store 1 if the result is not empty */ #define SRT_Discard 4 /* Do not save the results anywhere */ @@ -11561,28 +11445,24 @@ #define IgnorableOrderby(X) ((X->eDest)<=SRT_Discard) #define SRT_Output 5 /* Output each row of result */ #define SRT_Mem 6 /* Store result in a memory cell */ #define SRT_Set 7 /* Store results as keys in an index */ -#define SRT_EphemTab 8 /* Create transient tab and store like SRT_Table */ -#define SRT_Coroutine 9 /* Generate a single row of result */ -#define SRT_Table 10 /* Store result as data with an automatic rowid */ -#define SRT_DistTable 11 /* Like SRT_Table, but unique results only */ -#define SRT_Queue 12 /* Store result in an queue */ -#define SRT_DistQueue 13 /* Like SRT_Queue, but unique results only */ +#define SRT_Table 8 /* Store result as data with an automatic rowid */ +#define SRT_EphemTab 9 /* Create transient tab and store like SRT_Table */ +#define SRT_Coroutine 10 /* Generate a single row of result */ /* ** An instance of this object describes where to put of the results of ** a SELECT statement. */ struct SelectDest { - u8 eDest; /* How to dispose of the results. On of SRT_* above. */ - char affSdst; /* Affinity used when eDest==SRT_Set */ - int iSDParm; /* A parameter used by the eDest disposal method */ - int iSdst; /* Base register where results are written */ - int nSdst; /* Number of registers allocated */ - ExprList *pOrderBy; /* Key columns for SRT_Queue and SRT_DistQueue */ + u8 eDest; /* How to dispose of the results. On of SRT_* above. */ + char affSdst; /* Affinity used when eDest==SRT_Set */ + int iSDParm; /* A parameter used by the eDest disposal method */ + int iSdst; /* Base register where results are written */ + int nSdst; /* Number of registers allocated */ }; /* ** During code generation of statements that do inserts into AUTOINCREMENT ** tables, the following information is attached to the Table.u.autoInc.p @@ -11678,14 +11558,10 @@ int nErr; /* Number of errors seen */ int nTab; /* Number of previously allocated VDBE cursors */ int nMem; /* Number of memory cells used so far */ int nSet; /* Number of sets used so far */ int nOnce; /* Number of OP_Once instructions so far */ - int nOpAlloc; /* Number of slots allocated for Vdbe.aOp[] */ - int nLabel; /* Number of labels used */ - int *aLabel; /* Space to hold the labels */ - int iFixedOp; /* Never back out opcodes iFixedOp-1 or earlier */ int ckBase; /* Base register of data during check constraints */ int iPartIdxTab; /* Table corresponding to a partial index */ int iCacheLevel; /* ColCache valid when aColCache[].iLevel<=iCacheLevel */ int iCacheCnt; /* Counter used to generate aColCache[].lru values */ struct yColCache { @@ -11752,12 +11628,10 @@ Token sArg; /* Complete text of a module argument */ Table **apVtabLock; /* Pointer to virtual tables needing locking */ #endif Table *pZombieTab; /* List of Table objects to delete after code gen */ TriggerPrg *pTriggerPrg; /* Linked list of coded triggers */ - With *pWith; /* Current WITH clause, or NULL */ - u8 bFreeWith; /* True if pWith should be freed with parser */ }; /* ** Return true if currently inside an sqlite3_declare_vtab() call. */ @@ -11873,11 +11747,11 @@ u8 orconf; /* OE_Rollback etc. */ Trigger *pTrig; /* The trigger that this step is a part of */ Select *pSelect; /* SELECT statment or RHS of INSERT INTO .. SELECT ... */ Token target; /* Target table for DELETE, UPDATE, INSERT */ Expr *pWhere; /* The WHERE clause for DELETE or UPDATE steps */ - ExprList *pExprList; /* SET clause for UPDATE. */ + ExprList *pExprList; /* SET clause for UPDATE. VALUES clause for INSERT */ IdList *pIdList; /* Column names for INSERT */ TriggerStep *pNext; /* Next in the link-list */ TriggerStep *pLast; /* Last element in link-list. Valid for 1st elem only */ }; @@ -11995,13 +11869,13 @@ ** Context pointer passed down through the tree-walk. */ struct Walker { int (*xExprCallback)(Walker*, Expr*); /* Callback for expressions */ int (*xSelectCallback)(Walker*,Select*); /* Callback for SELECTs */ - void (*xSelectCallback2)(Walker*,Select*);/* Second callback for SELECTs */ Parse *pParse; /* Parser context. */ int walkerDepth; /* Number of subqueries */ + u8 bSelectDepthFirst; /* Do subqueries first */ union { /* Extra data for callback */ NameContext *pNC; /* Naming context */ int i; /* Integer value */ SrcList *pSrcList; /* FROM clause */ struct SrcCount *pSrcCount; /* Counting column references */ @@ -12021,25 +11895,10 @@ */ #define WRC_Continue 0 /* Continue down into children */ #define WRC_Prune 1 /* Omit children but continue walking siblings */ #define WRC_Abort 2 /* Abandon the tree walk */ -/* -** An instance of this structure represents a set of one or more CTEs -** (common table expressions) created by a single WITH clause. -*/ -struct With { - int nCte; /* Number of CTEs in the WITH clause */ - With *pOuter; /* Containing WITH clause, or NULL */ - struct Cte { /* For each CTE in the WITH clause.... */ - char *zName; /* Name of this CTE */ - ExprList *pCols; /* List of explicit column names, or NULL */ - Select *pSelect; /* The definition of this CTE */ - const char *zErr; /* Error message for circular references */ - } a[1]; -}; - /* ** Assuming zIn points to the first byte of a UTF-8 character, ** advance zIn to point to the first byte of the next UTF-8 character. */ #define SQLITE_SKIP_UTF8(zIn) { \ @@ -12175,24 +12034,14 @@ SQLITE_PRIVATE int sqlite3IsNaN(double); #else # define sqlite3IsNaN(X) 0 #endif -/* -** An instance of the following structure holds information about SQL -** functions arguments that are the parameters to the printf() function. -*/ -struct PrintfArguments { - int nArg; /* Total number of arguments */ - int nUsed; /* Number of arguments used so far */ - sqlite3_value **apArg; /* The argument values */ -}; - -#define SQLITE_PRINTF_INTERNAL 0x01 -#define SQLITE_PRINTF_SQLFUNC 0x02 -SQLITE_PRIVATE void sqlite3VXPrintf(StrAccum*, u32, const char*, va_list); -SQLITE_PRIVATE void sqlite3XPrintf(StrAccum*, u32, const char*, ...); +SQLITE_PRIVATE void sqlite3VXPrintf(StrAccum*, int, const char*, va_list); +#ifndef SQLITE_OMIT_TRACE +SQLITE_PRIVATE void sqlite3XPrintf(StrAccum*, const char*, ...); +#endif SQLITE_PRIVATE char *sqlite3MPrintf(sqlite3*,const char*, ...); SQLITE_PRIVATE char *sqlite3VMPrintf(sqlite3*,const char*, va_list); SQLITE_PRIVATE char *sqlite3MAppendf(sqlite3*,char*,const char*,...); #if defined(SQLITE_TEST) || defined(SQLITE_DEBUG) SQLITE_PRIVATE void sqlite3DebugPrintf(const char*, ...); @@ -12303,11 +12152,11 @@ #else # define sqlite3AutoincrementBegin(X) # define sqlite3AutoincrementEnd(X) #endif SQLITE_PRIVATE int sqlite3CodeCoroutine(Parse*, Select*, SelectDest*); -SQLITE_PRIVATE void sqlite3Insert(Parse*, SrcList*, Select*, IdList*, int); +SQLITE_PRIVATE void sqlite3Insert(Parse*, SrcList*, ExprList*, Select*, IdList*, int); SQLITE_PRIVATE void *sqlite3ArrayAllocate(sqlite3*,void*,int,int*,int*); SQLITE_PRIVATE IdList *sqlite3IdListAppend(sqlite3*, IdList*, Token*); SQLITE_PRIVATE int sqlite3IdListIndex(IdList*,const char*); SQLITE_PRIVATE SrcList *sqlite3SrcListEnlarge(sqlite3*, SrcList*, int, int); SQLITE_PRIVATE SrcList *sqlite3SrcListAppend(sqlite3*, SrcList*, Token*, Token*); @@ -12378,10 +12227,11 @@ SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext*,ExprList*); SQLITE_PRIVATE int sqlite3FunctionUsesThisSrc(Expr*, SrcList*); SQLITE_PRIVATE Vdbe *sqlite3GetVdbe(Parse*); SQLITE_PRIVATE void sqlite3PrngSaveState(void); SQLITE_PRIVATE void sqlite3PrngRestoreState(void); +SQLITE_PRIVATE void sqlite3PrngResetState(void); SQLITE_PRIVATE void sqlite3RollbackAll(sqlite3*,int); SQLITE_PRIVATE void sqlite3CodeVerifySchema(Parse*, int); SQLITE_PRIVATE void sqlite3CodeVerifyNamedSchema(Parse*, const char *zDb); SQLITE_PRIVATE void sqlite3BeginTransaction(Parse*, int); SQLITE_PRIVATE void sqlite3CommitTransaction(Parse*); @@ -12397,11 +12247,11 @@ SQLITE_PRIVATE void sqlite3ExprCodeIsNullJump(Vdbe*, const Expr*, int, int); SQLITE_PRIVATE int sqlite3ExprNeedsNoAffinityChange(const Expr*, char); SQLITE_PRIVATE int sqlite3IsRowid(const char*); SQLITE_PRIVATE void sqlite3GenerateRowDelete(Parse*,Table*,Trigger*,int,int,int,i16,u8,u8,u8); SQLITE_PRIVATE void sqlite3GenerateRowIndexDelete(Parse*, Table*, int, int, int*); -SQLITE_PRIVATE int sqlite3GenerateIndexKey(Parse*, Index*, int, int, int, int*,Index*,int); +SQLITE_PRIVATE int sqlite3GenerateIndexKey(Parse*, Index*, int, int, int, int*); SQLITE_PRIVATE void sqlite3GenerateConstraintChecks(Parse*,Table*,int*,int,int,int,int, u8,u8,int,int*); SQLITE_PRIVATE void sqlite3CompleteInsertion(Parse*,Table*,int,int,int,int*,int,int,int); SQLITE_PRIVATE int sqlite3OpenTableAndIndices(Parse*, Table*, int, int, u8*, int*, int*); SQLITE_PRIVATE void sqlite3BeginWriteOperation(Parse*, int, int); @@ -12441,11 +12291,11 @@ SQLITE_PRIVATE void sqlite3CodeRowTriggerDirect(Parse *, Trigger *, Table *, int, int, int); void sqliteViewTriggers(Parse*, Table*, Expr*, int, ExprList*); SQLITE_PRIVATE void sqlite3DeleteTriggerStep(sqlite3*, TriggerStep*); SQLITE_PRIVATE TriggerStep *sqlite3TriggerSelectStep(sqlite3*,Select*); SQLITE_PRIVATE TriggerStep *sqlite3TriggerInsertStep(sqlite3*,Token*, IdList*, - Select*,u8); + ExprList*,Select*,u8); SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep(sqlite3*,Token*,ExprList*, Expr*, u8); SQLITE_PRIVATE TriggerStep *sqlite3TriggerDeleteStep(sqlite3*,Token*, Expr*); SQLITE_PRIVATE void sqlite3DeleteTrigger(sqlite3*, Trigger*); SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTrigger(sqlite3*,int,const char*); SQLITE_PRIVATE u32 sqlite3TriggerColmask(Parse*,Trigger*,ExprList*,int,int,Table*,int); @@ -12546,11 +12396,12 @@ SQLITE_PRIVATE void sqlite3Error(sqlite3*, int, const char*,...); SQLITE_PRIVATE void *sqlite3HexToBlob(sqlite3*, const char *z, int n); SQLITE_PRIVATE u8 sqlite3HexToInt(int h); SQLITE_PRIVATE int sqlite3TwoPartName(Parse *, Token *, Token *, Token **); -#if defined(SQLITE_TEST) +#if defined(SQLITE_DEBUG) || defined(SQLITE_TEST) || \ + defined(SQLITE_DEBUG_OS_TRACE) SQLITE_PRIVATE const char *sqlite3ErrName(int); #endif SQLITE_PRIVATE const char *sqlite3ErrStr(int); SQLITE_PRIVATE int sqlite3ReadSchema(Parse *pParse); @@ -12576,11 +12427,10 @@ SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value*, u8); SQLITE_PRIVATE int sqlite3ValueBytes(sqlite3_value*, u8); SQLITE_PRIVATE void sqlite3ValueSetStr(sqlite3_value*, int, const void *,u8, void(*)(void*)); -SQLITE_PRIVATE void sqlite3ValueSetNull(sqlite3_value*); SQLITE_PRIVATE void sqlite3ValueFree(sqlite3_value*); SQLITE_PRIVATE sqlite3_value *sqlite3ValueNew(sqlite3 *); SQLITE_PRIVATE char *sqlite3Utf16to8(sqlite3 *, const void*, int, u8); SQLITE_PRIVATE int sqlite3ValueFromExpr(sqlite3 *, Expr *, u8, u8, sqlite3_value **); SQLITE_PRIVATE void sqlite3ValueApplyAffinity(sqlite3_value *, u8, u8); @@ -12642,11 +12492,10 @@ SQLITE_PRIVATE int sqlite3ApiExit(sqlite3 *db, int); SQLITE_PRIVATE int sqlite3OpenTempDatabase(Parse *); SQLITE_PRIVATE void sqlite3StrAccumInit(StrAccum*, char*, int, int); SQLITE_PRIVATE void sqlite3StrAccumAppend(StrAccum*,const char*,int); -SQLITE_PRIVATE void sqlite3StrAccumAppendAll(StrAccum*,const char*); SQLITE_PRIVATE void sqlite3AppendSpace(StrAccum*,int); SQLITE_PRIVATE char *sqlite3StrAccumFinish(StrAccum*); SQLITE_PRIVATE void sqlite3StrAccumReset(StrAccum*); SQLITE_PRIVATE void sqlite3SelectDestInit(SelectDest*,int,int); SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *, SrcList *, int, int); @@ -12734,18 +12583,10 @@ SQLITE_PRIVATE const char *sqlite3JournalModename(int); #ifndef SQLITE_OMIT_WAL SQLITE_PRIVATE int sqlite3Checkpoint(sqlite3*, int, int, int*, int*); SQLITE_PRIVATE int sqlite3WalDefaultHook(void*,sqlite3*,const char*,int); #endif -#ifndef SQLITE_OMIT_CTE -SQLITE_PRIVATE With *sqlite3WithAdd(Parse*,With*,Token*,ExprList*,Select*); -SQLITE_PRIVATE void sqlite3WithDelete(sqlite3*,With*); -SQLITE_PRIVATE void sqlite3WithPush(Parse*, With*, u8); -#else -#define sqlite3WithPush(x,y,z) -#define sqlite3WithDelete(x,y) -#endif /* Declarations for functions in fkey.c. All of these are replaced by ** no-op macros if OMIT_FOREIGN_KEY is defined. In this case no foreign ** key functionality is available. If OMIT_TRIGGER is defined but ** OMIT_FOREIGN_KEY is not, only some of the functions are no-oped. In @@ -13877,13 +13718,16 @@ Op *aOp; /* Space to hold the virtual machine's program */ Mem *aMem; /* The memory locations */ Mem **apArg; /* Arguments to currently executing user function */ Mem *aColName; /* Column names to return */ Mem *pResultSet; /* Pointer to an array of results */ - Parse *pParse; /* Parsing context used to create this Vdbe */ int nMem; /* Number of memory locations currently allocated */ int nOp; /* Number of instructions in the program */ + int nOpAlloc; /* Number of slots allocated for aOp[] */ + int nLabel; /* Number of labels used */ + int *aLabel; /* Space to hold the labels */ + u16 nResColumn; /* Number of columns in one row of the result set */ int nCursor; /* Number of slots in apCsr[] */ u32 magic; /* Magic number for sanity checking */ char *zErrMsg; /* Error message written here */ Vdbe *pPrev,*pNext; /* Linked list of VDBEs with the same Vdbe.db */ VdbeCursor **apCsr; /* One element of this array for each open cursor */ @@ -13892,11 +13736,10 @@ ynVar nVar; /* Number of entries in aVar[] */ ynVar nzVar; /* Number of entries in azVar[] */ u32 cacheCtr; /* VdbeCursor row cache generation counter */ int pc; /* The program counter */ int rc; /* Value to return */ - u16 nResColumn; /* Number of columns in one row of the result set */ u8 errorAction; /* Recovery action to do in case of an error */ u8 minWriteFileFormat; /* Minimum file format for writable database files */ bft explain:2; /* True if EXPLAIN present on SQL command */ bft inVtabMethod:2; /* See comments above */ bft changeCntOn:1; /* True to update the change-counter */ @@ -13952,11 +13795,11 @@ #if defined(SQLITE_DEBUG) || defined(VDBE_PROFILE) SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE*, int, Op*); #endif SQLITE_PRIVATE u32 sqlite3VdbeSerialTypeLen(u32); SQLITE_PRIVATE u32 sqlite3VdbeSerialType(Mem*, int); -SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(unsigned char*, Mem*, u32); +SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(unsigned char*, int, Mem*, int); SQLITE_PRIVATE u32 sqlite3VdbeSerialGet(const unsigned char*, u32, Mem*); SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(Vdbe*, int, int); int sqlite2BtreeKeyCompare(BtCursor *, const void *, int, int, int *); SQLITE_PRIVATE int sqlite3VdbeIdxKeyCompare(VdbeCursor*,UnpackedRecord*,int*); @@ -15542,25 +15385,11 @@ ** really care if the VFS receives and understands the information since it ** is only a hint and can be safely ignored. The sqlite3OsFileControlHint() ** routine has no return value since the return value would be meaningless. */ SQLITE_PRIVATE int sqlite3OsFileControl(sqlite3_file *id, int op, void *pArg){ -#ifdef SQLITE_TEST - if( op!=SQLITE_FCNTL_COMMIT_PHASETWO ){ - /* Faults are not injected into COMMIT_PHASETWO because, assuming SQLite - ** is using a regular VFS, it is called after the corresponding - ** transaction has been committed. Injecting a fault at this point - ** confuses the test scripts - the COMMIT comand returns SQLITE_NOMEM - ** but the transaction is committed anyway. - ** - ** The core must call OsFileControl() though, not OsFileControlHint(), - ** as if a custom VFS (e.g. zipvfs) returns an error here, it probably - ** means the commit really has failed and an error should be returned - ** to the user. */ - DO_OS_MALLOC_TEST(id); - } -#endif + DO_OS_MALLOC_TEST(id); return id->pMethods->xFileControl(id, op, pArg); } SQLITE_PRIVATE void sqlite3OsFileControlHint(sqlite3_file *id, int op, void *pArg){ (void)id->pMethods->xFileControl(id, op, pArg); } @@ -19551,11 +19380,11 @@ /* ** TRUE if p is a lookaside memory allocation from db */ #ifndef SQLITE_OMIT_LOOKASIDE static int isLookaside(sqlite3 *db, void *p){ - return p>=db->lookaside.pStart && plookaside.pEnd; + return p && p>=db->lookaside.pStart && plookaside.pEnd; } #else #define isLookaside(A,B) 0 #endif @@ -19567,13 +19396,12 @@ assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) ); assert( sqlite3MemdebugNoType(p, MEMTYPE_DB) ); return sqlite3GlobalConfig.m.xSize(p); } SQLITE_PRIVATE int sqlite3DbMallocSize(sqlite3 *db, void *p){ - assert( db!=0 ); - assert( sqlite3_mutex_held(db->mutex) ); - if( isLookaside(db, p) ){ + assert( db==0 || sqlite3_mutex_held(db->mutex) ); + if( db && isLookaside(db, p) ){ return db->lookaside.sz; }else{ assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) ); assert( sqlite3MemdebugHasType(p, MEMTYPE_LOOKASIDE|MEMTYPE_HEAP) ); assert( db!=0 || sqlite3MemdebugNoType(p, MEMTYPE_LOOKASIDE) ); @@ -20051,35 +19879,10 @@ } if( N>0 ){ sqlite3StrAccumAppend(pAccum, zSpaces, N); } } - -/* -** Set the StrAccum object to an error mode. -*/ -static void setStrAccumError(StrAccum *p, u8 eError){ - p->accError = eError; - p->nAlloc = 0; -} - -/* -** Extra argument values from a PrintfArguments object -*/ -static sqlite3_int64 getIntArg(PrintfArguments *p){ - if( p->nArg<=p->nUsed ) return 0; - return sqlite3_value_int64(p->apArg[p->nUsed++]); -} -static double getDoubleArg(PrintfArguments *p){ - if( p->nArg<=p->nUsed ) return 0.0; - return sqlite3_value_double(p->apArg[p->nUsed++]); -} -static char *getTextArg(PrintfArguments *p){ - if( p->nArg<=p->nUsed ) return 0; - return (char*)sqlite3_value_text(p->apArg[p->nUsed++]); -} - /* ** On machines with a small stack size, you can redefine the ** SQLITE_PRINT_BUF_SIZE to be something smaller, if desired. */ @@ -20090,14 +19893,14 @@ /* ** Render a string given by "fmt" into the StrAccum object. */ SQLITE_PRIVATE void sqlite3VXPrintf( - StrAccum *pAccum, /* Accumulate results here */ - u32 bFlags, /* SQLITE_PRINTF_* flags */ - const char *fmt, /* Format string */ - va_list ap /* arguments */ + StrAccum *pAccum, /* Accumulate results here */ + int useExtended, /* Allow extended %-conversions */ + const char *fmt, /* Format string */ + va_list ap /* arguments */ ){ int c; /* Next character in the format string */ char *bufpt; /* Pointer to the conversion buffer */ int precision; /* Precision of the current field */ int length; /* Length of the field */ @@ -20111,12 +19914,10 @@ etByte flag_zeropad; /* True if field width constant starts with zero */ etByte flag_long; /* True if "l" flag is present */ etByte flag_longlong; /* True if the "ll" flag is present */ etByte done; /* Loop termination flag */ etByte xtype = 0; /* Conversion paradigm */ - u8 bArgList; /* True for SQLITE_PRINTF_SQLFUNC */ - u8 useIntern; /* Ok to use internal conversions (ex: %T) */ char prefix; /* Prefix character. "+" or "-" or " " or '\0'. */ sqlite_uint64 longvalue; /* Value for integer types */ LONGDOUBLE_TYPE realvalue; /* Value for real types */ const et_info *infop; /* Pointer to the appropriate info structure */ char *zOut; /* Rendering buffer */ @@ -20127,22 +19928,13 @@ int nsd; /* Number of significant digits returned */ double rounder; /* Used for rounding floating point values */ etByte flag_dp; /* True if decimal point should be shown */ etByte flag_rtz; /* True if trailing zeros should be removed */ #endif - PrintfArguments *pArgList = 0; /* Arguments for SQLITE_PRINTF_SQLFUNC */ char buf[etBUFSIZE]; /* Conversion buffer */ bufpt = 0; - if( bFlags ){ - if( (bArgList = (bFlags & SQLITE_PRINTF_SQLFUNC))!=0 ){ - pArgList = va_arg(ap, PrintfArguments*); - } - useIntern = bFlags & SQLITE_PRINTF_INTERNAL; - }else{ - bArgList = useIntern = 0; - } for(; (c=(*fmt))!=0; ++fmt){ if( c!='%' ){ int amt; bufpt = (char *)fmt; amt = 1; @@ -20170,15 +19962,11 @@ } }while( !done && (c=(*++fmt))!=0 ); /* Get the field width */ width = 0; if( c=='*' ){ - if( bArgList ){ - width = (int)getIntArg(pArgList); - }else{ - width = va_arg(ap,int); - } + width = va_arg(ap,int); if( width<0 ){ flag_leftjustify = 1; width = -width; } c = *++fmt; @@ -20191,15 +19979,11 @@ /* Get the precision */ if( c=='.' ){ precision = 0; c = *++fmt; if( c=='*' ){ - if( bArgList ){ - precision = (int)getIntArg(pArgList); - }else{ - precision = va_arg(ap,int); - } + precision = va_arg(ap,int); if( precision<0 ) precision = -precision; c = *++fmt; }else{ while( c>='0' && c<='9' ){ precision = precision*10 + c - '0'; @@ -20226,11 +20010,11 @@ infop = &fmtinfo[0]; xtype = etINVALID; for(idx=0; idxflags & FLAG_INTERN)==0 ){ + if( useExtended || (infop->flags & FLAG_INTERN)==0 ){ xtype = infop->type; }else{ return; } break; @@ -20266,13 +20050,11 @@ /* Fall through into the next case */ case etORDINAL: case etRADIX: if( infop->flags & FLAG_SIGNED ){ i64 v; - if( bArgList ){ - v = getIntArg(pArgList); - }else if( flag_longlong ){ + if( flag_longlong ){ v = va_arg(ap,i64); }else if( flag_long ){ v = va_arg(ap,long int); }else{ v = va_arg(ap,int); @@ -20289,13 +20071,11 @@ if( flag_plussign ) prefix = '+'; else if( flag_blanksign ) prefix = ' '; else prefix = 0; } }else{ - if( bArgList ){ - longvalue = (u64)getIntArg(pArgList); - }else if( flag_longlong ){ + if( flag_longlong ){ longvalue = va_arg(ap,u64); }else if( flag_long ){ longvalue = va_arg(ap,unsigned long int); }else{ longvalue = va_arg(ap,unsigned int); @@ -20311,11 +20091,11 @@ zOut = buf; }else{ nOut = precision + 10; zOut = zExtra = sqlite3Malloc( nOut ); if( zOut==0 ){ - setStrAccumError(pAccum, STRACCUM_NOMEM); + pAccum->accError = STRACCUM_NOMEM; return; } } bufpt = &zOut[nOut-1]; if( xtype==etORDINAL ){ @@ -20351,15 +20131,11 @@ length = (int)(&zOut[nOut-1]-bufpt); break; case etFLOAT: case etEXP: case etGENERIC: - if( bArgList ){ - realvalue = getDoubleArg(pArgList); - }else{ - realvalue = va_arg(ap,double); - } + realvalue = va_arg(ap,double); #ifdef SQLITE_OMIT_FLOATING_POINT length = 0; #else if( precision<0 ) precision = 6; /* Set default precision */ if( realvalue<0.0 ){ @@ -20427,11 +20203,11 @@ e2 = exp; } if( MAX(e2,0)+precision+width > etBUFSIZE - 15 ){ bufpt = zExtra = sqlite3Malloc( MAX(e2,0)+precision+width+15 ); if( bufpt==0 ){ - setStrAccumError(pAccum, STRACCUM_NOMEM); + pAccum->accError = STRACCUM_NOMEM; return; } } zOut = bufpt; nsd = 16 + flag_altform2*10; @@ -20510,27 +20286,20 @@ length = width; } #endif /* !defined(SQLITE_OMIT_FLOATING_POINT) */ break; case etSIZE: - if( !bArgList ){ - *(va_arg(ap,int*)) = pAccum->nChar; - } + *(va_arg(ap,int*)) = pAccum->nChar; length = width = 0; break; case etPERCENT: buf[0] = '%'; bufpt = buf; length = 1; break; case etCHARX: - if( bArgList ){ - bufpt = getTextArg(pArgList); - c = bufpt ? bufpt[0] : 0; - }else{ - c = va_arg(ap,int); - } + c = va_arg(ap,int); buf[0] = (char)c; if( precision>=0 ){ for(idx=1; idx=0 ){ for(length=0; lengthetBUFSIZE ){ bufpt = zExtra = sqlite3Malloc( n ); if( bufpt==0 ){ - setStrAccumError(pAccum, STRACCUM_NOMEM); + pAccum->accError = STRACCUM_NOMEM; return; } }else{ bufpt = buf; } @@ -20602,28 +20361,26 @@ ** if( precision>=0 && precisionn ){ + if( pToken ){ sqlite3StrAccumAppend(pAccum, (const char*)pToken->z, pToken->n); } length = width = 0; break; } case etSRCLIST: { SrcList *pSrc = va_arg(ap, SrcList*); int k = va_arg(ap, int); struct SrcList_item *pItem = &pSrc->a[k]; - assert( bArgList==0 ); assert( k>=0 && knSrc ); if( pItem->zDatabase ){ - sqlite3StrAccumAppendAll(pAccum, pItem->zDatabase); + sqlite3StrAccumAppend(pAccum, pItem->zDatabase, -1); sqlite3StrAccumAppend(pAccum, ".", 1); } - sqlite3StrAccumAppendAll(pAccum, pItem->zName); + sqlite3StrAccumAppend(pAccum, pItem->zName, -1); length = width = 0; break; } default: { assert( xtype==etINVALID ); @@ -20650,42 +20407,44 @@ nspace = width-length; if( nspace>0 ){ sqlite3AppendSpace(pAccum, nspace); } } - if( zExtra ) sqlite3_free(zExtra); + sqlite3_free(zExtra); }/* End for loop over the format string */ } /* End of function */ /* ** Append N bytes of text from z to the StrAccum object. */ SQLITE_PRIVATE void sqlite3StrAccumAppend(StrAccum *p, const char *z, int N){ - assert( z!=0 ); - assert( p->zText!=0 || p->nChar==0 || p->accError ); - assert( N>=0 ); - assert( p->accError==0 || p->nAlloc==0 ); + assert( z!=0 || N==0 ); + if( p->accError ){ + testcase(p->accError==STRACCUM_TOOBIG); + testcase(p->accError==STRACCUM_NOMEM); + return; + } + assert( p->zText!=0 || p->nChar==0 ); + if( N<=0 ){ + if( N==0 || z[0]==0 ) return; + N = sqlite3Strlen30(z); + } if( p->nChar+N >= p->nAlloc ){ char *zNew; - if( p->accError ){ - testcase(p->accError==STRACCUM_TOOBIG); - testcase(p->accError==STRACCUM_NOMEM); - return; - } if( !p->useMalloc ){ + p->accError = STRACCUM_TOOBIG; N = p->nAlloc - p->nChar - 1; - setStrAccumError(p, STRACCUM_TOOBIG); if( N<=0 ){ return; } }else{ char *zOld = (p->zText==p->zBase ? 0 : p->zText); i64 szNew = p->nChar; szNew += N + 1; if( szNew > p->mxAlloc ){ sqlite3StrAccumReset(p); - setStrAccumError(p, STRACCUM_TOOBIG); + p->accError = STRACCUM_TOOBIG; return; }else{ p->nAlloc = (int)szNew; } if( p->useMalloc==1 ){ @@ -20695,28 +20454,20 @@ } if( zNew ){ if( zOld==0 && p->nChar>0 ) memcpy(zNew, p->zText, p->nChar); p->zText = zNew; }else{ + p->accError = STRACCUM_NOMEM; sqlite3StrAccumReset(p); - setStrAccumError(p, STRACCUM_NOMEM); return; } } } assert( p->zText ); memcpy(&p->zText[p->nChar], z, N); p->nChar += N; } - -/* -** Append the complete text of zero-terminated string z[] to the p string. -*/ -SQLITE_PRIVATE void sqlite3StrAccumAppendAll(StrAccum *p, const char *z){ - sqlite3StrAccumAppend(p, z, sqlite3Strlen30(z)); -} - /* ** Finish off a string by making sure it is zero-terminated. ** Return a pointer to the resulting string. Return a NULL ** pointer if any kind of error was encountered. @@ -20731,11 +20482,11 @@ p->zText = sqlite3_malloc(p->nChar+1); } if( p->zText ){ memcpy(p->zText, p->zBase, p->nChar+1); }else{ - setStrAccumError(p, STRACCUM_NOMEM); + p->accError = STRACCUM_NOMEM; } } } return p->zText; } @@ -20777,11 +20528,11 @@ StrAccum acc; assert( db!=0 ); sqlite3StrAccumInit(&acc, zBase, sizeof(zBase), db->aLimit[SQLITE_LIMIT_LENGTH]); acc.db = db; - sqlite3VXPrintf(&acc, SQLITE_PRINTF_INTERNAL, zFormat, ap); + sqlite3VXPrintf(&acc, 1, zFormat, ap); z = sqlite3StrAccumFinish(&acc); if( acc.accError==STRACCUM_NOMEM ){ db->mallocFailed = 1; } return z; @@ -20933,19 +20684,21 @@ fprintf(stdout,"%s", zBuf); fflush(stdout); } #endif +#ifndef SQLITE_OMIT_TRACE /* ** variable-argument wrapper around sqlite3VXPrintf(). */ -SQLITE_PRIVATE void sqlite3XPrintf(StrAccum *p, u32 bFlags, const char *zFormat, ...){ +SQLITE_PRIVATE void sqlite3XPrintf(StrAccum *p, const char *zFormat, ...){ va_list ap; va_start(ap,zFormat); - sqlite3VXPrintf(p, bFlags, zFormat, ap); + sqlite3VXPrintf(p, 1, zFormat, ap); va_end(ap); } +#endif /************** End of printf.c **********************************************/ /************** Begin file random.c ******************************************/ /* ** 2001 September 15 @@ -20998,16 +20751,10 @@ #if SQLITE_THREADSAFE sqlite3_mutex *mutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_PRNG); sqlite3_mutex_enter(mutex); #endif - if( N<=0 ){ - wsdPrng.isInit = 0; - sqlite3_mutex_leave(mutex); - return; - } - /* Initialize the state of the random number generator once, ** the first time this routine is called. The seed value does ** not need to contain a lot of randomness since we are not ** trying to do secure encryption or anything like that... ** @@ -21031,20 +20778,19 @@ wsdPrng.s[i] = t; } wsdPrng.isInit = 1; } - assert( N>0 ); - do{ + while( N-- ){ wsdPrng.i++; t = wsdPrng.s[wsdPrng.i]; wsdPrng.j += t; wsdPrng.s[wsdPrng.i] = wsdPrng.s[wsdPrng.j]; wsdPrng.s[wsdPrng.j] = t; t += wsdPrng.s[wsdPrng.i]; *(zBuf++) = wsdPrng.s[t]; - }while( --N ); + } sqlite3_mutex_leave(mutex); } #ifndef SQLITE_OMIT_BUILTIN_TEST /* @@ -21069,10 +20815,13 @@ &GLOBAL(struct sqlite3PrngType, sqlite3Prng), &GLOBAL(struct sqlite3PrngType, sqlite3SavedPrng), sizeof(sqlite3Prng) ); } +SQLITE_PRIVATE void sqlite3PrngResetState(void){ + GLOBAL(struct sqlite3PrngType, sqlite3Prng).isInit = 0; +} #endif /* SQLITE_OMIT_BUILTIN_TEST */ /************** End of random.c **********************************************/ /************** Begin file utf.c *********************************************/ /* @@ -21720,21 +21469,22 @@ ** To clear the most recent error for sqlite handle "db", sqlite3Error ** should be called with err_code set to SQLITE_OK and zFormat set ** to NULL. */ SQLITE_PRIVATE void sqlite3Error(sqlite3 *db, int err_code, const char *zFormat, ...){ - assert( db!=0 ); - db->errCode = err_code; - if( zFormat && (db->pErr || (db->pErr = sqlite3ValueNew(db))!=0) ){ - char *z; - va_list ap; - va_start(ap, zFormat); - z = sqlite3VMPrintf(db, zFormat, ap); - va_end(ap); - sqlite3ValueSetStr(db->pErr, -1, z, SQLITE_UTF8, SQLITE_DYNAMIC); - }else if( db->pErr ){ - sqlite3ValueSetNull(db->pErr); + if( db && (db->pErr || (db->pErr = sqlite3ValueNew(db))!=0) ){ + db->errCode = err_code; + if( zFormat ){ + char *z; + va_list ap; + va_start(ap, zFormat); + z = sqlite3VMPrintf(db, zFormat, ap); + va_end(ap); + sqlite3ValueSetStr(db->pErr, -1, z, SQLITE_UTF8, SQLITE_DYNAMIC); + }else{ + sqlite3ValueSetStr(db->pErr, 0, 0, SQLITE_UTF8, SQLITE_STATIC); + } } } /* ** Add an error message to pParse->zErrMsg and increment pParse->nErr. @@ -22606,12 +22356,11 @@ /* ** Read or write a four-byte big-endian integer value. */ SQLITE_PRIVATE u32 sqlite3Get4byte(const u8 *p){ - testcase( p[0]&0x80 ); - return ((unsigned)p[0]<<24) | (p[1]<<16) | (p[2]<<8) | p[3]; + return (p[0]<<24) | (p[1]<<16) | (p[2]<<8) | p[3]; } SQLITE_PRIVATE void sqlite3Put4byte(unsigned char *p, u32 v){ p[0] = (u8)(v>>24); p[1] = (u8)(v>>16); p[2] = (u8)(v>>8); @@ -22948,11 +22697,11 @@ /* ** The hashing function. */ static unsigned int strHash(const char *z, int nKey){ - unsigned int h = 0; + int h = 0; assert( nKey>=0 ); while( nKey > 0 ){ h = (h<<3) ^ h ^ sqlite3UpperToLower[(unsigned char)*z++]; nKey--; } @@ -23216,11 +22965,11 @@ /* 25 */ "String" OpHelp("r[P2]='P4' (len=P1)"), /* 26 */ "Null" OpHelp("r[P2..P3]=NULL"), /* 27 */ "Blob" OpHelp("r[P2]=P4 (len=P1)"), /* 28 */ "Variable" OpHelp("r[P2]=parameter(P1,P4)"), /* 29 */ "Move" OpHelp("r[P2@P3]=r[P1@P3]"), - /* 30 */ "Copy" OpHelp("r[P2@P3+1]=r[P1@P3+1]"), + /* 30 */ "Copy" OpHelp("r[P2@P3]=r[P1@P3]"), /* 31 */ "SCopy" OpHelp("r[P2]=r[P1]"), /* 32 */ "ResultRow" OpHelp("output=r[P1@P2]"), /* 33 */ "CollSeq" OpHelp(""), /* 34 */ "AddImm" OpHelp("r[P1]=r[P1]+P2"), /* 35 */ "MustBeInt" OpHelp(""), @@ -23255,39 +23004,39 @@ /* 64 */ "Found" OpHelp("key=r[P3@P4]"), /* 65 */ "NotExists" OpHelp("intkey=r[P3]"), /* 66 */ "Sequence" OpHelp("r[P2]=rowid"), /* 67 */ "NewRowid" OpHelp("r[P2]=rowid"), /* 68 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"), - /* 69 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), - /* 70 */ "Delete" OpHelp(""), - /* 71 */ "Or" OpHelp("r[P3]=(r[P1] || r[P2])"), - /* 72 */ "And" OpHelp("r[P3]=(r[P1] && r[P2])"), + /* 69 */ "Or" OpHelp("r[P3]=(r[P1] || r[P2])"), + /* 70 */ "And" OpHelp("r[P3]=(r[P1] && r[P2])"), + /* 71 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), + /* 72 */ "Delete" OpHelp(""), /* 73 */ "ResetCount" OpHelp(""), - /* 74 */ "SorterCompare" OpHelp("if key(P1)!=rtrim(r[P3],P4) goto P2"), - /* 75 */ "SorterData" OpHelp("r[P2]=data"), - /* 76 */ "IsNull" OpHelp("if r[P1]==NULL goto P2"), - /* 77 */ "NotNull" OpHelp("if r[P1]!=NULL goto P2"), - /* 78 */ "Ne" OpHelp("if r[P1]!=r[P3] goto P2"), - /* 79 */ "Eq" OpHelp("if r[P1]==r[P3] goto P2"), - /* 80 */ "Gt" OpHelp("if r[P1]>r[P3] goto P2"), - /* 81 */ "Le" OpHelp("if r[P1]<=r[P3] goto P2"), - /* 82 */ "Lt" OpHelp("if r[P1]=r[P3] goto P2"), - /* 84 */ "RowKey" OpHelp("r[P2]=key"), - /* 85 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]"), - /* 86 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]"), - /* 87 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<>r[P1]"), - /* 89 */ "Add" OpHelp("r[P3]=r[P1]+r[P2]"), - /* 90 */ "Subtract" OpHelp("r[P3]=r[P2]-r[P1]"), - /* 91 */ "Multiply" OpHelp("r[P3]=r[P1]*r[P2]"), - /* 92 */ "Divide" OpHelp("r[P3]=r[P2]/r[P1]"), - /* 93 */ "Remainder" OpHelp("r[P3]=r[P2]%r[P1]"), - /* 94 */ "Concat" OpHelp("r[P3]=r[P2]+r[P1]"), - /* 95 */ "RowData" OpHelp("r[P2]=data"), - /* 96 */ "BitNot" OpHelp("r[P1]= ~r[P1]"), - /* 97 */ "String8" OpHelp("r[P2]='P4'"), + /* 74 */ "IsNull" OpHelp("if r[P1]==NULL goto P2"), + /* 75 */ "NotNull" OpHelp("if r[P1]!=NULL goto P2"), + /* 76 */ "Ne" OpHelp("if r[P1]!=r[P3] goto P2"), + /* 77 */ "Eq" OpHelp("if r[P1]==r[P3] goto P2"), + /* 78 */ "Gt" OpHelp("if r[P1]>r[P3] goto P2"), + /* 79 */ "Le" OpHelp("if r[P1]<=r[P3] goto P2"), + /* 80 */ "Lt" OpHelp("if r[P1]=r[P3] goto P2"), + /* 82 */ "SorterCompare" OpHelp("if key(P1)!=rtrim(r[P3],P4) goto P2"), + /* 83 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]"), + /* 84 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]"), + /* 85 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<>r[P1]"), + /* 87 */ "Add" OpHelp("r[P3]=r[P1]+r[P2]"), + /* 88 */ "Subtract" OpHelp("r[P3]=r[P2]-r[P1]"), + /* 89 */ "Multiply" OpHelp("r[P3]=r[P1]*r[P2]"), + /* 90 */ "Divide" OpHelp("r[P3]=r[P2]/r[P1]"), + /* 91 */ "Remainder" OpHelp("r[P3]=r[P2]%r[P1]"), + /* 92 */ "Concat" OpHelp("r[P3]=r[P2]+r[P1]"), + /* 93 */ "SorterData" OpHelp("r[P2]=data"), + /* 94 */ "BitNot" OpHelp("r[P1]= ~r[P1]"), + /* 95 */ "String8" OpHelp("r[P2]='P4'"), + /* 96 */ "RowKey" OpHelp("r[P2]=key"), + /* 97 */ "RowData" OpHelp("r[P2]=data"), /* 98 */ "Rowid" OpHelp("r[P2]=rowid"), /* 99 */ "NullRow" OpHelp(""), /* 100 */ "Last" OpHelp(""), /* 101 */ "SorterSort" OpHelp(""), /* 102 */ "Sort" OpHelp(""), @@ -23317,27 +23066,27 @@ /* 126 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2"), /* 127 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), /* 128 */ "IfPos" OpHelp("if r[P1]>0 goto P2"), /* 129 */ "IfNeg" OpHelp("if r[P1]<0 goto P2"), /* 130 */ "IfZero" OpHelp("r[P1]+=P3, if r[P1]==0 goto P2"), - /* 131 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), - /* 132 */ "IncrVacuum" OpHelp(""), - /* 133 */ "Real" OpHelp("r[P2]=P4"), + /* 131 */ "Real" OpHelp("r[P2]=P4"), + /* 132 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), + /* 133 */ "IncrVacuum" OpHelp(""), /* 134 */ "Expire" OpHelp(""), /* 135 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), /* 136 */ "VBegin" OpHelp(""), /* 137 */ "VCreate" OpHelp(""), /* 138 */ "VDestroy" OpHelp(""), /* 139 */ "VOpen" OpHelp(""), /* 140 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), /* 141 */ "VNext" OpHelp(""), - /* 142 */ "VRename" OpHelp(""), - /* 143 */ "ToText" OpHelp(""), - /* 144 */ "ToBlob" OpHelp(""), - /* 145 */ "ToNumeric" OpHelp(""), - /* 146 */ "ToInt" OpHelp(""), - /* 147 */ "ToReal" OpHelp(""), + /* 142 */ "ToText" OpHelp(""), + /* 143 */ "ToBlob" OpHelp(""), + /* 144 */ "ToNumeric" OpHelp(""), + /* 145 */ "ToInt" OpHelp(""), + /* 146 */ "ToReal" OpHelp(""), + /* 147 */ "VRename" OpHelp(""), /* 148 */ "Pagecount" OpHelp(""), /* 149 */ "MaxPgcnt" OpHelp(""), /* 150 */ "Trace" OpHelp(""), /* 151 */ "Noop" OpHelp(""), /* 152 */ "Explain" OpHelp(""), @@ -23607,16 +23356,10 @@ */ char aPadding[32]; #endif }; -/* This variable holds the process id (pid) from when the xRandomness() -** method was called. If xOpen() is called from a different process id, -** indicating that a fork() has occurred, the PRNG will be reset. -*/ -static int randomnessPid = 0; - /* ** Allowed values for the unixFile.ctrlFlags bitmask: */ #define UNIXFILE_EXCL 0x01 /* Connections from one process only */ #define UNIXFILE_RDONLY 0x02 /* Connection is read only */ @@ -24876,19 +24619,10 @@ } *ppInode = pInode; return SQLITE_OK; } -/* -** Return TRUE if pFile has been renamed or unlinked since it was first opened. -*/ -static int fileHasMoved(unixFile *pFile){ - struct stat buf; - return pFile->pInode!=0 && - (osStat(pFile->zPath, &buf)!=0 || buf.st_ino!=pFile->pInode->fileId.ino); -} - /* ** Check a unixFile that is a database. Verify the following: ** ** (1) There is exactly one hard link on the file @@ -24919,11 +24653,14 @@ if( buf.st_nlink>1 ){ sqlite3_log(SQLITE_WARNING, "multiple links to file: %s", pFile->zPath); pFile->ctrlFlags |= UNIXFILE_WARNED; return; } - if( fileHasMoved(pFile) ){ + if( pFile->pInode!=0 + && ((rc = osStat(pFile->zPath, &buf))!=0 + || buf.st_ino!=pFile->pInode->fileId.ino) + ){ sqlite3_log(SQLITE_WARNING, "file renamed while open: %s", pFile->zPath); pFile->ctrlFlags |= UNIXFILE_WARNED; return; } } @@ -27368,14 +27105,10 @@ unixGetTempname(pFile->pVfs->mxPathname, zTFile); *(char**)pArg = zTFile; } return SQLITE_OK; } - case SQLITE_FCNTL_HAS_MOVED: { - *(int*)pArg = fileHasMoved(pFile); - return SQLITE_OK; - } #if SQLITE_MAX_MMAP_SIZE>0 case SQLITE_FCNTL_MMAP_SIZE: { i64 newLimit = *(i64*)pArg; int rc = SQLITE_OK; if( newLimit>sqlite3GlobalConfig.mxMmap ){ @@ -27652,11 +27385,11 @@ /* Update the global lock state and do debug tracing */ #ifdef SQLITE_DEBUG { u16 mask; OSTRACE(("SHM-LOCK ")); - mask = ofst>31 ? 0xffff : (1<<(ofst+n)) - (1<31 ? 0xffffffff : (1<<(ofst+n)) - (1<exclMask &= ~mask; pShmNode->sharedMask &= ~mask; @@ -28403,14 +28136,14 @@ ** Or, if the third argument is NULL, then this function is being called ** to inform the VFS layer that, according to POSIX, any existing mapping ** may now be invalid and should be unmapped. */ static int unixUnfetch(sqlite3_file *fd, i64 iOff, void *p){ -#if SQLITE_MAX_MMAP_SIZE>0 unixFile *pFd = (unixFile *)fd; /* The underlying database file */ UNUSED_PARAMETER(iOff); +#if SQLITE_MAX_MMAP_SIZE>0 /* If p==0 (unmap the entire file) then there must be no outstanding ** xFetch references. Or, if p!=0 (meaning it is an xFetch reference), ** then there must be at least one outstanding. */ assert( (p==0)==(pFd->nFetchOut==0) ); @@ -28422,14 +28155,10 @@ }else{ unixUnmapfile(pFd); } assert( pFd->nFetchOut>=0 ); -#else - UNUSED_PARAMETER(fd); - UNUSED_PARAMETER(p); - UNUSED_PARAMETER(iOff); #endif return SQLITE_OK; } /* @@ -29216,20 +28945,10 @@ || eType==SQLITE_OPEN_MAIN_JOURNAL || eType==SQLITE_OPEN_TEMP_JOURNAL || eType==SQLITE_OPEN_SUBJOURNAL || eType==SQLITE_OPEN_MASTER_JOURNAL || eType==SQLITE_OPEN_TRANSIENT_DB || eType==SQLITE_OPEN_WAL ); - /* Detect a pid change and reset the PRNG. There is a race condition - ** here such that two or more threads all trying to open databases at - ** the same instant might all reset the PRNG. But multiple resets - ** are harmless. - */ - if( randomnessPid!=getpid() ){ - randomnessPid = getpid(); - sqlite3_randomness(0,0); - } - memset(p, 0, sizeof(unixFile)); if( eType==SQLITE_OPEN_MAIN_DB ){ UnixUnusedFd *pUnused; pUnused = findReusableFd(zName, flags); @@ -29613,22 +29332,22 @@ ** When testing, initializing zBuf[] to zero is all we do. That means ** that we always use the same random number sequence. This makes the ** tests repeatable. */ memset(zBuf, 0, nBuf); - randomnessPid = getpid(); #if !defined(SQLITE_TEST) { - int fd, got; + int pid, fd, got; fd = robust_open("/dev/urandom", O_RDONLY, 0); if( fd<0 ){ time_t t; time(&t); memcpy(zBuf, &t, sizeof(t)); - memcpy(&zBuf[sizeof(t)], &randomnessPid, sizeof(randomnessPid)); - assert( sizeof(t)+sizeof(randomnessPid)<=(size_t)nBuf ); - nBuf = sizeof(t) + sizeof(randomnessPid); + pid = getpid(); + memcpy(&zBuf[sizeof(t)], &pid, sizeof(pid)); + assert( sizeof(t)+sizeof(pid)<=(size_t)nBuf ); + nBuf = sizeof(t) + sizeof(pid); }else{ do{ got = osRead(fd, zBuf, nBuf); }while( got<0 && errno==EINTR ); robust_close(0, fd, __LINE__); } } @@ -34362,11 +34081,11 @@ winModeBit(pFile, WINFILE_PSOW, (int*)pArg); OSTRACE(("FCNTL file=%p, rc=SQLITE_OK\n", pFile->h)); return SQLITE_OK; } case SQLITE_FCNTL_VFSNAME: { - *(char**)pArg = sqlite3_mprintf("%s", pFile->pVfs->zName); + *(char**)pArg = sqlite3_mprintf("win32"); OSTRACE(("FCNTL file=%p, rc=SQLITE_OK\n", pFile->h)); return SQLITE_OK; } case SQLITE_FCNTL_WIN32_AV_RETRY: { int *a = (int*)pArg; @@ -34467,11 +34186,11 @@ sqlite3_mutex_enter(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER)); } static void winShmLeaveMutex(void){ sqlite3_mutex_leave(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER)); } -#ifndef NDEBUG +#ifdef SQLITE_DEBUG static int winShmMutexHeld(void) { return sqlite3_mutex_held(sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER)); } #endif @@ -37804,11 +37523,10 @@ ** in memory. */ struct PgHdr1 { sqlite3_pcache_page page; unsigned int iKey; /* Key value (page number) */ - u8 isPinned; /* Page in use, not on the LRU list */ PgHdr1 *pNext; /* Next in hash table chain */ PCache1 *pCache; /* Cache that currently owns this page */ PgHdr1 *pLruNext; /* Next in LRU list of unpinned pages */ PgHdr1 *pLruPrev; /* Previous in LRU list of unpinned pages */ }; @@ -38133,36 +37851,38 @@ ** This function is used internally to remove the page pPage from the ** PGroup LRU list, if is part of it. If pPage is not part of the PGroup ** LRU list, then this function is a no-op. ** ** The PGroup mutex must be held when this function is called. +** +** If pPage is NULL then this routine is a no-op. */ static void pcache1PinPage(PgHdr1 *pPage){ PCache1 *pCache; PGroup *pGroup; - assert( pPage!=0 ); - assert( pPage->isPinned==0 ); + if( pPage==0 ) return; pCache = pPage->pCache; pGroup = pCache->pGroup; - assert( pPage->pLruNext || pPage==pGroup->pLruTail ); - assert( pPage->pLruPrev || pPage==pGroup->pLruHead ); assert( sqlite3_mutex_held(pGroup->mutex) ); - if( pPage->pLruPrev ){ - pPage->pLruPrev->pLruNext = pPage->pLruNext; - }else{ - pGroup->pLruHead = pPage->pLruNext; - } - if( pPage->pLruNext ){ - pPage->pLruNext->pLruPrev = pPage->pLruPrev; - }else{ - pGroup->pLruTail = pPage->pLruPrev; - } - pPage->pLruNext = 0; - pPage->pLruPrev = 0; - pPage->isPinned = 1; - pCache->nRecyclable--; + if( pPage->pLruNext || pPage==pGroup->pLruTail ){ + if( pPage->pLruPrev ){ + pPage->pLruPrev->pLruNext = pPage->pLruNext; + } + if( pPage->pLruNext ){ + pPage->pLruNext->pLruPrev = pPage->pLruPrev; + } + if( pGroup->pLruHead==pPage ){ + pGroup->pLruHead = pPage->pLruNext; + } + if( pGroup->pLruTail==pPage ){ + pGroup->pLruTail = pPage->pLruPrev; + } + pPage->pLruNext = 0; + pPage->pLruPrev = 0; + pPage->pCache->nRecyclable--; + } } /* ** Remove the page supplied as an argument from the hash table @@ -38190,11 +37910,10 @@ static void pcache1EnforceMaxPage(PGroup *pGroup){ assert( sqlite3_mutex_held(pGroup->mutex) ); while( pGroup->nCurrentPage>pGroup->nMaxPage && pGroup->pLruTail ){ PgHdr1 *p = pGroup->pLruTail; assert( p->pCache->pGroup==pGroup ); - assert( p->isPinned==0 ); pcache1PinPage(p); pcache1RemoveFromHash(p); pcache1FreePage(p); } } @@ -38218,11 +37937,11 @@ PgHdr1 *pPage; while( (pPage = *pp)!=0 ){ if( pPage->iKey>=iLimit ){ pCache->nPage--; *pp = pPage->pNext; - if( !pPage->isPinned ) pcache1PinPage(pPage); + pcache1PinPage(pPage); pcache1FreePage(pPage); }else{ pp = &pPage->pNext; TESTONLY( nPage++; ) } @@ -38428,11 +38147,10 @@ unsigned int nPinned; PCache1 *pCache = (PCache1 *)p; PGroup *pGroup; PgHdr1 *pPage = 0; - assert( offsetof(PgHdr1,page)==0 ); assert( pCache->bPurgeable || createFlag!=1 ); assert( pCache->bPurgeable || pCache->nMin==0 ); assert( pCache->bPurgeable==0 || pCache->nMin==10 ); assert( pCache->nMin==0 || pCache->bPurgeable ); pcache1EnterMutex(pGroup = pCache->pGroup); @@ -38442,15 +38160,12 @@ unsigned int h = iKey % pCache->nHash; for(pPage=pCache->apHash[h]; pPage&&pPage->iKey!=iKey; pPage=pPage->pNext); } /* Step 2: Abort if no existing page is found and createFlag is 0 */ - if( pPage ){ - if( !pPage->isPinned ) pcache1PinPage(pPage); - goto fetch_out; - } - if( createFlag==0 ){ + if( pPage || createFlag==0 ){ + pcache1PinPage(pPage); goto fetch_out; } /* The pGroup local variable will normally be initialized by the ** pcache1EnterMutex() macro above. But if SQLITE_MUTEX_OMIT is defined, @@ -38487,11 +38202,10 @@ || pGroup->nCurrentPage>=pGroup->nMaxPage || pcache1UnderMemoryPressure(pCache) )){ PCache1 *pOther; pPage = pGroup->pLruTail; - assert( pPage->isPinned==0 ); pcache1RemoveFromHash(pPage); pcache1PinPage(pPage); pOther = pPage->pCache; /* We want to verify that szPage and szExtra are the same for pOther @@ -38524,21 +38238,20 @@ pPage->iKey = iKey; pPage->pNext = pCache->apHash[h]; pPage->pCache = pCache; pPage->pLruPrev = 0; pPage->pLruNext = 0; - pPage->isPinned = 1; *(void **)pPage->page.pExtra = 0; pCache->apHash[h] = pPage; } fetch_out: if( pPage && iKey>pCache->iMaxKey ){ pCache->iMaxKey = iKey; } pcache1LeaveMutex(pGroup); - return (sqlite3_pcache_page*)pPage; + return &pPage->page; } /* ** Implementation of the sqlite3_pcache.xUnpin method. @@ -38560,11 +38273,10 @@ /* It is an error to call this function if the page is already ** part of the PGroup LRU list. */ assert( pPage->pLruPrev==0 && pPage->pLruNext==0 ); assert( pGroup->pLruHead!=pPage && pGroup->pLruTail!=pPage ); - assert( pPage->isPinned==1 ); if( reuseUnlikely || pGroup->nCurrentPage>pGroup->nMaxPage ){ pcache1RemoveFromHash(pPage); pcache1FreePage(pPage); }else{ @@ -38576,11 +38288,10 @@ }else{ pGroup->pLruTail = pPage; pGroup->pLruHead = pPage; } pCache->nRecyclable++; - pPage->isPinned = 0; } pcache1LeaveMutex(pCache->pGroup); } @@ -38703,11 +38414,10 @@ while( (nReq<0 || nFreepage.pBuf); #ifdef SQLITE_PCACHE_SEPARATE_HEADER nFree += sqlite3MemSize(p); #endif - assert( p->isPinned==0 ); pcache1PinPage(p); pcache1RemoveFromHash(p); pcache1FreePage(p); } pcache1LeaveMutex(&pcache1.grp); @@ -38728,11 +38438,10 @@ int *pnRecyclable /* OUT: Total number of pages available for recycling */ ){ PgHdr1 *p; int nRecyclable = 0; for(p=pcache1.grp.pLruHead; p; p=p->pLruNext){ - assert( p->isPinned==0 ); nRecyclable++; } *pnCurrent = pcache1.grp.nCurrentPage; *pnMax = (int)pcache1.grp.nMaxPage; *pnMin = (int)pcache1.grp.nMinPage; @@ -40415,26 +40124,29 @@ ** PagerSavepoint.pInSavepoint. */ static int subjRequiresPage(PgHdr *pPg){ Pager *pPager = pPg->pPager; PagerSavepoint *p; - Pgno pgno = pPg->pgno; + Pgno pgno; int i; - for(i=0; inSavepoint; i++){ - p = &pPager->aSavepoint[i]; - if( p->nOrig>=pgno && 0==sqlite3BitvecTest(p->pInSavepoint, pgno) ){ - return 1; + if( pPager->nSavepoint ){ + pgno = pPg->pgno; + for(i=0; inSavepoint; i++){ + p = &pPager->aSavepoint[i]; + if( p->nOrig>=pgno && 0==sqlite3BitvecTest(p->pInSavepoint, pgno) ){ + return 1; + } } } return 0; } /* ** Return true if the page is already in the journal file. */ -static int pageInJournal(Pager *pPager, PgHdr *pPg){ - return sqlite3BitvecTest(pPager->pInJournal, pPg->pgno); +static int pageInJournal(PgHdr *pPg){ + return sqlite3BitvecTest(pPg->pPager->pInJournal, pPg->pgno); } /* ** Read a 32-bit integer from the given file descriptor. Store the integer ** that is read in *pRes. Return SQLITE_OK if everything worked, or an @@ -40637,11 +40349,10 @@ if( SQLITE_OK!=(rc = sqlite3OsFileSize(pJrnl, &szJ)) || szJ<16 || SQLITE_OK!=(rc = read32bits(pJrnl, szJ-16, &len)) || len>=nMaster - || len==0 || SQLITE_OK!=(rc = read32bits(pJrnl, szJ-12, &cksum)) || SQLITE_OK!=(rc = sqlite3OsRead(pJrnl, aMagic, 8, szJ-8)) || memcmp(aMagic, aJournalMagic, 8) || SQLITE_OK!=(rc = sqlite3OsRead(pJrnl, zMaster, len, szJ-16-len)) ){ @@ -41378,11 +41089,11 @@ sqlite3PcacheIterateDirty(pPager->pPCache, pager_set_pagehash); if( pPager->dbSize==0 && sqlite3PcacheRefCount(pPager->pPCache)>0 ){ PgHdr *p = pager_lookup(pPager, 1); if( p ){ p->pageHash = 0; - sqlite3PagerUnrefNotNull(p); + sqlite3PagerUnref(p); } } #endif sqlite3BitvecDestroy(pPager->pInJournal); @@ -41407,15 +41118,10 @@ ** required size. */ assert( pPager->eLock==EXCLUSIVE_LOCK ); rc = pager_truncate(pPager, pPager->dbSize); } - if( rc==SQLITE_OK && bCommit && isOpen(pPager->fd) ){ - rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_COMMIT_PHASETWO, 0); - if( rc==SQLITE_NOTFOUND ) rc = SQLITE_OK; - } - if( !pPager->exclusiveMode && (!pagerUseWal(pPager) || sqlite3WalExclusiveMode(pPager->pWal, 0)) ){ rc2 = pagerUnlockDb(pPager, SHARED_LOCK); pPager->changeCountDone = 0; @@ -42225,11 +41931,11 @@ testcase( rc!=SQLITE_OK ); } if( rc==SQLITE_OK && (pPager->eState>=PAGER_WRITER_DBMOD || pPager->eState==PAGER_OPEN) ){ - rc = sqlite3PagerSync(pPager, 0); + rc = sqlite3PagerSync(pPager); } if( rc==SQLITE_OK ){ rc = pager_end_transaction(pPager, zMaster[0]!='\0', 0); testcase( rc!=SQLITE_OK ); } @@ -42371,11 +42077,11 @@ rc = readDbPage(pPg, iFrame); } if( rc==SQLITE_OK ){ pPager->xReiniter(pPg); } - sqlite3PagerUnrefNotNull(pPg); + sqlite3PagerUnref(pPg); } } /* Normally, if a transaction is rolled back, any backup processes are ** updated as data is copied out of the rollback journal and into the @@ -43726,11 +43432,11 @@ /* Open the sub-journal, if it has not already been opened */ assert( pPager->useJournal ); assert( isOpen(pPager->jfd) || pagerUseWal(pPager) ); assert( isOpen(pPager->sjfd) || pPager->nSubRec==0 ); assert( pagerUseWal(pPager) - || pageInJournal(pPager, pPg) + || pageInJournal(pPg) || pPg->pgno>pPager->dbOrigSize ); rc = openSubJournal(pPager); /* If the sub-journal was opened successfully (or was already open), @@ -44191,34 +43897,10 @@ *ppPager = pPager; return SQLITE_OK; } -/* Verify that the database file has not be deleted or renamed out from -** under the pager. Return SQLITE_OK if the database is still were it ought -** to be on disk. Return non-zero (SQLITE_READONLY_DBMOVED or some other error -** code from sqlite3OsAccess()) if the database has gone missing. -*/ -static int databaseIsUnmoved(Pager *pPager){ - int bHasMoved = 0; - int rc; - - if( pPager->tempFile ) return SQLITE_OK; - if( pPager->dbSize==0 ) return SQLITE_OK; - assert( pPager->zFilename && pPager->zFilename[0] ); - rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_HAS_MOVED, &bHasMoved); - if( rc==SQLITE_NOTFOUND ){ - /* If the HAS_MOVED file-control is unimplemented, assume that the file - ** has not been moved. That is the historical behavior of SQLite: prior to - ** version 3.8.3, it never checked */ - rc = SQLITE_OK; - }else if( rc==SQLITE_OK && bHasMoved ){ - rc = SQLITE_READONLY_DBMOVED; - } - return rc; -} - /* ** This function is called after transitioning from PAGER_UNLOCK to ** PAGER_SHARED state. It tests if there is a hot journal present in ** the file-system for the given pager. A hot journal is one that @@ -44686,11 +44368,11 @@ if( bMmapOk && pagerUseWal(pPager) ){ rc = sqlite3WalFindFrame(pPager->pWal, pgno, &iFrame); if( rc!=SQLITE_OK ) goto pager_acquire_err; } - if( bMmapOk && iFrame==0 ){ + if( iFrame==0 && bMmapOk ){ void *pData = 0; rc = sqlite3OsFetch(pPager->fd, (i64)(pgno-1) * pPager->pageSize, pPager->pageSize, &pData ); @@ -44827,23 +44509,20 @@ ** If the number of references to the page drop to zero, then the ** page is added to the LRU list. When all references to all pages ** are released, a rollback occurs and the lock on the database is ** removed. */ -SQLITE_PRIVATE void sqlite3PagerUnrefNotNull(DbPage *pPg){ - Pager *pPager; - assert( pPg!=0 ); - pPager = pPg->pPager; - if( pPg->flags & PGHDR_MMAP ){ - pagerReleaseMapPage(pPg); - }else{ - sqlite3PcacheRelease(pPg); - } - pagerUnlockIfUnused(pPager); -} SQLITE_PRIVATE void sqlite3PagerUnref(DbPage *pPg){ - if( pPg ) sqlite3PagerUnrefNotNull(pPg); + if( pPg ){ + Pager *pPager = pPg->pPager; + if( pPg->flags & PGHDR_MMAP ){ + pagerReleaseMapPage(pPg); + }else{ + sqlite3PcacheRelease(pPg); + } + pagerUnlockIfUnused(pPager); + } } /* ** This function is called at the start of every write transaction. ** There must already be a RESERVED or EXCLUSIVE lock on the database @@ -44894,23 +44573,17 @@ SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE| (pPager->tempFile ? (SQLITE_OPEN_DELETEONCLOSE|SQLITE_OPEN_TEMP_JOURNAL): (SQLITE_OPEN_MAIN_JOURNAL) ); - - /* Verify that the database still has the same name as it did when - ** it was originally opened. */ - rc = databaseIsUnmoved(pPager); - if( rc==SQLITE_OK ){ -#ifdef SQLITE_ENABLE_ATOMIC_WRITE - rc = sqlite3JournalOpen( - pVfs, pPager->zJournal, pPager->jfd, flags, jrnlBufferSize(pPager) - ); -#else - rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, flags, 0); -#endif - } + #ifdef SQLITE_ENABLE_ATOMIC_WRITE + rc = sqlite3JournalOpen( + pVfs, pPager->zJournal, pPager->jfd, flags, jrnlBufferSize(pPager) + ); + #else + rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, flags, 0); + #endif } assert( rc!=SQLITE_OK || isOpen(pPager->jfd) ); } @@ -45027,13 +44700,13 @@ ** one of the journals, the corresponding bit is set in the ** Pager.pInJournal bitvec and the PagerSavepoint.pInSavepoint bitvecs ** of any open savepoints as appropriate. */ static int pager_write(PgHdr *pPg){ + void *pData = pPg->pData; Pager *pPager = pPg->pPager; int rc = SQLITE_OK; - int inJournal; /* This routine is not called unless a write-transaction has already ** been started. The journal file may or may not be open at this point. ** It is never called in the ERROR state. */ @@ -45040,12 +44713,18 @@ assert( pPager->eState==PAGER_WRITER_LOCKED || pPager->eState==PAGER_WRITER_CACHEMOD || pPager->eState==PAGER_WRITER_DBMOD ); assert( assert_pager_state(pPager) ); - assert( pPager->errCode==0 ); - assert( pPager->readOnly==0 ); + + /* If an error has been previously detected, report the same error + ** again. This should not happen, but the check provides robustness. */ + if( NEVER(pPager->errCode) ) return pPager->errCode; + + /* Higher-level routines never call this function if database is not + ** writable. But check anyway, just for robustness. */ + if( NEVER(pPager->readOnly) ) return SQLITE_PERM; CHECK_PAGE(pPg); /* The journal file needs to be opened. Higher level routines have already ** obtained the necessary locks to begin the write-transaction, but the @@ -45065,20 +44744,19 @@ /* Mark the page as dirty. If the page has already been written ** to the journal then we can return right away. */ sqlite3PcacheMakeDirty(pPg); - inJournal = pageInJournal(pPager, pPg); - if( inJournal && (pPager->nSavepoint==0 || !subjRequiresPage(pPg)) ){ + if( pageInJournal(pPg) && !subjRequiresPage(pPg) ){ assert( !pagerUseWal(pPager) ); }else{ /* The transaction journal now exists and we have a RESERVED or an ** EXCLUSIVE lock on the main database file. Write the current page to ** the transaction journal if it is not there already. */ - if( !inJournal && !pagerUseWal(pPager) ){ + if( !pageInJournal(pPg) && !pagerUseWal(pPager) ){ assert( pagerUseWal(pPager)==0 ); if( pPg->pgno<=pPager->dbOrigSize && isOpen(pPager->jfd) ){ u32 cksum; char *pData2; i64 iOff = pPager->journalOff; @@ -45087,11 +44765,11 @@ ** contains the database locks. The following assert verifies ** that we do not. */ assert( pPg->pgno!=PAGER_MJ_PGNO(pPager) ); assert( pPager->journalHdr<=pPager->journalOff ); - CODEC2(pPager, pPg->pData, pPg->pgno, 7, return SQLITE_NOMEM, pData2); + CODEC2(pPager, pData, pPg->pgno, 7, return SQLITE_NOMEM, pData2); cksum = pager_cksum(pPager, (u8*)pData2); /* Even if an IO or diskfull error occurs while journalling the ** page in the block above, set the need-sync flag for the page. ** Otherwise, when the transaction is rolled back, the logic in @@ -45139,11 +44817,11 @@ /* If the statement journal is open and the page is not in it, ** then write the current page to the statement journal. Note that ** the statement journal format differs from the standard journal format ** in that it omits the checksums and the header. */ - if( pPager->nSavepoint>0 && subjRequiresPage(pPg) ){ + if( subjRequiresPage(pPg) ){ rc = subjournalPage(pPg); } } /* Update the database size and return. @@ -45171,23 +44849,23 @@ SQLITE_PRIVATE int sqlite3PagerWrite(DbPage *pDbPage){ int rc = SQLITE_OK; PgHdr *pPg = pDbPage; Pager *pPager = pPg->pPager; + Pgno nPagePerSector = (pPager->sectorSize/pPager->pageSize); assert( (pPg->flags & PGHDR_MMAP)==0 ); assert( pPager->eState>=PAGER_WRITER_LOCKED ); assert( pPager->eState!=PAGER_ERROR ); assert( assert_pager_state(pPager) ); - if( pPager->sectorSize > (u32)pPager->pageSize ){ + if( nPagePerSector>1 ){ Pgno nPageCount; /* Total number of pages in database file */ Pgno pg1; /* First page of the sector pPg is located on. */ int nPage = 0; /* Number of pages starting at pg1 to journal */ int ii; /* Loop counter */ int needSync = 0; /* True if any page has PGHDR_NEED_SYNC */ - Pgno nPagePerSector = (pPager->sectorSize/pPager->pageSize); /* Set the doNotSpill NOSYNC bit to 1. This is because we cannot allow ** a journal header to be written between the pages journaled by ** this function. */ @@ -45222,18 +44900,18 @@ if( rc==SQLITE_OK ){ rc = pager_write(pPage); if( pPage->flags&PGHDR_NEED_SYNC ){ needSync = 1; } - sqlite3PagerUnrefNotNull(pPage); + sqlite3PagerUnref(pPage); } } }else if( (pPage = pager_lookup(pPager, pg))!=0 ){ if( pPage->flags&PGHDR_NEED_SYNC ){ needSync = 1; } - sqlite3PagerUnrefNotNull(pPage); + sqlite3PagerUnref(pPage); } } /* If the PGHDR_NEED_SYNC flag is set for any of the nPage pages ** starting at pg1, then it needs to be set for all of them. Because @@ -45245,11 +44923,11 @@ assert( !MEMDB ); for(ii=0; iiflags |= PGHDR_NEED_SYNC; - sqlite3PagerUnrefNotNull(pPage); + sqlite3PagerUnref(pPage); } } } assert( (pPager->doNotSpill & SPILLFLAG_NOSYNC)!=0 ); @@ -45398,21 +45076,21 @@ ** or pages with the Pager.noSync flag set. ** ** If successful, or if called on a pager for which it is a no-op, this ** function returns SQLITE_OK. Otherwise, an IO error code is returned. */ -SQLITE_PRIVATE int sqlite3PagerSync(Pager *pPager, const char *zMaster){ +SQLITE_PRIVATE int sqlite3PagerSync(Pager *pPager){ int rc = SQLITE_OK; - - if( isOpen(pPager->fd) ){ - void *pArg = (void*)zMaster; - rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_SYNC, pArg); - if( rc==SQLITE_NOTFOUND ) rc = SQLITE_OK; - } - if( rc==SQLITE_OK && !pPager->noSync ){ + if( !pPager->noSync ){ assert( !MEMDB ); rc = sqlite3OsSync(pPager->fd, pPager->syncFlags); + }else if( isOpen(pPager->fd) ){ + assert( !MEMDB ); + rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_SYNC_OMITTED, 0); + if( rc==SQLITE_NOTFOUND ){ + rc = SQLITE_OK; + } } return rc; } /* @@ -45607,11 +45285,11 @@ if( rc!=SQLITE_OK ) goto commit_phase_one_exit; } /* Finally, sync the database file. */ if( !noSync ){ - rc = sqlite3PagerSync(pPager, zMaster); + rc = sqlite3PagerSync(pPager); } IOTRACE(("DBSYNC %p\n", pPager)) } } @@ -45736,13 +45414,11 @@ rc = pager_playback(pPager, 0); } assert( pPager->eState==PAGER_READER || rc!=SQLITE_OK ); assert( rc==SQLITE_OK || rc==SQLITE_FULL || rc==SQLITE_CORRUPT - || rc==SQLITE_NOMEM || (rc&0xFF)==SQLITE_IOERR - || rc==SQLITE_CANTOPEN - ); + || rc==SQLITE_NOMEM || (rc&0xFF)==SQLITE_IOERR ); /* If an error occurs during a ROLLBACK, we can no longer trust the pager ** cache. So call pager_error() on the way out to make any error persistent. */ return pager_error(pPager, rc); @@ -46141,11 +45817,11 @@ ** can be written to. The caller has already promised not to write to it. */ if( (pPg->flags&PGHDR_NEED_SYNC) && !isCommit ){ needSyncPgno = pPg->pgno; assert( pPager->journalMode==PAGER_JOURNALMODE_OFF || - pageInJournal(pPager, pPg) || pPg->pgno>pPager->dbOrigSize ); + pageInJournal(pPg) || pPg->pgno>pPager->dbOrigSize ); assert( pPg->flags&PGHDR_DIRTY ); } /* If the cache contains a page with page-number pgno, remove it ** from its hash chain. Also, if the PGHDR_NEED_SYNC flag was set for @@ -46175,11 +45851,11 @@ ** as the original page since it has already been allocated. */ if( MEMDB ){ assert( pPgOld ); sqlite3PcacheMove(pPgOld, origPgno); - sqlite3PagerUnrefNotNull(pPgOld); + sqlite3PagerUnref(pPgOld); } if( needSyncPgno ){ /* If needSyncPgno is non-zero, then the journal file needs to be ** sync()ed before any data is written to database file page needSyncPgno. @@ -46204,11 +45880,11 @@ } return rc; } pPgHdr->flags |= PGHDR_NEED_SYNC; sqlite3PcacheMakeDirty(pPgHdr); - sqlite3PagerUnrefNotNull(pPgHdr); + sqlite3PagerUnref(pPgHdr); } return SQLITE_OK; } #endif @@ -52323,11 +51999,11 @@ if( pgno>btreePagecount(pBt) ){ rc = SQLITE_CORRUPT_BKPT; }else{ rc = btreeGetPage(pBt, pgno, ppPage, bReadonly); - if( rc==SQLITE_OK && (*ppPage)->isInit==0 ){ + if( rc==SQLITE_OK ){ rc = btreeInitPage(*ppPage); if( rc!=SQLITE_OK ){ releasePage(*ppPage); } } @@ -52344,15 +52020,14 @@ */ static void releasePage(MemPage *pPage){ if( pPage ){ assert( pPage->aData ); assert( pPage->pBt ); - assert( pPage->pDbPage!=0 ); assert( sqlite3PagerGetExtra(pPage->pDbPage) == (void*)pPage ); assert( sqlite3PagerGetData(pPage->pDbPage)==pPage->aData ); assert( sqlite3_mutex_held(pPage->pBt->mutex) ); - sqlite3PagerUnrefNotNull(pPage->pDbPage); + sqlite3PagerUnref(pPage->pDbPage); } } /* ** During a rollback, when the pager reloads information into the cache @@ -54425,11 +54100,11 @@ static void assertCellInfo(BtCursor *pCur){ CellInfo info; int iPage = pCur->iPage; memset(&info, 0, sizeof(info)); btreeParseCell(pCur->apPage[iPage], pCur->aiIdx[iPage], &info); - assert( CORRUPT_DB || memcmp(&info, &pCur->info, sizeof(info))==0 ); + assert( memcmp(&info, &pCur->info, sizeof(info))==0 ); } #else #define assertCellInfo(x) #endif #ifdef _MSC_VER @@ -54864,14 +54539,14 @@ } /* ** Return a pointer to payload information from the entry that the ** pCur cursor is pointing to. The pointer is to the beginning of -** the key if index btrees (pPage->intKey==0) and is the data for -** table btrees (pPage->intKey==1). The number of bytes of available -** key/data is written into *pAmt. If *pAmt==0, then the value -** returned will not be a valid pointer. +** the key if skipKey==0 and it points to the beginning of data if +** skipKey==1. The number of bytes of available key/data is written +** into *pAmt. If *pAmt==0, then the value returned will not be +** a valid pointer. ** ** This routine is an optimization. It is common for the entire key ** and data to fit on the local page and for there to be no overflow ** pages. When that is so, this routine can be used to access the ** key and data without making a copy. If the key and/or data spills @@ -54880,25 +54555,45 @@ ** ** The pointer returned by this routine looks directly into the cached ** page of the database. The data might change or move the next time ** any btree routine is called. */ -static const void *fetchPayload( +static const unsigned char *fetchPayload( BtCursor *pCur, /* Cursor pointing to entry to read from */ - u32 *pAmt /* Write the number of available bytes here */ + u32 *pAmt, /* Write the number of available bytes here */ + int skipKey /* read beginning at data if this is true */ ){ + unsigned char *aPayload; + MemPage *pPage; + u32 nKey; + u32 nLocal; + assert( pCur!=0 && pCur->iPage>=0 && pCur->apPage[pCur->iPage]); assert( pCur->eState==CURSOR_VALID ); - assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); assert( cursorHoldsMutex(pCur) ); - assert( pCur->aiIdx[pCur->iPage]apPage[pCur->iPage]->nCell ); + pPage = pCur->apPage[pCur->iPage]; + assert( pCur->aiIdx[pCur->iPage]nCell ); if( pCur->info.nSize==0 ){ btreeParseCell(pCur->apPage[pCur->iPage], pCur->aiIdx[pCur->iPage], &pCur->info); } - *pAmt = pCur->info.nLocal; - return (void*)(pCur->info.pCell + pCur->info.nHeader); + aPayload = pCur->info.pCell; + aPayload += pCur->info.nHeader; + if( pPage->intKey ){ + nKey = 0; + }else{ + nKey = (int)pCur->info.nKey; + } + if( skipKey ){ + aPayload += nKey; + nLocal = pCur->info.nLocal - nKey; + }else{ + nLocal = pCur->info.nLocal; + assert( nLocal<=nKey ); + } + *pAmt = nLocal; + return aPayload; } /* ** For the entry that cursor pCur is point to, return as @@ -54913,14 +54608,26 @@ ** ** These routines is used to get quick access to key and data ** in the common case where no overflow pages are used. */ SQLITE_PRIVATE const void *sqlite3BtreeKeyFetch(BtCursor *pCur, u32 *pAmt){ - return fetchPayload(pCur, pAmt); + const void *p = 0; + assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); + assert( cursorHoldsMutex(pCur) ); + if( ALWAYS(pCur->eState==CURSOR_VALID) ){ + p = (const void*)fetchPayload(pCur, pAmt, 0); + } + return p; } SQLITE_PRIVATE const void *sqlite3BtreeDataFetch(BtCursor *pCur, u32 *pAmt){ - return fetchPayload(pCur, pAmt); + const void *p = 0; + assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); + assert( cursorHoldsMutex(pCur) ); + if( ALWAYS(pCur->eState==CURSOR_VALID) ){ + p = (const void*)fetchPayload(pCur, pAmt, 1); + } + return p; } /* ** Move the cursor down to a new child page. The newPgno argument is the @@ -55035,10 +54742,12 @@ ** b-tree). */ static int moveToRoot(BtCursor *pCur){ MemPage *pRoot; int rc = SQLITE_OK; + Btree *p = pCur->pBtree; + BtShared *pBt = p->pBt; assert( cursorHoldsMutex(pCur) ); assert( CURSOR_INVALID < CURSOR_REQUIRESEEK ); assert( CURSOR_VALID < CURSOR_REQUIRESEEK ); assert( CURSOR_FAULT > CURSOR_REQUIRESEEK ); @@ -55049,56 +54758,60 @@ } sqlite3BtreeClearCursor(pCur); } if( pCur->iPage>=0 ){ - while( pCur->iPage ) releasePage(pCur->apPage[pCur->iPage--]); + int i; + for(i=1; i<=pCur->iPage; i++){ + releasePage(pCur->apPage[i]); + } + pCur->iPage = 0; }else if( pCur->pgnoRoot==0 ){ pCur->eState = CURSOR_INVALID; return SQLITE_OK; }else{ - rc = getAndInitPage(pCur->pBtree->pBt, pCur->pgnoRoot, &pCur->apPage[0], + rc = getAndInitPage(pBt, pCur->pgnoRoot, &pCur->apPage[0], pCur->wrFlag==0 ? PAGER_GET_READONLY : 0); if( rc!=SQLITE_OK ){ pCur->eState = CURSOR_INVALID; return rc; } pCur->iPage = 0; + + /* If pCur->pKeyInfo is not NULL, then the caller that opened this cursor + ** expected to open it on an index b-tree. Otherwise, if pKeyInfo is + ** NULL, the caller expects a table b-tree. If this is not the case, + ** return an SQLITE_CORRUPT error. */ + assert( pCur->apPage[0]->intKey==1 || pCur->apPage[0]->intKey==0 ); + if( (pCur->pKeyInfo==0)!=pCur->apPage[0]->intKey ){ + return SQLITE_CORRUPT_BKPT; + } } + + /* Assert that the root page is of the correct type. This must be the + ** case as the call to this function that loaded the root-page (either + ** this call or a previous invocation) would have detected corruption + ** if the assumption were not true, and it is not possible for the flags + ** byte to have been modified while this cursor is holding a reference + ** to the page. */ pRoot = pCur->apPage[0]; assert( pRoot->pgno==pCur->pgnoRoot ); - - /* If pCur->pKeyInfo is not NULL, then the caller that opened this cursor - ** expected to open it on an index b-tree. Otherwise, if pKeyInfo is - ** NULL, the caller expects a table b-tree. If this is not the case, - ** return an SQLITE_CORRUPT error. - ** - ** Earlier versions of SQLite assumed that this test could not fail - ** if the root page was already loaded when this function was called (i.e. - ** if pCur->iPage>=0). But this is not so if the database is corrupted - ** in such a way that page pRoot is linked into a second b-tree table - ** (or the freelist). */ - assert( pRoot->intKey==1 || pRoot->intKey==0 ); - if( pRoot->isInit==0 || (pCur->pKeyInfo==0)!=pRoot->intKey ){ - return SQLITE_CORRUPT_BKPT; - } + assert( pRoot->isInit && (pCur->pKeyInfo==0)==pRoot->intKey ); pCur->aiIdx[0] = 0; pCur->info.nSize = 0; pCur->atLast = 0; pCur->validNKey = 0; - if( pRoot->nCell>0 ){ - pCur->eState = CURSOR_VALID; - }else if( !pRoot->leaf ){ + if( pRoot->nCell==0 && !pRoot->leaf ){ Pgno subpage; if( pRoot->pgno!=1 ) return SQLITE_CORRUPT_BKPT; subpage = get4byte(&pRoot->aData[pRoot->hdrOffset+8]); pCur->eState = CURSOR_VALID; rc = moveToChild(pCur, subpage); }else{ - pCur->eState = CURSOR_INVALID; + pCur->eState = ((pRoot->nCell>0)?CURSOR_VALID:CURSOR_INVALID); } return rc; } /* @@ -55350,18 +55063,21 @@ ** the entire cell by checking for the cases where the record is ** stored entirely within the b-tree page by inspecting the first ** 2 bytes of the cell. */ nCell = pCell[0]; - if( nCell<=pPage->max1bytePayload ){ + if( nCell<=pPage->max1bytePayload + /* && (pCell+nCell)aDataEnd */ + ){ /* This branch runs if the record-size field of the cell is a ** single byte varint and the record fits entirely on the main ** b-tree page. */ testcase( pCell+nCell+1==pPage->aDataEnd ); c = sqlite3VdbeRecordCompare(nCell, (void*)&pCell[1], pIdxKey); }else if( !(pCell[1] & 0x80) && (nCell = ((nCell&0x7f)<<7) + pCell[1])<=pPage->maxLocal + /* && (pCell+nCell+2)<=pPage->aDataEnd */ ){ /* The record-size field is a 2 byte varint and the record ** fits entirely on the main b-tree page. */ testcase( pCell+nCell+2==pPage->aDataEnd ); c = sqlite3VdbeRecordCompare(nCell, (void*)&pCell[2], pIdxKey); @@ -55920,11 +55636,10 @@ releasePage(pTrunk); releasePage(pPrevTrunk); if( rc==SQLITE_OK ){ if( sqlite3PagerPageRefcount((*ppPage)->pDbPage)>1 ){ releasePage(*ppPage); - *ppPage = 0; return SQLITE_CORRUPT_BKPT; } (*ppPage)->isInit = 0; }else{ *ppPage = 0; @@ -56182,11 +55897,11 @@ nHeader = 0; if( !pPage->leaf ){ nHeader += 4; } if( pPage->hasData ){ - nHeader += putVarint32(&pCell[nHeader], nData+nZero); + nHeader += putVarint(&pCell[nHeader], nData+nZero); }else{ nData = nZero = 0; } nHeader += putVarint(&pCell[nHeader], *(u64*)&nKey); btreeParseCellPtr(pPage, pCell, &info); @@ -56310,10 +56025,11 @@ */ static void dropCell(MemPage *pPage, int idx, int sz, int *pRC){ u32 pc; /* Offset to cell content of cell being deleted */ u8 *data; /* pPage->aData */ u8 *ptr; /* Used to move bytes around within data[] */ + u8 *endPtr; /* End of loop */ int rc; /* The return code */ int hdr; /* Beginning of the header. 0 most pages. 100 page 1 */ if( *pRC ) return; @@ -56333,13 +56049,18 @@ } rc = freeSpace(pPage, pc, sz); if( rc ){ *pRC = rc; return; + } + endPtr = &pPage->aCellIdx[2*pPage->nCell - 2]; + assert( (SQLITE_PTR_TO_INT(ptr)&1)==0 ); /* ptr is always 2-byte aligned */ + while( ptrnCell--; - memmove(ptr, ptr+2, 2*(pPage->nCell - idx)); put2byte(&data[hdr+3], pPage->nCell); pPage->nFree += 2; } /* @@ -56372,10 +56093,13 @@ int j; /* Loop counter */ int end; /* First byte past the last cell pointer in data[] */ int ins; /* Index in data[] where new cell pointer is inserted */ int cellOffset; /* Address of first cell pointer in data[] */ u8 *data; /* The content of the whole page */ + u8 *ptr; /* Used for moving information around in data[] */ + u8 *endPtr; /* End of the loop */ + int nSkip = (iChild ? 4 : 0); if( *pRC ) return; assert( i>=0 && i<=pPage->nCell+pPage->nOverflow ); @@ -56422,11 +56146,17 @@ pPage->nFree -= (u16)(2 + sz); memcpy(&data[idx+nSkip], pCell+nSkip, sz-nSkip); if( iChild ){ put4byte(&data[idx], iChild); } - memmove(&data[ins+2], &data[ins], end-ins); + ptr = &data[end]; + endPtr = &data[ins]; + assert( (SQLITE_PTR_TO_INT(ptr)&1)==0 ); /* ptr is always 2-byte aligned */ + while( ptr>endPtr ){ + *(u16*)ptr = *(u16*)&ptr[-2]; + ptr -= 2; + } put2byte(&data[ins], idx); put2byte(&data[pPage->hdrOffset+3], pPage->nCell); #ifndef SQLITE_OMIT_AUTOVACUUM if( pPage->pBt->autoVacuum ){ /* The cell may contain a pointer to an overflow page. If so, write @@ -58020,20 +57750,18 @@ ){ MemPage *pPage; int rc; unsigned char *pCell; int i; - int hdr; assert( sqlite3_mutex_held(pBt->mutex) ); if( pgno>btreePagecount(pBt) ){ return SQLITE_CORRUPT_BKPT; } rc = getAndInitPage(pBt, pgno, &pPage, 0); if( rc ) return rc; - hdr = pPage->hdrOffset; for(i=0; inCell; i++){ pCell = findCell(pPage, i); if( !pPage->leaf ){ rc = clearDatabasePage(pBt, get4byte(pCell), 1, pnChange); if( rc ) goto cleardatabasepage_out; @@ -58040,20 +57768,20 @@ } rc = clearCell(pPage, pCell); if( rc ) goto cleardatabasepage_out; } if( !pPage->leaf ){ - rc = clearDatabasePage(pBt, get4byte(&pPage->aData[hdr+8]), 1, pnChange); + rc = clearDatabasePage(pBt, get4byte(&pPage->aData[8]), 1, pnChange); if( rc ) goto cleardatabasepage_out; }else if( pnChange ){ assert( pPage->intKey ); *pnChange += pPage->nCell; } if( freePageFlag ){ freePage(pPage, &rc); }else if( (rc = sqlite3PagerWrite(pPage->pDbPage))==0 ){ - zeroPage(pPage, pPage->aData[hdr] | PTF_LEAF); + zeroPage(pPage, pPage->aData[0] | PTF_LEAF); } cleardatabasepage_out: releasePage(pPage); return rc; @@ -58386,11 +58114,11 @@ va_start(ap, zFormat); if( pCheck->errMsg.nChar ){ sqlite3StrAccumAppend(&pCheck->errMsg, "\n", 1); } if( zMsg1 ){ - sqlite3StrAccumAppendAll(&pCheck->errMsg, zMsg1); + sqlite3StrAccumAppend(&pCheck->errMsg, zMsg1, -1); } sqlite3VXPrintf(&pCheck->errMsg, 1, zFormat, ap); va_end(ap); if( pCheck->errMsg.accError==STRACCUM_NOMEM ){ pCheck->mallocFailed = 1; @@ -59680,11 +59408,11 @@ rc = backupTruncateFile(pFile, iSize); } /* Sync the database file to disk. */ if( rc==SQLITE_OK ){ - rc = sqlite3PagerSync(pDestPager, 0); + rc = sqlite3PagerSync(pDestPager); } }else{ sqlite3PagerTruncateImage(pDestPager, nDestTruncate); rc = sqlite3PagerCommitPhaseOne(pDestPager, 0, 0); } @@ -59755,14 +59483,14 @@ /* If a transaction is still open on the Btree, roll it back. */ sqlite3BtreeRollback(p->pDest, SQLITE_OK); /* Set the error code of the destination database handle. */ rc = (p->rc==SQLITE_DONE) ? SQLITE_OK : p->rc; + sqlite3Error(p->pDestDb, rc, 0); + + /* Exit the mutexes and free the backup context structure. */ if( p->pDestDb ){ - sqlite3Error(p->pDestDb, rc, 0); - - /* Exit the mutexes and free the backup context structure. */ sqlite3LeaveMutexAndCloseZombie(p->pDestDb); } sqlite3BtreeLeave(p->pSrc); if( p->pDestDb ){ /* EVIDENCE-OF: R-64852-21591 The sqlite3_backup object is created by a @@ -59962,59 +59690,61 @@ #endif } /* ** Make sure pMem->z points to a writable allocation of at least -** min(n,32) bytes. +** n bytes. ** -** If the bPreserve argument is true, then copy of the content of -** pMem->z into the new allocation. pMem must be either a string or -** blob if bPreserve is true. If bPreserve is false, any prior content -** in pMem->z is discarded. +** If the third argument passed to this function is true, then memory +** cell pMem must contain a string or blob. In this case the content is +** preserved. Otherwise, if the third parameter to this function is false, +** any current string or blob value may be discarded. +** +** This function sets the MEM_Dyn flag and clears any xDel callback. +** It also clears MEM_Ephem and MEM_Static. If the preserve flag is +** not set, Mem.n is zeroed. */ -SQLITE_PRIVATE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPreserve){ +SQLITE_PRIVATE int sqlite3VdbeMemGrow(Mem *pMem, int n, int preserve){ assert( 1 >= ((pMem->zMalloc && pMem->zMalloc==pMem->z) ? 1 : 0) + (((pMem->flags&MEM_Dyn)&&pMem->xDel) ? 1 : 0) + ((pMem->flags&MEM_Ephem) ? 1 : 0) + ((pMem->flags&MEM_Static) ? 1 : 0) ); assert( (pMem->flags&MEM_RowSet)==0 ); - /* If the bPreserve flag is set to true, then the memory cell must already + /* If the preserve flag is set to true, then the memory cell must already ** contain a valid string or blob value. */ - assert( bPreserve==0 || pMem->flags&(MEM_Blob|MEM_Str) ); - testcase( bPreserve && pMem->z==0 ); + assert( preserve==0 || pMem->flags&(MEM_Blob|MEM_Str) ); - if( pMem->zMalloc==0 || sqlite3DbMallocSize(pMem->db, pMem->zMalloc)z==pMem->zMalloc ){ + if( n<32 ) n = 32; + if( sqlite3DbMallocSize(pMem->db, pMem->zMalloc)z==pMem->zMalloc ){ pMem->z = pMem->zMalloc = sqlite3DbReallocOrFree(pMem->db, pMem->z, n); - bPreserve = 0; + preserve = 0; }else{ sqlite3DbFree(pMem->db, pMem->zMalloc); pMem->zMalloc = sqlite3DbMallocRaw(pMem->db, n); } - if( pMem->zMalloc==0 ){ - sqlite3VdbeMemRelease(pMem); - pMem->flags = MEM_Null; - return SQLITE_NOMEM; - } } - if( pMem->z && bPreserve && pMem->z!=pMem->zMalloc ){ + if( pMem->z && preserve && pMem->zMalloc && pMem->z!=pMem->zMalloc ){ memcpy(pMem->zMalloc, pMem->z, pMem->n); } - if( (pMem->flags&MEM_Dyn)!=0 && pMem->xDel ){ + if( pMem->flags&MEM_Dyn && pMem->xDel ){ assert( pMem->xDel!=SQLITE_DYNAMIC ); pMem->xDel((void *)(pMem->z)); } pMem->z = pMem->zMalloc; - pMem->flags &= ~(MEM_Ephem|MEM_Static); + if( pMem->z==0 ){ + pMem->flags = MEM_Null; + }else{ + pMem->flags &= ~(MEM_Ephem|MEM_Static); + } pMem->xDel = 0; - return SQLITE_OK; + return (pMem->z ? SQLITE_OK : SQLITE_NOMEM); } /* ** Make the given Mem object MEM_Dyn. In other words, make it so ** that any TEXT or BLOB content is stored in memory obtained from @@ -60196,16 +59926,14 @@ ** inconsistent state, for example with (Mem.z==0) and ** (Mem.type==SQLITE_TEXT). */ SQLITE_PRIVATE void sqlite3VdbeMemRelease(Mem *p){ VdbeMemRelease(p); - if( p->zMalloc ){ - sqlite3DbFree(p->db, p->zMalloc); - p->zMalloc = 0; - } + sqlite3DbFree(p->db, p->zMalloc); p->z = 0; - assert( p->xDel==0 ); /* Zeroed by VdbeMemRelease() above */ + p->zMalloc = 0; + p->xDel = 0; } /* ** Convert a 64-bit IEEE double into a 64-bit signed integer. ** If the double is out of range of a 64-bit signed integer then @@ -60385,13 +60113,10 @@ sqlite3RowSetClear(pMem->u.pRowSet); } MemSetTypeFlag(pMem, MEM_Null); pMem->type = SQLITE_NULL; } -SQLITE_PRIVATE void sqlite3ValueSetNull(sqlite3_value *p){ - sqlite3VdbeMemSetNull((Mem*)p); -} /* ** Delete any previous value and set the value to be a BLOB of length ** n containing all zeros. */ @@ -60501,11 +60226,11 @@ #endif /* SQLITE_DEBUG */ /* ** Size of struct Mem not including the Mem.zMalloc member. */ -#define MEMCELLSIZE offsetof(Mem,zMalloc) +#define MEMCELLSIZE (size_t)(&(((Mem *)0)->zMalloc)) /* ** Make an shallow copy of pFrom into pTo. Prior contents of ** pTo are freed. The pFrom->z field is not duplicated. If ** pFrom->z is used, then pTo->z points to the same thing as pFrom->z @@ -61125,11 +60850,11 @@ if( aRet==0 ){ sqlite3_result_error_nomem(context); }else{ aRet[0] = nSerial+1; sqlite3PutVarint(&aRet[1], iSerial); - sqlite3VdbeSerialPut(&aRet[1+nSerial], argv[0], iSerial); + sqlite3VdbeSerialPut(&aRet[1+nSerial], nVal, argv[0], file_format); sqlite3_result_blob(context, aRet, nRet, SQLITE_TRANSIENT); sqlite3DbFree(db, aRet); } } @@ -61310,12 +61035,11 @@ */ /* ** Create a new virtual database engine. */ -SQLITE_PRIVATE Vdbe *sqlite3VdbeCreate(Parse *pParse){ - sqlite3 *db = pParse->db; +SQLITE_PRIVATE Vdbe *sqlite3VdbeCreate(sqlite3 *db){ Vdbe *p; p = sqlite3DbMallocZero(db, sizeof(Vdbe) ); if( p==0 ) return 0; p->db = db; if( db->pVdbe ){ @@ -61323,14 +61047,10 @@ } p->pNext = db->pVdbe; p->pPrev = 0; db->pVdbe = p; p->magic = VDBE_MAGIC_INIT; - p->pParse = pParse; - assert( pParse->aLabel==0 ); - assert( pParse->nLabel==0 ); - assert( pParse->nOpAlloc==0 ); return p; } /* ** Remember the SQL string for a prepared statement. @@ -61382,18 +61102,17 @@ ** If an out-of-memory error occurs while resizing the array, return ** SQLITE_NOMEM. In this case Vdbe.aOp and Vdbe.nOpAlloc remain ** unchanged (this is so that any opcodes already allocated can be ** correctly deallocated along with the rest of the Vdbe). */ -static int growOpArray(Vdbe *v){ +static int growOpArray(Vdbe *p){ VdbeOp *pNew; - Parse *p = v->pParse; int nNew = (p->nOpAlloc ? p->nOpAlloc*2 : (int)(1024/sizeof(Op))); - pNew = sqlite3DbRealloc(p->db, v->aOp, nNew*sizeof(Op)); + pNew = sqlite3DbRealloc(p->db, p->aOp, nNew*sizeof(Op)); if( pNew ){ p->nOpAlloc = sqlite3DbMallocSize(p->db, pNew)/sizeof(Op); - v->aOp = pNew; + p->aOp = pNew; } return (pNew ? SQLITE_OK : SQLITE_NOMEM); } #ifdef SQLITE_DEBUG @@ -61428,11 +61147,11 @@ VdbeOp *pOp; i = p->nOp; assert( p->magic==VDBE_MAGIC_INIT ); assert( op>0 && op<0xff ); - if( p->pParse->nOpAlloc<=i ){ + if( p->nOpAlloc<=i ){ if( growOpArray(p) ){ return 1; } } p->nOp++; @@ -61447,19 +61166,10 @@ #ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS pOp->zComment = 0; #endif #ifdef SQLITE_DEBUG if( p->db->flags & SQLITE_VdbeAddopTrace ){ - int jj, kk; - Parse *pParse = p->pParse; - for(jj=kk=0; jjaColCache + jj; - if( x->iLevel>pParse->iCacheLevel || x->iReg==0 ) continue; - printf(" r[%d]={%d:%d}", x->iReg, x->iTable, x->iColumn); - kk++; - } - if( kk ) printf("\n"); sqlite3VdbePrintOp(0, i, &p->aOp[i]); test_addop_breakpoint(); } #endif #ifdef VDBE_PROFILE @@ -61539,14 +61249,13 @@ ** always negative and P2 values are suppose to be non-negative. ** Hence, a negative P2 value is a label that has yet to be resolved. ** ** Zero is returned if a malloc() fails. */ -SQLITE_PRIVATE int sqlite3VdbeMakeLabel(Vdbe *v){ - Parse *p = v->pParse; +SQLITE_PRIVATE int sqlite3VdbeMakeLabel(Vdbe *p){ int i = p->nLabel++; - assert( v->magic==VDBE_MAGIC_INIT ); + assert( p->magic==VDBE_MAGIC_INIT ); if( (i & (i-1))==0 ){ p->aLabel = sqlite3DbReallocOrFree(p->db, p->aLabel, (i*2+1)*sizeof(p->aLabel[0])); } if( p->aLabel ){ @@ -61558,19 +61267,17 @@ /* ** Resolve label "x" to be the address of the next instruction to ** be inserted. The parameter "x" must have been obtained from ** a prior call to sqlite3VdbeMakeLabel(). */ -SQLITE_PRIVATE void sqlite3VdbeResolveLabel(Vdbe *v, int x){ - Parse *p = v->pParse; +SQLITE_PRIVATE void sqlite3VdbeResolveLabel(Vdbe *p, int x){ int j = -1-x; - assert( v->magic==VDBE_MAGIC_INIT ); + assert( p->magic==VDBE_MAGIC_INIT ); assert( jnLabel ); if( j>=0 && p->aLabel ){ - p->aLabel[j] = v->nOp; + p->aLabel[j] = p->nOp; } - p->iFixedOp = v->nOp - 1; } /* ** Mark the VDBE as one that can only be run one time. */ @@ -61714,12 +61421,11 @@ */ static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs){ int i; int nMaxArgs = *pMaxFuncArgs; Op *pOp; - Parse *pParse = p->pParse; - int *aLabel = pParse->aLabel; + int *aLabel = p->aLabel; p->readOnly = 1; p->bIsReader = 0; for(pOp=p->aOp, i=p->nOp-1; i>=0; i--, pOp++){ u8 opcode = pOp->opcode; @@ -61778,17 +61484,16 @@ } } pOp->opflags = sqlite3OpcodeProperty[opcode]; if( (pOp->opflags & OPFLG_JUMP)!=0 && pOp->p2<0 ){ - assert( -1-pOp->p2nLabel ); + assert( -1-pOp->p2nLabel ); pOp->p2 = aLabel[-1-pOp->p2]; } } - sqlite3DbFree(p->db, pParse->aLabel); - pParse->aLabel = 0; - pParse->nLabel = 0; + sqlite3DbFree(p->db, p->aLabel); + p->aLabel = 0; *pMaxFuncArgs = nMaxArgs; assert( p->bIsReader!=0 || p->btreeMask==0 ); } /* @@ -61828,11 +61533,11 @@ ** address of the first operation added. */ SQLITE_PRIVATE int sqlite3VdbeAddOpList(Vdbe *p, int nOp, VdbeOpList const *aOp){ int addr; assert( p->magic==VDBE_MAGIC_INIT ); - if( p->nOp + nOp > p->pParse->nOpAlloc && growOpArray(p) ){ + if( p->nOp + nOp > p->nOpAlloc && growOpArray(p) ){ return 0; } addr = p->nOp; if( ALWAYS(nOp>0) ){ int i; @@ -61915,12 +61620,11 @@ /* ** Change the P2 operand of instruction addr so that it points to ** the address of the next instruction to be coded. */ SQLITE_PRIVATE void sqlite3VdbeJumpHere(Vdbe *p, int addr){ - sqlite3VdbeChangeP2(p, addr, p->nOp); - p->pParse->iFixedOp = p->nOp - 1; + if( ALWAYS(addr>=0) ) sqlite3VdbeChangeP2(p, addr, p->nOp); } /* ** If the input FuncDef structure is ephemeral, then free it. If @@ -62018,22 +61722,10 @@ pOp->opcode = OP_Noop; if( addr==p->nOp-1 ) p->nOp--; } } -/* -** Remove the last opcode inserted -*/ -SQLITE_PRIVATE int sqlite3VdbeDeletePriorOpcode(Vdbe *p, u8 op){ - if( (p->nOp-1)>(p->pParse->iFixedOp) && p->aOp[p->nOp-1].opcode==op ){ - sqlite3VdbeChangeToNoop(p, p->nOp-1); - return 1; - }else{ - return 0; - } -} - /* ** Change the value of the P4 operand for a specific instruction. ** This routine is useful when a large program is loaded from a ** static array using sqlite3VdbeAddOpList but we want to make a ** few minor changes to the program. @@ -62195,21 +61887,11 @@ if( c=='4' ) return pOp->p4.i; return pOp->p5; } /* -** Compute a string for the "comment" field of a VDBE opcode listing. -** -** The Synopsis: field in comments in the vdbe.c source file gets converted -** to an extra string that is appended to the sqlite3OpcodeName(). In the -** absence of other comments, this synopsis becomes the comment on the opcode. -** Some translation occurs: -** -** "PX" -> "r[X]" -** "PX@PY" -> "r[X..X+Y-1]" or "r[x]" if y is 0 or 1 -** "PX@PY+1" -> "r[X..X+Y]" or "r[x]" if y is 0 -** "PY..PY" -> "r[X..Y]" or "r[x]" if y<=x +** Compute a string for the "comment" field of a VDBE opcode listing */ static int displayComment( const Op *pOp, /* The opcode to be commented */ const char *zP4, /* Previously obtained value for P4 */ char *zTemp, /* Write result here */ @@ -62239,17 +61921,11 @@ sqlite3_snprintf(nTemp-jj, zTemp+jj, "%d", v1); if( strncmp(zSynopsis+ii+1, "@P", 2)==0 ){ ii += 3; jj += sqlite3Strlen30(zTemp+jj); v2 = translateP(zSynopsis[ii], pOp); - if( strncmp(zSynopsis+ii+1,"+1",2)==0 ){ - ii += 2; - v2++; - } - if( v2>1 ){ - sqlite3_snprintf(nTemp-jj, zTemp+jj, "..%d", v1+v2-1); - } + if( v2>1 ) sqlite3_snprintf(nTemp-jj, zTemp+jj, "..%d", v1+v2-1); }else if( strncmp(zSynopsis+ii+1, "..P3", 4)==0 && pOp->p3==0 ){ ii += 4; } } jj += sqlite3Strlen30(zTemp+jj); @@ -62477,13 +62153,10 @@ #ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS displayComment(pOp, zP4, zCom, sizeof(zCom)); #else zCom[0] = 0 #endif - /* NB: The sqlite3OpcodeName() function is implemented by code created - ** by the mkopcodeh.awk and mkopcodec.awk scripts which extract the - ** information from the vdbe.c source text */ fprintf(pOut, zFormat1, pc, sqlite3OpcodeName(pOp->opcode), pOp->p1, pOp->p2, pOp->p3, zP4, pOp->p5, zCom ); fflush(pOut); @@ -62911,11 +62584,10 @@ assert( p!=0 ); assert( p->nOp>0 ); assert( pParse!=0 ); assert( p->magic==VDBE_MAGIC_INIT ); - assert( pParse==p->pParse ); db = p->db; assert( db->mallocFailed==0 ); nVar = pParse->nVar; nMem = pParse->nMem; nCursor = pParse->nTab; @@ -62935,12 +62607,12 @@ nMem += nCursor; /* Allocate space for memory registers, SQL variables, VDBE cursors and ** an array to marshal SQL function arguments in. */ - zCsr = (u8*)&p->aOp[p->nOp]; /* Memory avaliable for allocation */ - zEnd = (u8*)&p->aOp[pParse->nOpAlloc]; /* First byte past end of zCsr[] */ + zCsr = (u8*)&p->aOp[p->nOp]; /* Memory avaliable for allocation */ + zEnd = (u8*)&p->aOp[p->nOpAlloc]; /* First byte past end of zCsr[] */ resolveP2Values(p, &nArg); p->usesStmtJournal = (u8)(pParse->isMultiWrite && pParse->mayAbort); if( pParse->explain && nMem<10 ){ nMem = 10; @@ -63763,11 +63435,10 @@ sqlite3 *db = p->db; int rc = p->rc; if( p->zErrMsg ){ u8 mallocFailed = db->mallocFailed; sqlite3BeginBenignMalloc(); - if( db->pErr==0 ) db->pErr = sqlite3ValueNew(db); sqlite3ValueSetStr(db->pErr, -1, p->zErrMsg, SQLITE_UTF8, SQLITE_TRANSIENT); sqlite3EndBenignMalloc(); db->mallocFailed = mallocFailed; db->errCode = rc; }else{ @@ -63832,11 +63503,12 @@ }else if( p->rc && p->expired ){ /* The expired flag was set on the VDBE before the first call ** to sqlite3_step(). For consistency (since sqlite3_step() was ** called), set the database error in this case as well. */ - sqlite3Error(db, p->rc, p->zErrMsg ? "%s" : 0, p->zErrMsg); + sqlite3Error(db, p->rc, 0); + sqlite3ValueSetStr(db->pErr, -1, p->zErrMsg, SQLITE_UTF8, SQLITE_TRANSIENT); sqlite3DbFree(db, p->zErrMsg); p->zErrMsg = 0; } /* Reclaim all memory used by the VDBE @@ -63905,13 +63577,12 @@ SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(Vdbe *pVdbe, int iOp, int mask){ AuxData **pp = &pVdbe->pAuxData; while( *pp ){ AuxData *pAux = *pp; if( (iOp<0) - || (pAux->iOp==iOp && (pAux->iArg>31 || !(mask & MASKBIT32(pAux->iArg)))) + || (pAux->iOp==iOp && (pAux->iArg>31 || !(mask & ((u32)1<iArg)))) ){ - testcase( pAux->iArg==31 ); if( pAux->xDelete ){ pAux->xDelete(pAux->pAux); } *pp = pAux->pNext; sqlite3DbFree(pVdbe->db, pAux); @@ -63940,10 +63611,11 @@ vdbeFreeOpArray(db, pSub->aOp, pSub->nOp); sqlite3DbFree(db, pSub); } for(i=p->nzVar-1; i>=0; i--) sqlite3DbFree(db, p->azVar[i]); vdbeFreeOpArray(db, p->aOp, p->nOp); + sqlite3DbFree(db, p->aLabel); sqlite3DbFree(db, p->aColName); sqlite3DbFree(db, p->zSql); sqlite3DbFree(db, p->pFree); #if defined(SQLITE_ENABLE_TREE_EXPLAIN) sqlite3DbFree(db, p->zExplain); @@ -64170,19 +63842,25 @@ /* ** Write the serialized data blob for the value stored in pMem into ** buf. It is assumed that the caller has allocated sufficient space. ** Return the number of bytes written. ** -** nBuf is the amount of space left in buf[]. The caller is responsible -** for allocating enough space to buf[] to hold the entire field, exclusive -** of the pMem->u.nZero bytes for a MEM_Zero value. +** nBuf is the amount of space left in buf[]. nBuf must always be +** large enough to hold the entire field. Except, if the field is +** a blob with a zero-filled tail, then buf[] might be just the right +** size to hold everything except for the zero-filled tail. If buf[] +** is only big enough to hold the non-zero prefix, then only write that +** prefix into buf[]. But if buf[] is large enough to hold both the +** prefix and the tail then write the prefix and set the tail to all +** zeros. ** ** Return the number of bytes actually written into buf[]. The number ** of bytes in the zero-filled tail is included in the return value only ** if those bytes were zeroed in buf[]. */ -SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(u8 *buf, Mem *pMem, u32 serial_type){ +SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(u8 *buf, int nBuf, Mem *pMem, int file_format){ + u32 serial_type = sqlite3VdbeSerialType(pMem, file_format); u32 len; /* Integer and Real */ if( serial_type<=7 && serial_type>0 ){ u64 v; @@ -64193,10 +63871,11 @@ swapMixedEndianFloat(v); }else{ v = pMem->u.i; } len = i = sqlite3VdbeSerialTypeLen(serial_type); + assert( len<=(u32)nBuf ); while( i-- ){ buf[i] = (u8)(v&0xFF); v >>= 8; } return len; @@ -64204,12 +63883,21 @@ /* String or blob */ if( serial_type>=12 ){ assert( pMem->n + ((pMem->flags & MEM_Zero)?pMem->u.nZero:0) == (int)sqlite3VdbeSerialTypeLen(serial_type) ); + assert( pMem->n<=nBuf ); len = pMem->n; memcpy(buf, pMem->z, len); + if( pMem->flags & MEM_Zero ){ + len += pMem->u.nZero; + assert( nBuf>=0 ); + if( len > (u32)nBuf ){ + len = (u32)nBuf; + } + memset(&buf[pMem->n], 0, len-pMem->n); + } return len; } /* NULL or constants 0 or 1 */ return 0; @@ -64222,13 +63910,10 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialGet( const unsigned char *buf, /* Buffer to deserialize from */ u32 serial_type, /* Serial type to deserialize */ Mem *pMem /* Memory cell to write value into */ ){ - u64 x; - u32 y; - int i; switch( serial_type ){ case 10: /* Reserved for future use */ case 11: /* Reserved for future use */ case 0: { /* NULL */ pMem->flags = MEM_Null; @@ -64238,37 +63923,36 @@ pMem->u.i = (signed char)buf[0]; pMem->flags = MEM_Int; return 1; } case 2: { /* 2-byte signed integer */ - i = 256*(signed char)buf[0] | buf[1]; - pMem->u.i = (i64)i; + pMem->u.i = (((signed char)buf[0])<<8) | buf[1]; pMem->flags = MEM_Int; return 2; } case 3: { /* 3-byte signed integer */ - i = 65536*(signed char)buf[0] | (buf[1]<<8) | buf[2]; - pMem->u.i = (i64)i; + pMem->u.i = (((signed char)buf[0])<<16) | (buf[1]<<8) | buf[2]; pMem->flags = MEM_Int; return 3; } case 4: { /* 4-byte signed integer */ - y = ((unsigned)buf[0]<<24) | (buf[1]<<16) | (buf[2]<<8) | buf[3]; - pMem->u.i = (i64)*(int*)&y; + pMem->u.i = (buf[0]<<24) | (buf[1]<<16) | (buf[2]<<8) | buf[3]; pMem->flags = MEM_Int; return 4; } case 5: { /* 6-byte signed integer */ - x = 256*(signed char)buf[0] + buf[1]; - y = ((unsigned)buf[2]<<24) | (buf[3]<<16) | (buf[4]<<8) | buf[5]; + u64 x = (((signed char)buf[0])<<8) | buf[1]; + u32 y = (buf[2]<<24) | (buf[3]<<16) | (buf[4]<<8) | buf[5]; x = (x<<32) | y; pMem->u.i = *(i64*)&x; pMem->flags = MEM_Int; return 6; } case 6: /* 8-byte signed integer */ case 7: { /* IEEE floating point */ + u64 x; + u32 y; #if !defined(NDEBUG) && !defined(SQLITE_OMIT_FLOATING_POINT) /* Verify that integers and floating point values use the same ** byte order. Or, that if SQLITE_MIXED_ENDIAN_64BIT_FLOAT is ** defined that 64-bit floating point values really are mixed ** endian. @@ -64277,12 +63961,13 @@ static const double r1 = 1.0; u64 t2 = t1; swapMixedEndianFloat(t2); assert( sizeof(r1)==sizeof(t2) && memcmp(&r1, &t2, sizeof(r1))==0 ); #endif - x = ((unsigned)buf[0]<<24) | (buf[1]<<16) | (buf[2]<<8) | buf[3]; - y = ((unsigned)buf[4]<<24) | (buf[5]<<16) | (buf[6]<<8) | buf[7]; + + x = (buf[0]<<24) | (buf[1]<<16) | (buf[2]<<8) | buf[3]; + y = (buf[4]<<24) | (buf[5]<<16) | (buf[6]<<8) | buf[7]; x = (x<<32) | y; if( serial_type==6 ){ pMem->u.i = *(i64*)&x; pMem->flags = MEM_Int; }else{ @@ -65209,21 +64894,20 @@ && (rc2 = rc = sqlite3Reprepare(v))==SQLITE_OK ){ sqlite3_reset(pStmt); v->doingRerun = 1; assert( v->expired==0 ); } - if( rc2!=SQLITE_OK ){ + if( rc2!=SQLITE_OK && ALWAYS(v->isPrepareV2) && ALWAYS(db->pErr) ){ /* This case occurs after failing to recompile an sql statement. ** The error message from the SQL compiler has already been loaded ** into the database handle. This block copies the error message ** from the database handle into the statement and sets the statement ** program counter to 0 to ensure that when the statement is ** finalized or reset the parser error message is available via ** sqlite3_errmsg() and sqlite3_errcode(). */ const char *zErr = (const char *)sqlite3_value_text(db->pErr); - assert( zErr!=0 || db->mallocFailed ); sqlite3DbFree(db, v->zErrMsg); if( !db->mallocFailed ){ v->zErrMsg = sqlite3DbStrDup(db, zErr); v->rc = rc2; } else { @@ -66135,11 +65819,10 @@ if( db->nVdbeExec>1 ){ while( *zRawSql ){ const char *zStart = zRawSql; while( *(zRawSql++)!='\n' && *zRawSql ); sqlite3StrAccumAppend(&out, "-- ", 3); - assert( (zRawSql - zStart) > 0 ); sqlite3StrAccumAppend(&out, zStart, (int)(zRawSql-zStart)); } }else{ while( zRawSql[0] ){ n = findNextHostParameter(zRawSql, &nToken); @@ -66168,13 +65851,13 @@ assert( idx>0 && idx<=p->nVar ); pVar = &p->aVar[idx-1]; if( pVar->flags & MEM_Null ){ sqlite3StrAccumAppend(&out, "NULL", 4); }else if( pVar->flags & MEM_Int ){ - sqlite3XPrintf(&out, 0, "%lld", pVar->u.i); + sqlite3XPrintf(&out, "%lld", pVar->u.i); }else if( pVar->flags & MEM_Real ){ - sqlite3XPrintf(&out, 0, "%!.15g", pVar->r); + sqlite3XPrintf(&out, "%!.15g", pVar->r); }else if( pVar->flags & MEM_Str ){ int nOut; /* Number of bytes of the string text to include in output */ #ifndef SQLITE_OMIT_UTF16 u8 enc = ENC(db); Mem utf8; @@ -66191,37 +65874,33 @@ if( nOut>SQLITE_TRACE_SIZE_LIMIT ){ nOut = SQLITE_TRACE_SIZE_LIMIT; while( nOutn && (pVar->z[nOut]&0xc0)==0x80 ){ nOut++; } } #endif - sqlite3XPrintf(&out, 0, "'%.*q'", nOut, pVar->z); + sqlite3XPrintf(&out, "'%.*q'", nOut, pVar->z); #ifdef SQLITE_TRACE_SIZE_LIMIT - if( nOutn ){ - sqlite3XPrintf(&out, 0, "/*+%d bytes*/", pVar->n-nOut); - } + if( nOutn ) sqlite3XPrintf(&out, "/*+%d bytes*/", pVar->n-nOut); #endif #ifndef SQLITE_OMIT_UTF16 if( enc!=SQLITE_UTF8 ) sqlite3VdbeMemRelease(&utf8); #endif }else if( pVar->flags & MEM_Zero ){ - sqlite3XPrintf(&out, 0, "zeroblob(%d)", pVar->u.nZero); + sqlite3XPrintf(&out, "zeroblob(%d)", pVar->u.nZero); }else{ int nOut; /* Number of bytes of the blob to include in output */ assert( pVar->flags & MEM_Blob ); sqlite3StrAccumAppend(&out, "x'", 2); nOut = pVar->n; #ifdef SQLITE_TRACE_SIZE_LIMIT if( nOut>SQLITE_TRACE_SIZE_LIMIT ) nOut = SQLITE_TRACE_SIZE_LIMIT; #endif for(i=0; iz[i]&0xff); + sqlite3XPrintf(&out, "%02x", pVar->z[i]&0xff); } sqlite3StrAccumAppend(&out, "'", 1); #ifdef SQLITE_TRACE_SIZE_LIMIT - if( nOutn ){ - sqlite3XPrintf(&out, 0, "/*+%d bytes*/", pVar->n-nOut); - } + if( nOutn ) sqlite3XPrintf(&out, "/*+%d bytes*/", pVar->n-nOut); #endif } } } return sqlite3StrAccumFinish(&out); @@ -66276,11 +65955,11 @@ int n = p->nIndent; if( n>ArraySize(p->aIndent) ) n = ArraySize(p->aIndent); sqlite3AppendSpace(&p->str, p->aIndent[n-1]); } va_start(ap, zFormat); - sqlite3VXPrintf(&p->str, SQLITE_PRINTF_INTERNAL, zFormat, ap); + sqlite3VXPrintf(&p->str, 1, zFormat, ap); va_end(ap); } } /* @@ -66983,11 +66662,433 @@ i64 lastRowid = db->lastRowid; /* Saved value of the last insert ROWID */ #ifdef VDBE_PROFILE u64 start; /* CPU clock count at start of opcode */ int origPc; /* Program counter at start of opcode */ #endif - /*** INSERT STACK UNION HERE ***/ + /******************************************************************** + ** Automatically generated code + ** + ** The following union is automatically generated by the + ** vdbe-compress.tcl script. The purpose of this union is to + ** reduce the amount of stack space required by this function. + ** See comments in the vdbe-compress.tcl script for details. + */ + union vdbeExecUnion { + struct OP_Yield_stack_vars { + int pcDest; + } aa; + struct OP_Halt_stack_vars { + const char *zType; + const char *zLogFmt; + } ab; + struct OP_Null_stack_vars { + int cnt; + u16 nullFlag; + } ac; + struct OP_Variable_stack_vars { + Mem *pVar; /* Value being transferred */ + } ad; + struct OP_Move_stack_vars { + char *zMalloc; /* Holding variable for allocated memory */ + int n; /* Number of registers left to copy */ + int p1; /* Register to copy from */ + int p2; /* Register to copy to */ + } ae; + struct OP_Copy_stack_vars { + int n; + } af; + struct OP_ResultRow_stack_vars { + Mem *pMem; + int i; + } ag; + struct OP_Concat_stack_vars { + i64 nByte; + } ah; + struct OP_Remainder_stack_vars { + char bIntint; /* Started out as two integer operands */ + int flags; /* Combined MEM_* flags from both inputs */ + i64 iA; /* Integer value of left operand */ + i64 iB; /* Integer value of right operand */ + double rA; /* Real value of left operand */ + double rB; /* Real value of right operand */ + } ai; + struct OP_Function_stack_vars { + int i; + Mem *pArg; + sqlite3_context ctx; + sqlite3_value **apVal; + int n; + } aj; + struct OP_ShiftRight_stack_vars { + i64 iA; + u64 uA; + i64 iB; + u8 op; + } ak; + struct OP_Ge_stack_vars { + int res; /* Result of the comparison of pIn1 against pIn3 */ + char affinity; /* Affinity to use for comparison */ + u16 flags1; /* Copy of initial value of pIn1->flags */ + u16 flags3; /* Copy of initial value of pIn3->flags */ + } al; + struct OP_Compare_stack_vars { + int n; + int i; + int p1; + int p2; + const KeyInfo *pKeyInfo; + int idx; + CollSeq *pColl; /* Collating sequence to use on this term */ + int bRev; /* True for DESCENDING sort order */ + } am; + struct OP_Or_stack_vars { + int v1; /* Left operand: 0==FALSE, 1==TRUE, 2==UNKNOWN or NULL */ + int v2; /* Right operand: 0==FALSE, 1==TRUE, 2==UNKNOWN or NULL */ + } an; + struct OP_IfNot_stack_vars { + int c; + } ao; + struct OP_Column_stack_vars { + i64 payloadSize64; /* Number of bytes in the record */ + int p2; /* column number to retrieve */ + VdbeCursor *pC; /* The VDBE cursor */ + BtCursor *pCrsr; /* The BTree cursor */ + u32 *aType; /* aType[i] holds the numeric type of the i-th column */ + u32 *aOffset; /* aOffset[i] is offset to start of data for i-th column */ + int len; /* The length of the serialized data for the column */ + int i; /* Loop counter */ + Mem *pDest; /* Where to write the extracted value */ + Mem sMem; /* For storing the record being decoded */ + const u8 *zData; /* Part of the record being decoded */ + const u8 *zHdr; /* Next unparsed byte of the header */ + const u8 *zEndHdr; /* Pointer to first byte after the header */ + u32 offset; /* Offset into the data */ + u32 szField; /* Number of bytes in the content of a field */ + u32 avail; /* Number of bytes of available data */ + u32 t; /* A type code from the record header */ + Mem *pReg; /* PseudoTable input register */ + } ap; + struct OP_Affinity_stack_vars { + const char *zAffinity; /* The affinity to be applied */ + char cAff; /* A single character of affinity */ + } aq; + struct OP_MakeRecord_stack_vars { + u8 *zNewRecord; /* A buffer to hold the data for the new record */ + Mem *pRec; /* The new record */ + u64 nData; /* Number of bytes of data space */ + int nHdr; /* Number of bytes of header space */ + i64 nByte; /* Data space required for this record */ + int nZero; /* Number of zero bytes at the end of the record */ + int nVarint; /* Number of bytes in a varint */ + u32 serial_type; /* Type field */ + Mem *pData0; /* First field to be combined into the record */ + Mem *pLast; /* Last field of the record */ + int nField; /* Number of fields in the record */ + char *zAffinity; /* The affinity string for the record */ + int file_format; /* File format to use for encoding */ + int i; /* Space used in zNewRecord[] */ + int len; /* Length of a field */ + } ar; + struct OP_Count_stack_vars { + i64 nEntry; + BtCursor *pCrsr; + } as; + struct OP_Savepoint_stack_vars { + int p1; /* Value of P1 operand */ + char *zName; /* Name of savepoint */ + int nName; + Savepoint *pNew; + Savepoint *pSavepoint; + Savepoint *pTmp; + int iSavepoint; + int ii; + } at; + struct OP_AutoCommit_stack_vars { + int desiredAutoCommit; + int iRollback; + int turnOnAC; + } au; + struct OP_Transaction_stack_vars { + Btree *pBt; + } av; + struct OP_ReadCookie_stack_vars { + int iMeta; + int iDb; + int iCookie; + } aw; + struct OP_SetCookie_stack_vars { + Db *pDb; + } ax; + struct OP_VerifyCookie_stack_vars { + int iMeta; + int iGen; + Btree *pBt; + } ay; + struct OP_OpenWrite_stack_vars { + int nField; + KeyInfo *pKeyInfo; + int p2; + int iDb; + int wrFlag; + Btree *pX; + VdbeCursor *pCur; + Db *pDb; + } az; + struct OP_OpenEphemeral_stack_vars { + VdbeCursor *pCx; + KeyInfo *pKeyInfo; + } ba; + struct OP_SorterOpen_stack_vars { + VdbeCursor *pCx; + } bb; + struct OP_OpenPseudo_stack_vars { + VdbeCursor *pCx; + } bc; + struct OP_SeekGt_stack_vars { + int res; + int oc; + VdbeCursor *pC; + UnpackedRecord r; + int nField; + i64 iKey; /* The rowid we are to seek to */ + } bd; + struct OP_Seek_stack_vars { + VdbeCursor *pC; + } be; + struct OP_Found_stack_vars { + int alreadyExists; + int ii; + VdbeCursor *pC; + int res; + char *pFree; + UnpackedRecord *pIdxKey; + UnpackedRecord r; + char aTempRec[ROUND8(sizeof(UnpackedRecord)) + sizeof(Mem)*4 + 7]; + } bf; + struct OP_NotExists_stack_vars { + VdbeCursor *pC; + BtCursor *pCrsr; + int res; + u64 iKey; + } bg; + struct OP_NewRowid_stack_vars { + i64 v; /* The new rowid */ + VdbeCursor *pC; /* Cursor of table to get the new rowid */ + int res; /* Result of an sqlite3BtreeLast() */ + int cnt; /* Counter to limit the number of searches */ + Mem *pMem; /* Register holding largest rowid for AUTOINCREMENT */ + VdbeFrame *pFrame; /* Root frame of VDBE */ + } bh; + struct OP_InsertInt_stack_vars { + Mem *pData; /* MEM cell holding data for the record to be inserted */ + Mem *pKey; /* MEM cell holding key for the record */ + i64 iKey; /* The integer ROWID or key for the record to be inserted */ + VdbeCursor *pC; /* Cursor to table into which insert is written */ + int nZero; /* Number of zero-bytes to append */ + int seekResult; /* Result of prior seek or 0 if no USESEEKRESULT flag */ + const char *zDb; /* database name - used by the update hook */ + const char *zTbl; /* Table name - used by the opdate hook */ + int op; /* Opcode for update hook: SQLITE_UPDATE or SQLITE_INSERT */ + } bi; + struct OP_Delete_stack_vars { + i64 iKey; + VdbeCursor *pC; + } bj; + struct OP_SorterCompare_stack_vars { + VdbeCursor *pC; + int res; + int nIgnore; + } bk; + struct OP_SorterData_stack_vars { + VdbeCursor *pC; + } bl; + struct OP_RowData_stack_vars { + VdbeCursor *pC; + BtCursor *pCrsr; + u32 n; + i64 n64; + } bm; + struct OP_Rowid_stack_vars { + VdbeCursor *pC; + i64 v; + sqlite3_vtab *pVtab; + const sqlite3_module *pModule; + } bn; + struct OP_NullRow_stack_vars { + VdbeCursor *pC; + } bo; + struct OP_Last_stack_vars { + VdbeCursor *pC; + BtCursor *pCrsr; + int res; + } bp; + struct OP_Rewind_stack_vars { + VdbeCursor *pC; + BtCursor *pCrsr; + int res; + } bq; + struct OP_SorterNext_stack_vars { + VdbeCursor *pC; + int res; + } br; + struct OP_IdxInsert_stack_vars { + VdbeCursor *pC; + BtCursor *pCrsr; + int nKey; + const char *zKey; + } bs; + struct OP_IdxDelete_stack_vars { + VdbeCursor *pC; + BtCursor *pCrsr; + int res; + UnpackedRecord r; + } bt; + struct OP_IdxRowid_stack_vars { + BtCursor *pCrsr; + VdbeCursor *pC; + i64 rowid; + } bu; + struct OP_IdxGE_stack_vars { + VdbeCursor *pC; + int res; + UnpackedRecord r; + } bv; + struct OP_Destroy_stack_vars { + int iMoved; + int iCnt; + Vdbe *pVdbe; + int iDb; + } bw; + struct OP_Clear_stack_vars { + int nChange; + } bx; + struct OP_CreateTable_stack_vars { + int pgno; + int flags; + Db *pDb; + } by; + struct OP_ParseSchema_stack_vars { + int iDb; + const char *zMaster; + char *zSql; + InitData initData; + } bz; + struct OP_IntegrityCk_stack_vars { + int nRoot; /* Number of tables to check. (Number of root pages.) */ + int *aRoot; /* Array of rootpage numbers for tables to be checked */ + int j; /* Loop counter */ + int nErr; /* Number of errors reported */ + char *z; /* Text of the error report */ + Mem *pnErr; /* Register keeping track of errors remaining */ + } ca; + struct OP_RowSetRead_stack_vars { + i64 val; + } cb; + struct OP_RowSetTest_stack_vars { + int iSet; + int exists; + } cc; + struct OP_Program_stack_vars { + int nMem; /* Number of memory registers for sub-program */ + int nByte; /* Bytes of runtime space required for sub-program */ + Mem *pRt; /* Register to allocate runtime space */ + Mem *pMem; /* Used to iterate through memory cells */ + Mem *pEnd; /* Last memory cell in new array */ + VdbeFrame *pFrame; /* New vdbe frame to execute in */ + SubProgram *pProgram; /* Sub-program to execute */ + void *t; /* Token identifying trigger */ + } cd; + struct OP_Param_stack_vars { + VdbeFrame *pFrame; + Mem *pIn; + } ce; + struct OP_MemMax_stack_vars { + Mem *pIn1; + VdbeFrame *pFrame; + } cf; + struct OP_AggStep_stack_vars { + int n; + int i; + Mem *pMem; + Mem *pRec; + sqlite3_context ctx; + sqlite3_value **apVal; + } cg; + struct OP_AggFinal_stack_vars { + Mem *pMem; + } ch; + struct OP_Checkpoint_stack_vars { + int i; /* Loop counter */ + int aRes[3]; /* Results */ + Mem *pMem; /* Write results here */ + } ci; + struct OP_JournalMode_stack_vars { + Btree *pBt; /* Btree to change journal mode of */ + Pager *pPager; /* Pager associated with pBt */ + int eNew; /* New journal mode */ + int eOld; /* The old journal mode */ +#ifndef SQLITE_OMIT_WAL + const char *zFilename; /* Name of database file for pPager */ +#endif + } cj; + struct OP_IncrVacuum_stack_vars { + Btree *pBt; + } ck; + struct OP_VBegin_stack_vars { + VTable *pVTab; + } cl; + struct OP_VOpen_stack_vars { + VdbeCursor *pCur; + sqlite3_vtab_cursor *pVtabCursor; + sqlite3_vtab *pVtab; + sqlite3_module *pModule; + } cm; + struct OP_VFilter_stack_vars { + int nArg; + int iQuery; + const sqlite3_module *pModule; + Mem *pQuery; + Mem *pArgc; + sqlite3_vtab_cursor *pVtabCursor; + sqlite3_vtab *pVtab; + VdbeCursor *pCur; + int res; + int i; + Mem **apArg; + } cn; + struct OP_VColumn_stack_vars { + sqlite3_vtab *pVtab; + const sqlite3_module *pModule; + Mem *pDest; + sqlite3_context sContext; + } co; + struct OP_VNext_stack_vars { + sqlite3_vtab *pVtab; + const sqlite3_module *pModule; + int res; + VdbeCursor *pCur; + } cp; + struct OP_VRename_stack_vars { + sqlite3_vtab *pVtab; + Mem *pName; + } cq; + struct OP_VUpdate_stack_vars { + sqlite3_vtab *pVtab; + sqlite3_module *pModule; + int nArg; + int i; + sqlite_int64 rowid; + Mem **apArg; + Mem *pX; + } cr; + struct OP_Trace_stack_vars { + char *zTrace; + char *z; + } cs; + } u; + /* End automatically generated code + ********************************************************************/ assert( p->magic==VDBE_MAGIC_RUN ); /* sqlite3_step() verifies this */ sqlite3VdbeEnter(p); if( p->rc==SQLITE_NOMEM ){ /* This happens if a malloc() inside a call to sqlite3_column_text() or @@ -67229,18 +67330,20 @@ /* Opcode: Yield P1 * * * * ** ** Swap the program counter with the value in register P1. */ case OP_Yield: { /* in1 */ +#if 0 /* local variables moved into u.aa */ int pcDest; +#endif /* local variables moved into u.aa */ pIn1 = &aMem[pOp->p1]; assert( (pIn1->flags & MEM_Dyn)==0 ); pIn1->flags = MEM_Int; - pcDest = (int)pIn1->u.i; + u.aa.pcDest = (int)pIn1->u.i; pIn1->u.i = pc; REGISTER_TRACE(pOp->p1, pIn1); - pc = pcDest; + pc = u.aa.pcDest; break; } /* Opcode: HaltIfNull P1 P2 P3 P4 P5 ** Synopsis: if r[P3] null then halt @@ -67285,12 +67388,14 @@ ** There is an implied "Halt 0 0 0" instruction inserted at the very end of ** every program. So a jump past the last instruction of the program ** is the same as executing Halt. */ case OP_Halt: { +#if 0 /* local variables moved into u.ab */ const char *zType; const char *zLogFmt; +#endif /* local variables moved into u.ab */ if( pOp->p1==SQLITE_OK && p->pFrame ){ /* Halt the sub-program. Return control to the parent frame. */ VdbeFrame *pFrame = p->pFrame; p->pFrame = pFrame->pParent; @@ -67297,11 +67402,11 @@ p->nFrame--; sqlite3VdbeSetChanges(db, p->nChange); pc = sqlite3VdbeFrameRestore(pFrame); lastRowid = db->lastRowid; if( pOp->p2==OE_Ignore ){ - /* Instruction pc is the OP_Program that invoked the sub-program + /* Instruction pc is the OP_Program that invoked the sub-program ** currently being halted. If the p2 instruction of this OP_Halt ** instruction is set to OE_Ignore, then the sub-program is throwing ** an IGNORE exception. In this case jump to the address specified ** as the p2 of the calling OP_Program. */ pc = p->aOp[pc].p2-1; @@ -67320,25 +67425,25 @@ assert( pOp->p5>=1 && pOp->p5<=4 ); testcase( pOp->p5==1 ); testcase( pOp->p5==2 ); testcase( pOp->p5==3 ); testcase( pOp->p5==4 ); - zType = azType[pOp->p5-1]; + u.ab.zType = azType[pOp->p5-1]; }else{ - zType = 0; + u.ab.zType = 0; } - assert( zType!=0 || pOp->p4.z!=0 ); - zLogFmt = "abort at %d in [%s]: %s"; - if( zType && pOp->p4.z ){ - sqlite3SetString(&p->zErrMsg, db, "%s constraint failed: %s", - zType, pOp->p4.z); + assert( u.ab.zType!=0 || pOp->p4.z!=0 ); + u.ab.zLogFmt = "abort at %d in [%s]: %s"; + if( u.ab.zType && pOp->p4.z ){ + sqlite3SetString(&p->zErrMsg, db, "%s constraint failed: %s", + u.ab.zType, pOp->p4.z); }else if( pOp->p4.z ){ sqlite3SetString(&p->zErrMsg, db, "%s", pOp->p4.z); }else{ - sqlite3SetString(&p->zErrMsg, db, "%s constraint failed", zType); + sqlite3SetString(&p->zErrMsg, db, "%s constraint failed", u.ab.zType); } - sqlite3_log(pOp->p1, zLogFmt, pc, p->zSql, p->zErrMsg); + sqlite3_log(pOp->p1, u.ab.zLogFmt, pc, p->zSql, p->zErrMsg); } rc = sqlite3VdbeHalt(p); assert( rc==SQLITE_BUSY || rc==SQLITE_OK || rc==SQLITE_ERROR ); if( rc==SQLITE_BUSY ){ p->rc = rc = SQLITE_BUSY; @@ -67448,21 +67553,23 @@ ** If the P1 value is non-zero, then also set the MEM_Cleared flag so that ** NULL values will not compare equal even if SQLITE_NULLEQ is set on ** OP_Ne or OP_Eq. */ case OP_Null: { /* out2-prerelease */ +#if 0 /* local variables moved into u.ac */ int cnt; u16 nullFlag; - cnt = pOp->p3-pOp->p2; +#endif /* local variables moved into u.ac */ + u.ac.cnt = pOp->p3-pOp->p2; assert( pOp->p3<=(p->nMem-p->nCursor) ); - pOut->flags = nullFlag = pOp->p1 ? (MEM_Null|MEM_Cleared) : MEM_Null; - while( cnt>0 ){ + pOut->flags = u.ac.nullFlag = pOp->p1 ? (MEM_Null|MEM_Cleared) : MEM_Null; + while( u.ac.cnt>0 ){ pOut++; memAboutToChange(p, pOut); VdbeMemRelease(pOut); - pOut->flags = nullFlag; - cnt--; + pOut->flags = u.ac.nullFlag; + u.ac.cnt--; } break; } @@ -67487,19 +67594,21 @@ ** ** If the parameter is named, then its name appears in P4 and P3==1. ** The P4 value is used by sqlite3_bind_parameter_name(). */ case OP_Variable: { /* out2-prerelease */ +#if 0 /* local variables moved into u.ad */ Mem *pVar; /* Value being transferred */ +#endif /* local variables moved into u.ad */ assert( pOp->p1>0 && pOp->p1<=p->nVar ); assert( pOp->p4.z==0 || pOp->p4.z==p->azVar[pOp->p1-1] ); - pVar = &p->aVar[pOp->p1 - 1]; - if( sqlite3VdbeMemTooBig(pVar) ){ + u.ad.pVar = &p->aVar[pOp->p1 - 1]; + if( sqlite3VdbeMemTooBig(u.ad.pVar) ){ goto too_big; } - sqlite3VdbeMemShallowCopy(pOut, pVar, MEM_Static); + sqlite3VdbeMemShallowCopy(pOut, u.ad.pVar, MEM_Static); UPDATE_MAX_BLOBSIZE(pOut); break; } /* Opcode: Move P1 P2 P3 * * @@ -67509,67 +67618,71 @@ ** registers P2..P2+P3. Registers P1..P1+P3 are ** left holding a NULL. It is an error for register ranges ** P1..P1+P3 and P2..P2+P3 to overlap. */ case OP_Move: { +#if 0 /* local variables moved into u.ae */ char *zMalloc; /* Holding variable for allocated memory */ int n; /* Number of registers left to copy */ int p1; /* Register to copy from */ int p2; /* Register to copy to */ - - n = pOp->p3; - p1 = pOp->p1; - p2 = pOp->p2; - assert( n>=0 && p1>0 && p2>0 ); - assert( p1+n<=p2 || p2+n<=p1 ); - - pIn1 = &aMem[p1]; - pOut = &aMem[p2]; +#endif /* local variables moved into u.ae */ + + u.ae.n = pOp->p3; + u.ae.p1 = pOp->p1; + u.ae.p2 = pOp->p2; + assert( u.ae.n>=0 && u.ae.p1>0 && u.ae.p2>0 ); + assert( u.ae.p1+u.ae.n<=u.ae.p2 || u.ae.p2+u.ae.n<=u.ae.p1 ); + + pIn1 = &aMem[u.ae.p1]; + pOut = &aMem[u.ae.p2]; do{ assert( pOut<=&aMem[(p->nMem-p->nCursor)] ); assert( pIn1<=&aMem[(p->nMem-p->nCursor)] ); assert( memIsValid(pIn1) ); memAboutToChange(p, pOut); - zMalloc = pOut->zMalloc; + u.ae.zMalloc = pOut->zMalloc; pOut->zMalloc = 0; sqlite3VdbeMemMove(pOut, pIn1); #ifdef SQLITE_DEBUG - if( pOut->pScopyFrom>=&aMem[p1] && pOut->pScopyFrom<&aMem[p1+pOp->p3] ){ - pOut->pScopyFrom += p1 - pOp->p2; + if( pOut->pScopyFrom>=&aMem[u.ae.p1] && pOut->pScopyFrom<&aMem[u.ae.p1+pOp->p3] ){ + pOut->pScopyFrom += u.ae.p1 - pOp->p2; } #endif - pIn1->zMalloc = zMalloc; - REGISTER_TRACE(p2++, pOut); + pIn1->zMalloc = u.ae.zMalloc; + REGISTER_TRACE(u.ae.p2++, pOut); pIn1++; pOut++; - }while( n-- ); + }while( u.ae.n-- ); break; } /* Opcode: Copy P1 P2 P3 * * -** Synopsis: r[P2@P3+1]=r[P1@P3+1] +** Synopsis: r[P2@P3]=r[P1@P3] ** ** Make a copy of registers P1..P1+P3 into registers P2..P2+P3. ** ** This instruction makes a deep copy of the value. A duplicate ** is made of any string or blob constant. See also OP_SCopy. */ case OP_Copy: { +#if 0 /* local variables moved into u.af */ int n; +#endif /* local variables moved into u.af */ - n = pOp->p3; + u.af.n = pOp->p3; pIn1 = &aMem[pOp->p1]; pOut = &aMem[pOp->p2]; assert( pOut!=pIn1 ); while( 1 ){ sqlite3VdbeMemShallowCopy(pOut, pIn1, MEM_Ephem); Deephemeralize(pOut); #ifdef SQLITE_DEBUG pOut->pScopyFrom = 0; #endif - REGISTER_TRACE(pOp->p2+pOp->p3-n, pOut); - if( (n--)==0 ) break; + REGISTER_TRACE(pOp->p2+pOp->p3-u.af.n, pOut); + if( (u.af.n--)==0 ) break; pOut++; pIn1++; } break; } @@ -67606,12 +67719,14 @@ ** with an SQLITE_ROW return code and it sets up the sqlite3_stmt ** structure to provide access to the top P1 values as the result ** row. */ case OP_ResultRow: { +#if 0 /* local variables moved into u.ag */ Mem *pMem; int i; +#endif /* local variables moved into u.ag */ assert( p->nResColumn==pOp->p2 ); assert( pOp->p1>0 ); assert( pOp->p1+pOp->p2<=(p->nMem-p->nCursor)+1 ); #ifndef SQLITE_OMIT_PROGRESS_CALLBACK @@ -67633,12 +67748,12 @@ assert( db->flags&SQLITE_CountRows ); assert( p->usesStmtJournal ); break; } - /* If the SQLITE_CountRows flag is set in sqlite3.flags mask, then - ** DML statements invoke this opcode to return the number of rows + /* If the SQLITE_CountRows flag is set in sqlite3.flags mask, then + ** DML statements invoke this opcode to return the number of rows ** modified to the user. This is the only way that a VM that ** opens a statement transaction may invoke this opcode. ** ** In case this is such a statement, close any statement transaction ** opened by this VM before returning control to the user. This is to @@ -67661,19 +67776,19 @@ /* Make sure the results of the current row are \000 terminated ** and have an assigned type. The results are de-ephemeralized as ** a side effect. */ - pMem = p->pResultSet = &aMem[pOp->p1]; - for(i=0; ip2; i++){ - assert( memIsValid(&pMem[i]) ); - Deephemeralize(&pMem[i]); - assert( (pMem[i].flags & MEM_Ephem)==0 - || (pMem[i].flags & (MEM_Str|MEM_Blob))==0 ); - sqlite3VdbeMemNulTerminate(&pMem[i]); - sqlite3VdbeMemStoreType(&pMem[i]); - REGISTER_TRACE(pOp->p1+i, &pMem[i]); + u.ag.pMem = p->pResultSet = &aMem[pOp->p1]; + for(u.ag.i=0; u.ag.ip2; u.ag.i++){ + assert( memIsValid(&u.ag.pMem[u.ag.i]) ); + Deephemeralize(&u.ag.pMem[u.ag.i]); + assert( (u.ag.pMem[u.ag.i].flags & MEM_Ephem)==0 + || (u.ag.pMem[u.ag.i].flags & (MEM_Str|MEM_Blob))==0 ); + sqlite3VdbeMemNulTerminate(&u.ag.pMem[u.ag.i]); + sqlite3VdbeMemStoreType(&u.ag.pMem[u.ag.i]); + REGISTER_TRACE(pOp->p1+u.ag.i, &u.ag.pMem[u.ag.i]); } if( db->mallocFailed ) goto no_mem; /* Return SQLITE_ROW */ @@ -67694,11 +67809,13 @@ ** It is illegal for P1 and P3 to be the same register. Sometimes, ** if P3 is the same register as P2, the implementation is able ** to avoid a memcpy(). */ case OP_Concat: { /* same as TK_CONCAT, in1, in2, out3 */ +#if 0 /* local variables moved into u.ah */ i64 nByte; +#endif /* local variables moved into u.ah */ pIn1 = &aMem[pOp->p1]; pIn2 = &aMem[pOp->p2]; pOut = &aMem[pOp->p3]; assert( pIn1!=pOut ); @@ -67707,26 +67824,26 @@ break; } if( ExpandBlob(pIn1) || ExpandBlob(pIn2) ) goto no_mem; Stringify(pIn1, encoding); Stringify(pIn2, encoding); - nByte = pIn1->n + pIn2->n; - if( nByte>db->aLimit[SQLITE_LIMIT_LENGTH] ){ + u.ah.nByte = pIn1->n + pIn2->n; + if( u.ah.nByte>db->aLimit[SQLITE_LIMIT_LENGTH] ){ goto too_big; } MemSetTypeFlag(pOut, MEM_Str); - if( sqlite3VdbeMemGrow(pOut, (int)nByte+2, pOut==pIn2) ){ + if( sqlite3VdbeMemGrow(pOut, (int)u.ah.nByte+2, pOut==pIn2) ){ goto no_mem; } if( pOut!=pIn2 ){ memcpy(pOut->z, pIn2->z, pIn2->n); } memcpy(&pOut->z[pIn2->n], pIn1->z, pIn1->n); - pOut->z[nByte]=0; - pOut->z[nByte+1] = 0; + pOut->z[u.ah.nByte]=0; + pOut->z[u.ah.nByte+1] = 0; pOut->flags |= MEM_Term; - pOut->n = (int)nByte; + pOut->n = (int)u.ah.nByte; pOut->enc = encoding; UPDATE_MAX_BLOBSIZE(pOut); break; } @@ -67771,81 +67888,83 @@ case OP_Add: /* same as TK_PLUS, in1, in2, out3 */ case OP_Subtract: /* same as TK_MINUS, in1, in2, out3 */ case OP_Multiply: /* same as TK_STAR, in1, in2, out3 */ case OP_Divide: /* same as TK_SLASH, in1, in2, out3 */ case OP_Remainder: { /* same as TK_REM, in1, in2, out3 */ +#if 0 /* local variables moved into u.ai */ char bIntint; /* Started out as two integer operands */ int flags; /* Combined MEM_* flags from both inputs */ i64 iA; /* Integer value of left operand */ i64 iB; /* Integer value of right operand */ double rA; /* Real value of left operand */ double rB; /* Real value of right operand */ +#endif /* local variables moved into u.ai */ pIn1 = &aMem[pOp->p1]; applyNumericAffinity(pIn1); pIn2 = &aMem[pOp->p2]; applyNumericAffinity(pIn2); pOut = &aMem[pOp->p3]; - flags = pIn1->flags | pIn2->flags; - if( (flags & MEM_Null)!=0 ) goto arithmetic_result_is_null; + u.ai.flags = pIn1->flags | pIn2->flags; + if( (u.ai.flags & MEM_Null)!=0 ) goto arithmetic_result_is_null; if( (pIn1->flags & pIn2->flags & MEM_Int)==MEM_Int ){ - iA = pIn1->u.i; - iB = pIn2->u.i; - bIntint = 1; + u.ai.iA = pIn1->u.i; + u.ai.iB = pIn2->u.i; + u.ai.bIntint = 1; switch( pOp->opcode ){ - case OP_Add: if( sqlite3AddInt64(&iB,iA) ) goto fp_math; break; - case OP_Subtract: if( sqlite3SubInt64(&iB,iA) ) goto fp_math; break; - case OP_Multiply: if( sqlite3MulInt64(&iB,iA) ) goto fp_math; break; + case OP_Add: if( sqlite3AddInt64(&u.ai.iB,u.ai.iA) ) goto fp_math; break; + case OP_Subtract: if( sqlite3SubInt64(&u.ai.iB,u.ai.iA) ) goto fp_math; break; + case OP_Multiply: if( sqlite3MulInt64(&u.ai.iB,u.ai.iA) ) goto fp_math; break; case OP_Divide: { - if( iA==0 ) goto arithmetic_result_is_null; - if( iA==-1 && iB==SMALLEST_INT64 ) goto fp_math; - iB /= iA; + if( u.ai.iA==0 ) goto arithmetic_result_is_null; + if( u.ai.iA==-1 && u.ai.iB==SMALLEST_INT64 ) goto fp_math; + u.ai.iB /= u.ai.iA; break; } default: { - if( iA==0 ) goto arithmetic_result_is_null; - if( iA==-1 ) iA = 1; - iB %= iA; + if( u.ai.iA==0 ) goto arithmetic_result_is_null; + if( u.ai.iA==-1 ) u.ai.iA = 1; + u.ai.iB %= u.ai.iA; break; } } - pOut->u.i = iB; + pOut->u.i = u.ai.iB; MemSetTypeFlag(pOut, MEM_Int); }else{ - bIntint = 0; + u.ai.bIntint = 0; fp_math: - rA = sqlite3VdbeRealValue(pIn1); - rB = sqlite3VdbeRealValue(pIn2); + u.ai.rA = sqlite3VdbeRealValue(pIn1); + u.ai.rB = sqlite3VdbeRealValue(pIn2); switch( pOp->opcode ){ - case OP_Add: rB += rA; break; - case OP_Subtract: rB -= rA; break; - case OP_Multiply: rB *= rA; break; + case OP_Add: u.ai.rB += u.ai.rA; break; + case OP_Subtract: u.ai.rB -= u.ai.rA; break; + case OP_Multiply: u.ai.rB *= u.ai.rA; break; case OP_Divide: { /* (double)0 In case of SQLITE_OMIT_FLOATING_POINT... */ - if( rA==(double)0 ) goto arithmetic_result_is_null; - rB /= rA; + if( u.ai.rA==(double)0 ) goto arithmetic_result_is_null; + u.ai.rB /= u.ai.rA; break; } default: { - iA = (i64)rA; - iB = (i64)rB; - if( iA==0 ) goto arithmetic_result_is_null; - if( iA==-1 ) iA = 1; - rB = (double)(iB % iA); + u.ai.iA = (i64)u.ai.rA; + u.ai.iB = (i64)u.ai.rB; + if( u.ai.iA==0 ) goto arithmetic_result_is_null; + if( u.ai.iA==-1 ) u.ai.iA = 1; + u.ai.rB = (double)(u.ai.iB % u.ai.iA); break; } } #ifdef SQLITE_OMIT_FLOATING_POINT - pOut->u.i = rB; + pOut->u.i = u.ai.rB; MemSetTypeFlag(pOut, MEM_Int); #else - if( sqlite3IsNaN(rB) ){ + if( sqlite3IsNaN(u.ai.rB) ){ goto arithmetic_result_is_null; } - pOut->r = rB; + pOut->r = u.ai.rB; MemSetTypeFlag(pOut, MEM_Real); - if( (flags & MEM_Real)==0 && !bIntint ){ + if( (u.ai.flags & MEM_Real)==0 && !u.ai.bIntint ){ sqlite3VdbeIntegerAffinity(pOut); } #endif } break; @@ -67894,83 +68013,85 @@ ** invocation of this opcode. ** ** See also: AggStep and AggFinal */ case OP_Function: { +#if 0 /* local variables moved into u.aj */ int i; Mem *pArg; sqlite3_context ctx; sqlite3_value **apVal; int n; +#endif /* local variables moved into u.aj */ - n = pOp->p5; - apVal = p->apArg; - assert( apVal || n==0 ); + u.aj.n = pOp->p5; + u.aj.apVal = p->apArg; + assert( u.aj.apVal || u.aj.n==0 ); assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); pOut = &aMem[pOp->p3]; memAboutToChange(p, pOut); - assert( n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem-p->nCursor)+1) ); - assert( pOp->p3p2 || pOp->p3>=pOp->p2+n ); - pArg = &aMem[pOp->p2]; - for(i=0; ip2+i, pArg); + assert( u.aj.n==0 || (pOp->p2>0 && pOp->p2+u.aj.n<=(p->nMem-p->nCursor)+1) ); + assert( pOp->p3p2 || pOp->p3>=pOp->p2+u.aj.n ); + u.aj.pArg = &aMem[pOp->p2]; + for(u.aj.i=0; u.aj.ip2+u.aj.i, u.aj.pArg); } assert( pOp->p4type==P4_FUNCDEF ); - ctx.pFunc = pOp->p4.pFunc; - ctx.iOp = pc; - ctx.pVdbe = p; + u.aj.ctx.pFunc = pOp->p4.pFunc; + u.aj.ctx.iOp = pc; + u.aj.ctx.pVdbe = p; /* The output cell may already have a buffer allocated. Move - ** the pointer to ctx.s so in case the user-function can use + ** the pointer to u.aj.ctx.s so in case the user-function can use ** the already allocated buffer instead of allocating a new one. */ - memcpy(&ctx.s, pOut, sizeof(Mem)); + memcpy(&u.aj.ctx.s, pOut, sizeof(Mem)); pOut->flags = MEM_Null; pOut->xDel = 0; pOut->zMalloc = 0; - MemSetTypeFlag(&ctx.s, MEM_Null); + MemSetTypeFlag(&u.aj.ctx.s, MEM_Null); - ctx.fErrorOrAux = 0; - if( ctx.pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){ + u.aj.ctx.fErrorOrAux = 0; + if( u.aj.ctx.pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){ assert( pOp>aOp ); assert( pOp[-1].p4type==P4_COLLSEQ ); assert( pOp[-1].opcode==OP_CollSeq ); - ctx.pColl = pOp[-1].p4.pColl; + u.aj.ctx.pColl = pOp[-1].p4.pColl; } db->lastRowid = lastRowid; - (*ctx.pFunc->xFunc)(&ctx, n, apVal); /* IMP: R-24505-23230 */ + (*u.aj.ctx.pFunc->xFunc)(&u.aj.ctx, u.aj.n, u.aj.apVal); /* IMP: R-24505-23230 */ lastRowid = db->lastRowid; if( db->mallocFailed ){ /* Even though a malloc() has failed, the implementation of the ** user function may have called an sqlite3_result_XXX() function ** to return a value. The following call releases any resources ** associated with such a value. */ - sqlite3VdbeMemRelease(&ctx.s); + sqlite3VdbeMemRelease(&u.aj.ctx.s); goto no_mem; } /* If the function returned an error, throw an exception */ - if( ctx.fErrorOrAux ){ - if( ctx.isError ){ - sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3_value_text(&ctx.s)); - rc = ctx.isError; + if( u.aj.ctx.fErrorOrAux ){ + if( u.aj.ctx.isError ){ + sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3_value_text(&u.aj.ctx.s)); + rc = u.aj.ctx.isError; } sqlite3VdbeDeleteAuxData(p, pc, pOp->p1); } /* Copy the result of the function into register P3 */ - sqlite3VdbeChangeEncoding(&ctx.s, encoding); + sqlite3VdbeChangeEncoding(&u.aj.ctx.s, encoding); assert( pOut->flags==MEM_Null ); - memcpy(pOut, &ctx.s, sizeof(Mem)); + memcpy(pOut, &u.aj.ctx.s, sizeof(Mem)); if( sqlite3VdbeMemTooBig(pOut) ){ goto too_big; } #if 0 @@ -68018,54 +68139,56 @@ */ case OP_BitAnd: /* same as TK_BITAND, in1, in2, out3 */ case OP_BitOr: /* same as TK_BITOR, in1, in2, out3 */ case OP_ShiftLeft: /* same as TK_LSHIFT, in1, in2, out3 */ case OP_ShiftRight: { /* same as TK_RSHIFT, in1, in2, out3 */ +#if 0 /* local variables moved into u.ak */ i64 iA; u64 uA; i64 iB; u8 op; +#endif /* local variables moved into u.ak */ pIn1 = &aMem[pOp->p1]; pIn2 = &aMem[pOp->p2]; pOut = &aMem[pOp->p3]; if( (pIn1->flags | pIn2->flags) & MEM_Null ){ sqlite3VdbeMemSetNull(pOut); break; } - iA = sqlite3VdbeIntValue(pIn2); - iB = sqlite3VdbeIntValue(pIn1); - op = pOp->opcode; - if( op==OP_BitAnd ){ - iA &= iB; - }else if( op==OP_BitOr ){ - iA |= iB; - }else if( iB!=0 ){ - assert( op==OP_ShiftRight || op==OP_ShiftLeft ); + u.ak.iA = sqlite3VdbeIntValue(pIn2); + u.ak.iB = sqlite3VdbeIntValue(pIn1); + u.ak.op = pOp->opcode; + if( u.ak.op==OP_BitAnd ){ + u.ak.iA &= u.ak.iB; + }else if( u.ak.op==OP_BitOr ){ + u.ak.iA |= u.ak.iB; + }else if( u.ak.iB!=0 ){ + assert( u.ak.op==OP_ShiftRight || u.ak.op==OP_ShiftLeft ); /* If shifting by a negative amount, shift in the other direction */ - if( iB<0 ){ + if( u.ak.iB<0 ){ assert( OP_ShiftRight==OP_ShiftLeft+1 ); - op = 2*OP_ShiftLeft + 1 - op; - iB = iB>(-64) ? -iB : 64; + u.ak.op = 2*OP_ShiftLeft + 1 - u.ak.op; + u.ak.iB = u.ak.iB>(-64) ? -u.ak.iB : 64; } - if( iB>=64 ){ - iA = (iA>=0 || op==OP_ShiftLeft) ? 0 : -1; - }else{ - memcpy(&uA, &iA, sizeof(uA)); - if( op==OP_ShiftLeft ){ - uA <<= iB; - }else{ - uA >>= iB; + if( u.ak.iB>=64 ){ + u.ak.iA = (u.ak.iA>=0 || u.ak.op==OP_ShiftLeft) ? 0 : -1; + }else{ + memcpy(&u.ak.uA, &u.ak.iA, sizeof(u.ak.uA)); + if( u.ak.op==OP_ShiftLeft ){ + u.ak.uA <<= u.ak.iB; + }else{ + u.ak.uA >>= u.ak.iB; /* Sign-extend on a right shift of a negative number */ - if( iA<0 ) uA |= ((((u64)0xffffffff)<<32)|0xffffffff) << (64-iB); + if( u.ak.iA<0 ) u.ak.uA |= ((((u64)0xffffffff)<<32)|0xffffffff) << (64-u.ak.iB); } - memcpy(&iA, &uA, sizeof(iA)); + memcpy(&u.ak.iA, &u.ak.uA, sizeof(u.ak.iA)); } } - pOut->u.i = iA; + pOut->u.i = u.ak.iA; MemSetTypeFlag(pOut, MEM_Int); break; } /* Opcode: AddImm P1 P2 * * * @@ -68315,35 +68438,37 @@ case OP_Ne: /* same as TK_NE, jump, in1, in3 */ case OP_Lt: /* same as TK_LT, jump, in1, in3 */ case OP_Le: /* same as TK_LE, jump, in1, in3 */ case OP_Gt: /* same as TK_GT, jump, in1, in3 */ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ +#if 0 /* local variables moved into u.al */ int res; /* Result of the comparison of pIn1 against pIn3 */ char affinity; /* Affinity to use for comparison */ u16 flags1; /* Copy of initial value of pIn1->flags */ u16 flags3; /* Copy of initial value of pIn3->flags */ +#endif /* local variables moved into u.al */ pIn1 = &aMem[pOp->p1]; pIn3 = &aMem[pOp->p3]; - flags1 = pIn1->flags; - flags3 = pIn3->flags; - if( (flags1 | flags3)&MEM_Null ){ + u.al.flags1 = pIn1->flags; + u.al.flags3 = pIn3->flags; + if( (u.al.flags1 | u.al.flags3)&MEM_Null ){ /* One or both operands are NULL */ if( pOp->p5 & SQLITE_NULLEQ ){ /* If SQLITE_NULLEQ is set (which will only happen if the operator is ** OP_Eq or OP_Ne) then take the jump or not depending on whether ** or not both operands are null. */ assert( pOp->opcode==OP_Eq || pOp->opcode==OP_Ne ); - assert( (flags1 & MEM_Cleared)==0 ); - if( (flags1&MEM_Null)!=0 - && (flags3&MEM_Null)!=0 - && (flags3&MEM_Cleared)==0 + assert( (u.al.flags1 & MEM_Cleared)==0 ); + if( (u.al.flags1&MEM_Null)!=0 + && (u.al.flags3&MEM_Null)!=0 + && (u.al.flags3&MEM_Cleared)==0 ){ - res = 0; /* Results are equal */ + u.al.res = 0; /* Results are equal */ }else{ - res = 1; /* Results are not equal */ + u.al.res = 1; /* Results are not equal */ } }else{ /* SQLITE_NULLEQ is clear and at least one operand is NULL, ** then the result is always NULL. ** The jump is taken if the SQLITE_JUMPIFNULL bit is set. @@ -68357,44 +68482,44 @@ } break; } }else{ /* Neither operand is NULL. Do a comparison. */ - affinity = pOp->p5 & SQLITE_AFF_MASK; - if( affinity ){ - applyAffinity(pIn1, affinity, encoding); - applyAffinity(pIn3, affinity, encoding); + u.al.affinity = pOp->p5 & SQLITE_AFF_MASK; + if( u.al.affinity ){ + applyAffinity(pIn1, u.al.affinity, encoding); + applyAffinity(pIn3, u.al.affinity, encoding); if( db->mallocFailed ) goto no_mem; } assert( pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0 ); ExpandBlob(pIn1); ExpandBlob(pIn3); - res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl); + u.al.res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl); } switch( pOp->opcode ){ - case OP_Eq: res = res==0; break; - case OP_Ne: res = res!=0; break; - case OP_Lt: res = res<0; break; - case OP_Le: res = res<=0; break; - case OP_Gt: res = res>0; break; - default: res = res>=0; break; + case OP_Eq: u.al.res = u.al.res==0; break; + case OP_Ne: u.al.res = u.al.res!=0; break; + case OP_Lt: u.al.res = u.al.res<0; break; + case OP_Le: u.al.res = u.al.res<=0; break; + case OP_Gt: u.al.res = u.al.res>0; break; + default: u.al.res = u.al.res>=0; break; } if( pOp->p5 & SQLITE_STOREP2 ){ pOut = &aMem[pOp->p2]; memAboutToChange(p, pOut); MemSetTypeFlag(pOut, MEM_Int); - pOut->u.i = res; + pOut->u.i = u.al.res; REGISTER_TRACE(pOp->p2, pOut); - }else if( res ){ + }else if( u.al.res ){ pc = pOp->p2-1; } /* Undo any changes made by applyAffinity() to the input registers. */ - pIn1->flags = (pIn1->flags&~MEM_TypeMask) | (flags1&MEM_TypeMask); - pIn3->flags = (pIn3->flags&~MEM_TypeMask) | (flags3&MEM_TypeMask); + pIn1->flags = (pIn1->flags&~MEM_TypeMask) | (u.al.flags1&MEM_TypeMask); + pIn3->flags = (pIn3->flags&~MEM_TypeMask) | (u.al.flags3&MEM_TypeMask); break; } /* Opcode: Permutation * * * P4 * ** @@ -68430,49 +68555,51 @@ ** The comparison is a sort comparison, so NULLs compare equal, ** NULLs are less than numbers, numbers are less than strings, ** and strings are less than blobs. */ case OP_Compare: { +#if 0 /* local variables moved into u.am */ int n; int i; int p1; int p2; const KeyInfo *pKeyInfo; int idx; CollSeq *pColl; /* Collating sequence to use on this term */ int bRev; /* True for DESCENDING sort order */ +#endif /* local variables moved into u.am */ if( (pOp->p5 & OPFLAG_PERMUTE)==0 ) aPermute = 0; - n = pOp->p3; - pKeyInfo = pOp->p4.pKeyInfo; - assert( n>0 ); - assert( pKeyInfo!=0 ); - p1 = pOp->p1; - p2 = pOp->p2; + u.am.n = pOp->p3; + u.am.pKeyInfo = pOp->p4.pKeyInfo; + assert( u.am.n>0 ); + assert( u.am.pKeyInfo!=0 ); + u.am.p1 = pOp->p1; + u.am.p2 = pOp->p2; #if SQLITE_DEBUG if( aPermute ){ int k, mx = 0; - for(k=0; kmx ) mx = aPermute[k]; - assert( p1>0 && p1+mx<=(p->nMem-p->nCursor)+1 ); - assert( p2>0 && p2+mx<=(p->nMem-p->nCursor)+1 ); + for(k=0; kmx ) mx = aPermute[k]; + assert( u.am.p1>0 && u.am.p1+mx<=(p->nMem-p->nCursor)+1 ); + assert( u.am.p2>0 && u.am.p2+mx<=(p->nMem-p->nCursor)+1 ); }else{ - assert( p1>0 && p1+n<=(p->nMem-p->nCursor)+1 ); - assert( p2>0 && p2+n<=(p->nMem-p->nCursor)+1 ); + assert( u.am.p1>0 && u.am.p1+u.am.n<=(p->nMem-p->nCursor)+1 ); + assert( u.am.p2>0 && u.am.p2+u.am.n<=(p->nMem-p->nCursor)+1 ); } #endif /* SQLITE_DEBUG */ - for(i=0; inField ); - pColl = pKeyInfo->aColl[i]; - bRev = pKeyInfo->aSortOrder[i]; - iCompare = sqlite3MemCompare(&aMem[p1+idx], &aMem[p2+idx], pColl); + for(u.am.i=0; u.am.inField ); + u.am.pColl = u.am.pKeyInfo->aColl[u.am.i]; + u.am.bRev = u.am.pKeyInfo->aSortOrder[u.am.i]; + iCompare = sqlite3MemCompare(&aMem[u.am.p1+u.am.idx], &aMem[u.am.p2+u.am.idx], u.am.pColl); if( iCompare ){ - if( bRev ) iCompare = -iCompare; + if( u.am.bRev ) iCompare = -iCompare; break; } } aPermute = 0; break; @@ -68515,37 +68642,39 @@ ** even if the other input is NULL. A NULL and false or two NULLs ** give a NULL output. */ case OP_And: /* same as TK_AND, in1, in2, out3 */ case OP_Or: { /* same as TK_OR, in1, in2, out3 */ +#if 0 /* local variables moved into u.an */ int v1; /* Left operand: 0==FALSE, 1==TRUE, 2==UNKNOWN or NULL */ int v2; /* Right operand: 0==FALSE, 1==TRUE, 2==UNKNOWN or NULL */ +#endif /* local variables moved into u.an */ pIn1 = &aMem[pOp->p1]; if( pIn1->flags & MEM_Null ){ - v1 = 2; + u.an.v1 = 2; }else{ - v1 = sqlite3VdbeIntValue(pIn1)!=0; + u.an.v1 = sqlite3VdbeIntValue(pIn1)!=0; } pIn2 = &aMem[pOp->p2]; if( pIn2->flags & MEM_Null ){ - v2 = 2; + u.an.v2 = 2; }else{ - v2 = sqlite3VdbeIntValue(pIn2)!=0; + u.an.v2 = sqlite3VdbeIntValue(pIn2)!=0; } if( pOp->opcode==OP_And ){ static const unsigned char and_logic[] = { 0, 0, 0, 0, 1, 2, 0, 2, 2 }; - v1 = and_logic[v1*3+v2]; + u.an.v1 = and_logic[u.an.v1*3+u.an.v2]; }else{ static const unsigned char or_logic[] = { 0, 1, 2, 1, 1, 1, 2, 1, 2 }; - v1 = or_logic[v1*3+v2]; + u.an.v1 = or_logic[u.an.v1*3+u.an.v2]; } pOut = &aMem[pOp->p3]; - if( v1==2 ){ + if( u.an.v1==2 ){ MemSetTypeFlag(pOut, MEM_Null); }else{ - pOut->u.i = v1; + pOut->u.i = u.an.v1; MemSetTypeFlag(pOut, MEM_Int); } break; } @@ -68612,23 +68741,25 @@ ** is considered false if it has a numeric value of zero. If the value ** in P1 is NULL then take the jump if P3 is zero. */ case OP_If: /* jump, in1 */ case OP_IfNot: { /* jump, in1 */ +#if 0 /* local variables moved into u.ao */ int c; +#endif /* local variables moved into u.ao */ pIn1 = &aMem[pOp->p1]; if( pIn1->flags & MEM_Null ){ - c = pOp->p3; + u.ao.c = pOp->p3; }else{ #ifdef SQLITE_OMIT_FLOATING_POINT - c = sqlite3VdbeIntValue(pIn1)!=0; + u.ao.c = sqlite3VdbeIntValue(pIn1)!=0; #else - c = sqlite3VdbeRealValue(pIn1)!=0.0; + u.ao.c = sqlite3VdbeRealValue(pIn1)!=0.0; #endif - if( pOp->opcode==OP_IfNot ) c = !c; + if( pOp->opcode==OP_IfNot ) u.ao.c = !u.ao.c; } - if( c ){ + if( u.ao.c ){ pc = pOp->p2-1; } break; } @@ -68682,10 +68813,11 @@ ** the result is guaranteed to only be used as the argument of a length() ** or typeof() function, respectively. The loading of large blobs can be ** skipped for length() and all content loading can be skipped for typeof(). */ case OP_Column: { +#if 0 /* local variables moved into u.ap */ i64 payloadSize64; /* Number of bytes in the record */ int p2; /* column number to retrieve */ VdbeCursor *pC; /* The VDBE cursor */ BtCursor *pCrsr; /* The BTree cursor */ u32 *aType; /* aType[i] holds the numeric type of the i-th column */ @@ -68700,88 +68832,89 @@ u32 offset; /* Offset into the data */ u32 szField; /* Number of bytes in the content of a field */ u32 avail; /* Number of bytes of available data */ u32 t; /* A type code from the record header */ Mem *pReg; /* PseudoTable input register */ - - p2 = pOp->p2; - assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); - pDest = &aMem[pOp->p3]; - memAboutToChange(p, pDest); - assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( p2nField ); - aType = pC->aType; - aOffset = aType + pC->nField; -#ifndef SQLITE_OMIT_VIRTUALTABLE - assert( pC->pVtabCursor==0 ); /* OP_Column never called on virtual table */ -#endif - pCrsr = pC->pCursor; - assert( pCrsr!=0 || pC->pseudoTableReg>0 ); /* pCrsr NULL on PseudoTables */ - assert( pCrsr!=0 || pC->nullRow ); /* pC->nullRow on PseudoTables */ - - /* If the cursor cache is stale, bring it up-to-date */ - rc = sqlite3VdbeCursorMoveto(pC); - if( rc ) goto abort_due_to_error; - if( pC->cacheStatus!=p->cacheCtr || (pOp->p5&OPFLAG_CLEARCACHE)!=0 ){ - if( pC->nullRow ){ - if( pCrsr==0 ){ - assert( pC->pseudoTableReg>0 ); - pReg = &aMem[pC->pseudoTableReg]; - if( pC->multiPseudo ){ - sqlite3VdbeMemShallowCopy(pDest, pReg+p2, MEM_Ephem); - Deephemeralize(pDest); - goto op_column_out; - } - assert( pReg->flags & MEM_Blob ); - assert( memIsValid(pReg) ); - pC->payloadSize = pC->szRow = avail = pReg->n; - pC->aRow = (u8*)pReg->z; - }else{ - MemSetTypeFlag(pDest, MEM_Null); - goto op_column_out; - } - }else{ - assert( pCrsr ); - if( pC->isTable==0 ){ - assert( sqlite3BtreeCursorIsValid(pCrsr) ); - VVA_ONLY(rc =) sqlite3BtreeKeySize(pCrsr, &payloadSize64); - assert( rc==SQLITE_OK ); /* True because of CursorMoveto() call above */ - /* sqlite3BtreeParseCellPtr() uses getVarint32() to extract the - ** payload size, so it is impossible for payloadSize64 to be - ** larger than 32 bits. */ - assert( (payloadSize64 & SQLITE_MAX_U32)==(u64)payloadSize64 ); - pC->aRow = sqlite3BtreeKeyFetch(pCrsr, &avail); - pC->payloadSize = (u32)payloadSize64; - }else{ - assert( sqlite3BtreeCursorIsValid(pCrsr) ); - VVA_ONLY(rc =) sqlite3BtreeDataSize(pCrsr, &pC->payloadSize); - assert( rc==SQLITE_OK ); /* DataSize() cannot fail */ - pC->aRow = sqlite3BtreeDataFetch(pCrsr, &avail); - } - assert( avail<=65536 ); /* Maximum page size is 64KiB */ - if( pC->payloadSize <= (u32)avail ){ - pC->szRow = pC->payloadSize; - }else{ - pC->szRow = avail; - } - if( pC->payloadSize > (u32)db->aLimit[SQLITE_LIMIT_LENGTH] ){ - goto too_big; - } - } - pC->cacheStatus = p->cacheCtr; - pC->iHdrOffset = getVarint32(pC->aRow, offset); - pC->nHdrParsed = 0; - aOffset[0] = offset; - if( availaRow does not have to hold the entire row, but it does at least - ** need to cover the header of the record. If pC->aRow does not contain - ** the complete header, then set it to zero, forcing the header to be - ** dynamically allocated. */ - pC->aRow = 0; - pC->szRow = 0; +#endif /* local variables moved into u.ap */ + + u.ap.p2 = pOp->p2; + assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); + u.ap.pDest = &aMem[pOp->p3]; + memAboutToChange(p, u.ap.pDest); + assert( pOp->p1>=0 && pOp->p1nCursor ); + u.ap.pC = p->apCsr[pOp->p1]; + assert( u.ap.pC!=0 ); + assert( u.ap.p2nField ); + u.ap.aType = u.ap.pC->aType; + u.ap.aOffset = u.ap.aType + u.ap.pC->nField; +#ifndef SQLITE_OMIT_VIRTUALTABLE + assert( u.ap.pC->pVtabCursor==0 ); /* OP_Column never called on virtual table */ +#endif + u.ap.pCrsr = u.ap.pC->pCursor; + assert( u.ap.pCrsr!=0 || u.ap.pC->pseudoTableReg>0 ); /* u.ap.pCrsr NULL on PseudoTables */ + assert( u.ap.pCrsr!=0 || u.ap.pC->nullRow ); /* u.ap.pC->nullRow on PseudoTables */ + + /* If the cursor cache is stale, bring it up-to-date */ + rc = sqlite3VdbeCursorMoveto(u.ap.pC); + if( rc ) goto abort_due_to_error; + if( u.ap.pC->cacheStatus!=p->cacheCtr || (pOp->p5&OPFLAG_CLEARCACHE)!=0 ){ + if( u.ap.pC->nullRow ){ + if( u.ap.pCrsr==0 ){ + assert( u.ap.pC->pseudoTableReg>0 ); + u.ap.pReg = &aMem[u.ap.pC->pseudoTableReg]; + if( u.ap.pC->multiPseudo ){ + sqlite3VdbeMemShallowCopy(u.ap.pDest, u.ap.pReg+u.ap.p2, MEM_Ephem); + Deephemeralize(u.ap.pDest); + goto op_column_out; + } + assert( u.ap.pReg->flags & MEM_Blob ); + assert( memIsValid(u.ap.pReg) ); + u.ap.pC->payloadSize = u.ap.pC->szRow = u.ap.avail = u.ap.pReg->n; + u.ap.pC->aRow = (u8*)u.ap.pReg->z; + }else{ + MemSetTypeFlag(u.ap.pDest, MEM_Null); + goto op_column_out; + } + }else{ + assert( u.ap.pCrsr ); + if( u.ap.pC->isTable==0 ){ + assert( sqlite3BtreeCursorIsValid(u.ap.pCrsr) ); + VVA_ONLY(rc =) sqlite3BtreeKeySize(u.ap.pCrsr, &u.ap.payloadSize64); + assert( rc==SQLITE_OK ); /* True because of CursorMoveto() call above */ + /* sqlite3BtreeParseCellPtr() uses getVarint32() to extract the + ** payload size, so it is impossible for u.ap.payloadSize64 to be + ** larger than 32 bits. */ + assert( (u.ap.payloadSize64 & SQLITE_MAX_U32)==(u64)u.ap.payloadSize64 ); + u.ap.pC->aRow = sqlite3BtreeKeyFetch(u.ap.pCrsr, &u.ap.avail); + u.ap.pC->payloadSize = (u32)u.ap.payloadSize64; + }else{ + assert( sqlite3BtreeCursorIsValid(u.ap.pCrsr) ); + VVA_ONLY(rc =) sqlite3BtreeDataSize(u.ap.pCrsr, &u.ap.pC->payloadSize); + assert( rc==SQLITE_OK ); /* DataSize() cannot fail */ + u.ap.pC->aRow = sqlite3BtreeDataFetch(u.ap.pCrsr, &u.ap.avail); + } + assert( u.ap.avail<=65536 ); /* Maximum page size is 64KiB */ + if( u.ap.pC->payloadSize <= (u32)u.ap.avail ){ + u.ap.pC->szRow = u.ap.pC->payloadSize; + }else{ + u.ap.pC->szRow = u.ap.avail; + } + if( u.ap.pC->payloadSize > (u32)db->aLimit[SQLITE_LIMIT_LENGTH] ){ + goto too_big; + } + } + u.ap.pC->cacheStatus = p->cacheCtr; + u.ap.pC->iHdrOffset = getVarint32(u.ap.pC->aRow, u.ap.offset); + u.ap.pC->nHdrParsed = 0; + u.ap.aOffset[0] = u.ap.offset; + if( u.ap.availaRow does not have to hold the entire row, but it does at least + ** need to cover the header of the record. If u.ap.pC->aRow does not contain + ** the complete header, then set it to zero, forcing the header to be + ** dynamically allocated. */ + u.ap.pC->aRow = 0; + u.ap.pC->szRow = 0; } /* Make sure a corrupt database has not given us an oversize header. ** Do this now to avoid an oversize memory allocation. ** @@ -68789,154 +68922,154 @@ ** types use so much data space that there can only be 4096 and 32 of ** them, respectively. So the maximum header length results from a ** 3-byte type for each of the maximum of 32768 columns plus three ** extra bytes for the header length itself. 32768*3 + 3 = 98307. */ - if( offset > 98307 || offset > pC->payloadSize ){ + if( u.ap.offset > 98307 || u.ap.offset > u.ap.pC->payloadSize ){ rc = SQLITE_CORRUPT_BKPT; goto op_column_error; } } - /* Make sure at least the first p2+1 entries of the header have been - ** parsed and valid information is in aOffset[] and aType[]. + /* Make sure at least the first u.ap.p2+1 entries of the header have been + ** parsed and valid information is in u.ap.aOffset[] and u.ap.aType[]. */ - if( pC->nHdrParsed<=p2 ){ + if( u.ap.pC->nHdrParsed<=u.ap.p2 ){ /* If there is more header available for parsing in the record, try - ** to extract additional fields up through the p2+1-th field + ** to extract additional fields up through the u.ap.p2+1-th field */ - if( pC->iHdrOffsetaRow==0 ){ - memset(&sMem, 0, sizeof(sMem)); - rc = sqlite3VdbeMemFromBtree(pCrsr, 0, aOffset[0], - !pC->isTable, &sMem); + if( u.ap.pC->iHdrOffsetaRow==0 ){ + memset(&u.ap.sMem, 0, sizeof(u.ap.sMem)); + rc = sqlite3VdbeMemFromBtree(u.ap.pCrsr, 0, u.ap.aOffset[0], + !u.ap.pC->isTable, &u.ap.sMem); if( rc!=SQLITE_OK ){ goto op_column_error; } - zData = (u8*)sMem.z; + u.ap.zData = (u8*)u.ap.sMem.z; }else{ - zData = pC->aRow; - } - - /* Fill in aType[i] and aOffset[i] values through the p2-th field. */ - i = pC->nHdrParsed; - offset = aOffset[i]; - zHdr = zData + pC->iHdrOffset; - zEndHdr = zData + aOffset[0]; - assert( i<=p2 && zHdraRow; + } + + /* Fill in u.ap.aType[u.ap.i] and u.ap.aOffset[u.ap.i] values through the u.ap.p2-th field. */ + u.ap.i = u.ap.pC->nHdrParsed; + u.ap.offset = u.ap.aOffset[u.ap.i]; + u.ap.zHdr = u.ap.zData + u.ap.pC->iHdrOffset; + u.ap.zEndHdr = u.ap.zData + u.ap.aOffset[0]; + assert( u.ap.i<=u.ap.p2 && u.ap.zHdrnHdrParsed = i; - pC->iHdrOffset = (u32)(zHdr - zData); - if( pC->aRow==0 ){ - sqlite3VdbeMemRelease(&sMem); - sMem.flags = MEM_Null; - } - + u.ap.i++; + u.ap.aOffset[u.ap.i] = u.ap.offset; + }while( u.ap.i<=u.ap.p2 && u.ap.zHdrnHdrParsed = u.ap.i; + u.ap.pC->iHdrOffset = (u32)(u.ap.zHdr - u.ap.zData); + if( u.ap.pC->aRow==0 ){ + sqlite3VdbeMemRelease(&u.ap.sMem); + u.ap.sMem.flags = MEM_Null; + } + /* If we have read more header data than was contained in the header, ** or if the end of the last field appears to be past the end of the ** record, or if the end of the last field appears to be before the end - ** of the record (when all fields present), then we must be dealing + ** of the record (when all fields present), then we must be dealing ** with a corrupt database. */ - if( (zHdr > zEndHdr) - || (offset > pC->payloadSize) - || (zHdr==zEndHdr && offset!=pC->payloadSize) + if( (u.ap.zHdr > u.ap.zEndHdr) + || (u.ap.offset > u.ap.pC->payloadSize) + || (u.ap.zHdr==u.ap.zEndHdr && u.ap.offset!=u.ap.pC->payloadSize) ){ rc = SQLITE_CORRUPT_BKPT; goto op_column_error; } } /* If after trying to extra new entries from the header, nHdrParsed is - ** still not up to p2, that means that the record has fewer than p2 + ** still not up to u.ap.p2, that means that the record has fewer than u.ap.p2 ** columns. So the result will be either the default value or a NULL. */ - if( pC->nHdrParsed<=p2 ){ + if( u.ap.pC->nHdrParsed<=u.ap.p2 ){ if( pOp->p4type==P4_MEM ){ - sqlite3VdbeMemShallowCopy(pDest, pOp->p4.pMem, MEM_Static); + sqlite3VdbeMemShallowCopy(u.ap.pDest, pOp->p4.pMem, MEM_Static); }else{ - MemSetTypeFlag(pDest, MEM_Null); + MemSetTypeFlag(u.ap.pDest, MEM_Null); } goto op_column_out; } } - /* Extract the content for the p2+1-th column. Control can only - ** reach this point if aOffset[p2], aOffset[p2+1], and aType[p2] are + /* Extract the content for the u.ap.p2+1-th column. Control can only + ** reach this point if u.ap.aOffset[u.ap.p2], u.ap.aOffset[u.ap.p2+1], and u.ap.aType[u.ap.p2] are ** all valid. */ - assert( p2nHdrParsed ); + assert( u.ap.p2nHdrParsed ); assert( rc==SQLITE_OK ); - if( pC->szRow>=aOffset[p2+1] ){ + if( u.ap.pC->szRow>=u.ap.aOffset[u.ap.p2+1] ){ /* This is the common case where the desired content fits on the original ** page - where the content is not on an overflow page */ - VdbeMemRelease(pDest); - sqlite3VdbeSerialGet(pC->aRow+aOffset[p2], aType[p2], pDest); + VdbeMemRelease(u.ap.pDest); + sqlite3VdbeSerialGet(u.ap.pC->aRow+u.ap.aOffset[u.ap.p2], u.ap.aType[u.ap.p2], u.ap.pDest); }else{ /* This branch happens only when content is on overflow pages */ - t = aType[p2]; + u.ap.t = u.ap.aType[u.ap.p2]; if( ((pOp->p5 & (OPFLAG_LENGTHARG|OPFLAG_TYPEOFARG))!=0 - && ((t>=12 && (t&1)==0) || (pOp->p5 & OPFLAG_TYPEOFARG)!=0)) - || (len = sqlite3VdbeSerialTypeLen(t))==0 + && ((u.ap.t>=12 && (u.ap.t&1)==0) || (pOp->p5 & OPFLAG_TYPEOFARG)!=0)) + || (u.ap.len = sqlite3VdbeSerialTypeLen(u.ap.t))==0 ){ /* Content is irrelevant for the typeof() function and for ** the length(X) function if X is a blob. So we might as well use ** bogus content rather than reading content from disk. NULL works - ** for text and blob and whatever is in the payloadSize64 variable + ** for text and blob and whatever is in the u.ap.payloadSize64 variable ** will work for everything else. Content is also irrelevant if ** the content length is 0. */ - zData = t<=13 ? (u8*)&payloadSize64 : 0; - sMem.zMalloc = 0; + u.ap.zData = u.ap.t<=13 ? (u8*)&u.ap.payloadSize64 : 0; + u.ap.sMem.zMalloc = 0; }else{ - memset(&sMem, 0, sizeof(sMem)); - sqlite3VdbeMemMove(&sMem, pDest); - rc = sqlite3VdbeMemFromBtree(pCrsr, aOffset[p2], len, !pC->isTable, - &sMem); + memset(&u.ap.sMem, 0, sizeof(u.ap.sMem)); + sqlite3VdbeMemMove(&u.ap.sMem, u.ap.pDest); + rc = sqlite3VdbeMemFromBtree(u.ap.pCrsr, u.ap.aOffset[u.ap.p2], u.ap.len, !u.ap.pC->isTable, + &u.ap.sMem); if( rc!=SQLITE_OK ){ goto op_column_error; } - zData = (u8*)sMem.z; + u.ap.zData = (u8*)u.ap.sMem.z; } - sqlite3VdbeSerialGet(zData, t, pDest); + sqlite3VdbeSerialGet(u.ap.zData, u.ap.t, u.ap.pDest); /* If we dynamically allocated space to hold the data (in the ** sqlite3VdbeMemFromBtree() call above) then transfer control of that - ** dynamically allocated space over to the pDest structure. + ** dynamically allocated space over to the u.ap.pDest structure. ** This prevents a memory copy. */ - if( sMem.zMalloc ){ - assert( sMem.z==sMem.zMalloc ); - assert( !(pDest->flags & MEM_Dyn) ); - assert( !(pDest->flags & (MEM_Blob|MEM_Str)) || pDest->z==sMem.z ); - pDest->flags &= ~(MEM_Ephem|MEM_Static); - pDest->flags |= MEM_Term; - pDest->z = sMem.z; - pDest->zMalloc = sMem.zMalloc; + if( u.ap.sMem.zMalloc ){ + assert( u.ap.sMem.z==u.ap.sMem.zMalloc ); + assert( !(u.ap.pDest->flags & MEM_Dyn) ); + assert( !(u.ap.pDest->flags & (MEM_Blob|MEM_Str)) || u.ap.pDest->z==u.ap.sMem.z ); + u.ap.pDest->flags &= ~(MEM_Ephem|MEM_Static); + u.ap.pDest->flags |= MEM_Term; + u.ap.pDest->z = u.ap.sMem.z; + u.ap.pDest->zMalloc = u.ap.sMem.zMalloc; } } - pDest->enc = encoding; + u.ap.pDest->enc = encoding; op_column_out: - Deephemeralize(pDest); + rc = sqlite3VdbeMemMakeWriteable(u.ap.pDest); op_column_error: - UPDATE_MAX_BLOBSIZE(pDest); - REGISTER_TRACE(pOp->p3, pDest); + UPDATE_MAX_BLOBSIZE(u.ap.pDest); + REGISTER_TRACE(pOp->p3, u.ap.pDest); break; } /* Opcode: Affinity P1 P2 * P4 * ** Synopsis: affinity(r[P1@P2]) @@ -68946,22 +69079,24 @@ ** P4 is a string that is P2 characters long. The nth character of the ** string indicates the column affinity that should be used for the nth ** memory cell in the range. */ case OP_Affinity: { +#if 0 /* local variables moved into u.aq */ const char *zAffinity; /* The affinity to be applied */ char cAff; /* A single character of affinity */ +#endif /* local variables moved into u.aq */ - zAffinity = pOp->p4.z; - assert( zAffinity!=0 ); - assert( zAffinity[pOp->p2]==0 ); + u.aq.zAffinity = pOp->p4.z; + assert( u.aq.zAffinity!=0 ); + assert( u.aq.zAffinity[pOp->p2]==0 ); pIn1 = &aMem[pOp->p1]; - while( (cAff = *(zAffinity++))!=0 ){ + while( (u.aq.cAff = *(u.aq.zAffinity++))!=0 ){ assert( pIn1 <= &p->aMem[(p->nMem-p->nCursor)] ); assert( memIsValid(pIn1) ); ExpandBlob(pIn1); - applyAffinity(pIn1, cAff, encoding); + applyAffinity(pIn1, u.aq.cAff, encoding); pIn1++; } break; } @@ -68980,10 +69115,11 @@ ** macros defined in sqliteInt.h. ** ** If P4 is NULL then all index fields have the affinity NONE. */ case OP_MakeRecord: { +#if 0 /* local variables moved into u.ar */ u8 *zNewRecord; /* A buffer to hold the data for the new record */ Mem *pRec; /* The new record */ u64 nData; /* Number of bytes of data space */ int nHdr; /* Number of bytes of header space */ i64 nByte; /* Data space required for this record */ @@ -68993,123 +69129,106 @@ Mem *pData0; /* First field to be combined into the record */ Mem *pLast; /* Last field of the record */ int nField; /* Number of fields in the record */ char *zAffinity; /* The affinity string for the record */ int file_format; /* File format to use for encoding */ - int i; /* Space used in zNewRecord[] header */ - int j; /* Space used in zNewRecord[] content */ + int i; /* Space used in zNewRecord[] */ int len; /* Length of a field */ +#endif /* local variables moved into u.ar */ /* Assuming the record contains N fields, the record format looks ** like this: ** ** ------------------------------------------------------------------------ - ** | hdr-size | type 0 | type 1 | ... | type N-1 | data0 | ... | data N-1 | + ** | hdr-size | type 0 | type 1 | ... | type N-1 | data0 | ... | data N-1 | ** ------------------------------------------------------------------------ ** ** Data(0) is taken from register P1. Data(1) comes from register P1+1 ** and so froth. ** - ** Each type field is a varint representing the serial type of the + ** Each type field is a varint representing the serial type of the ** corresponding data element (see sqlite3VdbeSerialType()). The ** hdr-size field is also a varint which is the offset from the beginning ** of the record to data0. */ - nData = 0; /* Number of bytes of data space */ - nHdr = 0; /* Number of bytes of header space */ - nZero = 0; /* Number of zero bytes at the end of the record */ - nField = pOp->p1; - zAffinity = pOp->p4.z; - assert( nField>0 && pOp->p2>0 && pOp->p2+nField<=(p->nMem-p->nCursor)+1 ); - pData0 = &aMem[nField]; - nField = pOp->p2; - pLast = &pData0[nField-1]; - file_format = p->minWriteFileFormat; + u.ar.nData = 0; /* Number of bytes of data space */ + u.ar.nHdr = 0; /* Number of bytes of header space */ + u.ar.nZero = 0; /* Number of zero bytes at the end of the record */ + u.ar.nField = pOp->p1; + u.ar.zAffinity = pOp->p4.z; + assert( u.ar.nField>0 && pOp->p2>0 && pOp->p2+u.ar.nField<=(p->nMem-p->nCursor)+1 ); + u.ar.pData0 = &aMem[u.ar.nField]; + u.ar.nField = pOp->p2; + u.ar.pLast = &u.ar.pData0[u.ar.nField-1]; + u.ar.file_format = p->minWriteFileFormat; /* Identify the output register */ assert( pOp->p3p1 || pOp->p3>=pOp->p1+pOp->p2 ); pOut = &aMem[pOp->p3]; memAboutToChange(p, pOut); - /* Apply the requested affinity to all inputs - */ - assert( pData0<=pLast ); - if( zAffinity ){ - pRec = pData0; - do{ - applyAffinity(pRec, *(zAffinity++), encoding); - }while( (++pRec)<=pLast ); - } - /* Loop through the elements that will make up the record to figure ** out how much space is required for the new record. */ - pRec = pLast; - do{ - assert( memIsValid(pRec) ); - serial_type = sqlite3VdbeSerialType(pRec, file_format); - len = sqlite3VdbeSerialTypeLen(serial_type); - if( pRec->flags & MEM_Zero ){ - if( nData ){ - sqlite3VdbeMemExpandBlob(pRec); - }else{ - nZero += pRec->u.nZero; - len -= pRec->u.nZero; - } - } - nData += len; - testcase( serial_type==127 ); - testcase( serial_type==128 ); - nHdr += serial_type<=127 ? 1 : sqlite3VarintLen(serial_type); - }while( (--pRec)>=pData0 ); + for(u.ar.pRec=u.ar.pData0; u.ar.pRec<=u.ar.pLast; u.ar.pRec++){ + assert( memIsValid(u.ar.pRec) ); + if( u.ar.zAffinity ){ + applyAffinity(u.ar.pRec, u.ar.zAffinity[u.ar.pRec-u.ar.pData0], encoding); + } + if( u.ar.pRec->flags&MEM_Zero && u.ar.pRec->n>0 ){ + sqlite3VdbeMemExpandBlob(u.ar.pRec); + } + u.ar.serial_type = sqlite3VdbeSerialType(u.ar.pRec, u.ar.file_format); + u.ar.len = sqlite3VdbeSerialTypeLen(u.ar.serial_type); + u.ar.nData += u.ar.len; + u.ar.nHdr += sqlite3VarintLen(u.ar.serial_type); + if( u.ar.pRec->flags & MEM_Zero ){ + /* Only pure zero-filled BLOBs can be input to this Opcode. + ** We do not allow blobs with a prefix and a zero-filled tail. */ + u.ar.nZero += u.ar.pRec->u.nZero; + }else if( u.ar.len ){ + u.ar.nZero = 0; + } + } /* Add the initial header varint and total the size */ - testcase( nHdr==126 ); - testcase( nHdr==127 ); - if( nHdr<=126 ){ - /* The common case */ - nHdr += 1; - }else{ - /* Rare case of a really large header */ - nVarint = sqlite3VarintLen(nHdr); - nHdr += nVarint; - if( nVarintdb->aLimit[SQLITE_LIMIT_LENGTH] ){ + u.ar.nHdr += u.ar.nVarint = sqlite3VarintLen(u.ar.nHdr); + if( u.ar.nVarintdb->aLimit[SQLITE_LIMIT_LENGTH] ){ goto too_big; } - /* Make sure the output register has a buffer large enough to store + /* Make sure the output register has a buffer large enough to store ** the new record. The output register (pOp->p3) is not allowed to ** be one of the input registers (because the following call to ** sqlite3VdbeMemGrow() could clobber the value before it is used). */ - if( sqlite3VdbeMemGrow(pOut, (int)nByte, 0) ){ + if( sqlite3VdbeMemGrow(pOut, (int)u.ar.nByte, 0) ){ goto no_mem; } - zNewRecord = (u8 *)pOut->z; + u.ar.zNewRecord = (u8 *)pOut->z; /* Write the record */ - i = putVarint32(zNewRecord, nHdr); - j = nHdr; - assert( pData0<=pLast ); - pRec = pData0; - do{ - serial_type = sqlite3VdbeSerialType(pRec, file_format); - i += putVarint32(&zNewRecord[i], serial_type); /* serial type */ - j += sqlite3VdbeSerialPut(&zNewRecord[j], pRec, serial_type); /* content */ - }while( (++pRec)<=pLast ); - assert( i==nHdr ); - assert( j==nByte ); + u.ar.i = putVarint32(u.ar.zNewRecord, u.ar.nHdr); + for(u.ar.pRec=u.ar.pData0; u.ar.pRec<=u.ar.pLast; u.ar.pRec++){ + u.ar.serial_type = sqlite3VdbeSerialType(u.ar.pRec, u.ar.file_format); + u.ar.i += putVarint32(&u.ar.zNewRecord[u.ar.i], u.ar.serial_type); /* serial type */ + } + for(u.ar.pRec=u.ar.pData0; u.ar.pRec<=u.ar.pLast; u.ar.pRec++){ /* serial data */ + u.ar.i += sqlite3VdbeSerialPut(&u.ar.zNewRecord[u.ar.i], (int)(u.ar.nByte-u.ar.i), u.ar.pRec,u.ar.file_format); + } + assert( u.ar.i==u.ar.nByte ); assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); - pOut->n = (int)nByte; + pOut->n = (int)u.ar.nByte; pOut->flags = MEM_Blob | MEM_Dyn; pOut->xDel = 0; - if( nZero ){ - pOut->u.nZero = nZero; + if( u.ar.nZero ){ + pOut->u.nZero = u.ar.nZero; pOut->flags |= MEM_Zero; } pOut->enc = SQLITE_UTF8; /* In case the blob is ever converted to text */ REGISTER_TRACE(pOp->p3, pOut); UPDATE_MAX_BLOBSIZE(pOut); @@ -69122,18 +69241,19 @@ ** Store the number of entries (an integer value) in the table or index ** opened by cursor P1 in register P2 */ #ifndef SQLITE_OMIT_BTREECOUNT case OP_Count: { /* out2-prerelease */ +#if 0 /* local variables moved into u.as */ i64 nEntry; BtCursor *pCrsr; +#endif /* local variables moved into u.as */ - pCrsr = p->apCsr[pOp->p1]->pCursor; - assert( pCrsr ); - nEntry = 0; /* Not needed. Only used to silence a warning. */ - rc = sqlite3BtreeCount(pCrsr, &nEntry); - pOut->u.i = nEntry; + u.as.pCrsr = p->apCsr[pOp->p1]->pCursor; + assert( u.as.pCrsr ); + rc = sqlite3BtreeCount(u.as.pCrsr, &u.as.nEntry); + pOut->u.i = u.as.nEntry; break; } #endif /* Opcode: Savepoint P1 * * P4 * @@ -69141,41 +69261,43 @@ ** Open, release or rollback the savepoint named by parameter P4, depending ** on the value of P1. To open a new savepoint, P1==0. To release (commit) an ** existing savepoint, P1==1, or to rollback an existing savepoint P1==2. */ case OP_Savepoint: { +#if 0 /* local variables moved into u.at */ int p1; /* Value of P1 operand */ char *zName; /* Name of savepoint */ int nName; Savepoint *pNew; Savepoint *pSavepoint; Savepoint *pTmp; int iSavepoint; int ii; +#endif /* local variables moved into u.at */ - p1 = pOp->p1; - zName = pOp->p4.z; + u.at.p1 = pOp->p1; + u.at.zName = pOp->p4.z; - /* Assert that the p1 parameter is valid. Also that if there is no open - ** transaction, then there cannot be any savepoints. + /* Assert that the u.at.p1 parameter is valid. Also that if there is no open + ** transaction, then there cannot be any savepoints. */ assert( db->pSavepoint==0 || db->autoCommit==0 ); - assert( p1==SAVEPOINT_BEGIN||p1==SAVEPOINT_RELEASE||p1==SAVEPOINT_ROLLBACK ); + assert( u.at.p1==SAVEPOINT_BEGIN||u.at.p1==SAVEPOINT_RELEASE||u.at.p1==SAVEPOINT_ROLLBACK ); assert( db->pSavepoint || db->isTransactionSavepoint==0 ); assert( checkSavepointCount(db) ); assert( p->bIsReader ); - if( p1==SAVEPOINT_BEGIN ){ + if( u.at.p1==SAVEPOINT_BEGIN ){ if( db->nVdbeWrite>0 ){ - /* A new savepoint cannot be created if there are active write + /* A new savepoint cannot be created if there are active write ** statements (i.e. open read/write incremental blob handles). */ sqlite3SetString(&p->zErrMsg, db, "cannot open savepoint - " "SQL statements in progress"); rc = SQLITE_BUSY; }else{ - nName = sqlite3Strlen30(zName); + u.at.nName = sqlite3Strlen30(u.at.zName); #ifndef SQLITE_OMIT_VIRTUALTABLE /* This call is Ok even if this savepoint is actually a transaction ** savepoint (and therefore should not prompt xSavepoint()) callbacks. ** If this is a transaction savepoint being opened, it is guaranteed @@ -69185,62 +69307,62 @@ db->nStatement+db->nSavepoint); if( rc!=SQLITE_OK ) goto abort_due_to_error; #endif /* Create a new savepoint structure. */ - pNew = sqlite3DbMallocRaw(db, sizeof(Savepoint)+nName+1); - if( pNew ){ - pNew->zName = (char *)&pNew[1]; - memcpy(pNew->zName, zName, nName+1); - + u.at.pNew = sqlite3DbMallocRaw(db, sizeof(Savepoint)+u.at.nName+1); + if( u.at.pNew ){ + u.at.pNew->zName = (char *)&u.at.pNew[1]; + memcpy(u.at.pNew->zName, u.at.zName, u.at.nName+1); + /* If there is no open transaction, then mark this as a special ** "transaction savepoint". */ if( db->autoCommit ){ db->autoCommit = 0; db->isTransactionSavepoint = 1; }else{ db->nSavepoint++; } - + /* Link the new savepoint into the database handle's list. */ - pNew->pNext = db->pSavepoint; - db->pSavepoint = pNew; - pNew->nDeferredCons = db->nDeferredCons; - pNew->nDeferredImmCons = db->nDeferredImmCons; + u.at.pNew->pNext = db->pSavepoint; + db->pSavepoint = u.at.pNew; + u.at.pNew->nDeferredCons = db->nDeferredCons; + u.at.pNew->nDeferredImmCons = db->nDeferredImmCons; } } }else{ - iSavepoint = 0; + u.at.iSavepoint = 0; /* Find the named savepoint. If there is no such savepoint, then an ** an error is returned to the user. */ for( - pSavepoint = db->pSavepoint; - pSavepoint && sqlite3StrICmp(pSavepoint->zName, zName); - pSavepoint = pSavepoint->pNext + u.at.pSavepoint = db->pSavepoint; + u.at.pSavepoint && sqlite3StrICmp(u.at.pSavepoint->zName, u.at.zName); + u.at.pSavepoint = u.at.pSavepoint->pNext ){ - iSavepoint++; + u.at.iSavepoint++; } - if( !pSavepoint ){ - sqlite3SetString(&p->zErrMsg, db, "no such savepoint: %s", zName); + if( !u.at.pSavepoint ){ + sqlite3SetString(&p->zErrMsg, db, "no such savepoint: %s", u.at.zName); rc = SQLITE_ERROR; - }else if( db->nVdbeWrite>0 && p1==SAVEPOINT_RELEASE ){ - /* It is not possible to release (commit) a savepoint if there are + }else if( db->nVdbeWrite>0 && u.at.p1==SAVEPOINT_RELEASE ){ + /* It is not possible to release (commit) a savepoint if there are ** active write statements. */ - sqlite3SetString(&p->zErrMsg, db, + sqlite3SetString(&p->zErrMsg, db, "cannot release savepoint - SQL statements in progress" ); rc = SQLITE_BUSY; }else{ /* Determine whether or not this is a transaction savepoint. If so, - ** and this is a RELEASE command, then the current transaction - ** is committed. + ** and this is a RELEASE command, then the current transaction + ** is committed. */ - int isTransaction = pSavepoint->pNext==0 && db->isTransactionSavepoint; - if( isTransaction && p1==SAVEPOINT_RELEASE ){ + int isTransaction = u.at.pSavepoint->pNext==0 && db->isTransactionSavepoint; + if( isTransaction && u.at.p1==SAVEPOINT_RELEASE ){ if( (rc = sqlite3VdbeCheckFk(p, 1))!=SQLITE_OK ){ goto vdbe_return; } db->autoCommit = 1; if( sqlite3VdbeHalt(p)==SQLITE_BUSY ){ @@ -69250,56 +69372,56 @@ goto vdbe_return; } db->isTransactionSavepoint = 0; rc = p->rc; }else{ - iSavepoint = db->nSavepoint - iSavepoint - 1; - if( p1==SAVEPOINT_ROLLBACK ){ - for(ii=0; iinDb; ii++){ - sqlite3BtreeTripAllCursors(db->aDb[ii].pBt, SQLITE_ABORT); + u.at.iSavepoint = db->nSavepoint - u.at.iSavepoint - 1; + if( u.at.p1==SAVEPOINT_ROLLBACK ){ + for(u.at.ii=0; u.at.iinDb; u.at.ii++){ + sqlite3BtreeTripAllCursors(db->aDb[u.at.ii].pBt, SQLITE_ABORT); } } - for(ii=0; iinDb; ii++){ - rc = sqlite3BtreeSavepoint(db->aDb[ii].pBt, p1, iSavepoint); + for(u.at.ii=0; u.at.iinDb; u.at.ii++){ + rc = sqlite3BtreeSavepoint(db->aDb[u.at.ii].pBt, u.at.p1, u.at.iSavepoint); if( rc!=SQLITE_OK ){ goto abort_due_to_error; } } - if( p1==SAVEPOINT_ROLLBACK && (db->flags&SQLITE_InternChanges)!=0 ){ + if( u.at.p1==SAVEPOINT_ROLLBACK && (db->flags&SQLITE_InternChanges)!=0 ){ sqlite3ExpirePreparedStatements(db); sqlite3ResetAllSchemasOfConnection(db); db->flags = (db->flags | SQLITE_InternChanges); } } - - /* Regardless of whether this is a RELEASE or ROLLBACK, destroy all + + /* Regardless of whether this is a RELEASE or ROLLBACK, destroy all ** savepoints nested inside of the savepoint being operated on. */ - while( db->pSavepoint!=pSavepoint ){ - pTmp = db->pSavepoint; - db->pSavepoint = pTmp->pNext; - sqlite3DbFree(db, pTmp); + while( db->pSavepoint!=u.at.pSavepoint ){ + u.at.pTmp = db->pSavepoint; + db->pSavepoint = u.at.pTmp->pNext; + sqlite3DbFree(db, u.at.pTmp); db->nSavepoint--; } - /* If it is a RELEASE, then destroy the savepoint being operated on - ** too. If it is a ROLLBACK TO, then set the number of deferred + /* If it is a RELEASE, then destroy the savepoint being operated on + ** too. If it is a ROLLBACK TO, then set the number of deferred ** constraint violations present in the database to the value stored ** when the savepoint was created. */ - if( p1==SAVEPOINT_RELEASE ){ - assert( pSavepoint==db->pSavepoint ); - db->pSavepoint = pSavepoint->pNext; - sqlite3DbFree(db, pSavepoint); + if( u.at.p1==SAVEPOINT_RELEASE ){ + assert( u.at.pSavepoint==db->pSavepoint ); + db->pSavepoint = u.at.pSavepoint->pNext; + sqlite3DbFree(db, u.at.pSavepoint); if( !isTransaction ){ db->nSavepoint--; } }else{ - db->nDeferredCons = pSavepoint->nDeferredCons; - db->nDeferredImmCons = pSavepoint->nDeferredImmCons; + db->nDeferredCons = u.at.pSavepoint->nDeferredCons; + db->nDeferredImmCons = u.at.pSavepoint->nDeferredImmCons; } if( !isTransaction ){ - rc = sqlite3VtabSavepoint(db, p1, iSavepoint); + rc = sqlite3VtabSavepoint(db, u.at.p1, u.at.iSavepoint); if( rc!=SQLITE_OK ) goto abort_due_to_error; } } } @@ -69314,52 +69436,54 @@ ** there are active writing VMs or active VMs that use shared cache. ** ** This instruction causes the VM to halt. */ case OP_AutoCommit: { +#if 0 /* local variables moved into u.au */ int desiredAutoCommit; int iRollback; int turnOnAC; +#endif /* local variables moved into u.au */ - desiredAutoCommit = pOp->p1; - iRollback = pOp->p2; - turnOnAC = desiredAutoCommit && !db->autoCommit; - assert( desiredAutoCommit==1 || desiredAutoCommit==0 ); - assert( desiredAutoCommit==1 || iRollback==0 ); + u.au.desiredAutoCommit = pOp->p1; + u.au.iRollback = pOp->p2; + u.au.turnOnAC = u.au.desiredAutoCommit && !db->autoCommit; + assert( u.au.desiredAutoCommit==1 || u.au.desiredAutoCommit==0 ); + assert( u.au.desiredAutoCommit==1 || u.au.iRollback==0 ); assert( db->nVdbeActive>0 ); /* At least this one VM is active */ assert( p->bIsReader ); #if 0 - if( turnOnAC && iRollback && db->nVdbeActive>1 ){ + if( u.au.turnOnAC && u.au.iRollback && db->nVdbeActive>1 ){ /* If this instruction implements a ROLLBACK and other VMs are ** still running, and a transaction is active, return an error indicating - ** that the other VMs must complete first. + ** that the other VMs must complete first. */ sqlite3SetString(&p->zErrMsg, db, "cannot rollback transaction - " "SQL statements in progress"); rc = SQLITE_BUSY; }else #endif - if( turnOnAC && !iRollback && db->nVdbeWrite>0 ){ + if( u.au.turnOnAC && !u.au.iRollback && db->nVdbeWrite>0 ){ /* If this instruction implements a COMMIT and other VMs are writing - ** return an error indicating that the other VMs must complete first. + ** return an error indicating that the other VMs must complete first. */ sqlite3SetString(&p->zErrMsg, db, "cannot commit transaction - " "SQL statements in progress"); rc = SQLITE_BUSY; - }else if( desiredAutoCommit!=db->autoCommit ){ - if( iRollback ){ - assert( desiredAutoCommit==1 ); + }else if( u.au.desiredAutoCommit!=db->autoCommit ){ + if( u.au.iRollback ){ + assert( u.au.desiredAutoCommit==1 ); sqlite3RollbackAll(db, SQLITE_ABORT_ROLLBACK); db->autoCommit = 1; }else if( (rc = sqlite3VdbeCheckFk(p, 1))!=SQLITE_OK ){ goto vdbe_return; }else{ - db->autoCommit = (u8)desiredAutoCommit; + db->autoCommit = (u8)u.au.desiredAutoCommit; if( sqlite3VdbeHalt(p)==SQLITE_BUSY ){ p->pc = pc; - db->autoCommit = (u8)(1-desiredAutoCommit); + db->autoCommit = (u8)(1-u.au.desiredAutoCommit); p->rc = rc = SQLITE_BUSY; goto vdbe_return; } } assert( db->nStatement==0 ); @@ -69370,14 +69494,14 @@ rc = SQLITE_ERROR; } goto vdbe_return; }else{ sqlite3SetString(&p->zErrMsg, db, - (!desiredAutoCommit)?"cannot start a transaction within a transaction":( - (iRollback)?"cannot rollback - no transaction is active": + (!u.au.desiredAutoCommit)?"cannot start a transaction within a transaction":( + (u.au.iRollback)?"cannot rollback - no transaction is active": "cannot commit - no transaction is active")); - + rc = SQLITE_ERROR; } break; } @@ -69411,46 +69535,48 @@ ** will automatically commit when the VDBE halts. ** ** If P2 is zero, then a read-lock is obtained on the database file. */ case OP_Transaction: { +#if 0 /* local variables moved into u.av */ Btree *pBt; +#endif /* local variables moved into u.av */ assert( p->bIsReader ); assert( p->readOnly==0 || pOp->p2==0 ); assert( pOp->p1>=0 && pOp->p1nDb ); assert( (p->btreeMask & (((yDbMask)1)<p1))!=0 ); if( pOp->p2 && (db->flags & SQLITE_QueryOnly)!=0 ){ rc = SQLITE_READONLY; goto abort_due_to_error; } - pBt = db->aDb[pOp->p1].pBt; + u.av.pBt = db->aDb[pOp->p1].pBt; - if( pBt ){ - rc = sqlite3BtreeBeginTrans(pBt, pOp->p2); + if( u.av.pBt ){ + rc = sqlite3BtreeBeginTrans(u.av.pBt, pOp->p2); if( rc==SQLITE_BUSY ){ p->pc = pc; p->rc = rc = SQLITE_BUSY; goto vdbe_return; } if( rc!=SQLITE_OK ){ goto abort_due_to_error; } - if( pOp->p2 && p->usesStmtJournal - && (db->autoCommit==0 || db->nVdbeRead>1) + if( pOp->p2 && p->usesStmtJournal + && (db->autoCommit==0 || db->nVdbeRead>1) ){ - assert( sqlite3BtreeIsInTrans(pBt) ); + assert( sqlite3BtreeIsInTrans(u.av.pBt) ); if( p->iStatement==0 ){ assert( db->nStatement>=0 && db->nSavepoint>=0 ); - db->nStatement++; + db->nStatement++; p->iStatement = db->nSavepoint + db->nStatement; } rc = sqlite3VtabSavepoint(db, SAVEPOINT_BEGIN, p->iStatement-1); if( rc==SQLITE_OK ){ - rc = sqlite3BtreeBeginStmt(pBt, p->iStatement); + rc = sqlite3BtreeBeginStmt(u.av.pBt, p->iStatement); } /* Store the current value of the database handles deferred constraint ** counter. If the statement transaction needs to be rolled back, ** the value of this counter needs to be restored too. */ @@ -69472,24 +69598,26 @@ ** There must be a read-lock on the database (either a transaction ** must be started or there must be an open cursor) before ** executing this instruction. */ case OP_ReadCookie: { /* out2-prerelease */ +#if 0 /* local variables moved into u.aw */ int iMeta; int iDb; int iCookie; +#endif /* local variables moved into u.aw */ assert( p->bIsReader ); - iDb = pOp->p1; - iCookie = pOp->p3; + u.aw.iDb = pOp->p1; + u.aw.iCookie = pOp->p3; assert( pOp->p3=0 && iDbnDb ); - assert( db->aDb[iDb].pBt!=0 ); - assert( (p->btreeMask & (((yDbMask)1)<=0 && u.aw.iDbnDb ); + assert( db->aDb[u.aw.iDb].pBt!=0 ); + assert( (p->btreeMask & (((yDbMask)1)<aDb[iDb].pBt, iCookie, (u32 *)&iMeta); - pOut->u.i = iMeta; + sqlite3BtreeGetMeta(db->aDb[u.aw.iDb].pBt, u.aw.iCookie, (u32 *)&u.aw.iMeta); + pOut->u.i = u.aw.iMeta; break; } /* Opcode: SetCookie P1 P2 P3 * * ** @@ -69500,29 +69628,31 @@ ** database file used to store temporary tables. ** ** A transaction must be started before executing this opcode. */ case OP_SetCookie: { /* in3 */ +#if 0 /* local variables moved into u.ax */ Db *pDb; +#endif /* local variables moved into u.ax */ assert( pOp->p2p1>=0 && pOp->p1nDb ); assert( (p->btreeMask & (((yDbMask)1)<p1))!=0 ); assert( p->readOnly==0 ); - pDb = &db->aDb[pOp->p1]; - assert( pDb->pBt!=0 ); + u.ax.pDb = &db->aDb[pOp->p1]; + assert( u.ax.pDb->pBt!=0 ); assert( sqlite3SchemaMutexHeld(db, pOp->p1, 0) ); pIn3 = &aMem[pOp->p3]; sqlite3VdbeMemIntegerify(pIn3); /* See note about index shifting on OP_ReadCookie */ - rc = sqlite3BtreeUpdateMeta(pDb->pBt, pOp->p2, (int)pIn3->u.i); + rc = sqlite3BtreeUpdateMeta(u.ax.pDb->pBt, pOp->p2, (int)pIn3->u.i); if( pOp->p2==BTREE_SCHEMA_VERSION ){ /* When the schema cookie changes, record the new cookie internally */ - pDb->pSchema->schema_cookie = (int)pIn3->u.i; + u.ax.pDb->pSchema->schema_cookie = (int)pIn3->u.i; db->flags |= SQLITE_InternChanges; }else if( pOp->p2==BTREE_FILE_FORMAT ){ /* Record changes in the file format */ - pDb->pSchema->file_format = (u8)pIn3->u.i; + u.ax.pDb->pSchema->file_format = (u8)pIn3->u.i; } if( pOp->p1==1 ){ /* Invalidate all prepared statements whenever the TEMP database ** schema is changed. Ticket #1644 */ sqlite3ExpirePreparedStatements(db); @@ -69548,42 +69678,44 @@ ** Either a transaction needs to have been started or an OP_Open needs ** to be executed (to establish a read lock) before this opcode is ** invoked. */ case OP_VerifyCookie: { +#if 0 /* local variables moved into u.ay */ int iMeta; int iGen; Btree *pBt; +#endif /* local variables moved into u.ay */ assert( pOp->p1>=0 && pOp->p1nDb ); assert( (p->btreeMask & (((yDbMask)1)<p1))!=0 ); assert( sqlite3SchemaMutexHeld(db, pOp->p1, 0) ); assert( p->bIsReader ); - pBt = db->aDb[pOp->p1].pBt; - if( pBt ){ - sqlite3BtreeGetMeta(pBt, BTREE_SCHEMA_VERSION, (u32 *)&iMeta); - iGen = db->aDb[pOp->p1].pSchema->iGeneration; + u.ay.pBt = db->aDb[pOp->p1].pBt; + if( u.ay.pBt ){ + sqlite3BtreeGetMeta(u.ay.pBt, BTREE_SCHEMA_VERSION, (u32 *)&u.ay.iMeta); + u.ay.iGen = db->aDb[pOp->p1].pSchema->iGeneration; }else{ - iGen = iMeta = 0; + u.ay.iGen = u.ay.iMeta = 0; } - if( iMeta!=pOp->p2 || iGen!=pOp->p3 ){ + if( u.ay.iMeta!=pOp->p2 || u.ay.iGen!=pOp->p3 ){ sqlite3DbFree(db, p->zErrMsg); p->zErrMsg = sqlite3DbStrDup(db, "database schema has changed"); - /* If the schema-cookie from the database file matches the cookie + /* If the schema-cookie from the database file matches the cookie ** stored with the in-memory representation of the schema, do ** not reload the schema from the database file. ** ** If virtual-tables are in use, this is not just an optimization. ** Often, v-tables store their data in other SQLite tables, which ** are queried from within xNext() and other v-table methods using ** prepared queries. If such a query is out-of-date, we do not want to ** discard the database schema, as the user code implementing the ** v-table would have to be ready for the sqlite3_vtab structure itself - ** to be invalidated whenever sqlite3_step() is called from within + ** to be invalidated whenever sqlite3_step() is called from within ** a v-table method. */ - if( db->aDb[pOp->p1].pSchema->schema_cookie!=iMeta ){ + if( db->aDb[pOp->p1].pSchema->schema_cookie!=u.ay.iMeta ){ sqlite3ResetOneSchema(db, pOp->p1); } p->expired = 1; rc = SQLITE_SCHEMA; @@ -69642,18 +69774,20 @@ ** ** See also OpenRead. */ case OP_OpenRead: case OP_OpenWrite: { +#if 0 /* local variables moved into u.az */ int nField; KeyInfo *pKeyInfo; int p2; int iDb; int wrFlag; Btree *pX; VdbeCursor *pCur; Db *pDb; +#endif /* local variables moved into u.az */ assert( (pOp->p5&(OPFLAG_P2ISREG|OPFLAG_BULKCSR))==pOp->p5 ); assert( pOp->opcode==OP_OpenWrite || pOp->p5==0 ); assert( p->bIsReader ); assert( pOp->opcode==OP_OpenRead || p->readOnly==0 ); @@ -69661,74 +69795,74 @@ if( p->expired ){ rc = SQLITE_ABORT; break; } - nField = 0; - pKeyInfo = 0; - p2 = pOp->p2; - iDb = pOp->p3; - assert( iDb>=0 && iDbnDb ); - assert( (p->btreeMask & (((yDbMask)1)<aDb[iDb]; - pX = pDb->pBt; - assert( pX!=0 ); + u.az.nField = 0; + u.az.pKeyInfo = 0; + u.az.p2 = pOp->p2; + u.az.iDb = pOp->p3; + assert( u.az.iDb>=0 && u.az.iDbnDb ); + assert( (p->btreeMask & (((yDbMask)1)<aDb[u.az.iDb]; + u.az.pX = u.az.pDb->pBt; + assert( u.az.pX!=0 ); if( pOp->opcode==OP_OpenWrite ){ - wrFlag = 1; - assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); - if( pDb->pSchema->file_format < p->minWriteFileFormat ){ - p->minWriteFileFormat = pDb->pSchema->file_format; + u.az.wrFlag = 1; + assert( sqlite3SchemaMutexHeld(db, u.az.iDb, 0) ); + if( u.az.pDb->pSchema->file_format < p->minWriteFileFormat ){ + p->minWriteFileFormat = u.az.pDb->pSchema->file_format; } }else{ - wrFlag = 0; + u.az.wrFlag = 0; } if( pOp->p5 & OPFLAG_P2ISREG ){ - assert( p2>0 ); - assert( p2<=(p->nMem-p->nCursor) ); - pIn2 = &aMem[p2]; + assert( u.az.p2>0 ); + assert( u.az.p2<=(p->nMem-p->nCursor) ); + pIn2 = &aMem[u.az.p2]; assert( memIsValid(pIn2) ); assert( (pIn2->flags & MEM_Int)!=0 ); sqlite3VdbeMemIntegerify(pIn2); - p2 = (int)pIn2->u.i; - /* The p2 value always comes from a prior OP_CreateTable opcode and - ** that opcode will always set the p2 value to 2 or more or else fail. + u.az.p2 = (int)pIn2->u.i; + /* The u.az.p2 value always comes from a prior OP_CreateTable opcode and + ** that opcode will always set the u.az.p2 value to 2 or more or else fail. ** If there were a failure, the prepared statement would have halted ** before reaching this instruction. */ - if( NEVER(p2<2) ) { + if( NEVER(u.az.p2<2) ) { rc = SQLITE_CORRUPT_BKPT; goto abort_due_to_error; } } if( pOp->p4type==P4_KEYINFO ){ - pKeyInfo = pOp->p4.pKeyInfo; - assert( pKeyInfo->enc==ENC(db) ); - assert( pKeyInfo->db==db ); - nField = pKeyInfo->nField+pKeyInfo->nXField; + u.az.pKeyInfo = pOp->p4.pKeyInfo; + assert( u.az.pKeyInfo->enc==ENC(db) ); + assert( u.az.pKeyInfo->db==db ); + u.az.nField = u.az.pKeyInfo->nField+u.az.pKeyInfo->nXField; }else if( pOp->p4type==P4_INT32 ){ - nField = pOp->p4.i; + u.az.nField = pOp->p4.i; } assert( pOp->p1>=0 ); - assert( nField>=0 ); - testcase( nField==0 ); /* Table with INTEGER PRIMARY KEY and nothing else */ - pCur = allocateCursor(p, pOp->p1, nField, iDb, 1); - if( pCur==0 ) goto no_mem; - pCur->nullRow = 1; - pCur->isOrdered = 1; - rc = sqlite3BtreeCursor(pX, p2, wrFlag, pKeyInfo, pCur->pCursor); - pCur->pKeyInfo = pKeyInfo; + assert( u.az.nField>=0 ); + testcase( u.az.nField==0 ); /* Table with INTEGER PRIMARY KEY and nothing else */ + u.az.pCur = allocateCursor(p, pOp->p1, u.az.nField, u.az.iDb, 1); + if( u.az.pCur==0 ) goto no_mem; + u.az.pCur->nullRow = 1; + u.az.pCur->isOrdered = 1; + rc = sqlite3BtreeCursor(u.az.pX, u.az.p2, u.az.wrFlag, u.az.pKeyInfo, u.az.pCur->pCursor); + u.az.pCur->pKeyInfo = u.az.pKeyInfo; assert( OPFLAG_BULKCSR==BTREE_BULKLOAD ); - sqlite3BtreeCursorHints(pCur->pCursor, (pOp->p5 & OPFLAG_BULKCSR)); + sqlite3BtreeCursorHints(u.az.pCur->pCursor, (pOp->p5 & OPFLAG_BULKCSR)); /* Since it performs no memory allocation or IO, the only value that ** sqlite3BtreeCursor() may return is SQLITE_OK. */ assert( rc==SQLITE_OK ); /* Set the VdbeCursor.isTable variable. Previous versions of ** SQLite used to check if the root-page flags were sane at this point ** and report database corruption if they were not, but this check has - ** since moved into the btree layer. */ - pCur->isTable = pOp->p4type!=P4_KEYINFO; + ** since moved into the btree layer. */ + u.az.pCur->isTable = pOp->p4type!=P4_KEYINFO; break; } /* Opcode: OpenEphemeral P1 P2 * P4 P5 ** Synopsis: nColumn=P2 @@ -69756,53 +69890,55 @@ ** by this opcode will be used for automatically created transient ** indices in joins. */ case OP_OpenAutoindex: case OP_OpenEphemeral: { +#if 0 /* local variables moved into u.ba */ VdbeCursor *pCx; KeyInfo *pKeyInfo; +#endif /* local variables moved into u.ba */ - static const int vfsFlags = + static const int vfsFlags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_TRANSIENT_DB; assert( pOp->p1>=0 ); assert( pOp->p2>=0 ); - pCx = allocateCursor(p, pOp->p1, pOp->p2, -1, 1); - if( pCx==0 ) goto no_mem; - pCx->nullRow = 1; - rc = sqlite3BtreeOpen(db->pVfs, 0, db, &pCx->pBt, + u.ba.pCx = allocateCursor(p, pOp->p1, pOp->p2, -1, 1); + if( u.ba.pCx==0 ) goto no_mem; + u.ba.pCx->nullRow = 1; + rc = sqlite3BtreeOpen(db->pVfs, 0, db, &u.ba.pCx->pBt, BTREE_OMIT_JOURNAL | BTREE_SINGLE | pOp->p5, vfsFlags); if( rc==SQLITE_OK ){ - rc = sqlite3BtreeBeginTrans(pCx->pBt, 1); + rc = sqlite3BtreeBeginTrans(u.ba.pCx->pBt, 1); } if( rc==SQLITE_OK ){ /* If a transient index is required, create it by calling ** sqlite3BtreeCreateTable() with the BTREE_BLOBKEY flag before ** opening it. If a transient table is required, just use the ** automatically created table with root-page 1 (an BLOB_INTKEY table). */ - if( (pKeyInfo = pOp->p4.pKeyInfo)!=0 ){ + if( (u.ba.pKeyInfo = pOp->p4.pKeyInfo)!=0 ){ int pgno; assert( pOp->p4type==P4_KEYINFO ); - rc = sqlite3BtreeCreateTable(pCx->pBt, &pgno, BTREE_BLOBKEY | pOp->p5); + rc = sqlite3BtreeCreateTable(u.ba.pCx->pBt, &pgno, BTREE_BLOBKEY | pOp->p5); if( rc==SQLITE_OK ){ assert( pgno==MASTER_ROOT+1 ); - assert( pKeyInfo->db==db ); - assert( pKeyInfo->enc==ENC(db) ); - pCx->pKeyInfo = pKeyInfo; - rc = sqlite3BtreeCursor(pCx->pBt, pgno, 1, pKeyInfo, pCx->pCursor); - } - pCx->isTable = 0; - }else{ - rc = sqlite3BtreeCursor(pCx->pBt, MASTER_ROOT, 1, 0, pCx->pCursor); - pCx->isTable = 1; + assert( u.ba.pKeyInfo->db==db ); + assert( u.ba.pKeyInfo->enc==ENC(db) ); + u.ba.pCx->pKeyInfo = u.ba.pKeyInfo; + rc = sqlite3BtreeCursor(u.ba.pCx->pBt, pgno, 1, u.ba.pKeyInfo, u.ba.pCx->pCursor); + } + u.ba.pCx->isTable = 0; + }else{ + rc = sqlite3BtreeCursor(u.ba.pCx->pBt, MASTER_ROOT, 1, 0, u.ba.pCx->pCursor); + u.ba.pCx->isTable = 1; } } - pCx->isOrdered = (pOp->p5!=BTREE_UNORDERED); + u.ba.pCx->isOrdered = (pOp->p5!=BTREE_UNORDERED); break; } /* Opcode: SorterOpen P1 * * P4 * ** @@ -69809,20 +69945,22 @@ ** This opcode works like OP_OpenEphemeral except that it opens ** a transient index that is specifically designed to sort large ** tables using an external merge-sort algorithm. */ case OP_SorterOpen: { +#if 0 /* local variables moved into u.bb */ VdbeCursor *pCx; +#endif /* local variables moved into u.bb */ assert( pOp->p1>=0 ); assert( pOp->p2>=0 ); - pCx = allocateCursor(p, pOp->p1, pOp->p2, -1, 1); - if( pCx==0 ) goto no_mem; - pCx->pKeyInfo = pOp->p4.pKeyInfo; - assert( pCx->pKeyInfo->db==db ); - assert( pCx->pKeyInfo->enc==ENC(db) ); - rc = sqlite3VdbeSorterInit(db, pCx); + u.bb.pCx = allocateCursor(p, pOp->p1, pOp->p2, -1, 1); + if( u.bb.pCx==0 ) goto no_mem; + u.bb.pCx->pKeyInfo = pOp->p4.pKeyInfo; + assert( u.bb.pCx->pKeyInfo->db==db ); + assert( u.bb.pCx->pKeyInfo->enc==ENC(db) ); + rc = sqlite3VdbeSorterInit(db, u.bb.pCx); break; } /* Opcode: OpenPseudo P1 P2 P3 * P5 ** Synopsis: content in r[P2@P3] @@ -69840,20 +69978,22 @@ ** ** P3 is the number of fields in the records that will be stored by ** the pseudo-table. */ case OP_OpenPseudo: { +#if 0 /* local variables moved into u.bc */ VdbeCursor *pCx; +#endif /* local variables moved into u.bc */ assert( pOp->p1>=0 ); assert( pOp->p3>=0 ); - pCx = allocateCursor(p, pOp->p1, pOp->p3, -1, 0); - if( pCx==0 ) goto no_mem; - pCx->nullRow = 1; - pCx->pseudoTableReg = pOp->p2; - pCx->isTable = 1; - pCx->multiPseudo = pOp->p5; + u.bc.pCx = allocateCursor(p, pOp->p1, pOp->p3, -1, 0); + if( u.bc.pCx==0 ) goto no_mem; + u.bc.pCx->nullRow = 1; + u.bc.pCx->pseudoTableReg = pOp->p2; + u.bc.pCx->isTable = 1; + u.bc.pCx->multiPseudo = pOp->p5; break; } /* Opcode: Close P1 * * * * ** @@ -69925,37 +70065,39 @@ */ case OP_SeekLt: /* jump, in3 */ case OP_SeekLe: /* jump, in3 */ case OP_SeekGe: /* jump, in3 */ case OP_SeekGt: { /* jump, in3 */ +#if 0 /* local variables moved into u.bd */ int res; int oc; VdbeCursor *pC; UnpackedRecord r; int nField; i64 iKey; /* The rowid we are to seek to */ +#endif /* local variables moved into u.bd */ assert( pOp->p1>=0 && pOp->p1nCursor ); assert( pOp->p2!=0 ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( pC->pseudoTableReg==0 ); + u.bd.pC = p->apCsr[pOp->p1]; + assert( u.bd.pC!=0 ); + assert( u.bd.pC->pseudoTableReg==0 ); assert( OP_SeekLe == OP_SeekLt+1 ); assert( OP_SeekGe == OP_SeekLt+2 ); assert( OP_SeekGt == OP_SeekLt+3 ); - assert( pC->isOrdered ); - assert( pC->pCursor!=0 ); - oc = pOp->opcode; - pC->nullRow = 0; - if( pC->isTable ){ + assert( u.bd.pC->isOrdered ); + assert( u.bd.pC->pCursor!=0 ); + u.bd.oc = pOp->opcode; + u.bd.pC->nullRow = 0; + if( u.bd.pC->isTable ){ /* The input value in P3 might be of any type: integer, real, string, ** blob, or NULL. But it needs to be an integer before we can do ** the seek, so covert it. */ pIn3 = &aMem[pOp->p3]; applyNumericAffinity(pIn3); - iKey = sqlite3VdbeIntValue(pIn3); - pC->rowidIsValid = 0; + u.bd.iKey = sqlite3VdbeIntValue(pIn3); + u.bd.pC->rowidIsValid = 0; /* If the P3 value could not be converted into an integer without ** loss of information, then special processing is required... */ if( (pIn3->flags & MEM_Int)==0 ){ if( (pIn3->flags & MEM_Real)==0 ){ @@ -69963,100 +70105,100 @@ ** then the seek is not possible, so jump to P2 */ pc = pOp->p2 - 1; break; } - /* If the approximation iKey is larger than the actual real search + /* If the approximation u.bd.iKey is larger than the actual real search ** term, substitute >= for > and < for <=. e.g. if the search term ** is 4.9 and the integer approximation 5: ** ** (x > 4.9) -> (x >= 5) ** (x <= 4.9) -> (x < 5) */ - if( pIn3->r<(double)iKey ){ - assert( OP_SeekGe==(OP_SeekGt-1) ); - assert( OP_SeekLt==(OP_SeekLe-1) ); - assert( (OP_SeekLe & 0x0001)==(OP_SeekGt & 0x0001) ); - if( (oc & 0x0001)==(OP_SeekGt & 0x0001) ) oc--; - } - - /* If the approximation iKey is smaller than the actual real search - ** term, substitute <= for < and > for >=. */ - else if( pIn3->r>(double)iKey ){ - assert( OP_SeekLe==(OP_SeekLt+1) ); - assert( OP_SeekGt==(OP_SeekGe+1) ); - assert( (OP_SeekLt & 0x0001)==(OP_SeekGe & 0x0001) ); - if( (oc & 0x0001)==(OP_SeekLt & 0x0001) ) oc++; - } - } - rc = sqlite3BtreeMovetoUnpacked(pC->pCursor, 0, (u64)iKey, 0, &res); - if( rc!=SQLITE_OK ){ - goto abort_due_to_error; - } - if( res==0 ){ - pC->rowidIsValid = 1; - pC->lastRowid = iKey; - } - }else{ - nField = pOp->p4.i; - assert( pOp->p4type==P4_INT32 ); - assert( nField>0 ); - r.pKeyInfo = pC->pKeyInfo; - r.nField = (u16)nField; - - /* The next line of code computes as follows, only faster: - ** if( oc==OP_SeekGt || oc==OP_SeekLe ){ - ** r.flags = UNPACKED_INCRKEY; - ** }else{ - ** r.flags = 0; - ** } - */ - r.flags = (u8)(UNPACKED_INCRKEY * (1 & (oc - OP_SeekLt))); - assert( oc!=OP_SeekGt || r.flags==UNPACKED_INCRKEY ); - assert( oc!=OP_SeekLe || r.flags==UNPACKED_INCRKEY ); - assert( oc!=OP_SeekGe || r.flags==0 ); - assert( oc!=OP_SeekLt || r.flags==0 ); - - r.aMem = &aMem[pOp->p3]; -#ifdef SQLITE_DEBUG - { int i; for(i=0; ipCursor, &r, 0, 0, &res); - if( rc!=SQLITE_OK ){ - goto abort_due_to_error; - } - pC->rowidIsValid = 0; - } - pC->deferredMoveto = 0; - pC->cacheStatus = CACHE_STALE; -#ifdef SQLITE_TEST - sqlite3_search_count++; -#endif - if( oc>=OP_SeekGe ){ assert( oc==OP_SeekGe || oc==OP_SeekGt ); - if( res<0 || (res==0 && oc==OP_SeekGt) ){ - rc = sqlite3BtreeNext(pC->pCursor, &res); - if( rc!=SQLITE_OK ) goto abort_due_to_error; - pC->rowidIsValid = 0; - }else{ - res = 0; - } - }else{ - assert( oc==OP_SeekLt || oc==OP_SeekLe ); - if( res>0 || (res==0 && oc==OP_SeekLt) ){ - rc = sqlite3BtreePrevious(pC->pCursor, &res); - if( rc!=SQLITE_OK ) goto abort_due_to_error; - pC->rowidIsValid = 0; - }else{ - /* res might be negative because the table is empty. Check to - ** see if this is the case. - */ - res = sqlite3BtreeEof(pC->pCursor); - } - } - assert( pOp->p2>0 ); - if( res ){ + if( pIn3->r<(double)u.bd.iKey ){ + assert( OP_SeekGe==(OP_SeekGt-1) ); + assert( OP_SeekLt==(OP_SeekLe-1) ); + assert( (OP_SeekLe & 0x0001)==(OP_SeekGt & 0x0001) ); + if( (u.bd.oc & 0x0001)==(OP_SeekGt & 0x0001) ) u.bd.oc--; + } + + /* If the approximation u.bd.iKey is smaller than the actual real search + ** term, substitute <= for < and > for >=. */ + else if( pIn3->r>(double)u.bd.iKey ){ + assert( OP_SeekLe==(OP_SeekLt+1) ); + assert( OP_SeekGt==(OP_SeekGe+1) ); + assert( (OP_SeekLt & 0x0001)==(OP_SeekGe & 0x0001) ); + if( (u.bd.oc & 0x0001)==(OP_SeekLt & 0x0001) ) u.bd.oc++; + } + } + rc = sqlite3BtreeMovetoUnpacked(u.bd.pC->pCursor, 0, (u64)u.bd.iKey, 0, &u.bd.res); + if( rc!=SQLITE_OK ){ + goto abort_due_to_error; + } + if( u.bd.res==0 ){ + u.bd.pC->rowidIsValid = 1; + u.bd.pC->lastRowid = u.bd.iKey; + } + }else{ + u.bd.nField = pOp->p4.i; + assert( pOp->p4type==P4_INT32 ); + assert( u.bd.nField>0 ); + u.bd.r.pKeyInfo = u.bd.pC->pKeyInfo; + u.bd.r.nField = (u16)u.bd.nField; + + /* The next line of code computes as follows, only faster: + ** if( u.bd.oc==OP_SeekGt || u.bd.oc==OP_SeekLe ){ + ** u.bd.r.flags = UNPACKED_INCRKEY; + ** }else{ + ** u.bd.r.flags = 0; + ** } + */ + u.bd.r.flags = (u8)(UNPACKED_INCRKEY * (1 & (u.bd.oc - OP_SeekLt))); + assert( u.bd.oc!=OP_SeekGt || u.bd.r.flags==UNPACKED_INCRKEY ); + assert( u.bd.oc!=OP_SeekLe || u.bd.r.flags==UNPACKED_INCRKEY ); + assert( u.bd.oc!=OP_SeekGe || u.bd.r.flags==0 ); + assert( u.bd.oc!=OP_SeekLt || u.bd.r.flags==0 ); + + u.bd.r.aMem = &aMem[pOp->p3]; +#ifdef SQLITE_DEBUG + { int i; for(i=0; ipCursor, &u.bd.r, 0, 0, &u.bd.res); + if( rc!=SQLITE_OK ){ + goto abort_due_to_error; + } + u.bd.pC->rowidIsValid = 0; + } + u.bd.pC->deferredMoveto = 0; + u.bd.pC->cacheStatus = CACHE_STALE; +#ifdef SQLITE_TEST + sqlite3_search_count++; +#endif + if( u.bd.oc>=OP_SeekGe ){ assert( u.bd.oc==OP_SeekGe || u.bd.oc==OP_SeekGt ); + if( u.bd.res<0 || (u.bd.res==0 && u.bd.oc==OP_SeekGt) ){ + rc = sqlite3BtreeNext(u.bd.pC->pCursor, &u.bd.res); + if( rc!=SQLITE_OK ) goto abort_due_to_error; + u.bd.pC->rowidIsValid = 0; + }else{ + u.bd.res = 0; + } + }else{ + assert( u.bd.oc==OP_SeekLt || u.bd.oc==OP_SeekLe ); + if( u.bd.res>0 || (u.bd.res==0 && u.bd.oc==OP_SeekLt) ){ + rc = sqlite3BtreePrevious(u.bd.pC->pCursor, &u.bd.res); + if( rc!=SQLITE_OK ) goto abort_due_to_error; + u.bd.pC->rowidIsValid = 0; + }else{ + /* u.bd.res might be negative because the table is empty. Check to + ** see if this is the case. + */ + u.bd.res = sqlite3BtreeEof(u.bd.pC->pCursor); + } + } + assert( pOp->p2>0 ); + if( u.bd.res ){ pc = pOp->p2 - 1; } break; } @@ -70069,22 +70211,24 @@ ** This is actually a deferred seek. Nothing actually happens until ** the cursor is used to read a record. That way, if no reads ** occur, no unnecessary I/O happens. */ case OP_Seek: { /* in2 */ +#if 0 /* local variables moved into u.be */ VdbeCursor *pC; +#endif /* local variables moved into u.be */ assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( pC->pCursor!=0 ); - assert( pC->isTable ); - pC->nullRow = 0; + u.be.pC = p->apCsr[pOp->p1]; + assert( u.be.pC!=0 ); + assert( u.be.pC->pCursor!=0 ); + assert( u.be.pC->isTable ); + u.be.pC->nullRow = 0; pIn2 = &aMem[pOp->p2]; - pC->movetoTarget = sqlite3VdbeIntValue(pIn2); - pC->rowidIsValid = 0; - pC->deferredMoveto = 1; + u.be.pC->movetoTarget = sqlite3VdbeIntValue(pIn2); + u.be.pC->rowidIsValid = 0; + u.be.pC->deferredMoveto = 1; break; } /* Opcode: Found P1 P2 P3 P4 * @@ -70135,83 +70279,85 @@ ** See also: NotFound, Found, NotExists */ case OP_NoConflict: /* jump, in3 */ case OP_NotFound: /* jump, in3 */ case OP_Found: { /* jump, in3 */ +#if 0 /* local variables moved into u.bf */ int alreadyExists; int ii; VdbeCursor *pC; int res; char *pFree; UnpackedRecord *pIdxKey; UnpackedRecord r; char aTempRec[ROUND8(sizeof(UnpackedRecord)) + sizeof(Mem)*4 + 7]; +#endif /* local variables moved into u.bf */ #ifdef SQLITE_TEST if( pOp->opcode!=OP_NoConflict ) sqlite3_found_count++; #endif + u.bf.alreadyExists = 0; assert( pOp->p1>=0 && pOp->p1nCursor ); assert( pOp->p4type==P4_INT32 ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); + u.bf.pC = p->apCsr[pOp->p1]; + assert( u.bf.pC!=0 ); pIn3 = &aMem[pOp->p3]; - assert( pC->pCursor!=0 ); - assert( pC->isTable==0 ); - pFree = 0; /* Not needed. Only used to suppress a compiler warning. */ + assert( u.bf.pC->pCursor!=0 ); + assert( u.bf.pC->isTable==0 ); if( pOp->p4.i>0 ){ - r.pKeyInfo = pC->pKeyInfo; - r.nField = (u16)pOp->p4.i; - r.aMem = pIn3; + u.bf.r.pKeyInfo = u.bf.pC->pKeyInfo; + u.bf.r.nField = (u16)pOp->p4.i; + u.bf.r.aMem = pIn3; #ifdef SQLITE_DEBUG { int i; - for(i=0; ip3+i, &r.aMem[i]); + for(i=0; ip3+i, &u.bf.r.aMem[i]); } } #endif - r.flags = UNPACKED_PREFIX_MATCH; - pIdxKey = &r; + u.bf.r.flags = UNPACKED_PREFIX_MATCH; + u.bf.pIdxKey = &u.bf.r; }else{ - pIdxKey = sqlite3VdbeAllocUnpackedRecord( - pC->pKeyInfo, aTempRec, sizeof(aTempRec), &pFree - ); - if( pIdxKey==0 ) goto no_mem; + u.bf.pIdxKey = sqlite3VdbeAllocUnpackedRecord( + u.bf.pC->pKeyInfo, u.bf.aTempRec, sizeof(u.bf.aTempRec), &u.bf.pFree + ); + if( u.bf.pIdxKey==0 ) goto no_mem; assert( pIn3->flags & MEM_Blob ); assert( (pIn3->flags & MEM_Zero)==0 ); /* zeroblobs already expanded */ - sqlite3VdbeRecordUnpack(pC->pKeyInfo, pIn3->n, pIn3->z, pIdxKey); - pIdxKey->flags |= UNPACKED_PREFIX_MATCH; + sqlite3VdbeRecordUnpack(u.bf.pC->pKeyInfo, pIn3->n, pIn3->z, u.bf.pIdxKey); + u.bf.pIdxKey->flags |= UNPACKED_PREFIX_MATCH; } if( pOp->opcode==OP_NoConflict ){ /* For the OP_NoConflict opcode, take the jump if any of the ** input fields are NULL, since any key with a NULL will not ** conflict */ - for(ii=0; iip2 - 1; break; } } } - rc = sqlite3BtreeMovetoUnpacked(pC->pCursor, pIdxKey, 0, 0, &res); + rc = sqlite3BtreeMovetoUnpacked(u.bf.pC->pCursor, u.bf.pIdxKey, 0, 0, &u.bf.res); if( pOp->p4.i==0 ){ - sqlite3DbFree(db, pFree); + sqlite3DbFree(db, u.bf.pFree); } if( rc!=SQLITE_OK ){ break; } - pC->seekResult = res; - alreadyExists = (res==0); - pC->nullRow = 1-alreadyExists; - pC->deferredMoveto = 0; - pC->cacheStatus = CACHE_STALE; + u.bf.pC->seekResult = u.bf.res; + u.bf.alreadyExists = (u.bf.res==0); + u.bf.pC->nullRow = 1-u.bf.alreadyExists; + u.bf.pC->deferredMoveto = 0; + u.bf.pC->cacheStatus = CACHE_STALE; if( pOp->opcode==OP_Found ){ - if( alreadyExists ) pc = pOp->p2 - 1; + if( u.bf.alreadyExists ) pc = pOp->p2 - 1; }else{ - if( !alreadyExists ) pc = pOp->p2 - 1; + if( !u.bf.alreadyExists ) pc = pOp->p2 - 1; } break; } /* Opcode: NotExists P1 P2 P3 * * @@ -70227,37 +70373,39 @@ ** (with arbitrary multi-value keys). ** ** See also: Found, NotFound, NoConflict */ case OP_NotExists: { /* jump, in3 */ +#if 0 /* local variables moved into u.bg */ VdbeCursor *pC; BtCursor *pCrsr; int res; u64 iKey; +#endif /* local variables moved into u.bg */ pIn3 = &aMem[pOp->p3]; assert( pIn3->flags & MEM_Int ); assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( pC->isTable ); - assert( pC->pseudoTableReg==0 ); - pCrsr = pC->pCursor; - assert( pCrsr!=0 ); - res = 0; - iKey = pIn3->u.i; - rc = sqlite3BtreeMovetoUnpacked(pCrsr, 0, iKey, 0, &res); - pC->lastRowid = pIn3->u.i; - pC->rowidIsValid = res==0 ?1:0; - pC->nullRow = 0; - pC->cacheStatus = CACHE_STALE; - pC->deferredMoveto = 0; - if( res!=0 ){ + u.bg.pC = p->apCsr[pOp->p1]; + assert( u.bg.pC!=0 ); + assert( u.bg.pC->isTable ); + assert( u.bg.pC->pseudoTableReg==0 ); + u.bg.pCrsr = u.bg.pC->pCursor; + assert( u.bg.pCrsr!=0 ); + u.bg.res = 0; + u.bg.iKey = pIn3->u.i; + rc = sqlite3BtreeMovetoUnpacked(u.bg.pCrsr, 0, u.bg.iKey, 0, &u.bg.res); + u.bg.pC->lastRowid = pIn3->u.i; + u.bg.pC->rowidIsValid = u.bg.res==0 ?1:0; + u.bg.pC->nullRow = 0; + u.bg.pC->cacheStatus = CACHE_STALE; + u.bg.pC->deferredMoveto = 0; + if( u.bg.res!=0 ){ pc = pOp->p2 - 1; - assert( pC->rowidIsValid==0 ); + assert( u.bg.pC->rowidIsValid==0 ); } - pC->seekResult = res; + u.bg.pC->seekResult = u.bg.res; break; } /* Opcode: Sequence P1 P2 * * * ** Synopsis: r[P2]=rowid @@ -70289,23 +70437,25 @@ ** an SQLITE_FULL error is generated. The P3 register is updated with the ' ** generated record number. This P3 mechanism is used to help implement the ** AUTOINCREMENT feature. */ case OP_NewRowid: { /* out2-prerelease */ +#if 0 /* local variables moved into u.bh */ i64 v; /* The new rowid */ VdbeCursor *pC; /* Cursor of table to get the new rowid */ int res; /* Result of an sqlite3BtreeLast() */ int cnt; /* Counter to limit the number of searches */ Mem *pMem; /* Register holding largest rowid for AUTOINCREMENT */ VdbeFrame *pFrame; /* Root frame of VDBE */ +#endif /* local variables moved into u.bh */ - v = 0; - res = 0; + u.bh.v = 0; + u.bh.res = 0; assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - if( NEVER(pC->pCursor==0) ){ + u.bh.pC = p->apCsr[pOp->p1]; + assert( u.bh.pC!=0 ); + if( NEVER(u.bh.pC->pCursor==0) ){ /* The zero initialization above is all that is needed */ }else{ /* The next rowid or record number (different terms for the same ** thing) is obtained in a two-step algorithm. ** @@ -70317,11 +70467,11 @@ ** The second algorithm is to select a rowid at random and see if ** it already exists in the table. If it does not exist, we have ** succeeded. If the random rowid does exist, we select a new one ** and try again, up to 100 times. */ - assert( pC->isTable ); + assert( u.bh.pC->isTable ); #ifdef SQLITE_32BIT_ROWID # define MAX_ROWID 0x7fffffff #else /* Some compilers complain about constants of the form 0x7fffffffffffffff. @@ -70329,101 +70479,101 @@ ** to provide the constant while making all compilers happy. */ # define MAX_ROWID (i64)( (((u64)0x7fffffff)<<32) | (u64)0xffffffff ) #endif - if( !pC->useRandomRowid ){ - v = sqlite3BtreeGetCachedRowid(pC->pCursor); - if( v==0 ){ - rc = sqlite3BtreeLast(pC->pCursor, &res); + if( !u.bh.pC->useRandomRowid ){ + u.bh.v = sqlite3BtreeGetCachedRowid(u.bh.pC->pCursor); + if( u.bh.v==0 ){ + rc = sqlite3BtreeLast(u.bh.pC->pCursor, &u.bh.res); if( rc!=SQLITE_OK ){ goto abort_due_to_error; } - if( res ){ - v = 1; /* IMP: R-61914-48074 */ + if( u.bh.res ){ + u.bh.v = 1; /* IMP: R-61914-48074 */ }else{ - assert( sqlite3BtreeCursorIsValid(pC->pCursor) ); - rc = sqlite3BtreeKeySize(pC->pCursor, &v); + assert( sqlite3BtreeCursorIsValid(u.bh.pC->pCursor) ); + rc = sqlite3BtreeKeySize(u.bh.pC->pCursor, &u.bh.v); assert( rc==SQLITE_OK ); /* Cannot fail following BtreeLast() */ - if( v>=MAX_ROWID ){ - pC->useRandomRowid = 1; + if( u.bh.v>=MAX_ROWID ){ + u.bh.pC->useRandomRowid = 1; }else{ - v++; /* IMP: R-29538-34987 */ + u.bh.v++; /* IMP: R-29538-34987 */ } } } #ifndef SQLITE_OMIT_AUTOINCREMENT if( pOp->p3 ){ /* Assert that P3 is a valid memory cell. */ assert( pOp->p3>0 ); if( p->pFrame ){ - for(pFrame=p->pFrame; pFrame->pParent; pFrame=pFrame->pParent); + for(u.bh.pFrame=p->pFrame; u.bh.pFrame->pParent; u.bh.pFrame=u.bh.pFrame->pParent); /* Assert that P3 is a valid memory cell. */ - assert( pOp->p3<=pFrame->nMem ); - pMem = &pFrame->aMem[pOp->p3]; + assert( pOp->p3<=u.bh.pFrame->nMem ); + u.bh.pMem = &u.bh.pFrame->aMem[pOp->p3]; }else{ /* Assert that P3 is a valid memory cell. */ assert( pOp->p3<=(p->nMem-p->nCursor) ); - pMem = &aMem[pOp->p3]; - memAboutToChange(p, pMem); - } - assert( memIsValid(pMem) ); - - REGISTER_TRACE(pOp->p3, pMem); - sqlite3VdbeMemIntegerify(pMem); - assert( (pMem->flags & MEM_Int)!=0 ); /* mem(P3) holds an integer */ - if( pMem->u.i==MAX_ROWID || pC->useRandomRowid ){ + u.bh.pMem = &aMem[pOp->p3]; + memAboutToChange(p, u.bh.pMem); + } + assert( memIsValid(u.bh.pMem) ); + + REGISTER_TRACE(pOp->p3, u.bh.pMem); + sqlite3VdbeMemIntegerify(u.bh.pMem); + assert( (u.bh.pMem->flags & MEM_Int)!=0 ); /* mem(P3) holds an integer */ + if( u.bh.pMem->u.i==MAX_ROWID || u.bh.pC->useRandomRowid ){ rc = SQLITE_FULL; /* IMP: R-12275-61338 */ goto abort_due_to_error; } - if( vu.i+1 ){ - v = pMem->u.i + 1; + if( u.bh.vu.i+1 ){ + u.bh.v = u.bh.pMem->u.i + 1; } - pMem->u.i = v; + u.bh.pMem->u.i = u.bh.v; } #endif - sqlite3BtreeSetCachedRowid(pC->pCursor, vpCursor, u.bh.vuseRandomRowid ){ + if( u.bh.pC->useRandomRowid ){ /* IMPLEMENTATION-OF: R-07677-41881 If the largest ROWID is equal to the ** largest possible integer (9223372036854775807) then the database ** engine starts picking positive candidate ROWIDs at random until ** it finds one that is not previously used. */ assert( pOp->p3==0 ); /* We cannot be in random rowid mode if this is ** an AUTOINCREMENT table. */ /* on the first attempt, simply do one more than previous */ - v = lastRowid; - v &= (MAX_ROWID>>1); /* ensure doesn't go negative */ - v++; /* ensure non-zero */ - cnt = 0; - while( ((rc = sqlite3BtreeMovetoUnpacked(pC->pCursor, 0, (u64)v, - 0, &res))==SQLITE_OK) - && (res==0) - && (++cnt<100)){ + u.bh.v = lastRowid; + u.bh.v &= (MAX_ROWID>>1); /* ensure doesn't go negative */ + u.bh.v++; /* ensure non-zero */ + u.bh.cnt = 0; + while( ((rc = sqlite3BtreeMovetoUnpacked(u.bh.pC->pCursor, 0, (u64)u.bh.v, + 0, &u.bh.res))==SQLITE_OK) + && (u.bh.res==0) + && (++u.bh.cnt<100)){ /* collision - try another random rowid */ - sqlite3_randomness(sizeof(v), &v); - if( cnt<5 ){ + sqlite3_randomness(sizeof(u.bh.v), &u.bh.v); + if( u.bh.cnt<5 ){ /* try "small" random rowids for the initial attempts */ - v &= 0xffffff; + u.bh.v &= 0xffffff; }else{ - v &= (MAX_ROWID>>1); /* ensure doesn't go negative */ + u.bh.v &= (MAX_ROWID>>1); /* ensure doesn't go negative */ } - v++; /* ensure non-zero */ + u.bh.v++; /* ensure non-zero */ } - if( rc==SQLITE_OK && res==0 ){ + if( rc==SQLITE_OK && u.bh.res==0 ){ rc = SQLITE_FULL; /* IMP: R-38219-53002 */ goto abort_due_to_error; } - assert( v>0 ); /* EV: R-40812-03570 */ + assert( u.bh.v>0 ); /* EV: R-40812-03570 */ } - pC->rowidIsValid = 0; - pC->deferredMoveto = 0; - pC->cacheStatus = CACHE_STALE; + u.bh.pC->rowidIsValid = 0; + u.bh.pC->deferredMoveto = 0; + u.bh.pC->cacheStatus = CACHE_STALE; } - pOut->u.i = v; + pOut->u.i = u.bh.v; break; } /* Opcode: Insert P1 P2 P3 P4 P5 ** Synopsis: intkey=r[P3] data=r[P2] @@ -70471,72 +70621,74 @@ ** This works exactly like OP_Insert except that the key is the ** integer value P3, not the value of the integer stored in register P3. */ case OP_Insert: case OP_InsertInt: { +#if 0 /* local variables moved into u.bi */ Mem *pData; /* MEM cell holding data for the record to be inserted */ Mem *pKey; /* MEM cell holding key for the record */ i64 iKey; /* The integer ROWID or key for the record to be inserted */ VdbeCursor *pC; /* Cursor to table into which insert is written */ int nZero; /* Number of zero-bytes to append */ int seekResult; /* Result of prior seek or 0 if no USESEEKRESULT flag */ const char *zDb; /* database name - used by the update hook */ const char *zTbl; /* Table name - used by the opdate hook */ int op; /* Opcode for update hook: SQLITE_UPDATE or SQLITE_INSERT */ +#endif /* local variables moved into u.bi */ - pData = &aMem[pOp->p2]; + u.bi.pData = &aMem[pOp->p2]; assert( pOp->p1>=0 && pOp->p1nCursor ); - assert( memIsValid(pData) ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( pC->pCursor!=0 ); - assert( pC->pseudoTableReg==0 ); - assert( pC->isTable ); - REGISTER_TRACE(pOp->p2, pData); + assert( memIsValid(u.bi.pData) ); + u.bi.pC = p->apCsr[pOp->p1]; + assert( u.bi.pC!=0 ); + assert( u.bi.pC->pCursor!=0 ); + assert( u.bi.pC->pseudoTableReg==0 ); + assert( u.bi.pC->isTable ); + REGISTER_TRACE(pOp->p2, u.bi.pData); if( pOp->opcode==OP_Insert ){ - pKey = &aMem[pOp->p3]; - assert( pKey->flags & MEM_Int ); - assert( memIsValid(pKey) ); - REGISTER_TRACE(pOp->p3, pKey); - iKey = pKey->u.i; + u.bi.pKey = &aMem[pOp->p3]; + assert( u.bi.pKey->flags & MEM_Int ); + assert( memIsValid(u.bi.pKey) ); + REGISTER_TRACE(pOp->p3, u.bi.pKey); + u.bi.iKey = u.bi.pKey->u.i; }else{ assert( pOp->opcode==OP_InsertInt ); - iKey = pOp->p3; + u.bi.iKey = pOp->p3; } if( pOp->p5 & OPFLAG_NCHANGE ) p->nChange++; - if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = lastRowid = iKey; - if( pData->flags & MEM_Null ){ - pData->z = 0; - pData->n = 0; - }else{ - assert( pData->flags & (MEM_Blob|MEM_Str) ); - } - seekResult = ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0); - if( pData->flags & MEM_Zero ){ - nZero = pData->u.nZero; - }else{ - nZero = 0; - } - sqlite3BtreeSetCachedRowid(pC->pCursor, 0); - rc = sqlite3BtreeInsert(pC->pCursor, 0, iKey, - pData->z, pData->n, nZero, - (pOp->p5 & OPFLAG_APPEND)!=0, seekResult + if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = lastRowid = u.bi.iKey; + if( u.bi.pData->flags & MEM_Null ){ + u.bi.pData->z = 0; + u.bi.pData->n = 0; + }else{ + assert( u.bi.pData->flags & (MEM_Blob|MEM_Str) ); + } + u.bi.seekResult = ((pOp->p5 & OPFLAG_USESEEKRESULT) ? u.bi.pC->seekResult : 0); + if( u.bi.pData->flags & MEM_Zero ){ + u.bi.nZero = u.bi.pData->u.nZero; + }else{ + u.bi.nZero = 0; + } + sqlite3BtreeSetCachedRowid(u.bi.pC->pCursor, 0); + rc = sqlite3BtreeInsert(u.bi.pC->pCursor, 0, u.bi.iKey, + u.bi.pData->z, u.bi.pData->n, u.bi.nZero, + (pOp->p5 & OPFLAG_APPEND)!=0, u.bi.seekResult ); - pC->rowidIsValid = 0; - pC->deferredMoveto = 0; - pC->cacheStatus = CACHE_STALE; + u.bi.pC->rowidIsValid = 0; + u.bi.pC->deferredMoveto = 0; + u.bi.pC->cacheStatus = CACHE_STALE; /* Invoke the update-hook if required. */ if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z ){ - zDb = db->aDb[pC->iDb].zName; - zTbl = pOp->p4.z; - op = ((pOp->p5 & OPFLAG_ISUPDATE) ? SQLITE_UPDATE : SQLITE_INSERT); - assert( pC->isTable ); - db->xUpdateCallback(db->pUpdateArg, op, zDb, zTbl, iKey); - assert( pC->iDb>=0 ); + u.bi.zDb = db->aDb[u.bi.pC->iDb].zName; + u.bi.zTbl = pOp->p4.z; + u.bi.op = ((pOp->p5 & OPFLAG_ISUPDATE) ? SQLITE_UPDATE : SQLITE_INSERT); + assert( u.bi.pC->isTable ); + db->xUpdateCallback(db->pUpdateArg, u.bi.op, u.bi.zDb, u.bi.zTbl, u.bi.iKey); + assert( u.bi.pC->iDb>=0 ); } break; } /* Opcode: Delete P1 P2 * P4 * @@ -70558,39 +70710,41 @@ ** pointing to. The update hook will be invoked, if it exists. ** If P4 is not NULL then the P1 cursor must have been positioned ** using OP_NotFound prior to invoking this opcode. */ case OP_Delete: { +#if 0 /* local variables moved into u.bj */ i64 iKey; VdbeCursor *pC; +#endif /* local variables moved into u.bj */ assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( pC->pCursor!=0 ); /* Only valid for real tables, no pseudotables */ - iKey = pC->lastRowid; /* Only used for the update hook */ + u.bj.pC = p->apCsr[pOp->p1]; + assert( u.bj.pC!=0 ); + assert( u.bj.pC->pCursor!=0 ); /* Only valid for real tables, no pseudotables */ + u.bj.iKey = u.bj.pC->lastRowid; /* Only used for the update hook */ /* The OP_Delete opcode always follows an OP_NotExists or OP_Last or ** OP_Column on the same table without any intervening operations that - ** might move or invalidate the cursor. Hence cursor pC is always pointing + ** might move or invalidate the cursor. Hence cursor u.bj.pC is always pointing ** to the row to be deleted and the sqlite3VdbeCursorMoveto() operation ** below is always a no-op and cannot fail. We will run it anyhow, though, ** to guard against future changes to the code generator. **/ - assert( pC->deferredMoveto==0 ); - rc = sqlite3VdbeCursorMoveto(pC); + assert( u.bj.pC->deferredMoveto==0 ); + rc = sqlite3VdbeCursorMoveto(u.bj.pC); if( NEVER(rc!=SQLITE_OK) ) goto abort_due_to_error; - sqlite3BtreeSetCachedRowid(pC->pCursor, 0); - rc = sqlite3BtreeDelete(pC->pCursor); - pC->cacheStatus = CACHE_STALE; + sqlite3BtreeSetCachedRowid(u.bj.pC->pCursor, 0); + rc = sqlite3BtreeDelete(u.bj.pC->pCursor); + u.bj.pC->cacheStatus = CACHE_STALE; /* Invoke the update-hook if required. */ - if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z && pC->isTable ){ + if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z && u.bj.pC->isTable ){ db->xUpdateCallback(db->pUpdateArg, SQLITE_DELETE, - db->aDb[pC->iDb].zName, pOp->p4.z, iKey); - assert( pC->iDb>=0 ); + db->aDb[u.bj.pC->iDb].zName, pOp->p4.z, u.bj.iKey); + assert( u.bj.pC->iDb>=0 ); } if( pOp->p2 & OPFLAG_NCHANGE ) p->nChange++; break; } /* Opcode: ResetCount * * * * * @@ -70620,21 +70774,23 @@ ** ** Fall through to next instruction if the two records compare equal to ** each other. Jump to P2 if they are different. */ case OP_SorterCompare: { +#if 0 /* local variables moved into u.bk */ VdbeCursor *pC; int res; int nIgnore; +#endif /* local variables moved into u.bk */ - pC = p->apCsr[pOp->p1]; - assert( isSorter(pC) ); + u.bk.pC = p->apCsr[pOp->p1]; + assert( isSorter(u.bk.pC) ); assert( pOp->p4type==P4_INT32 ); pIn3 = &aMem[pOp->p3]; - nIgnore = pOp->p4.i; - rc = sqlite3VdbeSorterCompare(pC, pIn3, nIgnore, &res); - if( res ){ + u.bk.nIgnore = pOp->p4.i; + rc = sqlite3VdbeSorterCompare(u.bk.pC, pIn3, u.bk.nIgnore, &u.bk.res); + if( u.bk.res ){ pc = pOp->p2-1; } break; }; @@ -70642,16 +70798,18 @@ ** Synopsis: r[P2]=data ** ** Write into register P2 the current sorter data for sorter cursor P1. */ case OP_SorterData: { +#if 0 /* local variables moved into u.bl */ VdbeCursor *pC; +#endif /* local variables moved into u.bl */ pOut = &aMem[pOp->p2]; - pC = p->apCsr[pOp->p1]; - assert( isSorter(pC) ); - rc = sqlite3VdbeSorterRowkey(pC, pOut); + u.bl.pC = p->apCsr[pOp->p1]; + assert( isSorter(u.bl.pC) ); + rc = sqlite3VdbeSorterRowkey(u.bl.pC, pOut); break; } /* Opcode: RowData P1 P2 * * * ** Synopsis: r[P2]=data @@ -70675,64 +70833,66 @@ ** If the P1 cursor must be pointing to a valid row (not a NULL row) ** of a real table, not a pseudo-table. */ case OP_RowKey: case OP_RowData: { +#if 0 /* local variables moved into u.bm */ VdbeCursor *pC; BtCursor *pCrsr; u32 n; i64 n64; +#endif /* local variables moved into u.bm */ pOut = &aMem[pOp->p2]; memAboutToChange(p, pOut); /* Note that RowKey and RowData are really exactly the same instruction */ assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( isSorter(pC)==0 ); - assert( pC->isTable || pOp->opcode!=OP_RowData ); - assert( pC->isTable==0 || pOp->opcode==OP_RowData ); - assert( pC!=0 ); - assert( pC->nullRow==0 ); - assert( pC->pseudoTableReg==0 ); - assert( pC->pCursor!=0 ); - pCrsr = pC->pCursor; - assert( sqlite3BtreeCursorIsValid(pCrsr) ); + u.bm.pC = p->apCsr[pOp->p1]; + assert( isSorter(u.bm.pC)==0 ); + assert( u.bm.pC->isTable || pOp->opcode!=OP_RowData ); + assert( u.bm.pC->isTable==0 || pOp->opcode==OP_RowData ); + assert( u.bm.pC!=0 ); + assert( u.bm.pC->nullRow==0 ); + assert( u.bm.pC->pseudoTableReg==0 ); + assert( u.bm.pC->pCursor!=0 ); + u.bm.pCrsr = u.bm.pC->pCursor; + assert( sqlite3BtreeCursorIsValid(u.bm.pCrsr) ); /* The OP_RowKey and OP_RowData opcodes always follow OP_NotExists or ** OP_Rewind/Op_Next with no intervening instructions that might invalidate ** the cursor. Hence the following sqlite3VdbeCursorMoveto() call is always ** a no-op and can never fail. But we leave it in place as a safety. */ - assert( pC->deferredMoveto==0 ); - rc = sqlite3VdbeCursorMoveto(pC); - if( NEVER(rc!=SQLITE_OK) ) goto abort_due_to_error; - - if( pC->isTable==0 ){ - assert( !pC->isTable ); - VVA_ONLY(rc =) sqlite3BtreeKeySize(pCrsr, &n64); - assert( rc==SQLITE_OK ); /* True because of CursorMoveto() call above */ - if( n64>db->aLimit[SQLITE_LIMIT_LENGTH] ){ - goto too_big; - } - n = (u32)n64; - }else{ - VVA_ONLY(rc =) sqlite3BtreeDataSize(pCrsr, &n); - assert( rc==SQLITE_OK ); /* DataSize() cannot fail */ - if( n>(u32)db->aLimit[SQLITE_LIMIT_LENGTH] ){ - goto too_big; - } - } - if( sqlite3VdbeMemGrow(pOut, n, 0) ){ - goto no_mem; - } - pOut->n = n; - MemSetTypeFlag(pOut, MEM_Blob); - if( pC->isTable==0 ){ - rc = sqlite3BtreeKey(pCrsr, 0, n, pOut->z); - }else{ - rc = sqlite3BtreeData(pCrsr, 0, n, pOut->z); + assert( u.bm.pC->deferredMoveto==0 ); + rc = sqlite3VdbeCursorMoveto(u.bm.pC); + if( NEVER(rc!=SQLITE_OK) ) goto abort_due_to_error; + + if( u.bm.pC->isTable==0 ){ + assert( !u.bm.pC->isTable ); + VVA_ONLY(rc =) sqlite3BtreeKeySize(u.bm.pCrsr, &u.bm.n64); + assert( rc==SQLITE_OK ); /* True because of CursorMoveto() call above */ + if( u.bm.n64>db->aLimit[SQLITE_LIMIT_LENGTH] ){ + goto too_big; + } + u.bm.n = (u32)u.bm.n64; + }else{ + VVA_ONLY(rc =) sqlite3BtreeDataSize(u.bm.pCrsr, &u.bm.n); + assert( rc==SQLITE_OK ); /* DataSize() cannot fail */ + if( u.bm.n>(u32)db->aLimit[SQLITE_LIMIT_LENGTH] ){ + goto too_big; + } + } + if( sqlite3VdbeMemGrow(pOut, u.bm.n, 0) ){ + goto no_mem; + } + pOut->n = u.bm.n; + MemSetTypeFlag(pOut, MEM_Blob); + if( u.bm.pC->isTable==0 ){ + rc = sqlite3BtreeKey(u.bm.pCrsr, 0, u.bm.n, pOut->z); + }else{ + rc = sqlite3BtreeData(u.bm.pCrsr, 0, u.bm.n, pOut->z); } pOut->enc = SQLITE_UTF8; /* In case the blob is ever cast to text */ UPDATE_MAX_BLOBSIZE(pOut); REGISTER_TRACE(pOp->p2, pOut); break; @@ -70747,44 +70907,46 @@ ** P1 can be either an ordinary table or a virtual table. There used to ** be a separate OP_VRowid opcode for use with virtual tables, but this ** one opcode now works for both table types. */ case OP_Rowid: { /* out2-prerelease */ +#if 0 /* local variables moved into u.bn */ VdbeCursor *pC; i64 v; sqlite3_vtab *pVtab; const sqlite3_module *pModule; +#endif /* local variables moved into u.bn */ assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( pC->pseudoTableReg==0 || pC->nullRow ); - if( pC->nullRow ){ + u.bn.pC = p->apCsr[pOp->p1]; + assert( u.bn.pC!=0 ); + assert( u.bn.pC->pseudoTableReg==0 || u.bn.pC->nullRow ); + if( u.bn.pC->nullRow ){ pOut->flags = MEM_Null; break; - }else if( pC->deferredMoveto ){ - v = pC->movetoTarget; + }else if( u.bn.pC->deferredMoveto ){ + u.bn.v = u.bn.pC->movetoTarget; #ifndef SQLITE_OMIT_VIRTUALTABLE - }else if( pC->pVtabCursor ){ - pVtab = pC->pVtabCursor->pVtab; - pModule = pVtab->pModule; - assert( pModule->xRowid ); - rc = pModule->xRowid(pC->pVtabCursor, &v); - sqlite3VtabImportErrmsg(p, pVtab); + }else if( u.bn.pC->pVtabCursor ){ + u.bn.pVtab = u.bn.pC->pVtabCursor->pVtab; + u.bn.pModule = u.bn.pVtab->pModule; + assert( u.bn.pModule->xRowid ); + rc = u.bn.pModule->xRowid(u.bn.pC->pVtabCursor, &u.bn.v); + sqlite3VtabImportErrmsg(p, u.bn.pVtab); #endif /* SQLITE_OMIT_VIRTUALTABLE */ }else{ - assert( pC->pCursor!=0 ); - rc = sqlite3VdbeCursorMoveto(pC); + assert( u.bn.pC->pCursor!=0 ); + rc = sqlite3VdbeCursorMoveto(u.bn.pC); if( rc ) goto abort_due_to_error; - if( pC->rowidIsValid ){ - v = pC->lastRowid; + if( u.bn.pC->rowidIsValid ){ + u.bn.v = u.bn.pC->lastRowid; }else{ - rc = sqlite3BtreeKeySize(pC->pCursor, &v); + rc = sqlite3BtreeKeySize(u.bn.pC->pCursor, &u.bn.v); assert( rc==SQLITE_OK ); /* Always so because of CursorMoveto() above */ } } - pOut->u.i = v; + pOut->u.i = u.bn.v; break; } /* Opcode: NullRow P1 * * * * ** @@ -70791,20 +70953,23 @@ ** Move the cursor P1 to a null row. Any OP_Column operations ** that occur while the cursor is on the null row will always ** write a NULL. */ case OP_NullRow: { +#if 0 /* local variables moved into u.bo */ VdbeCursor *pC; +#endif /* local variables moved into u.bo */ assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - pC->nullRow = 1; - pC->rowidIsValid = 0; - pC->cacheStatus = CACHE_STALE; - if( pC->pCursor ){ - sqlite3BtreeClearCursor(pC->pCursor); + u.bo.pC = p->apCsr[pOp->p1]; + assert( u.bo.pC!=0 ); + u.bo.pC->nullRow = 1; + u.bo.pC->rowidIsValid = 0; + u.bo.pC->cacheStatus = CACHE_STALE; + assert( u.bo.pC->pCursor || u.bo.pC->pVtabCursor ); + if( u.bo.pC->pCursor ){ + sqlite3BtreeClearCursor(u.bo.pC->pCursor); } break; } /* Opcode: Last P1 P2 * * * @@ -70814,26 +70979,28 @@ ** If the table or index is empty and P2>0, then jump immediately to P2. ** If P2 is 0 or if the table or index is not empty, fall through ** to the following instruction. */ case OP_Last: { /* jump */ +#if 0 /* local variables moved into u.bp */ VdbeCursor *pC; BtCursor *pCrsr; int res; +#endif /* local variables moved into u.bp */ assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - pCrsr = pC->pCursor; - res = 0; - assert( pCrsr!=0 ); - rc = sqlite3BtreeLast(pCrsr, &res); - pC->nullRow = (u8)res; - pC->deferredMoveto = 0; - pC->rowidIsValid = 0; - pC->cacheStatus = CACHE_STALE; - if( pOp->p2>0 && res ){ + u.bp.pC = p->apCsr[pOp->p1]; + assert( u.bp.pC!=0 ); + u.bp.pCrsr = u.bp.pC->pCursor; + u.bp.res = 0; + assert( u.bp.pCrsr!=0 ); + rc = sqlite3BtreeLast(u.bp.pCrsr, &u.bp.res); + u.bp.pC->nullRow = (u8)u.bp.res; + u.bp.pC->deferredMoveto = 0; + u.bp.pC->rowidIsValid = 0; + u.bp.pC->cacheStatus = CACHE_STALE; + if( pOp->p2>0 && u.bp.res ){ pc = pOp->p2 - 1; } break; } @@ -70866,32 +71033,34 @@ ** If the table or index is empty and P2>0, then jump immediately to P2. ** If P2 is 0 or if the table or index is not empty, fall through ** to the following instruction. */ case OP_Rewind: { /* jump */ +#if 0 /* local variables moved into u.bq */ VdbeCursor *pC; BtCursor *pCrsr; int res; +#endif /* local variables moved into u.bq */ assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( isSorter(pC)==(pOp->opcode==OP_SorterSort) ); - res = 1; - if( isSorter(pC) ){ - rc = sqlite3VdbeSorterRewind(db, pC, &res); + u.bq.pC = p->apCsr[pOp->p1]; + assert( u.bq.pC!=0 ); + assert( isSorter(u.bq.pC)==(pOp->opcode==OP_SorterSort) ); + u.bq.res = 1; + if( isSorter(u.bq.pC) ){ + rc = sqlite3VdbeSorterRewind(db, u.bq.pC, &u.bq.res); }else{ - pCrsr = pC->pCursor; - assert( pCrsr ); - rc = sqlite3BtreeFirst(pCrsr, &res); - pC->deferredMoveto = 0; - pC->cacheStatus = CACHE_STALE; - pC->rowidIsValid = 0; - } - pC->nullRow = (u8)res; + u.bq.pCrsr = u.bq.pC->pCursor; + assert( u.bq.pCrsr ); + rc = sqlite3BtreeFirst(u.bq.pCrsr, &u.bq.res); + u.bq.pC->deferredMoveto = 0; + u.bq.pC->cacheStatus = CACHE_STALE; + u.bq.pC->rowidIsValid = 0; + } + u.bq.pC->nullRow = (u8)u.bq.res; assert( pOp->p2>0 && pOp->p2nOp ); - if( res ){ + if( u.bq.res ){ pc = pOp->p2 - 1; } break; } @@ -70938,47 +71107,49 @@ ** ** This opcode works just like OP_Prev except that if cursor P1 is not ** open it behaves a no-op. */ case OP_SorterNext: { /* jump */ +#if 0 /* local variables moved into u.br */ VdbeCursor *pC; int res; +#endif /* local variables moved into u.br */ - pC = p->apCsr[pOp->p1]; - assert( isSorter(pC) ); - rc = sqlite3VdbeSorterNext(db, pC, &res); + u.br.pC = p->apCsr[pOp->p1]; + assert( isSorter(u.br.pC) ); + rc = sqlite3VdbeSorterNext(db, u.br.pC, &u.br.res); goto next_tail; case OP_PrevIfOpen: /* jump */ case OP_NextIfOpen: /* jump */ if( p->apCsr[pOp->p1]==0 ) break; /* Fall through */ case OP_Prev: /* jump */ case OP_Next: /* jump */ assert( pOp->p1>=0 && pOp->p1nCursor ); assert( pOp->p5aCounter) ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( pC->deferredMoveto==0 ); - assert( pC->pCursor ); + u.br.pC = p->apCsr[pOp->p1]; + assert( u.br.pC!=0 ); + assert( u.br.pC->deferredMoveto==0 ); + assert( u.br.pC->pCursor ); assert( pOp->opcode!=OP_Next || pOp->p4.xAdvance==sqlite3BtreeNext ); assert( pOp->opcode!=OP_Prev || pOp->p4.xAdvance==sqlite3BtreePrevious ); assert( pOp->opcode!=OP_NextIfOpen || pOp->p4.xAdvance==sqlite3BtreeNext ); assert( pOp->opcode!=OP_PrevIfOpen || pOp->p4.xAdvance==sqlite3BtreePrevious); - rc = pOp->p4.xAdvance(pC->pCursor, &res); + rc = pOp->p4.xAdvance(u.br.pC->pCursor, &u.br.res); next_tail: - pC->cacheStatus = CACHE_STALE; - if( res==0 ){ - pC->nullRow = 0; + u.br.pC->cacheStatus = CACHE_STALE; + if( u.br.res==0 ){ + u.br.pC->nullRow = 0; pc = pOp->p2 - 1; p->aCounter[pOp->p5]++; #ifdef SQLITE_TEST sqlite3_search_count++; #endif }else{ - pC->nullRow = 1; + u.br.pC->nullRow = 1; } - pC->rowidIsValid = 0; + u.br.pC->rowidIsValid = 0; goto check_for_interrupt; } /* Opcode: IdxInsert P1 P2 P3 * P5 ** Synopsis: key=r[P2] @@ -70993,37 +71164,39 @@ ** This instruction only works for indices. The equivalent instruction ** for tables is OP_Insert. */ case OP_SorterInsert: /* in2 */ case OP_IdxInsert: { /* in2 */ +#if 0 /* local variables moved into u.bs */ VdbeCursor *pC; BtCursor *pCrsr; int nKey; const char *zKey; +#endif /* local variables moved into u.bs */ assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( isSorter(pC)==(pOp->opcode==OP_SorterInsert) ); + u.bs.pC = p->apCsr[pOp->p1]; + assert( u.bs.pC!=0 ); + assert( isSorter(u.bs.pC)==(pOp->opcode==OP_SorterInsert) ); pIn2 = &aMem[pOp->p2]; assert( pIn2->flags & MEM_Blob ); - pCrsr = pC->pCursor; + u.bs.pCrsr = u.bs.pC->pCursor; if( pOp->p5 & OPFLAG_NCHANGE ) p->nChange++; - assert( pCrsr!=0 ); - assert( pC->isTable==0 ); + assert( u.bs.pCrsr!=0 ); + assert( u.bs.pC->isTable==0 ); rc = ExpandBlob(pIn2); if( rc==SQLITE_OK ){ - if( isSorter(pC) ){ - rc = sqlite3VdbeSorterWrite(db, pC, pIn2); + if( isSorter(u.bs.pC) ){ + rc = sqlite3VdbeSorterWrite(db, u.bs.pC, pIn2); }else{ - nKey = pIn2->n; - zKey = pIn2->z; - rc = sqlite3BtreeInsert(pCrsr, zKey, nKey, "", 0, 0, pOp->p3, - ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0) + u.bs.nKey = pIn2->n; + u.bs.zKey = pIn2->z; + rc = sqlite3BtreeInsert(u.bs.pCrsr, u.bs.zKey, u.bs.nKey, "", 0, 0, pOp->p3, + ((pOp->p5 & OPFLAG_USESEEKRESULT) ? u.bs.pC->seekResult : 0) ); - assert( pC->deferredMoveto==0 ); - pC->cacheStatus = CACHE_STALE; + assert( u.bs.pC->deferredMoveto==0 ); + u.bs.pC->cacheStatus = CACHE_STALE; } } break; } @@ -71033,36 +71206,38 @@ ** The content of P3 registers starting at register P2 form ** an unpacked index key. This opcode removes that entry from the ** index opened by cursor P1. */ case OP_IdxDelete: { +#if 0 /* local variables moved into u.bt */ VdbeCursor *pC; BtCursor *pCrsr; int res; UnpackedRecord r; +#endif /* local variables moved into u.bt */ assert( pOp->p3>0 ); assert( pOp->p2>0 && pOp->p2+pOp->p3<=(p->nMem-p->nCursor)+1 ); assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - pCrsr = pC->pCursor; - assert( pCrsr!=0 ); + u.bt.pC = p->apCsr[pOp->p1]; + assert( u.bt.pC!=0 ); + u.bt.pCrsr = u.bt.pC->pCursor; + assert( u.bt.pCrsr!=0 ); assert( pOp->p5==0 ); - r.pKeyInfo = pC->pKeyInfo; - r.nField = (u16)pOp->p3; - r.flags = UNPACKED_PREFIX_MATCH; - r.aMem = &aMem[pOp->p2]; + u.bt.r.pKeyInfo = u.bt.pC->pKeyInfo; + u.bt.r.nField = (u16)pOp->p3; + u.bt.r.flags = UNPACKED_PREFIX_MATCH; + u.bt.r.aMem = &aMem[pOp->p2]; #ifdef SQLITE_DEBUG - { int i; for(i=0; ideferredMoveto==0 ); - pC->cacheStatus = CACHE_STALE; + assert( u.bt.pC->deferredMoveto==0 ); + u.bt.pC->cacheStatus = CACHE_STALE; break; } /* Opcode: IdxRowid P1 P2 * * * ** Synopsis: r[P2]=rowid @@ -71072,31 +71247,32 @@ ** the rowid of the table entry to which this index entry points. ** ** See also: Rowid, MakeRecord. */ case OP_IdxRowid: { /* out2-prerelease */ +#if 0 /* local variables moved into u.bu */ BtCursor *pCrsr; VdbeCursor *pC; i64 rowid; +#endif /* local variables moved into u.bu */ assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - pCrsr = pC->pCursor; - assert( pCrsr!=0 ); + u.bu.pC = p->apCsr[pOp->p1]; + assert( u.bu.pC!=0 ); + u.bu.pCrsr = u.bu.pC->pCursor; + assert( u.bu.pCrsr!=0 ); pOut->flags = MEM_Null; - rc = sqlite3VdbeCursorMoveto(pC); + rc = sqlite3VdbeCursorMoveto(u.bu.pC); if( NEVER(rc) ) goto abort_due_to_error; - assert( pC->deferredMoveto==0 ); - assert( pC->isTable==0 ); - if( !pC->nullRow ){ - rowid = 0; /* Not needed. Only used to silence a warning. */ - rc = sqlite3VdbeIdxRowid(db, pCrsr, &rowid); + assert( u.bu.pC->deferredMoveto==0 ); + assert( u.bu.pC->isTable==0 ); + if( !u.bu.pC->nullRow ){ + rc = sqlite3VdbeIdxRowid(db, u.bu.pCrsr, &u.bu.rowid); if( rc!=SQLITE_OK ){ goto abort_due_to_error; } - pOut->u.i = rowid; + pOut->u.i = u.bu.rowid; pOut->flags = MEM_Int; } break; } @@ -71128,42 +71304,43 @@ ** If P5 is non-zero then the key value is increased by an epsilon prior ** to the comparison. This makes the opcode work like IdxLE. */ case OP_IdxLT: /* jump */ case OP_IdxGE: { /* jump */ +#if 0 /* local variables moved into u.bv */ VdbeCursor *pC; int res; UnpackedRecord r; +#endif /* local variables moved into u.bv */ assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( pC->isOrdered ); - assert( pC->pCursor!=0); - assert( pC->deferredMoveto==0 ); + u.bv.pC = p->apCsr[pOp->p1]; + assert( u.bv.pC!=0 ); + assert( u.bv.pC->isOrdered ); + assert( u.bv.pC->pCursor!=0); + assert( u.bv.pC->deferredMoveto==0 ); assert( pOp->p5==0 || pOp->p5==1 ); assert( pOp->p4type==P4_INT32 ); - r.pKeyInfo = pC->pKeyInfo; - r.nField = (u16)pOp->p4.i; + u.bv.r.pKeyInfo = u.bv.pC->pKeyInfo; + u.bv.r.nField = (u16)pOp->p4.i; if( pOp->p5 ){ - r.flags = UNPACKED_INCRKEY | UNPACKED_PREFIX_MATCH; + u.bv.r.flags = UNPACKED_INCRKEY | UNPACKED_PREFIX_MATCH; }else{ - r.flags = UNPACKED_PREFIX_MATCH; + u.bv.r.flags = UNPACKED_PREFIX_MATCH; } - r.aMem = &aMem[pOp->p3]; + u.bv.r.aMem = &aMem[pOp->p3]; #ifdef SQLITE_DEBUG - { int i; for(i=0; iopcode==OP_IdxLT ){ - res = -res; + u.bv.res = -u.bv.res; }else{ assert( pOp->opcode==OP_IdxGE ); - res++; + u.bv.res++; } - if( res>0 ){ + if( u.bv.res>0 ){ pc = pOp->p2 - 1 ; } break; } @@ -71186,46 +71363,47 @@ ** If AUTOVACUUM is disabled then a zero is stored in register P2. ** ** See also: Clear */ case OP_Destroy: { /* out2-prerelease */ +#if 0 /* local variables moved into u.bw */ int iMoved; int iCnt; Vdbe *pVdbe; int iDb; +#endif /* local variables moved into u.bw */ assert( p->readOnly==0 ); #ifndef SQLITE_OMIT_VIRTUALTABLE - iCnt = 0; - for(pVdbe=db->pVdbe; pVdbe; pVdbe = pVdbe->pNext){ - if( pVdbe->magic==VDBE_MAGIC_RUN && pVdbe->bIsReader - && pVdbe->inVtabMethod<2 && pVdbe->pc>=0 + u.bw.iCnt = 0; + for(u.bw.pVdbe=db->pVdbe; u.bw.pVdbe; u.bw.pVdbe = u.bw.pVdbe->pNext){ + if( u.bw.pVdbe->magic==VDBE_MAGIC_RUN && u.bw.pVdbe->bIsReader + && u.bw.pVdbe->inVtabMethod<2 && u.bw.pVdbe->pc>=0 ){ - iCnt++; + u.bw.iCnt++; } } #else - iCnt = db->nVdbeRead; + u.bw.iCnt = db->nVdbeRead; #endif pOut->flags = MEM_Null; - if( iCnt>1 ){ + if( u.bw.iCnt>1 ){ rc = SQLITE_LOCKED; p->errorAction = OE_Abort; }else{ - iDb = pOp->p3; - assert( iCnt==1 ); - assert( (p->btreeMask & (((yDbMask)1)<aDb[iDb].pBt, pOp->p1, &iMoved); + u.bw.iDb = pOp->p3; + assert( u.bw.iCnt==1 ); + assert( (p->btreeMask & (((yDbMask)1)<aDb[u.bw.iDb].pBt, pOp->p1, &u.bw.iMoved); pOut->flags = MEM_Int; - pOut->u.i = iMoved; + pOut->u.i = u.bw.iMoved; #ifndef SQLITE_OMIT_AUTOVACUUM - if( rc==SQLITE_OK && iMoved!=0 ){ - sqlite3RootPageMoved(db, iDb, iMoved, pOp->p1); + if( rc==SQLITE_OK && u.bw.iMoved!=0 ){ + sqlite3RootPageMoved(db, u.bw.iDb, u.bw.iMoved, pOp->p1); /* All OP_Destroy operations occur on the same btree */ - assert( resetSchemaOnFault==0 || resetSchemaOnFault==iDb+1 ); - resetSchemaOnFault = iDb+1; + assert( resetSchemaOnFault==0 || resetSchemaOnFault==u.bw.iDb+1 ); + resetSchemaOnFault = u.bw.iDb+1; } #endif } break; } @@ -71247,25 +71425,27 @@ ** also incremented by the number of rows in the table being cleared. ** ** See also: Destroy */ case OP_Clear: { +#if 0 /* local variables moved into u.bx */ int nChange; - - nChange = 0; +#endif /* local variables moved into u.bx */ + + u.bx.nChange = 0; assert( p->readOnly==0 ); assert( pOp->p1!=1 ); assert( (p->btreeMask & (((yDbMask)1)<p2))!=0 ); rc = sqlite3BtreeClearTable( - db->aDb[pOp->p2].pBt, pOp->p1, (pOp->p3 ? &nChange : 0) + db->aDb[pOp->p2].pBt, pOp->p1, (pOp->p3 ? &u.bx.nChange : 0) ); if( pOp->p3 ){ - p->nChange += nChange; + p->nChange += u.bx.nChange; if( pOp->p3>0 ){ assert( memIsValid(&aMem[pOp->p3]) ); memAboutToChange(p, &aMem[pOp->p3]); - aMem[pOp->p3].u.i += nChange; + aMem[pOp->p3].u.i += u.bx.nChange; } } break; } @@ -71293,28 +71473,30 @@ ** ** See documentation on OP_CreateTable for additional information. */ case OP_CreateIndex: /* out2-prerelease */ case OP_CreateTable: { /* out2-prerelease */ +#if 0 /* local variables moved into u.by */ int pgno; int flags; Db *pDb; +#endif /* local variables moved into u.by */ - pgno = 0; + u.by.pgno = 0; assert( pOp->p1>=0 && pOp->p1nDb ); assert( (p->btreeMask & (((yDbMask)1)<p1))!=0 ); assert( p->readOnly==0 ); - pDb = &db->aDb[pOp->p1]; - assert( pDb->pBt!=0 ); + u.by.pDb = &db->aDb[pOp->p1]; + assert( u.by.pDb->pBt!=0 ); if( pOp->opcode==OP_CreateTable ){ - /* flags = BTREE_INTKEY; */ - flags = BTREE_INTKEY; + /* u.by.flags = BTREE_INTKEY; */ + u.by.flags = BTREE_INTKEY; }else{ - flags = BTREE_BLOBKEY; + u.by.flags = BTREE_BLOBKEY; } - rc = sqlite3BtreeCreateTable(pDb->pBt, &pgno, flags); - pOut->u.i = pgno; + rc = sqlite3BtreeCreateTable(u.by.pDb->pBt, &u.by.pgno, u.by.flags); + pOut->u.i = u.by.pgno; break; } /* Opcode: ParseSchema P1 * * P4 * ** @@ -71323,54 +71505,56 @@ ** ** This opcode invokes the parser to create a new virtual machine, ** then runs the new virtual machine. It is thus a re-entrant opcode. */ case OP_ParseSchema: { +#if 0 /* local variables moved into u.bz */ int iDb; const char *zMaster; char *zSql; InitData initData; +#endif /* local variables moved into u.bz */ /* Any prepared statement that invokes this opcode will hold mutexes - ** on every btree. This is a prerequisite for invoking + ** on every btree. This is a prerequisite for invoking ** sqlite3InitCallback(). */ #ifdef SQLITE_DEBUG - for(iDb=0; iDbnDb; iDb++){ - assert( iDb==1 || sqlite3BtreeHoldsMutex(db->aDb[iDb].pBt) ); + for(u.bz.iDb=0; u.bz.iDbnDb; u.bz.iDb++){ + assert( u.bz.iDb==1 || sqlite3BtreeHoldsMutex(db->aDb[u.bz.iDb].pBt) ); } #endif - iDb = pOp->p1; - assert( iDb>=0 && iDbnDb ); - assert( DbHasProperty(db, iDb, DB_SchemaLoaded) ); + u.bz.iDb = pOp->p1; + assert( u.bz.iDb>=0 && u.bz.iDbnDb ); + assert( DbHasProperty(db, u.bz.iDb, DB_SchemaLoaded) ); /* Used to be a conditional */ { - zMaster = SCHEMA_TABLE(iDb); - initData.db = db; - initData.iDb = pOp->p1; - initData.pzErrMsg = &p->zErrMsg; - zSql = sqlite3MPrintf(db, + u.bz.zMaster = SCHEMA_TABLE(u.bz.iDb); + u.bz.initData.db = db; + u.bz.initData.iDb = pOp->p1; + u.bz.initData.pzErrMsg = &p->zErrMsg; + u.bz.zSql = sqlite3MPrintf(db, "SELECT name, rootpage, sql FROM '%q'.%s WHERE %s ORDER BY rowid", - db->aDb[iDb].zName, zMaster, pOp->p4.z); - if( zSql==0 ){ + db->aDb[u.bz.iDb].zName, u.bz.zMaster, pOp->p4.z); + if( u.bz.zSql==0 ){ rc = SQLITE_NOMEM; }else{ assert( db->init.busy==0 ); db->init.busy = 1; - initData.rc = SQLITE_OK; + u.bz.initData.rc = SQLITE_OK; assert( !db->mallocFailed ); - rc = sqlite3_exec(db, zSql, sqlite3InitCallback, &initData, 0); - if( rc==SQLITE_OK ) rc = initData.rc; - sqlite3DbFree(db, zSql); + rc = sqlite3_exec(db, u.bz.zSql, sqlite3InitCallback, &u.bz.initData, 0); + if( rc==SQLITE_OK ) rc = u.bz.initData.rc; + sqlite3DbFree(db, u.bz.zSql); db->init.busy = 0; } } if( rc ) sqlite3ResetAllSchemasOfConnection(db); if( rc==SQLITE_NOMEM ){ goto no_mem; } - break; + break; } #if !defined(SQLITE_OMIT_ANALYZE) /* Opcode: LoadAnalysis P1 * * * * ** @@ -71442,44 +71626,46 @@ ** file, not the main database file. ** ** This opcode is used to implement the integrity_check pragma. */ case OP_IntegrityCk: { +#if 0 /* local variables moved into u.ca */ int nRoot; /* Number of tables to check. (Number of root pages.) */ int *aRoot; /* Array of rootpage numbers for tables to be checked */ int j; /* Loop counter */ int nErr; /* Number of errors reported */ char *z; /* Text of the error report */ Mem *pnErr; /* Register keeping track of errors remaining */ +#endif /* local variables moved into u.ca */ assert( p->bIsReader ); - nRoot = pOp->p2; - assert( nRoot>0 ); - aRoot = sqlite3DbMallocRaw(db, sizeof(int)*(nRoot+1) ); - if( aRoot==0 ) goto no_mem; + u.ca.nRoot = pOp->p2; + assert( u.ca.nRoot>0 ); + u.ca.aRoot = sqlite3DbMallocRaw(db, sizeof(int)*(u.ca.nRoot+1) ); + if( u.ca.aRoot==0 ) goto no_mem; assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); - pnErr = &aMem[pOp->p3]; - assert( (pnErr->flags & MEM_Int)!=0 ); - assert( (pnErr->flags & (MEM_Str|MEM_Blob))==0 ); + u.ca.pnErr = &aMem[pOp->p3]; + assert( (u.ca.pnErr->flags & MEM_Int)!=0 ); + assert( (u.ca.pnErr->flags & (MEM_Str|MEM_Blob))==0 ); pIn1 = &aMem[pOp->p1]; - for(j=0; jp5nDb ); assert( (p->btreeMask & (((yDbMask)1)<p5))!=0 ); - z = sqlite3BtreeIntegrityCheck(db->aDb[pOp->p5].pBt, aRoot, nRoot, - (int)pnErr->u.i, &nErr); - sqlite3DbFree(db, aRoot); - pnErr->u.i -= nErr; + u.ca.z = sqlite3BtreeIntegrityCheck(db->aDb[pOp->p5].pBt, u.ca.aRoot, u.ca.nRoot, + (int)u.ca.pnErr->u.i, &u.ca.nErr); + sqlite3DbFree(db, u.ca.aRoot); + u.ca.pnErr->u.i -= u.ca.nErr; sqlite3VdbeMemSetNull(pIn1); - if( nErr==0 ){ - assert( z==0 ); - }else if( z==0 ){ + if( u.ca.nErr==0 ){ + assert( u.ca.z==0 ); + }else if( u.ca.z==0 ){ goto no_mem; }else{ - sqlite3VdbeMemSetStr(pIn1, z, -1, SQLITE_UTF8, sqlite3_free); + sqlite3VdbeMemSetStr(pIn1, u.ca.z, -1, SQLITE_UTF8, sqlite3_free); } UPDATE_MAX_BLOBSIZE(pIn1); sqlite3VdbeChangeEncoding(pIn1, encoding); break; } @@ -71511,22 +71697,24 @@ ** Extract the smallest value from boolean index P1 and put that value into ** register P3. Or, if boolean index P1 is initially empty, leave P3 ** unchanged and jump to instruction P2. */ case OP_RowSetRead: { /* jump, in1, out3 */ +#if 0 /* local variables moved into u.cb */ i64 val; +#endif /* local variables moved into u.cb */ pIn1 = &aMem[pOp->p1]; - if( (pIn1->flags & MEM_RowSet)==0 - || sqlite3RowSetNext(pIn1->u.pRowSet, &val)==0 + if( (pIn1->flags & MEM_RowSet)==0 + || sqlite3RowSetNext(pIn1->u.pRowSet, &u.cb.val)==0 ){ /* The boolean index is empty */ sqlite3VdbeMemSetNull(pIn1); pc = pOp->p2 - 1; }else{ /* A value was pulled from the index */ - sqlite3VdbeMemSetInt64(&aMem[pOp->p3], val); + sqlite3VdbeMemSetInt64(&aMem[pOp->p3], u.cb.val); } goto check_for_interrupt; } /* Opcode: RowSetTest P1 P2 P3 P4 @@ -71552,16 +71740,18 @@ ** inserted, there is no need to search to see if the same value was ** previously inserted as part of set X (only if it was previously ** inserted as part of some other set). */ case OP_RowSetTest: { /* jump, in1, in3 */ +#if 0 /* local variables moved into u.cc */ int iSet; int exists; +#endif /* local variables moved into u.cc */ pIn1 = &aMem[pOp->p1]; pIn3 = &aMem[pOp->p3]; - iSet = pOp->p4.i; + u.cc.iSet = pOp->p4.i; assert( pIn3->flags&MEM_Int ); /* If there is anything other than a rowset object in memory cell P1, ** delete it now and initialize P1 with an empty rowset */ @@ -71569,21 +71759,21 @@ sqlite3VdbeMemSetRowSet(pIn1); if( (pIn1->flags & MEM_RowSet)==0 ) goto no_mem; } assert( pOp->p4type==P4_INT32 ); - assert( iSet==-1 || iSet>=0 ); - if( iSet ){ - exists = sqlite3RowSetTest(pIn1->u.pRowSet, - (u8)(iSet>=0 ? iSet & 0xf : 0xff), + assert( u.cc.iSet==-1 || u.cc.iSet>=0 ); + if( u.cc.iSet ){ + u.cc.exists = sqlite3RowSetTest(pIn1->u.pRowSet, + (u8)(u.cc.iSet>=0 ? u.cc.iSet & 0xf : 0xff), pIn3->u.i); - if( exists ){ + if( u.cc.exists ){ pc = pOp->p2 - 1; break; } } - if( iSet>=0 ){ + if( u.cc.iSet>=0 ){ sqlite3RowSetInsert(pIn1->u.pRowSet, pIn3->u.i); } break; } @@ -71602,109 +71792,111 @@ ** memory required by the sub-vdbe at runtime. ** ** P4 is a pointer to the VM containing the trigger program. */ case OP_Program: { /* jump */ +#if 0 /* local variables moved into u.cd */ int nMem; /* Number of memory registers for sub-program */ int nByte; /* Bytes of runtime space required for sub-program */ Mem *pRt; /* Register to allocate runtime space */ Mem *pMem; /* Used to iterate through memory cells */ Mem *pEnd; /* Last memory cell in new array */ VdbeFrame *pFrame; /* New vdbe frame to execute in */ SubProgram *pProgram; /* Sub-program to execute */ void *t; /* Token identifying trigger */ +#endif /* local variables moved into u.cd */ - pProgram = pOp->p4.pProgram; - pRt = &aMem[pOp->p3]; - assert( pProgram->nOp>0 ); - - /* If the p5 flag is clear, then recursive invocation of triggers is + u.cd.pProgram = pOp->p4.pProgram; + u.cd.pRt = &aMem[pOp->p3]; + assert( u.cd.pProgram->nOp>0 ); + + /* If the p5 flag is clear, then recursive invocation of triggers is ** disabled for backwards compatibility (p5 is set if this sub-program ** is really a trigger, not a foreign key action, and the flag set ** and cleared by the "PRAGMA recursive_triggers" command is clear). - ** - ** It is recursive invocation of triggers, at the SQL level, that is - ** disabled. In some cases a single trigger may generate more than one - ** SubProgram (if the trigger may be executed with more than one different + ** + ** It is recursive invocation of triggers, at the SQL level, that is + ** disabled. In some cases a single trigger may generate more than one + ** SubProgram (if the trigger may be executed with more than one different ** ON CONFLICT algorithm). SubProgram structures associated with a - ** single trigger all have the same value for the SubProgram.token + ** single trigger all have the same value for the SubProgram.token ** variable. */ if( pOp->p5 ){ - t = pProgram->token; - for(pFrame=p->pFrame; pFrame && pFrame->token!=t; pFrame=pFrame->pParent); - if( pFrame ) break; + u.cd.t = u.cd.pProgram->token; + for(u.cd.pFrame=p->pFrame; u.cd.pFrame && u.cd.pFrame->token!=u.cd.t; u.cd.pFrame=u.cd.pFrame->pParent); + if( u.cd.pFrame ) break; } if( p->nFrame>=db->aLimit[SQLITE_LIMIT_TRIGGER_DEPTH] ){ rc = SQLITE_ERROR; sqlite3SetString(&p->zErrMsg, db, "too many levels of trigger recursion"); break; } - /* Register pRt is used to store the memory required to save the state + /* Register u.cd.pRt is used to store the memory required to save the state ** of the current program, and the memory required at runtime to execute - ** the trigger program. If this trigger has been fired before, then pRt + ** the trigger program. If this trigger has been fired before, then u.cd.pRt ** is already allocated. Otherwise, it must be initialized. */ - if( (pRt->flags&MEM_Frame)==0 ){ - /* SubProgram.nMem is set to the number of memory cells used by the + if( (u.cd.pRt->flags&MEM_Frame)==0 ){ + /* SubProgram.nMem is set to the number of memory cells used by the ** program stored in SubProgram.aOp. As well as these, one memory ** cell is required for each cursor used by the program. Set local - ** variable nMem (and later, VdbeFrame.nChildMem) to this value. + ** variable u.cd.nMem (and later, VdbeFrame.nChildMem) to this value. */ - nMem = pProgram->nMem + pProgram->nCsr; - nByte = ROUND8(sizeof(VdbeFrame)) - + nMem * sizeof(Mem) - + pProgram->nCsr * sizeof(VdbeCursor *) - + pProgram->nOnce * sizeof(u8); - pFrame = sqlite3DbMallocZero(db, nByte); - if( !pFrame ){ + u.cd.nMem = u.cd.pProgram->nMem + u.cd.pProgram->nCsr; + u.cd.nByte = ROUND8(sizeof(VdbeFrame)) + + u.cd.nMem * sizeof(Mem) + + u.cd.pProgram->nCsr * sizeof(VdbeCursor *) + + u.cd.pProgram->nOnce * sizeof(u8); + u.cd.pFrame = sqlite3DbMallocZero(db, u.cd.nByte); + if( !u.cd.pFrame ){ goto no_mem; } - sqlite3VdbeMemRelease(pRt); - pRt->flags = MEM_Frame; - pRt->u.pFrame = pFrame; - - pFrame->v = p; - pFrame->nChildMem = nMem; - pFrame->nChildCsr = pProgram->nCsr; - pFrame->pc = pc; - pFrame->aMem = p->aMem; - pFrame->nMem = p->nMem; - pFrame->apCsr = p->apCsr; - pFrame->nCursor = p->nCursor; - pFrame->aOp = p->aOp; - pFrame->nOp = p->nOp; - pFrame->token = pProgram->token; - pFrame->aOnceFlag = p->aOnceFlag; - pFrame->nOnceFlag = p->nOnceFlag; - - pEnd = &VdbeFrameMem(pFrame)[pFrame->nChildMem]; - for(pMem=VdbeFrameMem(pFrame); pMem!=pEnd; pMem++){ - pMem->flags = MEM_Invalid; - pMem->db = db; + sqlite3VdbeMemRelease(u.cd.pRt); + u.cd.pRt->flags = MEM_Frame; + u.cd.pRt->u.pFrame = u.cd.pFrame; + + u.cd.pFrame->v = p; + u.cd.pFrame->nChildMem = u.cd.nMem; + u.cd.pFrame->nChildCsr = u.cd.pProgram->nCsr; + u.cd.pFrame->pc = pc; + u.cd.pFrame->aMem = p->aMem; + u.cd.pFrame->nMem = p->nMem; + u.cd.pFrame->apCsr = p->apCsr; + u.cd.pFrame->nCursor = p->nCursor; + u.cd.pFrame->aOp = p->aOp; + u.cd.pFrame->nOp = p->nOp; + u.cd.pFrame->token = u.cd.pProgram->token; + u.cd.pFrame->aOnceFlag = p->aOnceFlag; + u.cd.pFrame->nOnceFlag = p->nOnceFlag; + + u.cd.pEnd = &VdbeFrameMem(u.cd.pFrame)[u.cd.pFrame->nChildMem]; + for(u.cd.pMem=VdbeFrameMem(u.cd.pFrame); u.cd.pMem!=u.cd.pEnd; u.cd.pMem++){ + u.cd.pMem->flags = MEM_Invalid; + u.cd.pMem->db = db; } }else{ - pFrame = pRt->u.pFrame; - assert( pProgram->nMem+pProgram->nCsr==pFrame->nChildMem ); - assert( pProgram->nCsr==pFrame->nChildCsr ); - assert( pc==pFrame->pc ); + u.cd.pFrame = u.cd.pRt->u.pFrame; + assert( u.cd.pProgram->nMem+u.cd.pProgram->nCsr==u.cd.pFrame->nChildMem ); + assert( u.cd.pProgram->nCsr==u.cd.pFrame->nChildCsr ); + assert( pc==u.cd.pFrame->pc ); } p->nFrame++; - pFrame->pParent = p->pFrame; - pFrame->lastRowid = lastRowid; - pFrame->nChange = p->nChange; + u.cd.pFrame->pParent = p->pFrame; + u.cd.pFrame->lastRowid = lastRowid; + u.cd.pFrame->nChange = p->nChange; p->nChange = 0; - p->pFrame = pFrame; - p->aMem = aMem = &VdbeFrameMem(pFrame)[-1]; - p->nMem = pFrame->nChildMem; - p->nCursor = (u16)pFrame->nChildCsr; + p->pFrame = u.cd.pFrame; + p->aMem = aMem = &VdbeFrameMem(u.cd.pFrame)[-1]; + p->nMem = u.cd.pFrame->nChildMem; + p->nCursor = (u16)u.cd.pFrame->nChildCsr; p->apCsr = (VdbeCursor **)&aMem[p->nMem+1]; - p->aOp = aOp = pProgram->aOp; - p->nOp = pProgram->nOp; + p->aOp = aOp = u.cd.pProgram->aOp; + p->nOp = u.cd.pProgram->nOp; p->aOnceFlag = (u8 *)&p->apCsr[p->nCursor]; - p->nOnceFlag = pProgram->nOnce; + p->nOnceFlag = u.cd.pProgram->nOnce; pc = -1; memset(p->aOnceFlag, 0, p->nOnceFlag); break; } @@ -71720,15 +71912,17 @@ ** The address of the cell in the parent frame is determined by adding ** the value of the P1 argument to the value of the P1 argument to the ** calling OP_Program instruction. */ case OP_Param: { /* out2-prerelease */ +#if 0 /* local variables moved into u.ce */ VdbeFrame *pFrame; Mem *pIn; - pFrame = p->pFrame; - pIn = &pFrame->aMem[pOp->p1 + pFrame->aOp[pFrame->pc].p1]; - sqlite3VdbeMemShallowCopy(pOut, pIn, MEM_Ephem); +#endif /* local variables moved into u.ce */ + u.ce.pFrame = p->pFrame; + u.ce.pIn = &u.ce.pFrame->aMem[pOp->p1 + u.ce.pFrame->aOp[u.ce.pFrame->pc].p1]; + sqlite3VdbeMemShallowCopy(pOut, u.ce.pIn, MEM_Ephem); break; } #endif /* #ifndef SQLITE_OMIT_TRIGGER */ @@ -71785,23 +71979,26 @@ ** ** This instruction throws an error if the memory cell is not initially ** an integer. */ case OP_MemMax: { /* in2 */ +#if 0 /* local variables moved into u.cf */ + Mem *pIn1; VdbeFrame *pFrame; +#endif /* local variables moved into u.cf */ if( p->pFrame ){ - for(pFrame=p->pFrame; pFrame->pParent; pFrame=pFrame->pParent); - pIn1 = &pFrame->aMem[pOp->p1]; + for(u.cf.pFrame=p->pFrame; u.cf.pFrame->pParent; u.cf.pFrame=u.cf.pFrame->pParent); + u.cf.pIn1 = &u.cf.pFrame->aMem[pOp->p1]; }else{ - pIn1 = &aMem[pOp->p1]; + u.cf.pIn1 = &aMem[pOp->p1]; } - assert( memIsValid(pIn1) ); - sqlite3VdbeMemIntegerify(pIn1); + assert( memIsValid(u.cf.pIn1) ); + sqlite3VdbeMemIntegerify(u.cf.pIn1); pIn2 = &aMem[pOp->p2]; sqlite3VdbeMemIntegerify(pIn2); - if( pIn1->u.iu.i){ - pIn1->u.i = pIn2->u.i; + if( u.cf.pIn1->u.iu.i){ + u.cf.pIn1->u.i = pIn2->u.i; } break; } #endif /* SQLITE_OMIT_AUTOINCREMENT */ @@ -71868,58 +72065,60 @@ ** ** The P5 arguments are taken from register P2 and its ** successors. */ case OP_AggStep: { +#if 0 /* local variables moved into u.cg */ int n; int i; Mem *pMem; Mem *pRec; sqlite3_context ctx; sqlite3_value **apVal; - - n = pOp->p5; - assert( n>=0 ); - pRec = &aMem[pOp->p2]; - apVal = p->apArg; - assert( apVal || n==0 ); - for(i=0; ip4.pFunc; +#endif /* local variables moved into u.cg */ + + u.cg.n = pOp->p5; + assert( u.cg.n>=0 ); + u.cg.pRec = &aMem[pOp->p2]; + u.cg.apVal = p->apArg; + assert( u.cg.apVal || u.cg.n==0 ); + for(u.cg.i=0; u.cg.ip4.pFunc; assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); - ctx.pMem = pMem = &aMem[pOp->p3]; - pMem->n++; - ctx.s.flags = MEM_Null; - ctx.s.z = 0; - ctx.s.zMalloc = 0; - ctx.s.xDel = 0; - ctx.s.db = db; - ctx.isError = 0; - ctx.pColl = 0; - ctx.skipFlag = 0; - if( ctx.pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){ + u.cg.ctx.pMem = u.cg.pMem = &aMem[pOp->p3]; + u.cg.pMem->n++; + u.cg.ctx.s.flags = MEM_Null; + u.cg.ctx.s.z = 0; + u.cg.ctx.s.zMalloc = 0; + u.cg.ctx.s.xDel = 0; + u.cg.ctx.s.db = db; + u.cg.ctx.isError = 0; + u.cg.ctx.pColl = 0; + u.cg.ctx.skipFlag = 0; + if( u.cg.ctx.pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL ){ assert( pOp>p->aOp ); assert( pOp[-1].p4type==P4_COLLSEQ ); assert( pOp[-1].opcode==OP_CollSeq ); - ctx.pColl = pOp[-1].p4.pColl; - } - (ctx.pFunc->xStep)(&ctx, n, apVal); /* IMP: R-24505-23230 */ - if( ctx.isError ){ - sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3_value_text(&ctx.s)); - rc = ctx.isError; - } - if( ctx.skipFlag ){ + u.cg.ctx.pColl = pOp[-1].p4.pColl; + } + (u.cg.ctx.pFunc->xStep)(&u.cg.ctx, u.cg.n, u.cg.apVal); /* IMP: R-24505-23230 */ + if( u.cg.ctx.isError ){ + sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3_value_text(&u.cg.ctx.s)); + rc = u.cg.ctx.isError; + } + if( u.cg.ctx.skipFlag ){ assert( pOp[-1].opcode==OP_CollSeq ); - i = pOp[-1].p1; - if( i ) sqlite3VdbeMemSetInt64(&aMem[i], 1); + u.cg.i = pOp[-1].p1; + if( u.cg.i ) sqlite3VdbeMemSetInt64(&aMem[u.cg.i], 1); } - sqlite3VdbeMemRelease(&ctx.s); + sqlite3VdbeMemRelease(&u.cg.ctx.s); break; } /* Opcode: AggFinal P1 P2 * P4 * @@ -71934,21 +72133,23 @@ ** functions that can take varying numbers of arguments. The ** P4 argument is only needed for the degenerate case where ** the step function was not previously called. */ case OP_AggFinal: { +#if 0 /* local variables moved into u.ch */ Mem *pMem; +#endif /* local variables moved into u.ch */ assert( pOp->p1>0 && pOp->p1<=(p->nMem-p->nCursor) ); - pMem = &aMem[pOp->p1]; - assert( (pMem->flags & ~(MEM_Null|MEM_Agg))==0 ); - rc = sqlite3VdbeMemFinalize(pMem, pOp->p4.pFunc); + u.ch.pMem = &aMem[pOp->p1]; + assert( (u.ch.pMem->flags & ~(MEM_Null|MEM_Agg))==0 ); + rc = sqlite3VdbeMemFinalize(u.ch.pMem, pOp->p4.pFunc); if( rc ){ - sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3_value_text(pMem)); + sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3_value_text(u.ch.pMem)); } - sqlite3VdbeChangeEncoding(pMem, encoding); - UPDATE_MAX_BLOBSIZE(pMem); - if( sqlite3VdbeMemTooBig(pMem) ){ + sqlite3VdbeChangeEncoding(u.ch.pMem, encoding); + UPDATE_MAX_BLOBSIZE(u.ch.pMem); + if( sqlite3VdbeMemTooBig(u.ch.pMem) ){ goto too_big; } break; } @@ -71963,29 +72164,31 @@ ** in the WAL that have been checkpointed after the checkpoint ** completes into mem[P3+2]. However on an error, mem[P3+1] and ** mem[P3+2] are initialized to -1. */ case OP_Checkpoint: { +#if 0 /* local variables moved into u.ci */ int i; /* Loop counter */ int aRes[3]; /* Results */ Mem *pMem; /* Write results here */ +#endif /* local variables moved into u.ci */ assert( p->readOnly==0 ); - aRes[0] = 0; - aRes[1] = aRes[2] = -1; + u.ci.aRes[0] = 0; + u.ci.aRes[1] = u.ci.aRes[2] = -1; assert( pOp->p2==SQLITE_CHECKPOINT_PASSIVE || pOp->p2==SQLITE_CHECKPOINT_FULL || pOp->p2==SQLITE_CHECKPOINT_RESTART ); - rc = sqlite3Checkpoint(db, pOp->p1, pOp->p2, &aRes[1], &aRes[2]); + rc = sqlite3Checkpoint(db, pOp->p1, pOp->p2, &u.ci.aRes[1], &u.ci.aRes[2]); if( rc==SQLITE_BUSY ){ rc = SQLITE_OK; - aRes[0] = 1; + u.ci.aRes[0] = 1; } - for(i=0, pMem = &aMem[pOp->p3]; i<3; i++, pMem++){ - sqlite3VdbeMemSetInt64(pMem, (i64)aRes[i]); - } + for(u.ci.i=0, u.ci.pMem = &aMem[pOp->p3]; u.ci.i<3; u.ci.i++, u.ci.pMem++){ + sqlite3VdbeMemSetInt64(u.ci.pMem, (i64)u.ci.aRes[u.ci.i]); + } break; }; #endif #ifndef SQLITE_OMIT_PRAGMA @@ -71999,96 +72202,98 @@ ** If changing into or out of WAL mode the procedure is more complicated. ** ** Write a string containing the final journal-mode to register P2. */ case OP_JournalMode: { /* out2-prerelease */ +#if 0 /* local variables moved into u.cj */ Btree *pBt; /* Btree to change journal mode of */ Pager *pPager; /* Pager associated with pBt */ int eNew; /* New journal mode */ int eOld; /* The old journal mode */ #ifndef SQLITE_OMIT_WAL const char *zFilename; /* Name of database file for pPager */ #endif - - eNew = pOp->p3; - assert( eNew==PAGER_JOURNALMODE_DELETE - || eNew==PAGER_JOURNALMODE_TRUNCATE - || eNew==PAGER_JOURNALMODE_PERSIST - || eNew==PAGER_JOURNALMODE_OFF - || eNew==PAGER_JOURNALMODE_MEMORY - || eNew==PAGER_JOURNALMODE_WAL - || eNew==PAGER_JOURNALMODE_QUERY +#endif /* local variables moved into u.cj */ + + u.cj.eNew = pOp->p3; + assert( u.cj.eNew==PAGER_JOURNALMODE_DELETE + || u.cj.eNew==PAGER_JOURNALMODE_TRUNCATE + || u.cj.eNew==PAGER_JOURNALMODE_PERSIST + || u.cj.eNew==PAGER_JOURNALMODE_OFF + || u.cj.eNew==PAGER_JOURNALMODE_MEMORY + || u.cj.eNew==PAGER_JOURNALMODE_WAL + || u.cj.eNew==PAGER_JOURNALMODE_QUERY ); assert( pOp->p1>=0 && pOp->p1nDb ); assert( p->readOnly==0 ); - pBt = db->aDb[pOp->p1].pBt; - pPager = sqlite3BtreePager(pBt); - eOld = sqlite3PagerGetJournalMode(pPager); - if( eNew==PAGER_JOURNALMODE_QUERY ) eNew = eOld; - if( !sqlite3PagerOkToChangeJournalMode(pPager) ) eNew = eOld; + u.cj.pBt = db->aDb[pOp->p1].pBt; + u.cj.pPager = sqlite3BtreePager(u.cj.pBt); + u.cj.eOld = sqlite3PagerGetJournalMode(u.cj.pPager); + if( u.cj.eNew==PAGER_JOURNALMODE_QUERY ) u.cj.eNew = u.cj.eOld; + if( !sqlite3PagerOkToChangeJournalMode(u.cj.pPager) ) u.cj.eNew = u.cj.eOld; #ifndef SQLITE_OMIT_WAL - zFilename = sqlite3PagerFilename(pPager, 1); + u.cj.zFilename = sqlite3PagerFilename(u.cj.pPager, 1); /* Do not allow a transition to journal_mode=WAL for a database - ** in temporary storage or if the VFS does not support shared memory + ** in temporary storage or if the VFS does not support shared memory */ - if( eNew==PAGER_JOURNALMODE_WAL - && (sqlite3Strlen30(zFilename)==0 /* Temp file */ - || !sqlite3PagerWalSupported(pPager)) /* No shared-memory support */ + if( u.cj.eNew==PAGER_JOURNALMODE_WAL + && (sqlite3Strlen30(u.cj.zFilename)==0 /* Temp file */ + || !sqlite3PagerWalSupported(u.cj.pPager)) /* No shared-memory support */ ){ - eNew = eOld; + u.cj.eNew = u.cj.eOld; } - if( (eNew!=eOld) - && (eOld==PAGER_JOURNALMODE_WAL || eNew==PAGER_JOURNALMODE_WAL) + if( (u.cj.eNew!=u.cj.eOld) + && (u.cj.eOld==PAGER_JOURNALMODE_WAL || u.cj.eNew==PAGER_JOURNALMODE_WAL) ){ if( !db->autoCommit || db->nVdbeRead>1 ){ rc = SQLITE_ERROR; - sqlite3SetString(&p->zErrMsg, db, + sqlite3SetString(&p->zErrMsg, db, "cannot change %s wal mode from within a transaction", - (eNew==PAGER_JOURNALMODE_WAL ? "into" : "out of") + (u.cj.eNew==PAGER_JOURNALMODE_WAL ? "into" : "out of") ); break; }else{ - - if( eOld==PAGER_JOURNALMODE_WAL ){ + + if( u.cj.eOld==PAGER_JOURNALMODE_WAL ){ /* If leaving WAL mode, close the log file. If successful, the call - ** to PagerCloseWal() checkpoints and deletes the write-ahead-log - ** file. An EXCLUSIVE lock may still be held on the database file - ** after a successful return. + ** to PagerCloseWal() checkpoints and deletes the write-ahead-log + ** file. An EXCLUSIVE lock may still be held on the database file + ** after a successful return. */ - rc = sqlite3PagerCloseWal(pPager); + rc = sqlite3PagerCloseWal(u.cj.pPager); if( rc==SQLITE_OK ){ - sqlite3PagerSetJournalMode(pPager, eNew); + sqlite3PagerSetJournalMode(u.cj.pPager, u.cj.eNew); } - }else if( eOld==PAGER_JOURNALMODE_MEMORY ){ + }else if( u.cj.eOld==PAGER_JOURNALMODE_MEMORY ){ /* Cannot transition directly from MEMORY to WAL. Use mode OFF ** as an intermediate */ - sqlite3PagerSetJournalMode(pPager, PAGER_JOURNALMODE_OFF); + sqlite3PagerSetJournalMode(u.cj.pPager, PAGER_JOURNALMODE_OFF); } - + /* Open a transaction on the database file. Regardless of the journal ** mode, this transaction always uses a rollback journal. */ - assert( sqlite3BtreeIsInTrans(pBt)==0 ); + assert( sqlite3BtreeIsInTrans(u.cj.pBt)==0 ); if( rc==SQLITE_OK ){ - rc = sqlite3BtreeSetVersion(pBt, (eNew==PAGER_JOURNALMODE_WAL ? 2 : 1)); + rc = sqlite3BtreeSetVersion(u.cj.pBt, (u.cj.eNew==PAGER_JOURNALMODE_WAL ? 2 : 1)); } } } #endif /* ifndef SQLITE_OMIT_WAL */ if( rc ){ - eNew = eOld; + u.cj.eNew = u.cj.eOld; } - eNew = sqlite3PagerSetJournalMode(pPager, eNew); + u.cj.eNew = sqlite3PagerSetJournalMode(u.cj.pPager, u.cj.eNew); pOut = &aMem[pOp->p2]; pOut->flags = MEM_Str|MEM_Static|MEM_Term; - pOut->z = (char *)sqlite3JournalModename(eNew); + pOut->z = (char *)sqlite3JournalModename(u.cj.eNew); pOut->n = sqlite3Strlen30(pOut->z); pOut->enc = SQLITE_UTF8; sqlite3VdbeChangeEncoding(pOut, encoding); break; }; @@ -72114,17 +72319,19 @@ ** Perform a single step of the incremental vacuum procedure on ** the P1 database. If the vacuum has finished, jump to instruction ** P2. Otherwise, fall through to the next instruction. */ case OP_IncrVacuum: { /* jump */ +#if 0 /* local variables moved into u.ck */ Btree *pBt; +#endif /* local variables moved into u.ck */ assert( pOp->p1>=0 && pOp->p1nDb ); assert( (p->btreeMask & (((yDbMask)1)<p1))!=0 ); assert( p->readOnly==0 ); - pBt = db->aDb[pOp->p1].pBt; - rc = sqlite3BtreeIncrVacuum(pBt); + u.ck.pBt = db->aDb[pOp->p1].pBt; + rc = sqlite3BtreeIncrVacuum(u.ck.pBt); if( rc==SQLITE_DONE ){ pc = pOp->p2 - 1; rc = SQLITE_OK; } break; @@ -72191,14 +72398,16 @@ ** Also, whether or not P4 is set, check that this is not being called from ** within a callback to a virtual table xSync() method. If it is, the error ** code will be set to SQLITE_LOCKED. */ case OP_VBegin: { +#if 0 /* local variables moved into u.cl */ VTable *pVTab; - pVTab = pOp->p4.pVtab; - rc = sqlite3VtabBegin(db, pVTab); - if( pVTab ) sqlite3VtabImportErrmsg(p, pVTab->pVtab); +#endif /* local variables moved into u.cl */ + u.cl.pVTab = pOp->p4.pVtab; + rc = sqlite3VtabBegin(db, u.cl.pVTab); + if( u.cl.pVTab ) sqlite3VtabImportErrmsg(p, u.cl.pVTab->pVtab); break; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ #ifndef SQLITE_OMIT_VIRTUALTABLE @@ -72233,34 +72442,36 @@ ** P4 is a pointer to a virtual table object, an sqlite3_vtab structure. ** P1 is a cursor number. This opcode opens a cursor to the virtual ** table and stores that cursor in P1. */ case OP_VOpen: { +#if 0 /* local variables moved into u.cm */ VdbeCursor *pCur; sqlite3_vtab_cursor *pVtabCursor; sqlite3_vtab *pVtab; sqlite3_module *pModule; +#endif /* local variables moved into u.cm */ assert( p->bIsReader ); - pCur = 0; - pVtabCursor = 0; - pVtab = pOp->p4.pVtab->pVtab; - pModule = (sqlite3_module *)pVtab->pModule; - assert(pVtab && pModule); - rc = pModule->xOpen(pVtab, &pVtabCursor); - sqlite3VtabImportErrmsg(p, pVtab); + u.cm.pCur = 0; + u.cm.pVtabCursor = 0; + u.cm.pVtab = pOp->p4.pVtab->pVtab; + u.cm.pModule = (sqlite3_module *)u.cm.pVtab->pModule; + assert(u.cm.pVtab && u.cm.pModule); + rc = u.cm.pModule->xOpen(u.cm.pVtab, &u.cm.pVtabCursor); + sqlite3VtabImportErrmsg(p, u.cm.pVtab); if( SQLITE_OK==rc ){ /* Initialize sqlite3_vtab_cursor base class */ - pVtabCursor->pVtab = pVtab; + u.cm.pVtabCursor->pVtab = u.cm.pVtab; /* Initialize vdbe cursor object */ - pCur = allocateCursor(p, pOp->p1, 0, -1, 0); - if( pCur ){ - pCur->pVtabCursor = pVtabCursor; + u.cm.pCur = allocateCursor(p, pOp->p1, 0, -1, 0); + if( u.cm.pCur ){ + u.cm.pCur->pVtabCursor = u.cm.pVtabCursor; }else{ db->mallocFailed = 1; - pModule->xClose(pVtabCursor); + u.cm.pModule->xClose(u.cm.pVtabCursor); } } break; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -72284,10 +72495,11 @@ ** xFilter as argv. Register P3+2 becomes argv[0] when passed to xFilter. ** ** A jump is made to P2 if the result set after filtering would be empty. */ case OP_VFilter: { /* jump */ +#if 0 /* local variables moved into u.cn */ int nArg; int iQuery; const sqlite3_module *pModule; Mem *pQuery; Mem *pArgc; @@ -72295,48 +72507,49 @@ sqlite3_vtab *pVtab; VdbeCursor *pCur; int res; int i; Mem **apArg; - - pQuery = &aMem[pOp->p3]; - pArgc = &pQuery[1]; - pCur = p->apCsr[pOp->p1]; - assert( memIsValid(pQuery) ); - REGISTER_TRACE(pOp->p3, pQuery); - assert( pCur->pVtabCursor ); - pVtabCursor = pCur->pVtabCursor; - pVtab = pVtabCursor->pVtab; - pModule = pVtab->pModule; +#endif /* local variables moved into u.cn */ + + u.cn.pQuery = &aMem[pOp->p3]; + u.cn.pArgc = &u.cn.pQuery[1]; + u.cn.pCur = p->apCsr[pOp->p1]; + assert( memIsValid(u.cn.pQuery) ); + REGISTER_TRACE(pOp->p3, u.cn.pQuery); + assert( u.cn.pCur->pVtabCursor ); + u.cn.pVtabCursor = u.cn.pCur->pVtabCursor; + u.cn.pVtab = u.cn.pVtabCursor->pVtab; + u.cn.pModule = u.cn.pVtab->pModule; /* Grab the index number and argc parameters */ - assert( (pQuery->flags&MEM_Int)!=0 && pArgc->flags==MEM_Int ); - nArg = (int)pArgc->u.i; - iQuery = (int)pQuery->u.i; + assert( (u.cn.pQuery->flags&MEM_Int)!=0 && u.cn.pArgc->flags==MEM_Int ); + u.cn.nArg = (int)u.cn.pArgc->u.i; + u.cn.iQuery = (int)u.cn.pQuery->u.i; /* Invoke the xFilter method */ { - res = 0; - apArg = p->apArg; - for(i = 0; iapArg; + for(u.cn.i = 0; u.cn.iinVtabMethod = 1; - rc = pModule->xFilter(pVtabCursor, iQuery, pOp->p4.z, nArg, apArg); + rc = u.cn.pModule->xFilter(u.cn.pVtabCursor, u.cn.iQuery, pOp->p4.z, u.cn.nArg, u.cn.apArg); p->inVtabMethod = 0; - sqlite3VtabImportErrmsg(p, pVtab); + sqlite3VtabImportErrmsg(p, u.cn.pVtab); if( rc==SQLITE_OK ){ - res = pModule->xEof(pVtabCursor); + u.cn.res = u.cn.pModule->xEof(u.cn.pVtabCursor); } - if( res ){ + if( u.cn.res ){ pc = pOp->p2 - 1; } } - pCur->nullRow = 0; + u.cn.pCur->nullRow = 0; break; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -72347,53 +72560,55 @@ ** Store the value of the P2-th column of ** the row of the virtual-table that the ** P1 cursor is pointing to into register P3. */ case OP_VColumn: { +#if 0 /* local variables moved into u.co */ sqlite3_vtab *pVtab; const sqlite3_module *pModule; Mem *pDest; sqlite3_context sContext; +#endif /* local variables moved into u.co */ VdbeCursor *pCur = p->apCsr[pOp->p1]; assert( pCur->pVtabCursor ); assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); - pDest = &aMem[pOp->p3]; - memAboutToChange(p, pDest); + u.co.pDest = &aMem[pOp->p3]; + memAboutToChange(p, u.co.pDest); if( pCur->nullRow ){ - sqlite3VdbeMemSetNull(pDest); + sqlite3VdbeMemSetNull(u.co.pDest); break; } - pVtab = pCur->pVtabCursor->pVtab; - pModule = pVtab->pModule; - assert( pModule->xColumn ); - memset(&sContext, 0, sizeof(sContext)); + u.co.pVtab = pCur->pVtabCursor->pVtab; + u.co.pModule = u.co.pVtab->pModule; + assert( u.co.pModule->xColumn ); + memset(&u.co.sContext, 0, sizeof(u.co.sContext)); /* The output cell may already have a buffer allocated. Move - ** the current contents to sContext.s so in case the user-function - ** can use the already allocated buffer instead of allocating a + ** the current contents to u.co.sContext.s so in case the user-function + ** can use the already allocated buffer instead of allocating a ** new one. */ - sqlite3VdbeMemMove(&sContext.s, pDest); - MemSetTypeFlag(&sContext.s, MEM_Null); + sqlite3VdbeMemMove(&u.co.sContext.s, u.co.pDest); + MemSetTypeFlag(&u.co.sContext.s, MEM_Null); - rc = pModule->xColumn(pCur->pVtabCursor, &sContext, pOp->p2); - sqlite3VtabImportErrmsg(p, pVtab); - if( sContext.isError ){ - rc = sContext.isError; + rc = u.co.pModule->xColumn(pCur->pVtabCursor, &u.co.sContext, pOp->p2); + sqlite3VtabImportErrmsg(p, u.co.pVtab); + if( u.co.sContext.isError ){ + rc = u.co.sContext.isError; } /* Copy the result of the function to the P3 register. We ** do this regardless of whether or not an error occurred to ensure any - ** dynamic allocation in sContext.s (a Mem struct) is released. + ** dynamic allocation in u.co.sContext.s (a Mem struct) is released. */ - sqlite3VdbeChangeEncoding(&sContext.s, encoding); - sqlite3VdbeMemMove(pDest, &sContext.s); - REGISTER_TRACE(pOp->p3, pDest); - UPDATE_MAX_BLOBSIZE(pDest); + sqlite3VdbeChangeEncoding(&u.co.sContext.s, encoding); + sqlite3VdbeMemMove(u.co.pDest, &u.co.sContext.s); + REGISTER_TRACE(pOp->p3, u.co.pDest); + UPDATE_MAX_BLOBSIZE(u.co.pDest); - if( sqlite3VdbeMemTooBig(pDest) ){ + if( sqlite3VdbeMemTooBig(u.co.pDest) ){ goto too_big; } break; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -72404,40 +72619,42 @@ ** Advance virtual table P1 to the next row in its result set and ** jump to instruction P2. Or, if the virtual table has reached ** the end of its result set, then fall through to the next instruction. */ case OP_VNext: { /* jump */ +#if 0 /* local variables moved into u.cp */ sqlite3_vtab *pVtab; const sqlite3_module *pModule; int res; VdbeCursor *pCur; +#endif /* local variables moved into u.cp */ - res = 0; - pCur = p->apCsr[pOp->p1]; - assert( pCur->pVtabCursor ); - if( pCur->nullRow ){ + u.cp.res = 0; + u.cp.pCur = p->apCsr[pOp->p1]; + assert( u.cp.pCur->pVtabCursor ); + if( u.cp.pCur->nullRow ){ break; } - pVtab = pCur->pVtabCursor->pVtab; - pModule = pVtab->pModule; - assert( pModule->xNext ); + u.cp.pVtab = u.cp.pCur->pVtabCursor->pVtab; + u.cp.pModule = u.cp.pVtab->pModule; + assert( u.cp.pModule->xNext ); /* Invoke the xNext() method of the module. There is no way for the ** underlying implementation to return an error if one occurs during - ** xNext(). Instead, if an error occurs, true is returned (indicating that + ** xNext(). Instead, if an error occurs, true is returned (indicating that ** data is available) and the error code returned when xColumn or ** some other method is next invoked on the save virtual table cursor. */ p->inVtabMethod = 1; - rc = pModule->xNext(pCur->pVtabCursor); + rc = u.cp.pModule->xNext(u.cp.pCur->pVtabCursor); p->inVtabMethod = 0; - sqlite3VtabImportErrmsg(p, pVtab); + sqlite3VtabImportErrmsg(p, u.cp.pVtab); if( rc==SQLITE_OK ){ - res = pModule->xEof(pCur->pVtabCursor); + u.cp.res = u.cp.pModule->xEof(u.cp.pCur->pVtabCursor); } - if( !res ){ + if( !u.cp.res ){ /* If there is data, jump to P2 */ pc = pOp->p2 - 1; } goto check_for_interrupt; } @@ -72449,27 +72666,29 @@ ** P4 is a pointer to a virtual table object, an sqlite3_vtab structure. ** This opcode invokes the corresponding xRename method. The value ** in register P1 is passed as the zName argument to the xRename method. */ case OP_VRename: { +#if 0 /* local variables moved into u.cq */ sqlite3_vtab *pVtab; Mem *pName; +#endif /* local variables moved into u.cq */ - pVtab = pOp->p4.pVtab->pVtab; - pName = &aMem[pOp->p1]; - assert( pVtab->pModule->xRename ); - assert( memIsValid(pName) ); + u.cq.pVtab = pOp->p4.pVtab->pVtab; + u.cq.pName = &aMem[pOp->p1]; + assert( u.cq.pVtab->pModule->xRename ); + assert( memIsValid(u.cq.pName) ); assert( p->readOnly==0 ); - REGISTER_TRACE(pOp->p1, pName); - assert( pName->flags & MEM_Str ); - testcase( pName->enc==SQLITE_UTF8 ); - testcase( pName->enc==SQLITE_UTF16BE ); - testcase( pName->enc==SQLITE_UTF16LE ); - rc = sqlite3VdbeChangeEncoding(pName, SQLITE_UTF8); + REGISTER_TRACE(pOp->p1, u.cq.pName); + assert( u.cq.pName->flags & MEM_Str ); + testcase( u.cq.pName->enc==SQLITE_UTF8 ); + testcase( u.cq.pName->enc==SQLITE_UTF16BE ); + testcase( u.cq.pName->enc==SQLITE_UTF16LE ); + rc = sqlite3VdbeChangeEncoding(u.cq.pName, SQLITE_UTF8); if( rc==SQLITE_OK ){ - rc = pVtab->pModule->xRename(pVtab, pName->z); - sqlite3VtabImportErrmsg(p, pVtab); + rc = u.cq.pVtab->pModule->xRename(u.cq.pVtab, u.cq.pName->z); + sqlite3VtabImportErrmsg(p, u.cq.pVtab); p->expired = 0; } break; } #endif @@ -72498,44 +72717,46 @@ ** P1 is a boolean flag. If it is set to true and the xUpdate call ** is successful, then the value returned by sqlite3_last_insert_rowid() ** is set to the value of the rowid for the row just inserted. */ case OP_VUpdate: { +#if 0 /* local variables moved into u.cr */ sqlite3_vtab *pVtab; sqlite3_module *pModule; int nArg; int i; sqlite_int64 rowid; Mem **apArg; Mem *pX; +#endif /* local variables moved into u.cr */ - assert( pOp->p2==1 || pOp->p5==OE_Fail || pOp->p5==OE_Rollback + assert( pOp->p2==1 || pOp->p5==OE_Fail || pOp->p5==OE_Rollback || pOp->p5==OE_Abort || pOp->p5==OE_Ignore || pOp->p5==OE_Replace ); assert( p->readOnly==0 ); - pVtab = pOp->p4.pVtab->pVtab; - pModule = (sqlite3_module *)pVtab->pModule; - nArg = pOp->p2; + u.cr.pVtab = pOp->p4.pVtab->pVtab; + u.cr.pModule = (sqlite3_module *)u.cr.pVtab->pModule; + u.cr.nArg = pOp->p2; assert( pOp->p4type==P4_VTAB ); - if( ALWAYS(pModule->xUpdate) ){ + if( ALWAYS(u.cr.pModule->xUpdate) ){ u8 vtabOnConflict = db->vtabOnConflict; - apArg = p->apArg; - pX = &aMem[pOp->p3]; - for(i=0; iapArg; + u.cr.pX = &aMem[pOp->p3]; + for(u.cr.i=0; u.cr.ivtabOnConflict = pOp->p5; - rc = pModule->xUpdate(pVtab, nArg, apArg, &rowid); + rc = u.cr.pModule->xUpdate(u.cr.pVtab, u.cr.nArg, u.cr.apArg, &u.cr.rowid); db->vtabOnConflict = vtabOnConflict; - sqlite3VtabImportErrmsg(p, pVtab); + sqlite3VtabImportErrmsg(p, u.cr.pVtab); if( rc==SQLITE_OK && pOp->p1 ){ - assert( nArg>1 && apArg[0] && (apArg[0]->flags&MEM_Null) ); - db->lastRowid = lastRowid = rowid; + assert( u.cr.nArg>1 && u.cr.apArg[0] && (u.cr.apArg[0]->flags&MEM_Null) ); + db->lastRowid = lastRowid = u.cr.rowid; } if( (rc&0xff)==SQLITE_CONSTRAINT && pOp->p4.pVtab->bConstraint ){ if( pOp->p5==OE_Ignore ){ rc = SQLITE_OK; }else{ @@ -72591,36 +72812,38 @@ ** ** If tracing is enabled (by the sqlite3_trace()) interface, then ** the UTF-8 string contained in P4 is emitted on the trace callback. */ case OP_Trace: { +#if 0 /* local variables moved into u.cs */ char *zTrace; char *z; +#endif /* local variables moved into u.cs */ if( db->xTrace && !p->doingRerun - && (zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0 + && (u.cs.zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0 ){ - z = sqlite3VdbeExpandSql(p, zTrace); - db->xTrace(db->pTraceArg, z); - sqlite3DbFree(db, z); + u.cs.z = sqlite3VdbeExpandSql(p, u.cs.zTrace); + db->xTrace(db->pTraceArg, u.cs.z); + sqlite3DbFree(db, u.cs.z); } #ifdef SQLITE_USE_FCNTL_TRACE - zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql); - if( zTrace ){ + u.cs.zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql); + if( u.cs.zTrace ){ int i; for(i=0; inDb; i++){ - if( MASKBIT(i) & p->btreeMask)==0 ) continue; - sqlite3_file_control(db, db->aDb[i].zName, SQLITE_FCNTL_TRACE, zTrace); + if( ((1<btreeMask)==0 ) continue; + sqlite3_file_control(db, db->aDb[i].zName, SQLITE_FCNTL_TRACE, u.cs.zTrace); } } #endif /* SQLITE_USE_FCNTL_TRACE */ #ifdef SQLITE_DEBUG if( (db->flags & SQLITE_SqlTrace)!=0 - && (zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0 + && (u.cs.zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0 ){ - sqlite3DebugPrintf("SQL-trace: %s\n", zTrace); + sqlite3DebugPrintf("SQL-trace: %s\n", u.cs.zTrace); } #endif /* SQLITE_DEBUG */ break; } #endif @@ -72745,11 +72968,10 @@ rc = SQLITE_INTERRUPT; p->rc = rc; sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3ErrStr(rc)); goto vdbe_error_halt; } - /************** End of vdbe.c ************************************************/ /************** Begin file vdbeblob.c ****************************************/ /* ** 2007 May 1 @@ -73004,11 +73226,11 @@ sqlite3BtreeLeaveAll(db); goto blob_open_out; } } - pBlob->pStmt = (sqlite3_stmt *)sqlite3VdbeCreate(pParse); + pBlob->pStmt = (sqlite3_stmt *)sqlite3VdbeCreate(db); assert( pBlob->pStmt || db->mallocFailed ); if( pBlob->pStmt ){ Vdbe *v = (Vdbe *)pBlob->pStmt; int iDb = sqlite3SchemaToIndex(db, pTab->pSchema); @@ -74894,43 +75116,42 @@ } /* ** Call sqlite3WalkExpr() for every expression in Select statement p. ** Invoke sqlite3WalkSelect() for subqueries in the FROM clause and -** on the compound select chain, p->pPrior. -** -** If it is not NULL, the xSelectCallback() callback is invoked before -** the walk of the expressions and FROM clause. The xSelectCallback2() -** method, if it is not NULL, is invoked following the walk of the -** expressions and FROM clause. +** on the compound select chain, p->pPrior. Invoke the xSelectCallback() +** either before or after the walk of expressions and FROM clause, depending +** on whether pWalker->bSelectDepthFirst is false or true, respectively. ** ** Return WRC_Continue under normal conditions. Return WRC_Abort if ** there is an abort request. ** ** If the Walker does not have an xSelectCallback() then this routine ** is a no-op returning WRC_Continue. */ SQLITE_PRIVATE int sqlite3WalkSelect(Walker *pWalker, Select *p){ int rc; - if( p==0 || (pWalker->xSelectCallback==0 && pWalker->xSelectCallback2==0) ){ - return WRC_Continue; - } + if( p==0 || pWalker->xSelectCallback==0 ) return WRC_Continue; rc = WRC_Continue; pWalker->walkerDepth++; while( p ){ - if( pWalker->xSelectCallback ){ + if( !pWalker->bSelectDepthFirst ){ rc = pWalker->xSelectCallback(pWalker, p); if( rc ) break; } if( sqlite3WalkSelectExpr(pWalker, p) || sqlite3WalkSelectFrom(pWalker, p) ){ pWalker->walkerDepth--; return WRC_Abort; } - if( pWalker->xSelectCallback2 ){ - pWalker->xSelectCallback2(pWalker, p); + if( pWalker->bSelectDepthFirst ){ + rc = pWalker->xSelectCallback(pWalker, p); + /* Depth-first search is currently only used for + ** selectAddSubqueryTypeInfo() and that routine always returns + ** WRC_Continue (0). So the following branch is never taken. */ + if( NEVER(rc) ) break; } p = p->pPrior; } pWalker->walkerDepth--; return rc & WRC_Abort; @@ -76912,29 +77133,20 @@ } return p; } /* -** If the expression is always either TRUE or FALSE (respectively), -** then return 1. If one cannot determine the truth value of the -** expression at compile-time return 0. -** -** This is an optimization. If is OK to return 0 here even if -** the expression really is always false or false (a false negative). -** But it is a bug to return 1 if the expression might have different -** boolean values in different circumstances (a false positive.) +** Return 1 if an expression must be FALSE in all cases and 0 if the +** expression might be true. This is an optimization. If is OK to +** return 0 here even if the expression really is always false (a +** false negative). But it is a bug to return 1 if the expression +** might be true in some rare circumstances (a false positive.) ** ** Note that if the expression is part of conditional for a ** LEFT JOIN, then we cannot determine at compile-time whether or not ** is it true or false, so always return 0. */ -static int exprAlwaysTrue(Expr *p){ - int v = 0; - if( ExprHasProperty(p, EP_FromJoin) ) return 0; - if( !sqlite3ExprIsInteger(p, &v) ) return 0; - return v!=0; -} static int exprAlwaysFalse(Expr *p){ int v = 0; if( ExprHasProperty(p, EP_FromJoin) ) return 0; if( !sqlite3ExprIsInteger(p, &v) ) return 0; return v==0; @@ -77284,37 +77496,10 @@ } } return pNew; } -/* -** Create and return a deep copy of the object passed as the second -** argument. If an OOM condition is encountered, NULL is returned -** and the db->mallocFailed flag set. -*/ -#ifndef SQLITE_OMIT_CTE -static With *withDup(sqlite3 *db, With *p){ - With *pRet = 0; - if( p ){ - int nByte = sizeof(*p) + sizeof(p->a[0]) * (p->nCte-1); - pRet = sqlite3DbMallocZero(db, nByte); - if( pRet ){ - int i; - pRet->nCte = p->nCte; - for(i=0; inCte; i++){ - pRet->a[i].pSelect = sqlite3SelectDup(db, p->a[i].pSelect, 0); - pRet->a[i].pCols = sqlite3ExprListDup(db, p->a[i].pCols, 0); - pRet->a[i].zName = sqlite3DbStrDup(db, p->a[i].zName); - } - } - } - return pRet; -} -#else -# define withDup(x,y) 0 -#endif - /* ** The following group of routines make deep copies of expressions, ** expression lists, ID lists, and select statements. The copies can ** be deleted (by being passed to their respective ...Delete() routines) ** without effecting the originals. @@ -77391,11 +77576,10 @@ pNewItem->iCursor = pOldItem->iCursor; pNewItem->addrFillSub = pOldItem->addrFillSub; pNewItem->regReturn = pOldItem->regReturn; pNewItem->isCorrelated = pOldItem->isCorrelated; pNewItem->viaCoroutine = pOldItem->viaCoroutine; - pNewItem->isRecursive = pOldItem->isRecursive; pNewItem->zIndex = sqlite3DbStrDup(db, pOldItem->zIndex); pNewItem->notIndexed = pOldItem->notIndexed; pNewItem->pIndex = pOldItem->pIndex; pTab = pNewItem->pTab = pOldItem->pTab; if( pTab ){ @@ -77453,12 +77637,10 @@ pNew->selFlags = p->selFlags & ~SF_UsesEphemeral; pNew->pRightmost = 0; pNew->addrOpenEphm[0] = -1; pNew->addrOpenEphm[1] = -1; pNew->addrOpenEphm[2] = -1; - pNew->nSelectRow = p->nSelectRow; - pNew->pWith = withDup(db, p->pWith); return pNew; } #else SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *p, int flags){ assert( p==0 ); @@ -78598,15 +78780,10 @@ ** added to the column cache after this call are removed when the ** corresponding pop occurs. */ SQLITE_PRIVATE void sqlite3ExprCachePush(Parse *pParse){ pParse->iCacheLevel++; -#ifdef SQLITE_DEBUG - if( pParse->db->flags & SQLITE_VdbeAddopTrace ){ - printf("PUSH to %d\n", pParse->iCacheLevel); - } -#endif } /* ** Remove from the column cache any entries that were added since the ** the previous N Push operations. In other words, restore the cache @@ -78616,15 +78793,10 @@ int i; struct yColCache *p; assert( N>0 ); assert( pParse->iCacheLevel>=N ); pParse->iCacheLevel -= N; -#ifdef SQLITE_DEBUG - if( pParse->db->flags & SQLITE_VdbeAddopTrace ){ - printf("POP to %d\n", pParse->iCacheLevel); - } -#endif for(i=0, p=pParse->aColCache; iiReg && p->iLevel>pParse->iCacheLevel ){ cacheEntryClear(pParse, p); p->iReg = 0; } @@ -78715,15 +78887,10 @@ */ SQLITE_PRIVATE void sqlite3ExprCacheClear(Parse *pParse){ int i; struct yColCache *p; -#if SQLITE_DEBUG - if( pParse->db->flags & SQLITE_VdbeAddopTrace ){ - printf("CLEAR\n"); - } -#endif for(i=0, p=pParse->aColCache; iiReg ){ cacheEntryClear(pParse, p); p->iReg = 0; } @@ -79075,11 +79242,11 @@ ExprList *pFarg; /* List of function arguments */ int nFarg; /* Number of function arguments */ FuncDef *pDef; /* The function definition object */ int nId; /* Length of the function name in bytes */ const char *zId; /* The function name */ - u32 constMask = 0; /* Mask of function arguments that are constant */ + int constMask = 0; /* Mask of function arguments that are constant */ int i; /* Loop counter */ u8 enc = ENC(db); /* The text encoding used by this database */ CollSeq *pColl = 0; /* A collating sequence */ assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); @@ -79126,12 +79293,11 @@ break; } for(i=0; ia[i].pExpr) ){ - testcase( i==31 ); - constMask |= MASKBIT32(i); + constMask |= (1<funcFlags & SQLITE_FUNC_NEEDCOLL)!=0 && !pColl ){ pColl = sqlite3ExprCollSeq(pParse, pFarg->a[i].pExpr); } } @@ -79857,21 +80023,11 @@ if( (flags & SQLITE_ECEL_FACTOR)!=0 && sqlite3ExprIsConstant(pExpr) ){ sqlite3ExprCodeAtInit(pParse, pExpr, target+i, 0); }else{ int inReg = sqlite3ExprCodeTarget(pParse, pExpr, target+i); if( inReg!=target+i ){ - VdbeOp *pOp; - Vdbe *v = pParse->pVdbe; - if( copyOp==OP_Copy - && (pOp=sqlite3VdbeGetOp(v, -1))->opcode==OP_Copy - && pOp->p1+pOp->p3+1==inReg - && pOp->p2+pOp->p3+1==target+i - ){ - pOp->p3++; - }else{ - sqlite3VdbeAddOp2(v, copyOp, inReg, target+i); - } + sqlite3VdbeAddOp2(pParse->pVdbe, copyOp, inReg, target+i); } } } return n; } @@ -79958,23 +80114,21 @@ op = pExpr->op; switch( op ){ case TK_AND: { int d2 = sqlite3VdbeMakeLabel(v); testcase( jumpIfNull==0 ); - sqlite3ExprIfFalse(pParse, pExpr->pLeft, d2,jumpIfNull^SQLITE_JUMPIFNULL); sqlite3ExprCachePush(pParse); + sqlite3ExprIfFalse(pParse, pExpr->pLeft, d2,jumpIfNull^SQLITE_JUMPIFNULL); sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull); sqlite3VdbeResolveLabel(v, d2); sqlite3ExprCachePop(pParse, 1); break; } case TK_OR: { testcase( jumpIfNull==0 ); sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull); - sqlite3ExprCachePush(pParse); sqlite3ExprIfTrue(pParse, pExpr->pRight, dest, jumpIfNull); - sqlite3ExprCachePop(pParse, 1); break; } case TK_NOT: { testcase( jumpIfNull==0 ); sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull); @@ -80045,20 +80199,14 @@ sqlite3VdbeResolveLabel(v, destIfFalse); break; } #endif default: { - if( exprAlwaysTrue(pExpr) ){ - sqlite3VdbeAddOp2(v, OP_Goto, 0, dest); - }else if( exprAlwaysFalse(pExpr) ){ - /* No-op */ - }else{ - r1 = sqlite3ExprCodeTemp(pParse, pExpr, ®Free1); - sqlite3VdbeAddOp3(v, OP_If, r1, dest, jumpIfNull!=0); - testcase( regFree1==0 ); - testcase( jumpIfNull==0 ); - } + r1 = sqlite3ExprCodeTemp(pParse, pExpr, ®Free1); + sqlite3VdbeAddOp3(v, OP_If, r1, dest, jumpIfNull!=0); + testcase( regFree1==0 ); + testcase( jumpIfNull==0 ); break; } } sqlite3ReleaseTempReg(pParse, regFree1); sqlite3ReleaseTempReg(pParse, regFree2); @@ -80117,20 +80265,18 @@ switch( pExpr->op ){ case TK_AND: { testcase( jumpIfNull==0 ); sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull); - sqlite3ExprCachePush(pParse); sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull); - sqlite3ExprCachePop(pParse, 1); break; } case TK_OR: { int d2 = sqlite3VdbeMakeLabel(v); testcase( jumpIfNull==0 ); - sqlite3ExprIfTrue(pParse, pExpr->pLeft, d2, jumpIfNull^SQLITE_JUMPIFNULL); sqlite3ExprCachePush(pParse); + sqlite3ExprIfTrue(pParse, pExpr->pLeft, d2, jumpIfNull^SQLITE_JUMPIFNULL); sqlite3ExprIfFalse(pParse, pExpr->pRight, dest, jumpIfNull); sqlite3VdbeResolveLabel(v, d2); sqlite3ExprCachePop(pParse, 1); break; } @@ -80198,20 +80344,14 @@ } break; } #endif default: { - if( exprAlwaysFalse(pExpr) ){ - sqlite3VdbeAddOp2(v, OP_Goto, 0, dest); - }else if( exprAlwaysTrue(pExpr) ){ - /* no-op */ - }else{ - r1 = sqlite3ExprCodeTemp(pParse, pExpr, ®Free1); - sqlite3VdbeAddOp3(v, OP_IfNot, r1, dest, jumpIfNull!=0); - testcase( regFree1==0 ); - testcase( jumpIfNull==0 ); - } + r1 = sqlite3ExprCodeTemp(pParse, pExpr, ®Free1); + sqlite3VdbeAddOp3(v, OP_IfNot, r1, dest, jumpIfNull!=0); + testcase( regFree1==0 ); + testcase( jumpIfNull==0 ); break; } } sqlite3ReleaseTempReg(pParse, regFree1); sqlite3ReleaseTempReg(pParse, regFree2); @@ -83307,10 +83447,14 @@ { int rc = SQLITE_OK; if( pExpr ){ if( pExpr->op!=TK_ID ){ rc = sqlite3ResolveExprNames(pName, pExpr); + if( rc==SQLITE_OK && !sqlite3ExprIsConstant(pExpr) ){ + sqlite3ErrorMsg(pName->pParse, "invalid name: \"%s\"", pExpr->u.zToken); + return SQLITE_ERROR; + } }else{ pExpr->op = TK_STRING; } } return rc; @@ -84236,11 +84380,10 @@ */ v = sqlite3GetVdbe(pParse); assert( !pParse->isMultiWrite || sqlite3VdbeAssertMayAbort(v, pParse->mayAbort)); if( v ){ - while( sqlite3VdbeDeletePriorOpcode(v, OP_Close) ){} sqlite3VdbeAddOp0(v, OP_Halt); /* The cookie mask contains one bit for each database file open. ** (Bit 0 is for main, bit 1 is for temp, and so forth.) Bits are ** set for each database that is used. Generate code to start a @@ -85548,14 +85691,14 @@ i = *pIdx; for(j=0; zIdent[j]; j++){ if( !sqlite3Isalnum(zIdent[j]) && zIdent[j]!='_' ) break; } - needQuote = sqlite3Isdigit(zIdent[0]) - || sqlite3KeywordCode(zIdent, j)!=TK_ID - || zIdent[j]!=0 - || j==0; + needQuote = sqlite3Isdigit(zIdent[0]) || sqlite3KeywordCode(zIdent, j)!=TK_ID; + if( !needQuote ){ + needQuote = zIdent[j]; + } if( needQuote ) z[i++] = '"'; for(j=0; zIdent[j]; j++){ z[i++] = zIdent[j]; if( zIdent[j]=='"' ) z[i++] = '"'; @@ -86774,11 +86917,11 @@ ** records into the sorter. */ sqlite3OpenTable(pParse, iTab, iDb, pTab, OP_OpenRead); addr1 = sqlite3VdbeAddOp2(v, OP_Rewind, iTab, 0); regRecord = sqlite3GetTempReg(pParse); - sqlite3GenerateIndexKey(pParse,pIndex,iTab,regRecord,0,&iPartIdxLabel,0,0); + sqlite3GenerateIndexKey(pParse, pIndex, iTab, regRecord, 0, &iPartIdxLabel); sqlite3VdbeAddOp2(v, OP_SorterInsert, iSorter, regRecord); sqlite3VdbeResolveLabel(v, iPartIdxLabel); sqlite3VdbeAddOp2(v, OP_Next, iTab, addr1+1); sqlite3VdbeJumpHere(v, addr1); if( memRootPage<0 ) sqlite3VdbeAddOp2(v, OP_Clear, tnum, iDb); @@ -88086,13 +88229,13 @@ sqlite3StrAccumInit(&errMsg, 0, 0, 200); errMsg.db = pParse->db; for(j=0; jnKeyCol; j++){ char *zCol = pTab->aCol[pIdx->aiColumn[j]].zName; if( j ) sqlite3StrAccumAppend(&errMsg, ", ", 2); - sqlite3StrAccumAppendAll(&errMsg, pTab->zName); + sqlite3StrAccumAppend(&errMsg, pTab->zName, -1); sqlite3StrAccumAppend(&errMsg, ".", 1); - sqlite3StrAccumAppendAll(&errMsg, zCol); + sqlite3StrAccumAppend(&errMsg, zCol, -1); } zErr = sqlite3StrAccumFinish(&errMsg); sqlite3HaltConstraint(pParse, (pIdx->autoIndex==2)?SQLITE_CONSTRAINT_PRIMARYKEY:SQLITE_CONSTRAINT_UNIQUE, onError, zErr, P4_DYNAMIC, P5_ConstraintUnique); @@ -88280,13 +88423,12 @@ } if( pKey ){ assert( sqlite3KeyInfoIsWriteable(pKey) ); for(i=0; iazColl[i]; - assert( zColl!=0 ); - pKey->aColl[i] = strcmp(zColl,"BINARY")==0 ? 0 : - sqlite3LocateCollSeq(pParse, zColl); + if( NEVER(zColl==0) ) zColl = "BINARY"; + pKey->aColl[i] = sqlite3LocateCollSeq(pParse, zColl); pKey->aSortOrder[i] = pIdx->aSortOrder[i]; } if( pParse->nErr ){ sqlite3KeyInfoUnref(pKey); }else{ @@ -88295,80 +88437,10 @@ } } return sqlite3KeyInfoRef(pIdx->pKeyInfo); } -#ifndef SQLITE_OMIT_CTE -/* -** This routine is invoked once per CTE by the parser while parsing a -** WITH clause. -*/ -SQLITE_PRIVATE With *sqlite3WithAdd( - Parse *pParse, /* Parsing context */ - With *pWith, /* Existing WITH clause, or NULL */ - Token *pName, /* Name of the common-table */ - ExprList *pArglist, /* Optional column name list for the table */ - Select *pQuery /* Query used to initialize the table */ -){ - sqlite3 *db = pParse->db; - With *pNew; - char *zName; - - /* Check that the CTE name is unique within this WITH clause. If - ** not, store an error in the Parse structure. */ - zName = sqlite3NameFromToken(pParse->db, pName); - if( zName && pWith ){ - int i; - for(i=0; inCte; i++){ - if( sqlite3StrICmp(zName, pWith->a[i].zName)==0 ){ - sqlite3ErrorMsg(pParse, "duplicate WITH table name: %s", zName); - } - } - } - - if( pWith ){ - int nByte = sizeof(*pWith) + (sizeof(pWith->a[1]) * pWith->nCte); - pNew = sqlite3DbRealloc(db, pWith, nByte); - }else{ - pNew = sqlite3DbMallocZero(db, sizeof(*pWith)); - } - assert( zName!=0 || pNew==0 ); - assert( db->mallocFailed==0 || pNew==0 ); - - if( pNew==0 ){ - sqlite3ExprListDelete(db, pArglist); - sqlite3SelectDelete(db, pQuery); - sqlite3DbFree(db, zName); - pNew = pWith; - }else{ - pNew->a[pNew->nCte].pSelect = pQuery; - pNew->a[pNew->nCte].pCols = pArglist; - pNew->a[pNew->nCte].zName = zName; - pNew->a[pNew->nCte].zErr = 0; - pNew->nCte++; - } - - return pNew; -} - -/* -** Free the contents of the With object passed as the second argument. -*/ -SQLITE_PRIVATE void sqlite3WithDelete(sqlite3 *db, With *pWith){ - if( pWith ){ - int i; - for(i=0; inCte; i++){ - struct Cte *pCte = &pWith->a[i]; - sqlite3ExprListDelete(db, pCte->pCols); - sqlite3SelectDelete(db, pCte->pSelect); - sqlite3DbFree(db, pCte->zName); - } - sqlite3DbFree(db, pWith); - } -} -#endif /* !defined(SQLITE_OMIT_CTE) */ - /************** End of build.c ***********************************************/ /************** Begin file callback.c ****************************************/ /* ** 2005 May 23 ** @@ -88725,10 +88797,11 @@ int bestScore = 0; /* Score of best match */ int h; /* Hash value */ assert( nArg>=(-2) ); assert( nArg>=(-1) || createFlag==0 ); + assert( enc==SQLITE_UTF8 || enc==SQLITE_UTF16LE || enc==SQLITE_UTF16BE ); h = (sqlite3UpperToLower[(u8)zName[0]] + nName) % ArraySize(db->aFunc.a); /* First search for a match amongst the application-defined functions. */ p = functionSearch(&db->aFunc, h, zName, nName); @@ -89483,13 +89556,11 @@ /* Populate the OLD.* pseudo-table register array. These values will be ** used by any BEFORE and AFTER triggers that exist. */ sqlite3VdbeAddOp2(v, OP_Copy, iPk, iOld); for(iCol=0; iColnCol; iCol++){ - testcase( mask!=0xffffffff && iCol==31 ); - testcase( mask!=0xffffffff && iCol==32 ); - if( mask==0xffffffff || (iCol<=31 && (mask & MASKBIT32(iCol))!=0) ){ + if( mask==0xffffffff || mask&(1<0 */ ){ int i; /* Index loop counter */ - int r1 = -1; /* Register holding an index key */ + int r1; /* Register holding an index key */ int iPartIdxLabel; /* Jump destination for skipping partial index entries */ Index *pIdx; /* Current index */ - Index *pPrior = 0; /* Prior index */ Vdbe *v; /* The prepared statement under construction */ Index *pPk; /* PRIMARY KEY index, or NULL for rowid tables */ v = pParse->pVdbe; pPk = HasRowid(pTab) ? 0 : sqlite3PrimaryKeyIndex(pTab); @@ -89579,16 +89649,14 @@ for(i=0, pIdx=pTab->pIndex; pIdx; i++, pIdx=pIdx->pNext){ assert( iIdxCur+i!=iDataCur || pPk==pIdx ); if( aRegIdx!=0 && aRegIdx[i]==0 ) continue; if( pIdx==pPk ) continue; VdbeModuleComment((v, "GenRowIdxDel for %s", pIdx->zName)); - r1 = sqlite3GenerateIndexKey(pParse, pIdx, iDataCur, 0, 1, - &iPartIdxLabel, pPrior, r1); + r1 = sqlite3GenerateIndexKey(pParse, pIdx, iDataCur, 0, 1, &iPartIdxLabel); sqlite3VdbeAddOp3(v, OP_IdxDelete, iIdxCur+i, r1, pIdx->uniqNotNull ? pIdx->nKeyCol : pIdx->nColumn); sqlite3VdbeResolveLabel(v, iPartIdxLabel); - pPrior = pIdx; } } /* ** Generate code that will assemble an index key and stores it in register @@ -89606,37 +89674,25 @@ ** to that label if pIdx is a partial index that should be skipped. ** A partial index should be skipped if its WHERE clause evaluates ** to false or null. If pIdx is not a partial index, *piPartIdxLabel ** will be set to zero which is an empty label that is ignored by ** sqlite3VdbeResolveLabel(). -** -** The pPrior and regPrior parameters are used to implement a cache to -** avoid unnecessary register loads. If pPrior is not NULL, then it is -** a pointer to a different index for which an index key has just been -** computed into register regPrior. If the current pIdx index is generating -** its key into the same sequence of registers and if pPrior and pIdx share -** a column in common, then the register corresponding to that column already -** holds the correct value and the loading of that register is skipped. -** This optimization is helpful when doing a DELETE or an INTEGRITY_CHECK -** on a table with multiple indices, and especially with the ROWID or -** PRIMARY KEY columns of the index. */ SQLITE_PRIVATE int sqlite3GenerateIndexKey( Parse *pParse, /* Parsing context */ Index *pIdx, /* The index for which to generate a key */ int iDataCur, /* Cursor number from which to take column data */ int regOut, /* Put the new key into this register if not 0 */ int prefixOnly, /* Compute only a unique prefix of the key */ - int *piPartIdxLabel, /* OUT: Jump to this label to skip partial index */ - Index *pPrior, /* Previously generated index key */ - int regPrior /* Register holding previous generated key */ + int *piPartIdxLabel /* OUT: Jump to this label to skip partial index */ ){ Vdbe *v = pParse->pVdbe; int j; Table *pTab = pIdx->pTable; int regBase; int nCol; + Index *pPk; if( piPartIdxLabel ){ if( pIdx->pPartIdxWhere ){ *piPartIdxLabel = sqlite3VdbeMakeLabel(v); pParse->iPartIdxTab = iDataCur; @@ -89646,25 +89702,32 @@ *piPartIdxLabel = 0; } } nCol = (prefixOnly && pIdx->uniqNotNull) ? pIdx->nKeyCol : pIdx->nColumn; regBase = sqlite3GetTempRange(pParse, nCol); - if( pPrior && (regBase!=regPrior || pPrior->pPartIdxWhere) ) pPrior = 0; + pPk = HasRowid(pTab) ? 0 : sqlite3PrimaryKeyIndex(pTab); for(j=0; jaiColumn[j]==pIdx->aiColumn[j] ) continue; - sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, pIdx->aiColumn[j], - regBase+j); - /* If the column affinity is REAL but the number is an integer, then it - ** might be stored in the table as an integer (using a compact - ** representation) then converted to REAL by an OP_RealAffinity opcode. - ** But we are getting ready to store this value back into an index, where - ** it should be converted by to INTEGER again. So omit the OP_RealAffinity - ** opcode if it is present */ - sqlite3VdbeDeletePriorOpcode(v, OP_RealAffinity); + i16 idx = pIdx->aiColumn[j]; + if( pPk ) idx = sqlite3ColumnOfIndex(pPk, idx); + if( idx<0 || idx==pTab->iPKey ){ + sqlite3VdbeAddOp2(v, OP_Rowid, iDataCur, regBase+j); + }else{ + sqlite3VdbeAddOp3(v, OP_Column, iDataCur, idx, regBase+j); + sqlite3ColumnDefault(v, pTab, pIdx->aiColumn[j], -1); + } } if( regOut ){ + const char *zAff; + if( pTab->pSelect + || OptimizationDisabled(pParse->db, SQLITE_IdxRealAsInt) + ){ + zAff = 0; + }else{ + zAff = sqlite3IndexAffinityStr(v, pIdx); + } sqlite3VdbeAddOp3(v, OP_MakeRecord, regBase, nCol, regOut); + sqlite3VdbeChangeP4(v, -1, zAff, P4_TRANSIENT); } sqlite3ReleaseTempRange(pParse, regBase, nCol); return regBase; } @@ -89805,11 +89868,11 @@ UNUSED_PARAMETER(argc); switch( sqlite3_value_type(argv[0]) ){ case SQLITE_INTEGER: { i64 iVal = sqlite3_value_int64(argv[0]); if( iVal<0 ){ - if( iVal==SMALLEST_INT64 ){ + if( (iVal<<1)==0 ){ /* IMP: R-31676-45509 If X is the integer -9223372036854775808 ** then abs(X) throws an integer overflow error since there is no ** equivalent positive 64-bit two complement value. */ sqlite3_result_error(context, "integer overflow", -1); return; @@ -89886,36 +89949,10 @@ } if( nNeedle>nHaystack ) N = 0; sqlite3_result_int(context, N); } -/* -** Implementation of the printf() function. -*/ -static void printfFunc( - sqlite3_context *context, - int argc, - sqlite3_value **argv -){ - PrintfArguments x; - StrAccum str; - const char *zFormat; - int n; - - if( argc>=1 && (zFormat = (const char*)sqlite3_value_text(argv[0]))!=0 ){ - x.nArg = argc-1; - x.nUsed = 0; - x.apArg = argv+1; - sqlite3StrAccumInit(&str, 0, 0, SQLITE_MAX_LENGTH); - str.db = sqlite3_context_db_handle(context); - sqlite3XPrintf(&str, SQLITE_PRINTF_SQLFUNC, zFormat, &x); - n = str.nChar; - sqlite3_result_text(context, sqlite3StrAccumFinish(&str), n, - SQLITE_DYNAMIC); - } -} - /* ** Implementation of the substr() function. ** ** substr(x,p1,p2) returns p2 characters of x[] beginning with p1. ** p1 is 1-indexed. So substr(x,1,1) returns the first character @@ -91205,15 +91242,15 @@ nSep = sqlite3_value_bytes(argv[1]); }else{ zSep = ","; nSep = 1; } - if( nSep ) sqlite3StrAccumAppend(pAccum, zSep, nSep); + sqlite3StrAccumAppend(pAccum, zSep, nSep); } zVal = (char*)sqlite3_value_text(argv[0]); nVal = sqlite3_value_bytes(argv[0]); - if( nVal ) sqlite3StrAccumAppend(pAccum, zVal, nVal); + sqlite3StrAccumAppend(pAccum, zVal, nVal); } } static void groupConcatFinalize(sqlite3_context *context){ StrAccum *pAccum; pAccum = sqlite3_aggregate_context(context, 0); @@ -91342,11 +91379,10 @@ FUNCTION2(typeof, 1, 0, 0, typeofFunc, SQLITE_FUNC_TYPEOF), FUNCTION2(length, 1, 0, 0, lengthFunc, SQLITE_FUNC_LENGTH), FUNCTION(instr, 2, 0, 0, instrFunc ), FUNCTION(substr, 2, 0, 0, substrFunc ), FUNCTION(substr, 3, 0, 0, substrFunc ), - FUNCTION(printf, -1, 0, 0, printfFunc ), FUNCTION(unicode, 1, 0, 0, unicodeFunc ), FUNCTION(char, -1, 0, 0, charFunc ), FUNCTION(abs, 1, 0, 0, absFunc ), #ifndef SQLITE_OMIT_FLOATING_POINT FUNCTION(round, 1, 0, 0, roundFunc ), @@ -93320,10 +93356,11 @@ ** D: cleanup */ SQLITE_PRIVATE void sqlite3Insert( Parse *pParse, /* Parser context */ SrcList *pTabList, /* Name of table into which we are inserting */ + ExprList *pList, /* List of values to be inserted */ Select *pSelect, /* A SELECT statement to use as the data source */ IdList *pColumn, /* Column names corresponding to IDLIST. */ int onError /* How to handle constraint errors */ ){ sqlite3 *db; /* The main database structure */ @@ -93347,11 +93384,10 @@ SelectDest dest; /* Destination for SELECT on rhs of INSERT */ int iDb; /* Index of database holding TABLE */ Db *pDb; /* The database containing table being inserted into */ int appendFlag = 0; /* True if the insert is likely to be an append */ int withoutRowid; /* 0 for normal table. 1 for WITHOUT ROWID table */ - ExprList *pList = 0; /* List of VALUES() to be inserted */ /* Register allocations */ int regFromSelect = 0;/* Base register for data coming from SELECT */ int regAutoinc = 0; /* Register holding the AUTOINCREMENT counter */ int regRowCount = 0; /* Memory cell used for the row counter */ @@ -93371,21 +93407,10 @@ memset(&dest, 0, sizeof(dest)); if( pParse->nErr || db->mallocFailed ){ goto insert_cleanup; } - /* If the Select object is really just a simple VALUES() list with a - ** single row values (the common case) then keep that one row of values - ** and go ahead and discard the Select object - */ - if( pSelect && (pSelect->selFlags & SF_Values)!=0 && pSelect->pPrior==0 ){ - pList = pSelect->pEList; - pSelect->pEList = 0; - sqlite3SelectDelete(db, pSelect); - pSelect = 0; - } - /* Locate the table into which we will be inserting new information. */ assert( pTabList->nSrc==1 ); zTab = pTabList->a[0].zName; if( NEVER(zTab==0) ) goto insert_cleanup; @@ -94024,11 +94049,10 @@ int seenReplace = 0; /* True if REPLACE is used to resolve INT PK conflict */ int nPkField; /* Number of fields in PRIMARY KEY. 1 for ROWID tables */ int ipkTop = 0; /* Top of the rowid change constraint check */ int ipkBottom = 0; /* Bottom of the rowid change constraint check */ u8 isUpdate; /* True if this is an UPDATE operation */ - int regRowid = -1; /* Register holding ROWID value */ isUpdate = regOldData!=0; db = pParse->db; v = sqlite3GetVdbe(pParse); assert( v!=0 ); @@ -94255,13 +94279,11 @@ regIdx = sqlite3GetTempRange(pParse, pIdx->nColumn); for(i=0; inColumn; i++){ int iField = pIdx->aiColumn[i]; int x; if( iField<0 || iField==pTab->iPKey ){ - if( regRowid==regIdx+i ) continue; /* ROWID already in regIdx+i */ x = regNewData; - regRowid = pIdx->pPartIdxWhere ? -1 : regIdx+i; }else{ x = iField + regNewData + 1; } sqlite3VdbeAddOp2(v, OP_SCopy, x, regIdx+i); VdbeComment((v, "%s", iField<0 ? "rowid" : pTab->aCol[iField].zName)); @@ -94297,53 +94319,51 @@ sqlite3VdbeAddOp4Int(v, OP_NoConflict, iThisCur, addrUniqueOk, regIdx, pIdx->nKeyCol); /* Generate code to handle collisions */ regR = (pIdx==pPk) ? regIdx : sqlite3GetTempRange(pParse, nPkField); - if( isUpdate || onError==OE_Replace ){ - if( HasRowid(pTab) ){ - sqlite3VdbeAddOp2(v, OP_IdxRowid, iThisCur, regR); - /* Conflict only if the rowid of the existing index entry - ** is different from old-rowid */ - if( isUpdate ){ - sqlite3VdbeAddOp3(v, OP_Eq, regR, addrUniqueOk, regOldData); - } - }else{ - int x; - /* Extract the PRIMARY KEY from the end of the index entry and - ** store it in registers regR..regR+nPk-1 */ - if( pIdx!=pPk ){ - for(i=0; inKeyCol; i++){ - x = sqlite3ColumnOfIndex(pIdx, pPk->aiColumn[i]); - sqlite3VdbeAddOp3(v, OP_Column, iThisCur, x, regR+i); - VdbeComment((v, "%s.%s", pTab->zName, - pTab->aCol[pPk->aiColumn[i]].zName)); - } - } - if( isUpdate ){ - /* If currently processing the PRIMARY KEY of a WITHOUT ROWID - ** table, only conflict if the new PRIMARY KEY values are actually - ** different from the old. - ** - ** For a UNIQUE index, only conflict if the PRIMARY KEY values - ** of the matched index row are different from the original PRIMARY - ** KEY values of this row before the update. */ - int addrJump = sqlite3VdbeCurrentAddr(v)+pPk->nKeyCol; - int op = OP_Ne; - int regCmp = (pIdx->autoIndex==2 ? regIdx : regR); - - for(i=0; inKeyCol; i++){ - char *p4 = (char*)sqlite3LocateCollSeq(pParse, pPk->azColl[i]); - x = pPk->aiColumn[i]; - if( i==(pPk->nKeyCol-1) ){ - addrJump = addrUniqueOk; - op = OP_Eq; - } - sqlite3VdbeAddOp4(v, op, - regOldData+1+x, addrJump, regCmp+i, p4, P4_COLLSEQ - ); - } + if( HasRowid(pTab) ){ + sqlite3VdbeAddOp2(v, OP_IdxRowid, iThisCur, regR); + /* Conflict only if the rowid of the existing index entry + ** is different from old-rowid */ + if( isUpdate ){ + sqlite3VdbeAddOp3(v, OP_Eq, regR, addrUniqueOk, regOldData); + } + }else{ + int x; + /* Extract the PRIMARY KEY from the end of the index entry and + ** store it in registers regR..regR+nPk-1 */ + if( (isUpdate || onError==OE_Replace) && pIdx!=pPk ){ + for(i=0; inKeyCol; i++){ + x = sqlite3ColumnOfIndex(pIdx, pPk->aiColumn[i]); + sqlite3VdbeAddOp3(v, OP_Column, iThisCur, x, regR+i); + VdbeComment((v, "%s.%s", pTab->zName, + pTab->aCol[pPk->aiColumn[i]].zName)); + } + } + if( isUpdate ){ + /* If currently processing the PRIMARY KEY of a WITHOUT ROWID + ** table, only conflict if the new PRIMARY KEY values are actually + ** different from the old. + ** + ** For a UNIQUE index, only conflict if the PRIMARY KEY values + ** of the matched index row are different from the original PRIMARY + ** KEY values of this row before the update. */ + int addrJump = sqlite3VdbeCurrentAddr(v)+pPk->nKeyCol; + int op = OP_Ne; + int regCmp = (pIdx->autoIndex==2 ? regIdx : regR); + + for(i=0; inKeyCol; i++){ + char *p4 = (char*)sqlite3LocateCollSeq(pParse, pPk->azColl[i]); + x = pPk->aiColumn[i]; + if( i==(pPk->nKeyCol-1) ){ + addrJump = addrUniqueOk; + op = OP_Eq; + } + sqlite3VdbeAddOp4(v, op, + regOldData+1+x, addrJump, regCmp+i, p4, P4_COLLSEQ + ); } } } /* Generate code that executes if the new index entry is not unique */ @@ -94638,16 +94658,10 @@ int regData, regRowid; /* Registers holding data and rowid */ if( pSelect==0 ){ return 0; /* Must be of the form INSERT INTO ... SELECT ... */ } - if( pParse->pWith || pSelect->pWith ){ - /* Do not attempt to process this query if there are an WITH clauses - ** attached to it. Proceeding may generate a false "no such table: xxx" - ** error if pSelect reads from a CTE named "xxx". */ - return 0; - } if( sqlite3TriggerList(pParse, pDest) ){ return 0; /* tab1 must not have triggers */ } #ifndef SQLITE_OMIT_VIRTUALTABLE if( pDest->tabFlags & TF_Virtual ){ @@ -98142,14 +98156,12 @@ /* Make sure all the indices are constructed correctly. */ for(x=sqliteHashFirst(pTbls); x && !isQuick; x=sqliteHashNext(x)){ Table *pTab = sqliteHashData(x); Index *pIdx, *pPk; - Index *pPrior = 0; int loopTop; int iDataCur, iIdxCur; - int r1 = -1; if( pTab->pIndex==0 ) continue; pPk = HasRowid(pTab) ? 0 : sqlite3PrimaryKeyIndex(pTab); addr = sqlite3VdbeAddOp1(v, OP_IfPos, 1); /* Stop if out of errors */ sqlite3VdbeAddOp2(v, OP_Halt, 0, 0); @@ -98164,14 +98176,13 @@ pParse->nMem = MAX(pParse->nMem, 8+j); sqlite3VdbeAddOp2(v, OP_Rewind, iDataCur, 0); loopTop = sqlite3VdbeAddOp2(v, OP_AddImm, 7, 1); for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ int jmp2, jmp3, jmp4; + int r1; if( pPk==pIdx ) continue; - r1 = sqlite3GenerateIndexKey(pParse, pIdx, iDataCur, 0, 0, &jmp3, - pPrior, r1); - pPrior = pIdx; + r1 = sqlite3GenerateIndexKey(pParse, pIdx, iDataCur, 0, 0, &jmp3); sqlite3VdbeAddOp2(v, OP_AddImm, 8+j, 1); /* increment entry count */ jmp2 = sqlite3VdbeAddOp4Int(v, OP_Found, iIdxCur+j, 0, r1, pIdx->nColumn); sqlite3VdbeAddOp2(v, OP_AddImm, 1, -1); /* Decrement error limit */ sqlite3VdbeAddOp4(v, OP_String8, 0, 3, 0, "row ", P4_STATIC); @@ -99095,15 +99106,11 @@ /* ** Free all memory allocations in the pParse object */ SQLITE_PRIVATE void sqlite3ParserReset(Parse *pParse){ - if( pParse ){ - sqlite3 *db = pParse->db; - sqlite3DbFree(db, pParse->aLabel); - sqlite3ExprListDelete(db, pParse->pConstExpr); - } + if( pParse ) sqlite3ExprListDelete(pParse->db, pParse->pConstExpr); } /* ** Compile the UTF-8 encoded SQL statement zSql into a statement handle. */ @@ -99483,11 +99490,10 @@ sqlite3ExprDelete(db, p->pHaving); sqlite3ExprListDelete(db, p->pOrderBy); sqlite3SelectDelete(db, p->pPrior); sqlite3ExprDelete(db, p->pLimit); sqlite3ExprDelete(db, p->pOffset); - sqlite3WithDelete(db, p->pWith); } /* ** Initialize a SelectDest structure. */ @@ -99916,17 +99922,17 @@ /* ** Add code to implement the OFFSET */ static void codeOffset( Vdbe *v, /* Generate code into this VM */ - int iOffset, /* Register holding the offset counter */ + Select *p, /* The SELECT statement being coded */ int iContinue /* Jump here to skip the current record */ ){ - if( iOffset>0 && iContinue!=0 ){ + if( p->iOffset && iContinue!=0 ){ int addr; - sqlite3VdbeAddOp2(v, OP_AddImm, iOffset, -1); - addr = sqlite3VdbeAddOp1(v, OP_IfNeg, iOffset); + sqlite3VdbeAddOp2(v, OP_AddImm, p->iOffset, -1); + addr = sqlite3VdbeAddOp1(v, OP_IfNeg, p->iOffset); sqlite3VdbeAddOp2(v, OP_Goto, 0, iContinue); VdbeComment((v, "skip OFFSET records")); sqlite3VdbeJumpHere(v, addr); } } @@ -99997,20 +100003,21 @@ /* ** This routine generates the code for the inside of the inner loop ** of a SELECT. ** -** If srcTab is negative, then the pEList expressions -** are evaluated in order to get the data for this row. If srcTab is -** zero or more, then data is pulled from srcTab and pEList is used only -** to get number columns and the datatype for each column. +** If srcTab and nColumn are both zero, then the pEList expressions +** are evaluated in order to get the data for this row. If nColumn>0 +** then data is pulled from srcTab and pEList is used only to get the +** datatypes for each column. */ static void selectInnerLoop( Parse *pParse, /* The parser context */ Select *p, /* The complete select statement being coded */ ExprList *pEList, /* List of values being extracted */ int srcTab, /* Pull data from this table */ + int nColumn, /* Number of columns in the source table */ ExprList *pOrderBy, /* If not NULL, sort results using this key */ DistinctCtx *pDistinct, /* If not NULL, info on how to process DISTINCT */ SelectDest *pDest, /* How to dispose of the results */ int iContinue, /* Jump here to continue with next row */ int iBreak /* Jump here to break out of the inner loop */ @@ -100022,54 +100029,62 @@ int eDest = pDest->eDest; /* How to dispose of results */ int iParm = pDest->iSDParm; /* First argument to disposal method */ int nResultCol; /* Number of result columns */ assert( v ); + if( NEVER(v==0) ) return; assert( pEList!=0 ); hasDistinct = pDistinct ? pDistinct->eTnctType : WHERE_DISTINCT_NOOP; if( pOrderBy==0 && !hasDistinct ){ - codeOffset(v, p->iOffset, iContinue); + codeOffset(v, p, iContinue); } /* Pull the requested columns. */ - nResultCol = pEList->nExpr; + if( nColumn>0 ){ + nResultCol = nColumn; + }else{ + nResultCol = pEList->nExpr; + } if( pDest->iSdst==0 ){ pDest->iSdst = pParse->nMem+1; pDest->nSdst = nResultCol; pParse->nMem += nResultCol; }else{ assert( pDest->nSdst==nResultCol ); } regResult = pDest->iSdst; - if( srcTab>=0 ){ - for(i=0; i0 ){ + for(i=0; ia[i].zName)); } }else if( eDest!=SRT_Exists ){ /* If the destination is an EXISTS(...) expression, the actual ** values returned by the SELECT are not required. */ + sqlite3ExprCacheClear(pParse); sqlite3ExprCodeExprList(pParse, pEList, regResult, (eDest==SRT_Output)?SQLITE_ECEL_DUP:0); } + nColumn = nResultCol; /* If the DISTINCT keyword was present on the SELECT statement ** and this row has been seen before, then do not make this row ** part of the result. */ if( hasDistinct ){ + assert( pEList!=0 ); + assert( pEList->nExpr==nColumn ); switch( pDistinct->eTnctType ){ case WHERE_DISTINCT_ORDERED: { VdbeOp *pOp; /* No longer required OpenEphemeral instr. */ int iJump; /* Jump destination */ int regPrev; /* Previous row content */ /* Allocate space for the previous row */ regPrev = pParse->nMem+1; - pParse->nMem += nResultCol; + pParse->nMem += nColumn; /* Change the OP_OpenEphemeral coded earlier to an OP_Null ** sets the MEM_Cleared bit on the first register of the ** previous value. This will cause the OP_Ne below to always ** fail on the first iteration of the loop even if the first @@ -100079,23 +100094,23 @@ pOp = sqlite3VdbeGetOp(v, pDistinct->addrTnct); pOp->opcode = OP_Null; pOp->p1 = 1; pOp->p2 = regPrev; - iJump = sqlite3VdbeCurrentAddr(v) + nResultCol; - for(i=0; ia[i].pExpr); - if( iaddrTnct); @@ -100102,16 +100117,16 @@ break; } default: { assert( pDistinct->eTnctType==WHERE_DISTINCT_UNORDERED ); - codeDistinct(pParse, pDistinct->tabTnct, iContinue, nResultCol, regResult); + codeDistinct(pParse, pDistinct->tabTnct, iContinue, nColumn, regResult); break; } } if( pOrderBy==0 ){ - codeOffset(v, p->iOffset, iContinue); + codeOffset(v, p, iContinue); } } switch( eDest ){ /* In this mode, write each query result to the key of the temporary @@ -100119,11 +100134,11 @@ */ #ifndef SQLITE_OMIT_COMPOUND_SELECT case SRT_Union: { int r1; r1 = sqlite3GetTempReg(pParse); - sqlite3VdbeAddOp3(v, OP_MakeRecord, regResult, nResultCol, r1); + sqlite3VdbeAddOp3(v, OP_MakeRecord, regResult, nColumn, r1); sqlite3VdbeAddOp2(v, OP_IdxInsert, iParm, r1); sqlite3ReleaseTempReg(pParse, r1); break; } @@ -100130,37 +100145,23 @@ /* Construct a record from the query result, but instead of ** saving that record, use it as a key to delete elements from ** the temporary table iParm. */ case SRT_Except: { - sqlite3VdbeAddOp3(v, OP_IdxDelete, iParm, regResult, nResultCol); + sqlite3VdbeAddOp3(v, OP_IdxDelete, iParm, regResult, nColumn); break; } -#endif /* SQLITE_OMIT_COMPOUND_SELECT */ +#endif /* Store the result as data using a unique key. */ - case SRT_DistTable: case SRT_Table: case SRT_EphemTab: { int r1 = sqlite3GetTempReg(pParse); testcase( eDest==SRT_Table ); testcase( eDest==SRT_EphemTab ); - sqlite3VdbeAddOp3(v, OP_MakeRecord, regResult, nResultCol, r1); -#ifndef SQLITE_OMIT_CTE - if( eDest==SRT_DistTable ){ - /* If the destination is DistTable, then cursor (iParm+1) is open - ** on an ephemeral index. If the current row is already present - ** in the index, do not write it to the output. If not, add the - ** current row to the index and proceed with writing it to the - ** output table as well. */ - int addr = sqlite3VdbeCurrentAddr(v) + 4; - sqlite3VdbeAddOp4Int(v, OP_Found, iParm+1, addr, r1, 0); - sqlite3VdbeAddOp2(v, OP_IdxInsert, iParm+1, r1); - assert( pOrderBy==0 ); - } -#endif + sqlite3VdbeAddOp3(v, OP_MakeRecord, regResult, nColumn, r1); if( pOrderBy ){ pushOntoSorter(pParse, pOrderBy, p, r1); }else{ int r2 = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp2(v, OP_NewRowid, iParm, r2); @@ -100176,11 +100177,11 @@ /* If we are creating a set for an "expr IN (SELECT ...)" construct, ** then there should be a single item on the stack. Write this ** item into the set table with bogus data. */ case SRT_Set: { - assert( nResultCol==1 ); + assert( nColumn==1 ); pDest->affSdst = sqlite3CompareAffinity(pEList->a[0].pExpr, pDest->affSdst); if( pOrderBy ){ /* At first glance you would think we could optimize out the ** ORDER BY in this case since the order of entries in the set @@ -100208,11 +100209,11 @@ /* If this is a scalar select that is part of an expression, then ** store the results in the appropriate memory cell and break out ** of the scan loop. */ case SRT_Mem: { - assert( nResultCol==1 ); + assert( nColumn==1 ); if( pOrderBy ){ pushOntoSorter(pParse, pOrderBy, p, regResult); }else{ sqlite3ExprCodeMove(pParse, regResult, iParm, 1); /* The LIMIT clause will jump out of the loop for us */ @@ -100229,67 +100230,21 @@ case SRT_Output: { testcase( eDest==SRT_Coroutine ); testcase( eDest==SRT_Output ); if( pOrderBy ){ int r1 = sqlite3GetTempReg(pParse); - sqlite3VdbeAddOp3(v, OP_MakeRecord, regResult, nResultCol, r1); + sqlite3VdbeAddOp3(v, OP_MakeRecord, regResult, nColumn, r1); pushOntoSorter(pParse, pOrderBy, p, r1); sqlite3ReleaseTempReg(pParse, r1); }else if( eDest==SRT_Coroutine ){ sqlite3VdbeAddOp1(v, OP_Yield, pDest->iSDParm); }else{ - sqlite3VdbeAddOp2(v, OP_ResultRow, regResult, nResultCol); - sqlite3ExprCacheAffinityChange(pParse, regResult, nResultCol); - } - break; - } - -#ifndef SQLITE_OMIT_CTE - /* Write the results into a priority queue that is order according to - ** pDest->pOrderBy (in pSO). pDest->iSDParm (in iParm) is the cursor for an - ** index with pSO->nExpr+2 columns. Build a key using pSO for the first - ** pSO->nExpr columns, then make sure all keys are unique by adding a - ** final OP_Sequence column. The last column is the record as a blob. - */ - case SRT_DistQueue: - case SRT_Queue: { - int nKey; - int r1, r2, r3; - int addrTest = 0; - ExprList *pSO; - pSO = pDest->pOrderBy; - assert( pSO ); - nKey = pSO->nExpr; - r1 = sqlite3GetTempReg(pParse); - r2 = sqlite3GetTempRange(pParse, nKey+2); - r3 = r2+nKey+1; - sqlite3VdbeAddOp3(v, OP_MakeRecord, regResult, nResultCol, r3); - if( eDest==SRT_DistQueue ){ - /* If the destination is DistQueue, then cursor (iParm+1) is open - ** on a second ephemeral index that holds all values every previously - ** added to the queue. Only add this new value if it has never before - ** been added */ - addrTest = sqlite3VdbeAddOp4Int(v, OP_Found, iParm+1, 0, r3, 0); - sqlite3VdbeAddOp2(v, OP_IdxInsert, iParm+1, r3); - sqlite3VdbeChangeP5(v, OPFLAG_USESEEKRESULT); - } - for(i=0; ia[i].u.x.iOrderByCol - 1, - r2+i); - } - sqlite3VdbeAddOp2(v, OP_Sequence, iParm, r2+nKey); - sqlite3VdbeAddOp3(v, OP_MakeRecord, r2, nKey+2, r1); - sqlite3VdbeAddOp2(v, OP_IdxInsert, iParm, r1); - if( addrTest ) sqlite3VdbeJumpHere(v, addrTest); - sqlite3ReleaseTempReg(pParse, r1); - sqlite3ReleaseTempRange(pParse, r2, nKey+2); - break; - } -#endif /* SQLITE_OMIT_CTE */ - - + sqlite3VdbeAddOp2(v, OP_ResultRow, regResult, nColumn); + sqlite3ExprCacheAffinityChange(pParse, regResult, nColumn); + } + break; + } #if !defined(SQLITE_OMIT_TRIGGER) /* Discard the results. This is used for SELECT statements inside ** the body of a TRIGGER. The purpose of such selects is to call ** user-defined functions that have side effects. We do not care @@ -100375,19 +100330,19 @@ ** ** Space to hold the KeyInfo structure is obtain from malloc. The calling ** function is responsible for seeing that this structure is eventually ** freed. */ -static KeyInfo *keyInfoFromExprList(Parse *pParse, ExprList *pList, int nExtra){ +static KeyInfo *keyInfoFromExprList(Parse *pParse, ExprList *pList){ int nExpr; KeyInfo *pInfo; struct ExprList_item *pItem; sqlite3 *db = pParse->db; int i; nExpr = pList->nExpr; - pInfo = sqlite3KeyInfoAlloc(db, nExpr+nExtra, 1); + pInfo = sqlite3KeyInfoAlloc(db, nExpr, 1); if( pInfo ){ assert( sqlite3KeyInfoIsWriteable(pInfo) ); for(i=0, pItem=pList->a; ipExpr); @@ -100524,17 +100479,17 @@ if( p->selFlags & SF_UseSorter ){ int regSortOut = ++pParse->nMem; int ptab2 = pParse->nTab++; sqlite3VdbeAddOp3(v, OP_OpenPseudo, ptab2, regSortOut, pOrderBy->nExpr+2); addr = 1 + sqlite3VdbeAddOp2(v, OP_SorterSort, iTab, addrBreak); - codeOffset(v, p->iOffset, addrContinue); + codeOffset(v, p, addrContinue); sqlite3VdbeAddOp2(v, OP_SorterData, iTab, regSortOut); sqlite3VdbeAddOp3(v, OP_Column, ptab2, pOrderBy->nExpr+1, regRow); sqlite3VdbeChangeP5(v, OPFLAG_CLEARCACHE); }else{ addr = 1 + sqlite3VdbeAddOp2(v, OP_Sort, iTab, addrBreak); - codeOffset(v, p->iOffset, addrContinue); + codeOffset(v, p, addrContinue); sqlite3VdbeAddOp3(v, OP_Column, iTab, pOrderBy->nExpr+1, regRow); } switch( eDest ){ case SRT_Table: case SRT_EphemTab: { @@ -100709,11 +100664,11 @@ sNC.pSrcList = pS->pSrc; sNC.pNext = pNC; sNC.pParse = pNC->pParse; zType = columnType(&sNC, p,&zOrigDb,&zOrigTab,&zOrigCol, &estWidth); } - }else if( pTab->pSchema ){ + }else if( ALWAYS(pTab->pSchema) ){ /* A real table */ assert( !pS ); if( iCol<0 ) iCol = pTab->iPKey; assert( iCol==-1 || (iCol>=0 && iColnCol) ); #ifdef SQLITE_ENABLE_COLUMN_METADATA @@ -100870,13 +100825,12 @@ sqlite3VdbeSetColName(v, i, COLNAME_NAME, zName, SQLITE_DYNAMIC); }else{ sqlite3VdbeSetColName(v, i, COLNAME_NAME, zCol, SQLITE_TRANSIENT); } }else{ - const char *z = pEList->a[i].zSpan; - z = z==0 ? sqlite3MPrintf(db, "column%d", i+1) : sqlite3DbStrDup(db, z); - sqlite3VdbeSetColName(v, i, COLNAME_NAME, z, SQLITE_DYNAMIC); + sqlite3VdbeSetColName(v, i, COLNAME_NAME, + sqlite3DbStrDup(db, pEList->a[i].zSpan), SQLITE_DYNAMIC); } } generateColumnTypes(pParse, pTabList, pEList); } @@ -101072,11 +101026,11 @@ ** If an error occurs, return NULL and leave a message in pParse. */ SQLITE_PRIVATE Vdbe *sqlite3GetVdbe(Parse *pParse){ Vdbe *v = pParse->pVdbe; if( v==0 ){ - v = pParse->pVdbe = sqlite3VdbeCreate(pParse); + v = pParse->pVdbe = sqlite3VdbeCreate(pParse->db); #ifndef SQLITE_OMIT_TRACE if( v ){ sqlite3VdbeAddOp0(v, OP_Trace); } #endif @@ -101094,17 +101048,12 @@ ** the limit and offset. If there is no limit and/or offset, then ** iLimit and iOffset are negative. ** ** This routine changes the values of iLimit and iOffset only if ** a limit or offset is defined by pLimit and pOffset. iLimit and -** iOffset should have been preset to appropriate default values (zero) -** prior to calling this routine. -** -** The iOffset register (if it exists) is initialized to the value -** of the OFFSET. The iLimit register is initialized to LIMIT. Register -** iOffset+1 is initialized to LIMIT+OFFSET. -** +** iOffset should have been preset to appropriate default values +** (usually but not always -1) prior to calling this routine. ** Only if pLimit!=0 or pOffset!=0 do the limit registers get ** redefined. The UNION ALL operator uses this property to force ** the reuse of the same limit and offset registers across multiple ** SELECT statements. */ @@ -101124,11 +101073,11 @@ sqlite3ExprCacheClear(pParse); assert( p->pOffset==0 || p->pLimit!=0 ); if( p->pLimit ){ p->iLimit = iLimit = ++pParse->nMem; v = sqlite3GetVdbe(pParse); - assert( v!=0 ); + if( NEVER(v==0) ) return; /* VDBE should have already been allocated */ if( sqlite3ExprIsInteger(p->pLimit, &n) ){ sqlite3VdbeAddOp2(v, OP_Integer, n, iLimit); VdbeComment((v, "LIMIT counter")); if( n==0 ){ sqlite3VdbeAddOp2(v, OP_Goto, 0, iBreak); @@ -101179,215 +101128,21 @@ if( pRet==0 && iColpEList->nExpr ){ pRet = sqlite3ExprCollSeq(pParse, p->pEList->a[iCol].pExpr); } return pRet; } - -/* -** The select statement passed as the second parameter is a compound SELECT -** with an ORDER BY clause. This function allocates and returns a KeyInfo -** structure suitable for implementing the ORDER BY. -** -** Space to hold the KeyInfo structure is obtained from malloc. The calling -** function is responsible for ensuring that this structure is eventually -** freed. -*/ -static KeyInfo *multiSelectOrderByKeyInfo(Parse *pParse, Select *p, int nExtra){ - ExprList *pOrderBy = p->pOrderBy; - int nOrderBy = p->pOrderBy->nExpr; - sqlite3 *db = pParse->db; - KeyInfo *pRet = sqlite3KeyInfoAlloc(db, nOrderBy+nExtra, 1); - if( pRet ){ - int i; - for(i=0; ia[i]; - Expr *pTerm = pItem->pExpr; - CollSeq *pColl; - - if( pTerm->flags & EP_Collate ){ - pColl = sqlite3ExprCollSeq(pParse, pTerm); - }else{ - pColl = multiSelectCollSeq(pParse, p, pItem->u.x.iOrderByCol-1); - if( pColl==0 ) pColl = db->pDfltColl; - pOrderBy->a[i].pExpr = - sqlite3ExprAddCollateString(pParse, pTerm, pColl->zName); - } - assert( sqlite3KeyInfoIsWriteable(pRet) ); - pRet->aColl[i] = pColl; - pRet->aSortOrder[i] = pOrderBy->a[i].sortOrder; - } - } - - return pRet; -} - -#ifndef SQLITE_OMIT_CTE -/* -** This routine generates VDBE code to compute the content of a WITH RECURSIVE -** query of the form: -** -** AS ( UNION [ALL] ) -** \___________/ \_______________/ -** p->pPrior p -** -** -** There is exactly one reference to the recursive-table in the FROM clause -** of recursive-query, marked with the SrcList->a[].isRecursive flag. -** -** The setup-query runs once to generate an initial set of rows that go -** into a Queue table. Rows are extracted from the Queue table one by -** one. Each row extracted from Queue is output to pDest. Then the single -** extracted row (now in the iCurrent table) becomes the content of the -** recursive-table for a recursive-query run. The output of the recursive-query -** is added back into the Queue table. Then another row is extracted from Queue -** and the iteration continues until the Queue table is empty. -** -** If the compound query operator is UNION then no duplicate rows are ever -** inserted into the Queue table. The iDistinct table keeps a copy of all rows -** that have ever been inserted into Queue and causes duplicates to be -** discarded. If the operator is UNION ALL, then duplicates are allowed. -** -** If the query has an ORDER BY, then entries in the Queue table are kept in -** ORDER BY order and the first entry is extracted for each cycle. Without -** an ORDER BY, the Queue table is just a FIFO. -** -** If a LIMIT clause is provided, then the iteration stops after LIMIT rows -** have been output to pDest. A LIMIT of zero means to output no rows and a -** negative LIMIT means to output all rows. If there is also an OFFSET clause -** with a positive value, then the first OFFSET outputs are discarded rather -** than being sent to pDest. The LIMIT count does not begin until after OFFSET -** rows have been skipped. -*/ -static void generateWithRecursiveQuery( - Parse *pParse, /* Parsing context */ - Select *p, /* The recursive SELECT to be coded */ - SelectDest *pDest /* What to do with query results */ -){ - SrcList *pSrc = p->pSrc; /* The FROM clause of the recursive query */ - int nCol = p->pEList->nExpr; /* Number of columns in the recursive table */ - Vdbe *v = pParse->pVdbe; /* The prepared statement under construction */ - Select *pSetup = p->pPrior; /* The setup query */ - int addrTop; /* Top of the loop */ - int addrCont, addrBreak; /* CONTINUE and BREAK addresses */ - int iCurrent = 0; /* The Current table */ - int regCurrent; /* Register holding Current table */ - int iQueue; /* The Queue table */ - int iDistinct = 0; /* To ensure unique results if UNION */ - int eDest = SRT_Table; /* How to write to Queue */ - SelectDest destQueue; /* SelectDest targetting the Queue table */ - int i; /* Loop counter */ - int rc; /* Result code */ - ExprList *pOrderBy; /* The ORDER BY clause */ - Expr *pLimit, *pOffset; /* Saved LIMIT and OFFSET */ - int regLimit, regOffset; /* Registers used by LIMIT and OFFSET */ - - /* Obtain authorization to do a recursive query */ - if( sqlite3AuthCheck(pParse, SQLITE_RECURSIVE, 0, 0, 0) ) return; - - /* Process the LIMIT and OFFSET clauses, if they exist */ - addrBreak = sqlite3VdbeMakeLabel(v); - computeLimitRegisters(pParse, p, addrBreak); - pLimit = p->pLimit; - pOffset = p->pOffset; - regLimit = p->iLimit; - regOffset = p->iOffset; - p->pLimit = p->pOffset = 0; - p->iLimit = p->iOffset = 0; - pOrderBy = p->pOrderBy; - - /* Locate the cursor number of the Current table */ - for(i=0; ALWAYS(inSrc); i++){ - if( pSrc->a[i].isRecursive ){ - iCurrent = pSrc->a[i].iCursor; - break; - } - } - - /* Allocate cursors numbers for Queue and Distinct. The cursor number for - ** the Distinct table must be exactly one greater than Queue in order - ** for the SRT_DistTable and SRT_DistQueue destinations to work. */ - iQueue = pParse->nTab++; - if( p->op==TK_UNION ){ - eDest = pOrderBy ? SRT_DistQueue : SRT_DistTable; - iDistinct = pParse->nTab++; - }else{ - eDest = pOrderBy ? SRT_Queue : SRT_Table; - } - sqlite3SelectDestInit(&destQueue, eDest, iQueue); - - /* Allocate cursors for Current, Queue, and Distinct. */ - regCurrent = ++pParse->nMem; - sqlite3VdbeAddOp3(v, OP_OpenPseudo, iCurrent, regCurrent, nCol); - if( pOrderBy ){ - KeyInfo *pKeyInfo = multiSelectOrderByKeyInfo(pParse, p, 1); - sqlite3VdbeAddOp4(v, OP_OpenEphemeral, iQueue, pOrderBy->nExpr+2, 0, - (char*)pKeyInfo, P4_KEYINFO); - destQueue.pOrderBy = pOrderBy; - }else{ - sqlite3VdbeAddOp2(v, OP_OpenEphemeral, iQueue, nCol); - } - VdbeComment((v, "Queue table")); - if( iDistinct ){ - p->addrOpenEphm[0] = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, iDistinct, 0); - p->selFlags |= SF_UsesEphemeral; - } - - /* Detach the ORDER BY clause from the compound SELECT */ - p->pOrderBy = 0; - - /* Store the results of the setup-query in Queue. */ - rc = sqlite3Select(pParse, pSetup, &destQueue); - if( rc ) goto end_of_recursive_query; - - /* Find the next row in the Queue and output that row */ - addrTop = sqlite3VdbeAddOp2(v, OP_Rewind, iQueue, addrBreak); - - /* Transfer the next row in Queue over to Current */ - sqlite3VdbeAddOp1(v, OP_NullRow, iCurrent); /* To reset column cache */ - if( pOrderBy ){ - sqlite3VdbeAddOp3(v, OP_Column, iQueue, pOrderBy->nExpr+1, regCurrent); - }else{ - sqlite3VdbeAddOp2(v, OP_RowData, iQueue, regCurrent); - } - sqlite3VdbeAddOp1(v, OP_Delete, iQueue); - - /* Output the single row in Current */ - addrCont = sqlite3VdbeMakeLabel(v); - codeOffset(v, regOffset, addrCont); - selectInnerLoop(pParse, p, p->pEList, iCurrent, - 0, 0, pDest, addrCont, addrBreak); - if( regLimit ) sqlite3VdbeAddOp3(v, OP_IfZero, regLimit, addrBreak, -1); - sqlite3VdbeResolveLabel(v, addrCont); - - /* Execute the recursive SELECT taking the single row in Current as - ** the value for the recursive-table. Store the results in the Queue. - */ - p->pPrior = 0; - sqlite3Select(pParse, p, &destQueue); - assert( p->pPrior==0 ); - p->pPrior = pSetup; - - /* Keep running the loop until the Queue is empty */ - sqlite3VdbeAddOp2(v, OP_Goto, 0, addrTop); - sqlite3VdbeResolveLabel(v, addrBreak); - -end_of_recursive_query: - p->pOrderBy = pOrderBy; - p->pLimit = pLimit; - p->pOffset = pOffset; - return; -} -#endif /* SQLITE_OMIT_CTE */ - -/* Forward references */ +#endif /* SQLITE_OMIT_COMPOUND_SELECT */ + +/* Forward reference */ static int multiSelectOrderBy( Parse *pParse, /* Parsing context */ Select *p, /* The right-most of SELECTs to be coded */ SelectDest *pDest /* What to do with query results */ ); +#ifndef SQLITE_OMIT_COMPOUND_SELECT /* ** This routine is called to process a compound query form from ** two or more separate queries using UNION, UNION ALL, EXCEPT, or ** INTERSECT ** @@ -101427,19 +101182,18 @@ Vdbe *v; /* Generate code to this VDBE */ SelectDest dest; /* Alternative data destination */ Select *pDelete = 0; /* Chain of simple selects to delete */ sqlite3 *db; /* Database connection */ #ifndef SQLITE_OMIT_EXPLAIN - int iSub1 = 0; /* EQP id of left-hand query */ - int iSub2 = 0; /* EQP id of right-hand query */ + int iSub1; /* EQP id of left-hand query */ + int iSub2; /* EQP id of right-hand query */ #endif /* Make sure there is no ORDER BY or LIMIT clause on prior SELECTs. Only ** the last (right-most) SELECT in the series may have an ORDER BY or LIMIT. */ assert( p && p->pPrior ); /* Calling function guarantees this much */ - assert( (p->selFlags & SF_Recursive)==0 || p->op==TK_ALL || p->op==TK_UNION ); db = pParse->db; pPrior = p->pPrior; assert( pPrior->pRightmost!=pPrior ); assert( pPrior->pRightmost==p->pRightmost ); dest = *pDest; @@ -101481,21 +101235,15 @@ } rc = 1; goto multi_select_end; } -#ifndef SQLITE_OMIT_CTE - if( p->selFlags & SF_Recursive ){ - generateWithRecursiveQuery(pParse, p, &dest); - }else -#endif - /* Compound SELECTs that have an ORDER BY clause are handled separately. */ if( p->pOrderBy ){ return multiSelectOrderBy(pParse, p, pDest); - }else + } /* Generate code for the left and right SELECT statements. */ switch( p->op ){ case TK_ALL: { @@ -101626,11 +101374,11 @@ iBreak = sqlite3VdbeMakeLabel(v); iCont = sqlite3VdbeMakeLabel(v); computeLimitRegisters(pParse, p, iBreak); sqlite3VdbeAddOp2(v, OP_Rewind, unionTab, iBreak); iStart = sqlite3VdbeCurrentAddr(v); - selectInnerLoop(pParse, p, p->pEList, unionTab, + selectInnerLoop(pParse, p, p->pEList, unionTab, p->pEList->nExpr, 0, 0, &dest, iCont, iBreak); sqlite3VdbeResolveLabel(v, iCont); sqlite3VdbeAddOp2(v, OP_Next, unionTab, iStart); sqlite3VdbeResolveLabel(v, iBreak); sqlite3VdbeAddOp2(v, OP_Close, unionTab, 0); @@ -101704,11 +101452,11 @@ sqlite3VdbeAddOp2(v, OP_Rewind, tab1, iBreak); r1 = sqlite3GetTempReg(pParse); iStart = sqlite3VdbeAddOp2(v, OP_RowKey, tab1, r1); sqlite3VdbeAddOp4Int(v, OP_NotFound, tab2, iCont, r1, 0); sqlite3ReleaseTempReg(pParse, r1); - selectInnerLoop(pParse, p, p->pEList, tab1, + selectInnerLoop(pParse, p, p->pEList, tab1, p->pEList->nExpr, 0, 0, &dest, iCont, iBreak); sqlite3VdbeResolveLabel(v, iCont); sqlite3VdbeAddOp2(v, OP_Next, tab1, iStart); sqlite3VdbeResolveLabel(v, iBreak); sqlite3VdbeAddOp2(v, OP_Close, tab2, 0); @@ -101826,11 +101574,11 @@ } if( pParse->db->mallocFailed ) return 0; /* Suppress the first OFFSET entries if there is an OFFSET clause */ - codeOffset(v, p->iOffset, iContinue); + codeOffset(v, p, iContinue); switch( pDest->eDest ){ /* Store the result as data using a unique key. */ case SRT_Table: @@ -102115,11 +101863,28 @@ for(i=0, pItem=pOrderBy->a; iu.x.iOrderByCol>0 && pItem->u.x.iOrderByCol<=p->pEList->nExpr ); aPermute[i] = pItem->u.x.iOrderByCol - 1; } - pKeyMerge = multiSelectOrderByKeyInfo(pParse, p, 1); + pKeyMerge = sqlite3KeyInfoAlloc(db, nOrderBy, 1); + if( pKeyMerge ){ + for(i=0; ia[i].pExpr; + if( pTerm->flags & EP_Collate ){ + pColl = sqlite3ExprCollSeq(pParse, pTerm); + }else{ + pColl = multiSelectCollSeq(pParse, p, aPermute[i]); + if( pColl==0 ) pColl = db->pDfltColl; + pOrderBy->a[i].pExpr = + sqlite3ExprAddCollateString(pParse, pTerm, pColl->zName); + } + assert( sqlite3KeyInfoIsWriteable(pKeyMerge) ); + pKeyMerge->aColl[i] = pColl; + pKeyMerge->aSortOrder[i] = pOrderBy->a[i].sortOrder; + } + } }else{ pKeyMerge = 0; } /* Reattach the ORDER BY clause to the query. @@ -102537,18 +102302,10 @@ ** appear as unmodified result columns in the outer query. But we ** have other optimizations in mind to deal with that case. ** ** (21) The subquery does not use LIMIT or the outer query is not ** DISTINCT. (See ticket [752e1646fc]). -** -** (22) The subquery is not a recursive CTE. -** -** (23) The parent is not a recursive CTE, or the sub-query is not a -** compound query. This restriction is because transforming the -** parent to a compound query confuses the code that handles -** recursive queries in multiSelect(). -** ** ** In this routine, the "p" parameter is a pointer to the outer query. ** The subquery is p->pSrc->a[iFrom]. isAgg is true if the outer query ** uses aggregates and subqueryIsAgg is true if the subquery uses aggregates. ** @@ -102617,12 +102374,10 @@ if( isAgg && pSub->pOrderBy ) return 0; /* Restriction (16) */ if( pSub->pLimit && p->pWhere ) return 0; /* Restriction (19) */ if( pSub->pLimit && (p->selFlags & SF_Distinct)!=0 ){ return 0; /* Restriction (21) */ } - if( pSub->selFlags & SF_Recursive ) return 0; /* Restriction (22) */ - if( (p->selFlags & SF_Recursive) && pSub->pPrior ) return 0; /* (23) */ /* OBSOLETE COMMENT 1: ** Restriction 3: If the subquery is a join, make sure the subquery is ** not used as the right operand of an outer join. Examples of why this ** is not allowed: @@ -103100,201 +102855,10 @@ pNew->pLimit = 0; pNew->pOffset = 0; return WRC_Continue; } -#ifndef SQLITE_OMIT_CTE -/* -** Argument pWith (which may be NULL) points to a linked list of nested -** WITH contexts, from inner to outermost. If the table identified by -** FROM clause element pItem is really a common-table-expression (CTE) -** then return a pointer to the CTE definition for that table. Otherwise -** return NULL. -** -** If a non-NULL value is returned, set *ppContext to point to the With -** object that the returned CTE belongs to. -*/ -static struct Cte *searchWith( - With *pWith, /* Current outermost WITH clause */ - struct SrcList_item *pItem, /* FROM clause element to resolve */ - With **ppContext /* OUT: WITH clause return value belongs to */ -){ - const char *zName; - if( pItem->zDatabase==0 && (zName = pItem->zName)!=0 ){ - With *p; - for(p=pWith; p; p=p->pOuter){ - int i; - for(i=0; inCte; i++){ - if( sqlite3StrICmp(zName, p->a[i].zName)==0 ){ - *ppContext = p; - return &p->a[i]; - } - } - } - } - return 0; -} - -/* The code generator maintains a stack of active WITH clauses -** with the inner-most WITH clause being at the top of the stack. -** -** This routine pushes the WITH clause passed as the second argument -** onto the top of the stack. If argument bFree is true, then this -** WITH clause will never be popped from the stack. In this case it -** should be freed along with the Parse object. In other cases, when -** bFree==0, the With object will be freed along with the SELECT -** statement with which it is associated. -*/ -SQLITE_PRIVATE void sqlite3WithPush(Parse *pParse, With *pWith, u8 bFree){ - assert( bFree==0 || pParse->pWith==0 ); - if( pWith ){ - pWith->pOuter = pParse->pWith; - pParse->pWith = pWith; - pParse->bFreeWith = bFree; - } -} - -/* -** This function checks if argument pFrom refers to a CTE declared by -** a WITH clause on the stack currently maintained by the parser. And, -** if currently processing a CTE expression, if it is a recursive -** reference to the current CTE. -** -** If pFrom falls into either of the two categories above, pFrom->pTab -** and other fields are populated accordingly. The caller should check -** (pFrom->pTab!=0) to determine whether or not a successful match -** was found. -** -** Whether or not a match is found, SQLITE_OK is returned if no error -** occurs. If an error does occur, an error message is stored in the -** parser and some error code other than SQLITE_OK returned. -*/ -static int withExpand( - Walker *pWalker, - struct SrcList_item *pFrom -){ - Parse *pParse = pWalker->pParse; - sqlite3 *db = pParse->db; - struct Cte *pCte; /* Matched CTE (or NULL if no match) */ - With *pWith; /* WITH clause that pCte belongs to */ - - assert( pFrom->pTab==0 ); - - pCte = searchWith(pParse->pWith, pFrom, &pWith); - if( pCte ){ - Table *pTab; - ExprList *pEList; - Select *pSel; - Select *pLeft; /* Left-most SELECT statement */ - int bMayRecursive; /* True if compound joined by UNION [ALL] */ - With *pSavedWith; /* Initial value of pParse->pWith */ - - /* If pCte->zErr is non-NULL at this point, then this is an illegal - ** recursive reference to CTE pCte. Leave an error in pParse and return - ** early. If pCte->zErr is NULL, then this is not a recursive reference. - ** In this case, proceed. */ - if( pCte->zErr ){ - sqlite3ErrorMsg(pParse, pCte->zErr, pCte->zName); - return SQLITE_ERROR; - } - - assert( pFrom->pTab==0 ); - pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table)); - if( pTab==0 ) return WRC_Abort; - pTab->nRef = 1; - pTab->zName = sqlite3DbStrDup(db, pCte->zName); - pTab->iPKey = -1; - pTab->nRowEst = 1048576; - pTab->tabFlags |= TF_Ephemeral; - pFrom->pSelect = sqlite3SelectDup(db, pCte->pSelect, 0); - if( db->mallocFailed ) return SQLITE_NOMEM; - assert( pFrom->pSelect ); - - /* Check if this is a recursive CTE. */ - pSel = pFrom->pSelect; - bMayRecursive = ( pSel->op==TK_ALL || pSel->op==TK_UNION ); - if( bMayRecursive ){ - int i; - SrcList *pSrc = pFrom->pSelect->pSrc; - for(i=0; inSrc; i++){ - struct SrcList_item *pItem = &pSrc->a[i]; - if( pItem->zDatabase==0 - && pItem->zName!=0 - && 0==sqlite3StrICmp(pItem->zName, pCte->zName) - ){ - pItem->pTab = pTab; - pItem->isRecursive = 1; - pTab->nRef++; - pSel->selFlags |= SF_Recursive; - } - } - } - - /* Only one recursive reference is permitted. */ - if( pTab->nRef>2 ){ - sqlite3ErrorMsg( - pParse, "multiple references to recursive table: %s", pCte->zName - ); - return SQLITE_ERROR; - } - assert( pTab->nRef==1 || ((pSel->selFlags&SF_Recursive) && pTab->nRef==2 )); - - pCte->zErr = "circular reference: %s"; - pSavedWith = pParse->pWith; - pParse->pWith = pWith; - sqlite3WalkSelect(pWalker, bMayRecursive ? pSel->pPrior : pSel); - - for(pLeft=pSel; pLeft->pPrior; pLeft=pLeft->pPrior); - pEList = pLeft->pEList; - if( pCte->pCols ){ - if( pEList->nExpr!=pCte->pCols->nExpr ){ - sqlite3ErrorMsg(pParse, "table %s has %d values for %d columns", - pCte->zName, pEList->nExpr, pCte->pCols->nExpr - ); - pParse->pWith = pSavedWith; - return SQLITE_ERROR; - } - pEList = pCte->pCols; - } - - selectColumnsFromExprList(pParse, pEList, &pTab->nCol, &pTab->aCol); - if( bMayRecursive ){ - if( pSel->selFlags & SF_Recursive ){ - pCte->zErr = "multiple recursive references: %s"; - }else{ - pCte->zErr = "recursive reference in a subquery: %s"; - } - sqlite3WalkSelect(pWalker, pSel); - } - pCte->zErr = 0; - pParse->pWith = pSavedWith; - } - - return SQLITE_OK; -} -#endif - -#ifndef SQLITE_OMIT_CTE -/* -** If the SELECT passed as the second argument has an associated WITH -** clause, pop it from the stack stored as part of the Parse object. -** -** This function is used as the xSelectCallback2() callback by -** sqlite3SelectExpand() when walking a SELECT tree to resolve table -** names and other FROM clause elements. -*/ -static void selectPopWith(Walker *pWalker, Select *p){ - Parse *pParse = pWalker->pParse; - if( p->pWith ){ - assert( pParse->pWith==p->pWith ); - pParse->pWith = p->pWith->pOuter; - } -} -#else -#define selectPopWith 0 -#endif - /* ** This routine is a Walker callback for "expanding" a SELECT statement. ** "Expanding" means to do the following: ** ** (1) Make sure VDBE cursor numbers have been assigned to every @@ -103334,11 +102898,10 @@ if( NEVER(p->pSrc==0) || (selFlags & SF_Expanded)!=0 ){ return WRC_Prune; } pTabList = p->pSrc; pEList = p->pEList; - sqlite3WithPush(pParse, p->pWith, 0); /* Make sure cursor numbers have been assigned to all entries in ** the FROM clause of the SELECT statement. */ sqlite3SrcListAssignCursors(pParse, pTabList); @@ -103347,25 +102910,16 @@ ** an entry of the FROM clause is a subquery instead of a table or view, ** then create a transient table structure to describe the subquery. */ for(i=0, pFrom=pTabList->a; inSrc; i++, pFrom++){ Table *pTab; - assert( pFrom->isRecursive==0 || pFrom->pTab ); - if( pFrom->isRecursive ) continue; if( pFrom->pTab!=0 ){ /* This statement has already been prepared. There is no need ** to go further. */ assert( i==0 ); -#ifndef SQLITE_OMIT_CTE - selectPopWith(pWalker, p); -#endif return WRC_Prune; } -#ifndef SQLITE_OMIT_CTE - if( withExpand(pWalker, pFrom) ) return WRC_Abort; - if( pFrom->pTab ) {} else -#endif if( pFrom->zName==0 ){ #ifndef SQLITE_OMIT_SUBQUERY Select *pSel = pFrom->pSelect; /* A sub-query in the FROM clause of a SELECT */ assert( pSel!=0 ); @@ -103624,11 +103178,10 @@ if( pParse->hasCompound ){ w.xSelectCallback = convertCompoundSelectToSubquery; sqlite3WalkSelect(&w, pSelect); } w.xSelectCallback = selectExpander; - w.xSelectCallback2 = selectPopWith; sqlite3WalkSelect(&w, pSelect); } #ifndef SQLITE_OMIT_SUBQUERY @@ -103643,11 +103196,11 @@ ** The Table structure that represents the result set was constructed ** by selectExpander() but the type and collation information was omitted ** at that point because identifiers had not yet been resolved. This ** routine is called after identifier resolution. */ -static void selectAddSubqueryTypeInfo(Walker *pWalker, Select *p){ +static int selectAddSubqueryTypeInfo(Walker *pWalker, Select *p){ Parse *pParse; int i; SrcList *pTabList; struct SrcList_item *pFrom; @@ -103659,17 +103212,17 @@ for(i=0, pFrom=pTabList->a; inSrc; i++, pFrom++){ Table *pTab = pFrom->pTab; if( ALWAYS(pTab!=0) && (pTab->tabFlags & TF_Ephemeral)!=0 ){ /* A sub-query in the FROM clause of a SELECT */ Select *pSel = pFrom->pSelect; - if( pSel ){ - while( pSel->pPrior ) pSel = pSel->pPrior; - selectAddColumnTypeAndCollation(pParse, pTab, pSel); - } + assert( pSel ); + while( pSel->pPrior ) pSel = pSel->pPrior; + selectAddColumnTypeAndCollation(pParse, pTab, pSel); } } } + return WRC_Continue; } #endif /* @@ -103681,13 +103234,14 @@ */ static void sqlite3SelectAddTypeInfo(Parse *pParse, Select *pSelect){ #ifndef SQLITE_OMIT_SUBQUERY Walker w; memset(&w, 0, sizeof(w)); - w.xSelectCallback2 = selectAddSubqueryTypeInfo; + w.xSelectCallback = selectAddSubqueryTypeInfo; w.xExprCallback = exprWalkNoop; w.pParse = pParse; + w.bSelectDepthFirst = 1; sqlite3WalkSelect(&w, pSelect); #endif } @@ -103730,36 +103284,27 @@ */ static void resetAccumulator(Parse *pParse, AggInfo *pAggInfo){ Vdbe *v = pParse->pVdbe; int i; struct AggInfo_func *pFunc; - int nReg = pAggInfo->nFunc + pAggInfo->nColumn; - if( nReg==0 ) return; -#ifdef SQLITE_DEBUG - /* Verify that all AggInfo registers are within the range specified by - ** AggInfo.mnReg..AggInfo.mxReg */ - assert( nReg==pAggInfo->mxReg-pAggInfo->mnReg+1 ); + if( pAggInfo->nFunc+pAggInfo->nColumn==0 ){ + return; + } for(i=0; inColumn; i++){ - assert( pAggInfo->aCol[i].iMem>=pAggInfo->mnReg - && pAggInfo->aCol[i].iMem<=pAggInfo->mxReg ); - } - for(i=0; inFunc; i++){ - assert( pAggInfo->aFunc[i].iMem>=pAggInfo->mnReg - && pAggInfo->aFunc[i].iMem<=pAggInfo->mxReg ); - } -#endif - sqlite3VdbeAddOp3(v, OP_Null, 0, pAggInfo->mnReg, pAggInfo->mxReg); + sqlite3VdbeAddOp2(v, OP_Null, 0, pAggInfo->aCol[i].iMem); + } for(pFunc=pAggInfo->aFunc, i=0; inFunc; i++, pFunc++){ + sqlite3VdbeAddOp2(v, OP_Null, 0, pFunc->iMem); if( pFunc->iDistinct>=0 ){ Expr *pE = pFunc->pExpr; assert( !ExprHasProperty(pE, EP_xIsSelect) ); if( pE->x.pList==0 || pE->x.pList->nExpr!=1 ){ sqlite3ErrorMsg(pParse, "DISTINCT aggregates must have exactly one " "argument"); pFunc->iDistinct = -1; }else{ - KeyInfo *pKeyInfo = keyInfoFromExprList(pParse, pE->x.pList, 0); + KeyInfo *pKeyInfo = keyInfoFromExprList(pParse, pE->x.pList); sqlite3VdbeAddOp4(v, OP_OpenEphemeral, pFunc->iDistinct, 0, 0, (char*)pKeyInfo, P4_KEYINFO); } } } @@ -103792,10 +103337,11 @@ int addrHitTest = 0; struct AggInfo_func *pF; struct AggInfo_col *pC; pAggInfo->directMode = 1; + sqlite3ExprCacheClear(pParse); for(i=0, pF=pAggInfo->aFunc; inFunc; i++, pF++){ int nArg; int addrNext = 0; int regAgg; ExprList *pList = pF->pExpr->x.pList; @@ -103888,12 +103434,54 @@ #endif /* ** Generate code for the SELECT statement given in the p argument. ** -** The results are returned according to the SelectDest structure. -** See comments in sqliteInt.h for further information. +** The results are distributed in various ways depending on the +** contents of the SelectDest structure pointed to by argument pDest +** as follows: +** +** pDest->eDest Result +** ------------ ------------------------------------------- +** SRT_Output Generate a row of output (using the OP_ResultRow +** opcode) for each row in the result set. +** +** SRT_Mem Only valid if the result is a single column. +** Store the first column of the first result row +** in register pDest->iSDParm then abandon the rest +** of the query. This destination implies "LIMIT 1". +** +** SRT_Set The result must be a single column. Store each +** row of result as the key in table pDest->iSDParm. +** Apply the affinity pDest->affSdst before storing +** results. Used to implement "IN (SELECT ...)". +** +** SRT_Union Store results as a key in a temporary table +** identified by pDest->iSDParm. +** +** SRT_Except Remove results from the temporary table pDest->iSDParm. +** +** SRT_Table Store results in temporary table pDest->iSDParm. +** This is like SRT_EphemTab except that the table +** is assumed to already be open. +** +** SRT_EphemTab Create an temporary table pDest->iSDParm and store +** the result there. The cursor is left open after +** returning. This is like SRT_Table except that +** this destination uses OP_OpenEphemeral to create +** the table first. +** +** SRT_Coroutine Generate a co-routine that returns a new row of +** results each time it is invoked. The entry point +** of the co-routine is stored in register pDest->iSDParm. +** +** SRT_Exists Store a 1 in memory cell pDest->iSDParm if the result +** set is not empty. +** +** SRT_Discard Throw the results away. This is used by SELECT +** statements within triggers whose only purpose is +** the side-effects of functions. ** ** This routine returns the number of errors. If any errors are ** encountered, then an appropriate error message is left in ** pParse->zErrMsg. ** @@ -104164,11 +103752,11 @@ ** we figure out that the sorting index is not needed. The addrSortIndex ** variable is used to facilitate that change. */ if( pOrderBy ){ KeyInfo *pKeyInfo; - pKeyInfo = keyInfoFromExprList(pParse, pOrderBy, 0); + pKeyInfo = keyInfoFromExprList(pParse, pOrderBy); pOrderBy->iECursor = pParse->nTab++; p->addrOpenEphm[2] = addrSortIndex = sqlite3VdbeAddOp4(v, OP_OpenEphemeral, pOrderBy->iECursor, pOrderBy->nExpr+2, 0, (char*)pKeyInfo, P4_KEYINFO); @@ -104196,11 +103784,11 @@ */ if( p->selFlags & SF_Distinct ){ sDistinct.tabTnct = pParse->nTab++; sDistinct.addrTnct = sqlite3VdbeAddOp4(v, OP_OpenEphemeral, sDistinct.tabTnct, 0, 0, - (char*)keyInfoFromExprList(pParse, p->pEList, 0), + (char*)keyInfoFromExprList(pParse, p->pEList), P4_KEYINFO); sqlite3VdbeChangeP5(v, BTREE_UNORDERED); sDistinct.eTnctType = WHERE_DISTINCT_UNORDERED; }else{ sDistinct.eTnctType = WHERE_DISTINCT_NOOP; @@ -104230,11 +103818,11 @@ sqlite3VdbeChangeToNoop(v, addrSortIndex); p->addrOpenEphm[2] = -1; } /* Use the standard inner loop. */ - selectInnerLoop(pParse, p, pEList, -1, pOrderBy, &sDistinct, pDest, + selectInnerLoop(pParse, p, pEList, 0, 0, pOrderBy, &sDistinct, pDest, sqlite3WhereContinueLabel(pWInfo), sqlite3WhereBreakLabel(pWInfo)); /* End the database scan loop. */ @@ -104282,11 +103870,10 @@ */ memset(&sNC, 0, sizeof(sNC)); sNC.pParse = pParse; sNC.pSrcList = pTabList; sNC.pAggInfo = &sAggInfo; - sAggInfo.mnReg = pParse->nMem+1; sAggInfo.nSortingColumn = pGroupBy ? pGroupBy->nExpr+1 : 0; sAggInfo.pGroupBy = pGroupBy; sqlite3ExprAnalyzeAggList(&sNC, pEList); sqlite3ExprAnalyzeAggList(&sNC, pOrderBy); if( pHaving ){ @@ -104297,11 +103884,10 @@ assert( !ExprHasProperty(sAggInfo.aFunc[i].pExpr, EP_xIsSelect) ); sNC.ncFlags |= NC_InAggFunc; sqlite3ExprAnalyzeAggList(&sNC, sAggInfo.aFunc[i].pExpr->x.pList); sNC.ncFlags &= ~NC_InAggFunc; } - sAggInfo.mxReg = pParse->nMem; if( db->mallocFailed ) goto select_end; /* Processing for aggregates with GROUP BY is very different and ** much more complex than aggregates without a GROUP BY. */ @@ -104320,11 +103906,11 @@ ** implement it. Allocate that sorting index now. If it turns out ** that we do not need it after all, the OP_SorterOpen instruction ** will be converted into a Noop. */ sAggInfo.sortingIdx = pParse->nTab++; - pKeyInfo = keyInfoFromExprList(pParse, pGroupBy, 0); + pKeyInfo = keyInfoFromExprList(pParse, pGroupBy); addrSortingIdx = sqlite3VdbeAddOp4(v, OP_SorterOpen, sAggInfo.sortingIdx, sAggInfo.nSortingColumn, 0, (char*)pKeyInfo, P4_KEYINFO); /* Initialize memory locations used by GROUP BY aggregate processing @@ -104502,11 +104088,11 @@ sqlite3VdbeAddOp2(v, OP_IfPos, iUseFlag, addrOutputRow+2); VdbeComment((v, "Groupby result generator entry point")); sqlite3VdbeAddOp1(v, OP_Return, regOutputRow); finalizeAggFunctions(pParse, &sAggInfo); sqlite3ExprIfFalse(pParse, pHaving, addrOutputRow+1, SQLITE_JUMPIFNULL); - selectInnerLoop(pParse, p, p->pEList, -1, pOrderBy, + selectInnerLoop(pParse, p, p->pEList, 0, 0, pOrderBy, &sDistinct, pDest, addrOutputRow+1, addrSetAbort); sqlite3VdbeAddOp1(v, OP_Return, regOutputRow); VdbeComment((v, "end groupby result generator")); @@ -104645,11 +104231,11 @@ finalizeAggFunctions(pParse, &sAggInfo); } pOrderBy = 0; sqlite3ExprIfFalse(pParse, pHaving, addrEnd, SQLITE_JUMPIFNULL); - selectInnerLoop(pParse, p, p->pEList, -1, 0, 0, + selectInnerLoop(pParse, p, p->pEList, 0, 0, 0, 0, pDest, addrEnd, addrEnd); sqlite3ExprListDelete(db, pDel); } sqlite3VdbeResolveLabel(v, addrEnd); @@ -105389,25 +104975,29 @@ */ SQLITE_PRIVATE TriggerStep *sqlite3TriggerInsertStep( sqlite3 *db, /* The database connection */ Token *pTableName, /* Name of the table into which we insert */ IdList *pColumn, /* List of columns in pTableName to insert into */ + ExprList *pEList, /* The VALUE clause: a list of values to be inserted */ Select *pSelect, /* A SELECT statement that supplies values */ u8 orconf /* The conflict algorithm (OE_Abort, OE_Replace, etc.) */ ){ TriggerStep *pTriggerStep; - assert(pSelect != 0 || db->mallocFailed); + assert(pEList == 0 || pSelect == 0); + assert(pEList != 0 || pSelect != 0 || db->mallocFailed); pTriggerStep = triggerStepAllocate(db, TK_INSERT, pTableName); if( pTriggerStep ){ pTriggerStep->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE); pTriggerStep->pIdList = pColumn; + pTriggerStep->pExprList = sqlite3ExprListDup(db, pEList, EXPRDUP_REDUCE); pTriggerStep->orconf = orconf; }else{ sqlite3IdListDelete(db, pColumn); } + sqlite3ExprListDelete(db, pEList); sqlite3SelectDelete(db, pSelect); return pTriggerStep; } @@ -105741,10 +105331,11 @@ break; } case TK_INSERT: { sqlite3Insert(pParse, targetSrcList(pParse, pStep), + sqlite3ExprListDup(db, pStep->pExprList, 0), sqlite3SelectDup(db, pStep->pSelect, 0), sqlite3IdListDup(db, pStep->pIdList), pParse->eOrconf ); break; @@ -106197,11 +105788,11 @@ pCol->affinity, &pValue); if( pValue ){ sqlite3VdbeChangeP4(v, -1, (const char *)pValue, P4_MEM); } #ifndef SQLITE_OMIT_FLOATING_POINT - if( pTab->aCol[i].affinity==SQLITE_AFF_REAL ){ + if( iReg>=0 && pTab->aCol[i].affinity==SQLITE_AFF_REAL ){ sqlite3VdbeAddOp1(v, OP_RealAffinity, iReg); } #endif } } @@ -106592,14 +106183,13 @@ oldmask |= sqlite3TriggerColmask(pParse, pTrigger, pChanges, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onError ); for(i=0; inCol; i++){ if( oldmask==0xffffffff - || (i<32 && (oldmask & MASKBIT32(i))!=0) + || (i<32 && (oldmask & (1<aCol[i].colFlags & COLFLAG_PRIMKEY)!=0 ){ - testcase( oldmask!=0xffffffff && i==31 ); sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, i, regOld+i); }else{ sqlite3VdbeAddOp2(v, OP_Null, 0, regOld+i); } } @@ -106622,29 +106212,27 @@ ** be used eliminates some redundant opcodes. */ newmask = sqlite3TriggerColmask( pParse, pTrigger, pChanges, 1, TRIGGER_BEFORE, pTab, onError ); - /*sqlite3VdbeAddOp3(v, OP_Null, 0, regNew, regNew+pTab->nCol-1);*/ + sqlite3VdbeAddOp3(v, OP_Null, 0, regNew, regNew+pTab->nCol-1); for(i=0; inCol; i++){ if( i==pTab->iPKey ){ - sqlite3VdbeAddOp2(v, OP_Null, 0, regNew+i); + /*sqlite3VdbeAddOp2(v, OP_Null, 0, regNew+i);*/ }else{ j = aXRef[i]; if( j>=0 ){ sqlite3ExprCode(pParse, pChanges->a[j].pExpr, regNew+i); - }else if( 0==(tmask&TRIGGER_BEFORE) || i>31 || (newmask & MASKBIT32(i)) ){ + }else if( 0==(tmask&TRIGGER_BEFORE) || i>31 || (newmask&(1<iColumn!=(-1) ); /* Because IPK never has AFF_TEXT */ - pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr); + pRight = pList->a[0].pExpr; op = pRight->op; if( op==TK_VARIABLE ){ Vdbe *pReprepare = pParse->pReprepare; int iCol = pRight->iColumn; pVal = sqlite3VdbeGetBoundValue(pReprepare, iCol, SQLITE_AFF_NONE); @@ -110535,11 +110123,11 @@ VdbeComment((v, "for %s", pTable->zName)); /* Fill the automatic index with content */ addrTop = sqlite3VdbeAddOp1(v, OP_Rewind, pLevel->iTabCur); regRecord = sqlite3GetTempReg(pParse); - sqlite3GenerateIndexKey(pParse, pIdx, pLevel->iTabCur, regRecord, 0, 0, 0, 0); + sqlite3GenerateIndexKey(pParse, pIdx, pLevel->iTabCur, regRecord, 0, 0); sqlite3VdbeAddOp2(v, OP_IdxInsert, pLevel->iIdxCur, regRecord); sqlite3VdbeChangeP5(v, OPFLAG_USESEEKRESULT); sqlite3VdbeAddOp2(v, OP_Next, pLevel->iTabCur, addrTop+1); sqlite3VdbeChangeP5(v, SQLITE_STMTSTATUS_AUTOINDEX); sqlite3VdbeJumpHere(v, addrTop); @@ -110576,12 +110164,11 @@ for(i=nTerm=0, pTerm=pWC->a; inTerm; i++, pTerm++){ if( pTerm->leftCursor != pSrc->iCursor ) continue; assert( IsPowerOfTwo(pTerm->eOperator & ~WO_EQUIV) ); testcase( pTerm->eOperator & WO_IN ); testcase( pTerm->eOperator & WO_ISNULL ); - testcase( pTerm->eOperator & WO_ALL ); - if( (pTerm->eOperator & ~(WO_ISNULL|WO_EQUIV))==0 ) continue; + if( pTerm->eOperator & (WO_ISNULL) ) continue; if( pTerm->wtFlags & TERM_VNULL ) continue; nTerm++; } /* If the ORDER BY clause contains only columns in the current @@ -110629,12 +110216,11 @@ u8 op; if( pTerm->leftCursor != pSrc->iCursor ) continue; assert( IsPowerOfTwo(pTerm->eOperator & ~WO_EQUIV) ); testcase( pTerm->eOperator & WO_IN ); testcase( pTerm->eOperator & WO_ISNULL ); - testcase( pTerm->eOperator & WO_ALL ); - if( (pTerm->eOperator & ~(WO_ISNULL|WO_EQUIV))==0 ) continue; + if( pTerm->eOperator & (WO_ISNULL) ) continue; if( pTerm->wtFlags & TERM_VNULL ) continue; pIdxCons[j].iColumn = pTerm->u.leftColumn; pIdxCons[j].iTermOffset = i; op = (u8)pTerm->eOperator & WO_ALL; if( op==WO_IN ) op = WO_EQ; @@ -111395,11 +110981,11 @@ int iTerm, /* Index of this term. First is zero */ const char *zColumn, /* Name of the column */ const char *zOp /* Name of the operator */ ){ if( iTerm ) sqlite3StrAccumAppend(pStr, " AND ", 5); - sqlite3StrAccumAppendAll(pStr, zColumn); + sqlite3StrAccumAppend(pStr, zColumn, -1); sqlite3StrAccumAppend(pStr, zOp, 1); sqlite3StrAccumAppend(pStr, "?", 1); } /* @@ -111441,11 +111027,11 @@ if( i>=nSkip ){ explainAppendTerm(&txt, i, z, "="); }else{ if( i ) sqlite3StrAccumAppend(&txt, " AND ", 5); sqlite3StrAccumAppend(&txt, "ANY(", 4); - sqlite3StrAccumAppendAll(&txt, z); + sqlite3StrAccumAppend(&txt, z, -1); sqlite3StrAccumAppend(&txt, ")", 1); } } j = i; @@ -112235,20 +111821,14 @@ ** scan of the entire table. */ static const u8 aStep[] = { OP_Next, OP_Prev }; static const u8 aStart[] = { OP_Rewind, OP_Last }; assert( bRev==0 || bRev==1 ); - if( pTabItem->isRecursive ){ - /* Tables marked isRecursive have only a single row that is stored in - ** a pseudo-cursor. No need to Rewind or Next such cursors. */ - pLevel->op = OP_Noop; - }else{ - pLevel->op = aStep[bRev]; - pLevel->p1 = iCur; - pLevel->p2 = 1 + sqlite3VdbeAddOp2(v, aStart[bRev], iCur, addrBrk); - pLevel->p5 = SQLITE_STMTSTATUS_FULLSCAN_STEP; - } + pLevel->op = aStep[bRev]; + pLevel->p1 = iCur; + pLevel->p2 = 1 + sqlite3VdbeAddOp2(v, aStart[bRev], iCur, addrBrk); + pLevel->p5 = SQLITE_STMTSTATUS_FULLSCAN_STEP; } /* Insert code to test every subexpression that can be completely ** computed using the current set of tables. */ @@ -113029,11 +112609,10 @@ && pSrc->pIndex==0 && !pSrc->viaCoroutine && !pSrc->notIndexed && HasRowid(pTab) && !pSrc->isCorrelated - && !pSrc->isRecursive ){ /* Generate auto-index WhereLoops */ WhereTerm *pTerm; WhereTerm *pWCEnd = pWC->a + pWC->nTerm; for(pTerm=pWC->a; rc==SQLITE_OK && pTermnTerm; ii++){ - if( nTabList==0 || sqlite3ExprIsConstantNotJoin(sWLB.pWC->a[ii].pExpr) ){ - sqlite3ExprIfFalse(pParse, sWLB.pWC->a[ii].pExpr, pWInfo->iBreak, - SQLITE_JUMPIFNULL); - sWLB.pWC->a[ii].wtFlags |= TERM_CODED; - } + if( pWhere && (nTabList==0 || sqlite3ExprIsConstantNotJoin(pWhere)) ){ + sqlite3ExprIfFalse(pParse, pWhere, pWInfo->iBreak, SQLITE_JUMPIFNULL); + pWhere = 0; } /* Special case: No FROM clause */ if( nTabList==0 ){ @@ -114800,10 +114376,18 @@ /* ** An instance of this structure holds the ATTACH key and the key type. */ struct AttachKey { int type; Token key; }; +/* +** One or more VALUES claues +*/ +struct ValueList { + ExprList *pList; + Select *pSelect; +}; + /* This is a utility routine used to set the ExprSpan.zStart and ** ExprSpan.zEnd values of pOut so that the span covers the complete ** range of text beginning with pStart and going to the end of pEnd. */ @@ -114923,42 +114507,42 @@ ** 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 254 +#define YYNOCODE 253 #define YYACTIONTYPE unsigned short int -#define YYWILDCARD 70 +#define YYWILDCARD 68 #define sqlite3ParserTOKENTYPE Token typedef union { int yyinit; sqlite3ParserTOKENTYPE yy0; - Select* yy3; - ExprList* yy14; - With* yy59; - SrcList* yy65; - struct LikeOp yy96; - Expr* yy132; - u8 yy186; - int yy328; - ExprSpan yy346; - struct TrigEvent yy378; - u16 yy381; - IdList* yy408; - struct {int value; int mask;} yy429; - TriggerStep* yy473; - struct LimitVal yy476; + int yy4; + struct TrigEvent yy90; + ExprSpan yy118; + u16 yy177; + TriggerStep* yy203; + u8 yy210; + struct {int value; int mask;} yy215; + SrcList* yy259; + struct ValueList yy260; + struct LimitVal yy292; + Expr* yy314; + ExprList* yy322; + struct LikeOp yy342; + IdList* yy384; + Select* yy387; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 #endif #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 642 -#define YYNRULE 327 +#define YYNSTATE 631 +#define YYNRULE 329 #define YYFALLBACK 1 #define YY_NO_ACTION (YYNSTATE+YYNRULE+2) #define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1) #define YY_ERROR_ACTION (YYNSTATE+YYNRULE) @@ -115024,467 +114608,484 @@ ** 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. */ -#define YY_ACTTAB_COUNT (1497) +#define YY_ACTTAB_COUNT (1582) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 306, 212, 432, 955, 639, 191, 955, 295, 559, 88, - /* 10 */ 88, 88, 88, 81, 86, 86, 86, 86, 85, 85, - /* 20 */ 84, 84, 84, 83, 330, 185, 184, 183, 635, 635, - /* 30 */ 292, 606, 606, 88, 88, 88, 88, 683, 86, 86, - /* 40 */ 86, 86, 85, 85, 84, 84, 84, 83, 330, 16, - /* 50 */ 436, 597, 89, 90, 80, 600, 599, 601, 601, 87, - /* 60 */ 87, 88, 88, 88, 88, 684, 86, 86, 86, 86, - /* 70 */ 85, 85, 84, 84, 84, 83, 330, 306, 559, 84, - /* 80 */ 84, 84, 83, 330, 65, 86, 86, 86, 86, 85, - /* 90 */ 85, 84, 84, 84, 83, 330, 635, 635, 634, 633, - /* 100 */ 182, 682, 550, 379, 376, 375, 17, 322, 606, 606, - /* 110 */ 371, 198, 479, 91, 374, 82, 79, 165, 85, 85, - /* 120 */ 84, 84, 84, 83, 330, 598, 635, 635, 107, 89, - /* 130 */ 90, 80, 600, 599, 601, 601, 87, 87, 88, 88, - /* 140 */ 88, 88, 186, 86, 86, 86, 86, 85, 85, 84, - /* 150 */ 84, 84, 83, 330, 306, 594, 594, 142, 328, 327, - /* 160 */ 484, 249, 344, 238, 635, 635, 634, 633, 585, 448, - /* 170 */ 526, 525, 229, 388, 1, 394, 450, 584, 449, 635, - /* 180 */ 635, 635, 635, 319, 395, 606, 606, 199, 157, 273, - /* 190 */ 382, 268, 381, 187, 635, 635, 634, 633, 311, 555, - /* 200 */ 266, 593, 593, 266, 347, 588, 89, 90, 80, 600, - /* 210 */ 599, 601, 601, 87, 87, 88, 88, 88, 88, 478, - /* 220 */ 86, 86, 86, 86, 85, 85, 84, 84, 84, 83, - /* 230 */ 330, 306, 272, 536, 634, 633, 146, 610, 197, 310, - /* 240 */ 575, 182, 482, 271, 379, 376, 375, 506, 21, 634, - /* 250 */ 633, 634, 633, 635, 635, 374, 611, 574, 548, 440, - /* 260 */ 111, 563, 606, 606, 634, 633, 324, 479, 608, 608, - /* 270 */ 608, 300, 435, 573, 119, 407, 210, 162, 562, 883, - /* 280 */ 592, 592, 306, 89, 90, 80, 600, 599, 601, 601, - /* 290 */ 87, 87, 88, 88, 88, 88, 506, 86, 86, 86, - /* 300 */ 86, 85, 85, 84, 84, 84, 83, 330, 620, 111, - /* 310 */ 635, 635, 361, 606, 606, 358, 249, 349, 248, 433, - /* 320 */ 243, 479, 586, 634, 633, 195, 611, 93, 119, 221, - /* 330 */ 575, 497, 534, 534, 89, 90, 80, 600, 599, 601, - /* 340 */ 601, 87, 87, 88, 88, 88, 88, 574, 86, 86, - /* 350 */ 86, 86, 85, 85, 84, 84, 84, 83, 330, 306, - /* 360 */ 77, 429, 638, 573, 589, 530, 240, 230, 242, 105, - /* 370 */ 249, 349, 248, 515, 588, 208, 460, 529, 564, 173, - /* 380 */ 634, 633, 970, 144, 430, 2, 424, 228, 380, 557, - /* 390 */ 606, 606, 190, 153, 159, 158, 514, 51, 632, 631, - /* 400 */ 630, 71, 536, 432, 954, 196, 610, 954, 614, 45, - /* 410 */ 18, 89, 90, 80, 600, 599, 601, 601, 87, 87, - /* 420 */ 88, 88, 88, 88, 261, 86, 86, 86, 86, 85, - /* 430 */ 85, 84, 84, 84, 83, 330, 306, 608, 608, 608, - /* 440 */ 542, 424, 402, 385, 241, 506, 451, 320, 211, 543, - /* 450 */ 164, 436, 386, 293, 451, 587, 108, 496, 111, 334, - /* 460 */ 391, 591, 424, 614, 27, 452, 453, 606, 606, 72, - /* 470 */ 257, 70, 259, 452, 339, 342, 564, 582, 68, 415, - /* 480 */ 469, 328, 327, 62, 614, 45, 110, 393, 89, 90, - /* 490 */ 80, 600, 599, 601, 601, 87, 87, 88, 88, 88, - /* 500 */ 88, 152, 86, 86, 86, 86, 85, 85, 84, 84, - /* 510 */ 84, 83, 330, 306, 110, 499, 520, 538, 402, 389, - /* 520 */ 424, 110, 566, 500, 593, 593, 454, 82, 79, 165, - /* 530 */ 424, 591, 384, 564, 340, 615, 188, 162, 424, 350, - /* 540 */ 616, 424, 614, 44, 606, 606, 445, 582, 300, 434, - /* 550 */ 151, 19, 614, 9, 568, 580, 348, 615, 469, 567, - /* 560 */ 614, 26, 616, 614, 45, 89, 90, 80, 600, 599, - /* 570 */ 601, 601, 87, 87, 88, 88, 88, 88, 411, 86, - /* 580 */ 86, 86, 86, 85, 85, 84, 84, 84, 83, 330, - /* 590 */ 306, 579, 110, 578, 521, 282, 433, 398, 400, 255, - /* 600 */ 486, 82, 79, 165, 487, 164, 82, 79, 165, 488, - /* 610 */ 488, 364, 387, 424, 544, 544, 509, 350, 362, 155, - /* 620 */ 191, 606, 606, 559, 642, 640, 333, 82, 79, 165, - /* 630 */ 305, 564, 507, 312, 357, 614, 45, 329, 596, 595, - /* 640 */ 194, 337, 89, 90, 80, 600, 599, 601, 601, 87, - /* 650 */ 87, 88, 88, 88, 88, 424, 86, 86, 86, 86, - /* 660 */ 85, 85, 84, 84, 84, 83, 330, 306, 20, 323, - /* 670 */ 150, 263, 211, 543, 421, 596, 595, 614, 22, 424, - /* 680 */ 193, 424, 284, 424, 391, 424, 509, 424, 577, 424, - /* 690 */ 186, 335, 424, 559, 424, 313, 120, 546, 606, 606, - /* 700 */ 67, 614, 47, 614, 50, 614, 48, 614, 100, 614, - /* 710 */ 99, 614, 101, 576, 614, 102, 614, 109, 326, 89, - /* 720 */ 90, 80, 600, 599, 601, 601, 87, 87, 88, 88, - /* 730 */ 88, 88, 424, 86, 86, 86, 86, 85, 85, 84, - /* 740 */ 84, 84, 83, 330, 306, 424, 311, 424, 585, 54, - /* 750 */ 424, 516, 517, 590, 614, 112, 424, 584, 424, 572, - /* 760 */ 424, 195, 424, 571, 424, 67, 424, 614, 94, 614, - /* 770 */ 98, 424, 614, 97, 264, 606, 606, 195, 614, 46, - /* 780 */ 614, 96, 614, 30, 614, 49, 614, 115, 614, 114, - /* 790 */ 418, 229, 388, 614, 113, 306, 89, 90, 80, 600, - /* 800 */ 599, 601, 601, 87, 87, 88, 88, 88, 88, 424, - /* 810 */ 86, 86, 86, 86, 85, 85, 84, 84, 84, 83, - /* 820 */ 330, 119, 424, 590, 110, 372, 606, 606, 195, 53, - /* 830 */ 250, 614, 29, 195, 472, 438, 729, 190, 302, 498, - /* 840 */ 14, 523, 641, 2, 614, 43, 306, 89, 90, 80, - /* 850 */ 600, 599, 601, 601, 87, 87, 88, 88, 88, 88, - /* 860 */ 424, 86, 86, 86, 86, 85, 85, 84, 84, 84, - /* 870 */ 83, 330, 424, 613, 964, 964, 354, 606, 606, 420, - /* 880 */ 312, 64, 614, 42, 391, 355, 283, 437, 301, 255, - /* 890 */ 414, 410, 495, 492, 614, 28, 471, 306, 89, 90, - /* 900 */ 80, 600, 599, 601, 601, 87, 87, 88, 88, 88, - /* 910 */ 88, 424, 86, 86, 86, 86, 85, 85, 84, 84, - /* 920 */ 84, 83, 330, 424, 110, 110, 110, 110, 606, 606, - /* 930 */ 110, 254, 13, 614, 41, 532, 531, 283, 481, 531, - /* 940 */ 457, 284, 119, 561, 356, 614, 40, 284, 306, 89, - /* 950 */ 78, 80, 600, 599, 601, 601, 87, 87, 88, 88, - /* 960 */ 88, 88, 424, 86, 86, 86, 86, 85, 85, 84, - /* 970 */ 84, 84, 83, 330, 110, 424, 341, 220, 555, 606, - /* 980 */ 606, 351, 555, 318, 614, 95, 413, 255, 83, 330, - /* 990 */ 284, 284, 255, 640, 333, 356, 255, 614, 39, 306, - /* 1000 */ 356, 90, 80, 600, 599, 601, 601, 87, 87, 88, - /* 1010 */ 88, 88, 88, 424, 86, 86, 86, 86, 85, 85, - /* 1020 */ 84, 84, 84, 83, 330, 424, 317, 316, 141, 465, - /* 1030 */ 606, 606, 219, 619, 463, 614, 10, 417, 462, 255, - /* 1040 */ 189, 510, 553, 351, 207, 363, 161, 614, 38, 315, - /* 1050 */ 218, 255, 255, 80, 600, 599, 601, 601, 87, 87, - /* 1060 */ 88, 88, 88, 88, 424, 86, 86, 86, 86, 85, - /* 1070 */ 85, 84, 84, 84, 83, 330, 76, 419, 255, 3, - /* 1080 */ 878, 461, 424, 247, 331, 331, 614, 37, 217, 76, - /* 1090 */ 419, 390, 3, 216, 215, 422, 4, 331, 331, 424, - /* 1100 */ 547, 12, 424, 545, 614, 36, 424, 541, 422, 424, - /* 1110 */ 540, 424, 214, 424, 408, 424, 539, 403, 605, 605, - /* 1120 */ 237, 614, 25, 119, 614, 24, 588, 408, 614, 45, - /* 1130 */ 118, 614, 35, 614, 34, 614, 33, 614, 23, 588, - /* 1140 */ 60, 223, 603, 602, 513, 378, 73, 74, 140, 139, - /* 1150 */ 424, 110, 265, 75, 426, 425, 59, 424, 610, 73, - /* 1160 */ 74, 549, 402, 404, 424, 373, 75, 426, 425, 604, - /* 1170 */ 138, 610, 614, 11, 392, 76, 419, 181, 3, 614, - /* 1180 */ 32, 271, 369, 331, 331, 493, 614, 31, 149, 608, - /* 1190 */ 608, 608, 607, 15, 422, 365, 614, 8, 137, 489, - /* 1200 */ 136, 190, 608, 608, 608, 607, 15, 485, 176, 135, - /* 1210 */ 7, 252, 477, 408, 174, 133, 175, 474, 57, 56, - /* 1220 */ 132, 130, 119, 76, 419, 588, 3, 468, 245, 464, - /* 1230 */ 171, 331, 331, 125, 123, 456, 447, 122, 446, 104, - /* 1240 */ 336, 231, 422, 166, 154, 73, 74, 332, 116, 431, - /* 1250 */ 121, 309, 75, 426, 425, 222, 106, 610, 308, 637, - /* 1260 */ 204, 408, 629, 627, 628, 6, 200, 428, 427, 290, - /* 1270 */ 203, 622, 201, 588, 62, 63, 289, 66, 419, 399, - /* 1280 */ 3, 401, 288, 92, 143, 331, 331, 287, 608, 608, - /* 1290 */ 608, 607, 15, 73, 74, 227, 422, 325, 69, 416, - /* 1300 */ 75, 426, 425, 612, 412, 610, 192, 61, 569, 209, - /* 1310 */ 396, 226, 278, 225, 383, 408, 527, 558, 276, 533, - /* 1320 */ 552, 528, 321, 523, 370, 508, 180, 588, 494, 179, - /* 1330 */ 366, 117, 253, 269, 522, 503, 608, 608, 608, 607, - /* 1340 */ 15, 551, 502, 58, 274, 524, 178, 73, 74, 304, - /* 1350 */ 501, 368, 303, 206, 75, 426, 425, 491, 360, 610, - /* 1360 */ 213, 177, 483, 131, 345, 298, 297, 296, 202, 294, - /* 1370 */ 480, 490, 466, 134, 172, 129, 444, 346, 470, 128, - /* 1380 */ 314, 459, 103, 127, 126, 148, 124, 167, 443, 235, - /* 1390 */ 608, 608, 608, 607, 15, 442, 439, 623, 234, 299, - /* 1400 */ 145, 583, 291, 377, 581, 160, 119, 156, 270, 636, - /* 1410 */ 971, 169, 279, 626, 520, 625, 473, 624, 170, 621, - /* 1420 */ 618, 119, 168, 55, 409, 423, 537, 609, 286, 285, - /* 1430 */ 405, 570, 560, 556, 5, 52, 458, 554, 147, 267, - /* 1440 */ 519, 504, 518, 406, 262, 239, 260, 512, 343, 511, - /* 1450 */ 258, 353, 565, 256, 224, 251, 359, 277, 275, 476, - /* 1460 */ 475, 246, 352, 244, 467, 455, 236, 233, 232, 307, - /* 1470 */ 441, 281, 205, 163, 397, 280, 535, 505, 330, 617, - /* 1480 */ 971, 971, 971, 971, 367, 971, 971, 971, 971, 971, - /* 1490 */ 971, 971, 971, 971, 971, 971, 338, + /* 0 */ 312, 961, 185, 420, 2, 171, 516, 515, 597, 56, + /* 10 */ 56, 56, 56, 49, 54, 54, 54, 54, 53, 53, + /* 20 */ 52, 52, 52, 51, 234, 197, 196, 195, 624, 623, + /* 30 */ 301, 590, 584, 56, 56, 56, 56, 156, 54, 54, + /* 40 */ 54, 54, 53, 53, 52, 52, 52, 51, 234, 628, + /* 50 */ 57, 58, 48, 582, 581, 583, 583, 55, 55, 56, + /* 60 */ 56, 56, 56, 466, 54, 54, 54, 54, 53, 53, + /* 70 */ 52, 52, 52, 51, 234, 312, 597, 52, 52, 52, + /* 80 */ 51, 234, 33, 54, 54, 54, 54, 53, 53, 52, + /* 90 */ 52, 52, 51, 234, 624, 623, 621, 620, 165, 624, + /* 100 */ 623, 383, 380, 379, 214, 328, 590, 584, 624, 623, + /* 110 */ 467, 59, 378, 619, 618, 617, 53, 53, 52, 52, + /* 120 */ 52, 51, 234, 506, 507, 57, 58, 48, 582, 581, + /* 130 */ 583, 583, 55, 55, 56, 56, 56, 56, 30, 54, + /* 140 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 234, + /* 150 */ 312, 50, 47, 146, 233, 232, 207, 474, 256, 349, + /* 160 */ 255, 475, 621, 620, 554, 438, 298, 621, 620, 236, + /* 170 */ 674, 435, 440, 553, 439, 366, 621, 620, 540, 224, + /* 180 */ 551, 590, 584, 176, 138, 282, 386, 277, 385, 168, + /* 190 */ 600, 422, 951, 548, 622, 951, 273, 572, 572, 566, + /* 200 */ 57, 58, 48, 582, 581, 583, 583, 55, 55, 56, + /* 210 */ 56, 56, 56, 354, 54, 54, 54, 54, 53, 53, + /* 220 */ 52, 52, 52, 51, 234, 312, 561, 526, 62, 675, + /* 230 */ 132, 595, 410, 348, 579, 579, 492, 426, 577, 419, + /* 240 */ 627, 65, 329, 560, 441, 237, 676, 123, 607, 67, + /* 250 */ 542, 532, 622, 170, 205, 500, 590, 584, 166, 559, + /* 260 */ 622, 403, 593, 593, 593, 442, 443, 271, 422, 950, + /* 270 */ 166, 223, 950, 483, 190, 57, 58, 48, 582, 581, + /* 280 */ 583, 583, 55, 55, 56, 56, 56, 56, 600, 54, + /* 290 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 234, + /* 300 */ 312, 441, 412, 376, 175, 165, 166, 391, 383, 380, + /* 310 */ 379, 342, 412, 203, 426, 66, 392, 622, 415, 378, + /* 320 */ 597, 166, 442, 338, 444, 571, 601, 74, 415, 624, + /* 330 */ 623, 590, 584, 624, 623, 174, 601, 92, 333, 171, + /* 340 */ 1, 410, 597, 579, 579, 624, 623, 600, 306, 425, + /* 350 */ 57, 58, 48, 582, 581, 583, 583, 55, 55, 56, + /* 360 */ 56, 56, 56, 580, 54, 54, 54, 54, 53, 53, + /* 370 */ 52, 52, 52, 51, 234, 312, 472, 262, 399, 68, + /* 380 */ 412, 339, 571, 389, 624, 623, 578, 602, 597, 589, + /* 390 */ 588, 603, 412, 622, 423, 533, 415, 621, 620, 513, + /* 400 */ 257, 621, 620, 166, 601, 91, 590, 584, 415, 45, + /* 410 */ 597, 586, 585, 621, 620, 250, 601, 92, 39, 347, + /* 420 */ 576, 336, 597, 547, 567, 57, 58, 48, 582, 581, + /* 430 */ 583, 583, 55, 55, 56, 56, 56, 56, 587, 54, + /* 440 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 234, + /* 450 */ 312, 561, 621, 620, 531, 291, 470, 188, 399, 375, + /* 460 */ 247, 492, 249, 350, 412, 476, 476, 368, 560, 299, + /* 470 */ 334, 412, 281, 482, 67, 565, 410, 622, 579, 579, + /* 480 */ 415, 590, 584, 280, 559, 467, 520, 415, 601, 92, + /* 490 */ 597, 167, 544, 36, 877, 601, 16, 519, 564, 6, + /* 500 */ 57, 58, 48, 582, 581, 583, 583, 55, 55, 56, + /* 510 */ 56, 56, 56, 200, 54, 54, 54, 54, 53, 53, + /* 520 */ 52, 52, 52, 51, 234, 312, 183, 412, 236, 528, + /* 530 */ 395, 535, 358, 256, 349, 255, 397, 412, 248, 182, + /* 540 */ 353, 359, 549, 415, 236, 317, 563, 50, 47, 146, + /* 550 */ 273, 601, 73, 415, 7, 311, 590, 584, 568, 493, + /* 560 */ 213, 601, 92, 233, 232, 410, 173, 579, 579, 330, + /* 570 */ 575, 574, 631, 629, 332, 57, 58, 48, 582, 581, + /* 580 */ 583, 583, 55, 55, 56, 56, 56, 56, 199, 54, + /* 590 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 234, + /* 600 */ 312, 492, 340, 320, 511, 505, 572, 572, 460, 562, + /* 610 */ 549, 170, 145, 430, 67, 558, 410, 622, 579, 579, + /* 620 */ 384, 236, 600, 412, 408, 575, 574, 504, 572, 572, + /* 630 */ 571, 590, 584, 353, 198, 143, 268, 549, 316, 415, + /* 640 */ 306, 424, 207, 50, 47, 146, 167, 601, 69, 546, + /* 650 */ 57, 58, 48, 582, 581, 583, 583, 55, 55, 56, + /* 660 */ 56, 56, 56, 555, 54, 54, 54, 54, 53, 53, + /* 670 */ 52, 52, 52, 51, 234, 312, 600, 326, 412, 270, + /* 680 */ 145, 264, 274, 266, 459, 571, 423, 35, 412, 568, + /* 690 */ 407, 213, 428, 388, 415, 308, 212, 143, 622, 354, + /* 700 */ 317, 12, 601, 94, 415, 549, 590, 584, 50, 47, + /* 710 */ 146, 365, 601, 97, 552, 362, 318, 147, 602, 361, + /* 720 */ 325, 15, 603, 187, 206, 57, 58, 48, 582, 581, + /* 730 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, + /* 740 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 234, + /* 750 */ 312, 412, 35, 412, 415, 22, 630, 2, 600, 50, + /* 760 */ 47, 146, 601, 95, 412, 485, 510, 415, 412, 415, + /* 770 */ 412, 11, 235, 486, 412, 601, 104, 601, 103, 19, + /* 780 */ 415, 590, 584, 352, 415, 40, 415, 38, 601, 105, + /* 790 */ 415, 32, 601, 106, 601, 133, 544, 169, 601, 134, + /* 800 */ 57, 58, 48, 582, 581, 583, 583, 55, 55, 56, + /* 810 */ 56, 56, 56, 412, 54, 54, 54, 54, 53, 53, + /* 820 */ 52, 52, 52, 51, 234, 312, 412, 274, 412, 415, + /* 830 */ 412, 274, 274, 274, 201, 230, 721, 601, 98, 484, + /* 840 */ 427, 307, 415, 622, 415, 540, 415, 622, 622, 622, + /* 850 */ 601, 102, 601, 101, 601, 93, 590, 584, 262, 21, + /* 860 */ 129, 622, 522, 521, 554, 222, 469, 521, 600, 324, + /* 870 */ 323, 322, 211, 553, 622, 57, 58, 48, 582, 581, + /* 880 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, + /* 890 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 234, + /* 900 */ 312, 412, 261, 412, 415, 412, 600, 210, 625, 367, + /* 910 */ 51, 234, 601, 100, 538, 606, 142, 415, 355, 415, + /* 920 */ 412, 415, 412, 496, 622, 601, 77, 601, 96, 601, + /* 930 */ 137, 590, 584, 530, 622, 529, 415, 141, 415, 28, + /* 940 */ 524, 600, 229, 544, 601, 136, 601, 135, 604, 204, + /* 950 */ 57, 58, 48, 582, 581, 583, 583, 55, 55, 56, + /* 960 */ 56, 56, 56, 412, 54, 54, 54, 54, 53, 53, + /* 970 */ 52, 52, 52, 51, 234, 312, 412, 360, 412, 415, + /* 980 */ 412, 360, 286, 600, 503, 220, 127, 601, 76, 629, + /* 990 */ 332, 382, 415, 622, 415, 540, 415, 622, 412, 613, + /* 1000 */ 601, 90, 601, 89, 601, 75, 590, 584, 341, 272, + /* 1010 */ 377, 622, 126, 27, 415, 622, 164, 544, 125, 280, + /* 1020 */ 373, 122, 601, 88, 480, 57, 46, 48, 582, 581, + /* 1030 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, + /* 1040 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 234, + /* 1050 */ 312, 412, 360, 412, 415, 412, 284, 186, 369, 321, + /* 1060 */ 477, 170, 601, 87, 121, 473, 221, 415, 622, 415, + /* 1070 */ 254, 415, 412, 355, 412, 601, 99, 601, 86, 601, + /* 1080 */ 17, 590, 584, 259, 612, 120, 159, 158, 415, 622, + /* 1090 */ 415, 14, 465, 157, 462, 25, 601, 85, 601, 84, + /* 1100 */ 622, 58, 48, 582, 581, 583, 583, 55, 55, 56, + /* 1110 */ 56, 56, 56, 412, 54, 54, 54, 54, 53, 53, + /* 1120 */ 52, 52, 52, 51, 234, 312, 412, 262, 412, 415, + /* 1130 */ 412, 262, 118, 611, 117, 24, 10, 601, 83, 351, + /* 1140 */ 216, 219, 415, 622, 415, 608, 415, 622, 412, 622, + /* 1150 */ 601, 72, 601, 71, 601, 82, 590, 584, 262, 4, + /* 1160 */ 605, 622, 458, 115, 415, 456, 252, 154, 452, 110, + /* 1170 */ 108, 453, 601, 81, 622, 451, 622, 48, 582, 581, + /* 1180 */ 583, 583, 55, 55, 56, 56, 56, 56, 412, 54, + /* 1190 */ 54, 54, 54, 53, 53, 52, 52, 52, 51, 234, + /* 1200 */ 44, 406, 450, 3, 415, 412, 262, 107, 416, 623, + /* 1210 */ 446, 437, 601, 80, 436, 335, 238, 189, 411, 409, + /* 1220 */ 594, 415, 622, 44, 406, 401, 3, 412, 557, 601, + /* 1230 */ 70, 416, 623, 412, 622, 149, 622, 421, 404, 64, + /* 1240 */ 412, 622, 409, 415, 622, 331, 139, 148, 566, 415, + /* 1250 */ 449, 601, 18, 228, 124, 626, 415, 601, 79, 315, + /* 1260 */ 181, 404, 412, 545, 601, 78, 262, 541, 41, 42, + /* 1270 */ 534, 566, 390, 202, 262, 43, 414, 413, 415, 622, + /* 1280 */ 595, 314, 622, 622, 180, 539, 601, 92, 415, 276, + /* 1290 */ 622, 41, 42, 509, 616, 615, 601, 9, 43, 414, + /* 1300 */ 413, 622, 418, 595, 262, 622, 275, 600, 614, 622, + /* 1310 */ 218, 593, 593, 593, 592, 591, 13, 178, 217, 417, + /* 1320 */ 622, 236, 622, 44, 406, 490, 3, 269, 399, 267, + /* 1330 */ 609, 416, 623, 400, 593, 593, 593, 592, 591, 13, + /* 1340 */ 265, 622, 409, 622, 263, 622, 34, 406, 244, 3, + /* 1350 */ 258, 363, 464, 463, 416, 623, 622, 356, 251, 8, + /* 1360 */ 622, 404, 177, 599, 455, 409, 622, 622, 622, 622, + /* 1370 */ 445, 566, 243, 622, 622, 236, 295, 240, 31, 239, + /* 1380 */ 622, 431, 30, 396, 404, 290, 622, 294, 622, 293, + /* 1390 */ 144, 41, 42, 622, 566, 622, 394, 622, 43, 414, + /* 1400 */ 413, 622, 289, 595, 398, 60, 622, 292, 37, 231, + /* 1410 */ 598, 172, 622, 29, 41, 42, 393, 523, 622, 556, + /* 1420 */ 184, 43, 414, 413, 287, 387, 595, 543, 285, 518, + /* 1430 */ 537, 536, 517, 327, 593, 593, 593, 592, 591, 13, + /* 1440 */ 215, 283, 278, 514, 513, 304, 303, 302, 179, 300, + /* 1450 */ 512, 310, 454, 128, 227, 226, 309, 593, 593, 593, + /* 1460 */ 592, 591, 13, 494, 489, 225, 488, 150, 487, 242, + /* 1470 */ 163, 61, 374, 481, 162, 161, 624, 623, 241, 372, + /* 1480 */ 209, 479, 370, 260, 26, 160, 478, 364, 468, 471, + /* 1490 */ 140, 152, 119, 467, 131, 116, 155, 153, 345, 457, + /* 1500 */ 151, 346, 130, 114, 113, 112, 111, 448, 319, 23, + /* 1510 */ 109, 434, 20, 433, 432, 429, 566, 610, 573, 596, + /* 1520 */ 63, 405, 191, 279, 510, 296, 498, 288, 570, 495, + /* 1530 */ 499, 497, 461, 194, 5, 305, 193, 192, 381, 569, + /* 1540 */ 357, 256, 344, 245, 526, 246, 253, 313, 595, 343, + /* 1550 */ 447, 297, 236, 402, 550, 491, 508, 502, 501, 527, + /* 1560 */ 234, 208, 525, 962, 962, 962, 371, 962, 962, 962, + /* 1570 */ 962, 962, 962, 962, 962, 337, 962, 962, 962, 593, + /* 1580 */ 593, 593, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 19, 22, 22, 23, 1, 24, 26, 15, 27, 80, - /* 10 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - /* 20 */ 91, 92, 93, 94, 95, 108, 109, 110, 27, 28, - /* 30 */ 23, 50, 51, 80, 81, 82, 83, 122, 85, 86, - /* 40 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 22, - /* 50 */ 70, 23, 71, 72, 73, 74, 75, 76, 77, 78, - /* 60 */ 79, 80, 81, 82, 83, 122, 85, 86, 87, 88, - /* 70 */ 89, 90, 91, 92, 93, 94, 95, 19, 97, 91, - /* 80 */ 92, 93, 94, 95, 26, 85, 86, 87, 88, 89, - /* 90 */ 90, 91, 92, 93, 94, 95, 27, 28, 97, 98, - /* 100 */ 99, 122, 211, 102, 103, 104, 79, 19, 50, 51, - /* 110 */ 19, 122, 59, 55, 113, 224, 225, 226, 89, 90, - /* 120 */ 91, 92, 93, 94, 95, 23, 27, 28, 26, 71, - /* 130 */ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - /* 140 */ 82, 83, 51, 85, 86, 87, 88, 89, 90, 91, - /* 150 */ 92, 93, 94, 95, 19, 132, 133, 58, 89, 90, - /* 160 */ 21, 108, 109, 110, 27, 28, 97, 98, 33, 100, - /* 170 */ 7, 8, 119, 120, 22, 19, 107, 42, 109, 27, - /* 180 */ 28, 27, 28, 95, 28, 50, 51, 99, 100, 101, - /* 190 */ 102, 103, 104, 105, 27, 28, 97, 98, 107, 152, - /* 200 */ 112, 132, 133, 112, 65, 69, 71, 72, 73, 74, - /* 210 */ 75, 76, 77, 78, 79, 80, 81, 82, 83, 11, - /* 220 */ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - /* 230 */ 95, 19, 101, 97, 97, 98, 24, 101, 122, 157, - /* 240 */ 12, 99, 103, 112, 102, 103, 104, 152, 22, 97, - /* 250 */ 98, 97, 98, 27, 28, 113, 27, 29, 91, 164, - /* 260 */ 165, 124, 50, 51, 97, 98, 219, 59, 132, 133, - /* 270 */ 134, 22, 23, 45, 66, 47, 212, 213, 124, 140, - /* 280 */ 132, 133, 19, 71, 72, 73, 74, 75, 76, 77, - /* 290 */ 78, 79, 80, 81, 82, 83, 152, 85, 86, 87, - /* 300 */ 88, 89, 90, 91, 92, 93, 94, 95, 164, 165, - /* 310 */ 27, 28, 230, 50, 51, 233, 108, 109, 110, 70, - /* 320 */ 16, 59, 23, 97, 98, 26, 97, 22, 66, 185, - /* 330 */ 12, 187, 27, 28, 71, 72, 73, 74, 75, 76, - /* 340 */ 77, 78, 79, 80, 81, 82, 83, 29, 85, 86, - /* 350 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 19, - /* 360 */ 22, 148, 149, 45, 23, 47, 62, 154, 64, 156, - /* 370 */ 108, 109, 110, 37, 69, 23, 163, 59, 26, 26, - /* 380 */ 97, 98, 144, 145, 146, 147, 152, 200, 52, 23, - /* 390 */ 50, 51, 26, 22, 89, 90, 60, 210, 7, 8, - /* 400 */ 9, 138, 97, 22, 23, 26, 101, 26, 174, 175, - /* 410 */ 197, 71, 72, 73, 74, 75, 76, 77, 78, 79, - /* 420 */ 80, 81, 82, 83, 16, 85, 86, 87, 88, 89, - /* 430 */ 90, 91, 92, 93, 94, 95, 19, 132, 133, 134, - /* 440 */ 23, 152, 208, 209, 140, 152, 152, 111, 195, 196, - /* 450 */ 98, 70, 163, 160, 152, 23, 22, 164, 165, 246, - /* 460 */ 207, 27, 152, 174, 175, 171, 172, 50, 51, 137, - /* 470 */ 62, 139, 64, 171, 172, 222, 124, 27, 138, 24, - /* 480 */ 163, 89, 90, 130, 174, 175, 197, 163, 71, 72, - /* 490 */ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - /* 500 */ 83, 22, 85, 86, 87, 88, 89, 90, 91, 92, - /* 510 */ 93, 94, 95, 19, 197, 181, 182, 23, 208, 209, - /* 520 */ 152, 197, 26, 189, 132, 133, 232, 224, 225, 226, - /* 530 */ 152, 97, 91, 26, 232, 116, 212, 213, 152, 222, - /* 540 */ 121, 152, 174, 175, 50, 51, 243, 97, 22, 23, - /* 550 */ 22, 234, 174, 175, 177, 23, 239, 116, 163, 177, - /* 560 */ 174, 175, 121, 174, 175, 71, 72, 73, 74, 75, - /* 570 */ 76, 77, 78, 79, 80, 81, 82, 83, 24, 85, - /* 580 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - /* 590 */ 19, 23, 197, 11, 23, 227, 70, 208, 220, 152, - /* 600 */ 31, 224, 225, 226, 35, 98, 224, 225, 226, 108, - /* 610 */ 109, 110, 115, 152, 117, 118, 27, 222, 49, 123, - /* 620 */ 24, 50, 51, 27, 0, 1, 2, 224, 225, 226, - /* 630 */ 166, 124, 168, 169, 239, 174, 175, 170, 171, 172, - /* 640 */ 22, 194, 71, 72, 73, 74, 75, 76, 77, 78, - /* 650 */ 79, 80, 81, 82, 83, 152, 85, 86, 87, 88, - /* 660 */ 89, 90, 91, 92, 93, 94, 95, 19, 22, 208, - /* 670 */ 24, 23, 195, 196, 170, 171, 172, 174, 175, 152, - /* 680 */ 26, 152, 152, 152, 207, 152, 97, 152, 23, 152, - /* 690 */ 51, 244, 152, 97, 152, 247, 248, 23, 50, 51, - /* 700 */ 26, 174, 175, 174, 175, 174, 175, 174, 175, 174, - /* 710 */ 175, 174, 175, 23, 174, 175, 174, 175, 188, 71, - /* 720 */ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - /* 730 */ 82, 83, 152, 85, 86, 87, 88, 89, 90, 91, - /* 740 */ 92, 93, 94, 95, 19, 152, 107, 152, 33, 24, - /* 750 */ 152, 100, 101, 27, 174, 175, 152, 42, 152, 23, - /* 760 */ 152, 26, 152, 23, 152, 26, 152, 174, 175, 174, - /* 770 */ 175, 152, 174, 175, 23, 50, 51, 26, 174, 175, - /* 780 */ 174, 175, 174, 175, 174, 175, 174, 175, 174, 175, - /* 790 */ 163, 119, 120, 174, 175, 19, 71, 72, 73, 74, - /* 800 */ 75, 76, 77, 78, 79, 80, 81, 82, 83, 152, - /* 810 */ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - /* 820 */ 95, 66, 152, 97, 197, 23, 50, 51, 26, 53, - /* 830 */ 23, 174, 175, 26, 23, 23, 23, 26, 26, 26, - /* 840 */ 36, 106, 146, 147, 174, 175, 19, 71, 72, 73, - /* 850 */ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - /* 860 */ 152, 85, 86, 87, 88, 89, 90, 91, 92, 93, - /* 870 */ 94, 95, 152, 196, 119, 120, 19, 50, 51, 168, - /* 880 */ 169, 26, 174, 175, 207, 28, 152, 249, 250, 152, - /* 890 */ 163, 163, 163, 163, 174, 175, 163, 19, 71, 72, - /* 900 */ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - /* 910 */ 83, 152, 85, 86, 87, 88, 89, 90, 91, 92, - /* 920 */ 93, 94, 95, 152, 197, 197, 197, 197, 50, 51, - /* 930 */ 197, 194, 36, 174, 175, 191, 192, 152, 191, 192, - /* 940 */ 163, 152, 66, 124, 152, 174, 175, 152, 19, 71, - /* 950 */ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - /* 960 */ 82, 83, 152, 85, 86, 87, 88, 89, 90, 91, - /* 970 */ 92, 93, 94, 95, 197, 152, 100, 188, 152, 50, - /* 980 */ 51, 152, 152, 188, 174, 175, 252, 152, 94, 95, - /* 990 */ 152, 152, 152, 1, 2, 152, 152, 174, 175, 19, - /* 1000 */ 152, 72, 73, 74, 75, 76, 77, 78, 79, 80, - /* 1010 */ 81, 82, 83, 152, 85, 86, 87, 88, 89, 90, - /* 1020 */ 91, 92, 93, 94, 95, 152, 188, 188, 22, 194, - /* 1030 */ 50, 51, 240, 173, 194, 174, 175, 252, 194, 152, - /* 1040 */ 36, 181, 28, 152, 23, 219, 122, 174, 175, 219, - /* 1050 */ 221, 152, 152, 73, 74, 75, 76, 77, 78, 79, - /* 1060 */ 80, 81, 82, 83, 152, 85, 86, 87, 88, 89, - /* 1070 */ 90, 91, 92, 93, 94, 95, 19, 20, 152, 22, - /* 1080 */ 23, 194, 152, 240, 27, 28, 174, 175, 240, 19, - /* 1090 */ 20, 26, 22, 194, 194, 38, 22, 27, 28, 152, - /* 1100 */ 23, 22, 152, 116, 174, 175, 152, 23, 38, 152, - /* 1110 */ 23, 152, 221, 152, 57, 152, 23, 163, 50, 51, - /* 1120 */ 194, 174, 175, 66, 174, 175, 69, 57, 174, 175, - /* 1130 */ 40, 174, 175, 174, 175, 174, 175, 174, 175, 69, - /* 1140 */ 22, 53, 74, 75, 30, 53, 89, 90, 22, 22, - /* 1150 */ 152, 197, 23, 96, 97, 98, 22, 152, 101, 89, - /* 1160 */ 90, 91, 208, 209, 152, 53, 96, 97, 98, 101, - /* 1170 */ 22, 101, 174, 175, 152, 19, 20, 105, 22, 174, - /* 1180 */ 175, 112, 19, 27, 28, 20, 174, 175, 24, 132, - /* 1190 */ 133, 134, 135, 136, 38, 44, 174, 175, 107, 61, - /* 1200 */ 54, 26, 132, 133, 134, 135, 136, 54, 107, 22, - /* 1210 */ 5, 140, 1, 57, 36, 111, 122, 28, 79, 79, - /* 1220 */ 131, 123, 66, 19, 20, 69, 22, 1, 16, 20, - /* 1230 */ 125, 27, 28, 123, 111, 120, 23, 131, 23, 16, - /* 1240 */ 68, 142, 38, 15, 22, 89, 90, 3, 167, 4, - /* 1250 */ 248, 251, 96, 97, 98, 180, 180, 101, 251, 151, - /* 1260 */ 6, 57, 151, 13, 151, 26, 25, 151, 161, 202, - /* 1270 */ 153, 162, 153, 69, 130, 128, 203, 19, 20, 127, - /* 1280 */ 22, 126, 204, 129, 22, 27, 28, 205, 132, 133, - /* 1290 */ 134, 135, 136, 89, 90, 231, 38, 95, 137, 179, - /* 1300 */ 96, 97, 98, 206, 179, 101, 122, 107, 159, 159, - /* 1310 */ 125, 231, 216, 228, 107, 57, 184, 217, 216, 176, - /* 1320 */ 217, 176, 48, 106, 18, 184, 158, 69, 159, 158, - /* 1330 */ 46, 71, 237, 176, 176, 176, 132, 133, 134, 135, - /* 1340 */ 136, 217, 176, 137, 216, 178, 158, 89, 90, 179, - /* 1350 */ 176, 159, 179, 159, 96, 97, 98, 159, 159, 101, - /* 1360 */ 5, 158, 202, 22, 18, 10, 11, 12, 13, 14, - /* 1370 */ 190, 238, 17, 190, 158, 193, 41, 159, 202, 193, - /* 1380 */ 159, 202, 245, 193, 193, 223, 190, 32, 159, 34, - /* 1390 */ 132, 133, 134, 135, 136, 159, 39, 155, 43, 150, - /* 1400 */ 223, 177, 201, 178, 177, 186, 66, 199, 177, 152, - /* 1410 */ 253, 56, 215, 152, 182, 152, 202, 152, 63, 152, - /* 1420 */ 152, 66, 67, 242, 229, 152, 174, 152, 152, 152, - /* 1430 */ 152, 152, 152, 152, 199, 242, 202, 152, 198, 152, - /* 1440 */ 152, 152, 183, 192, 152, 215, 152, 183, 215, 183, - /* 1450 */ 152, 241, 214, 152, 211, 152, 152, 211, 211, 152, - /* 1460 */ 152, 241, 152, 152, 152, 152, 152, 152, 152, 114, - /* 1470 */ 152, 152, 235, 152, 152, 152, 174, 187, 95, 174, - /* 1480 */ 253, 253, 253, 253, 236, 253, 253, 253, 253, 253, - /* 1490 */ 253, 253, 253, 253, 253, 253, 141, -}; -#define YY_SHIFT_USE_DFLT (-86) -#define YY_SHIFT_COUNT (429) -#define YY_SHIFT_MIN (-85) -#define YY_SHIFT_MAX (1383) + /* 0 */ 19, 143, 144, 145, 146, 24, 7, 8, 27, 78, + /* 10 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + /* 20 */ 89, 90, 91, 92, 93, 106, 107, 108, 27, 28, + /* 30 */ 15, 50, 51, 78, 79, 80, 81, 26, 83, 84, + /* 40 */ 85, 86, 87, 88, 89, 90, 91, 92, 93, 1, + /* 50 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + /* 60 */ 79, 80, 81, 11, 83, 84, 85, 86, 87, 88, + /* 70 */ 89, 90, 91, 92, 93, 19, 95, 89, 90, 91, + /* 80 */ 92, 93, 26, 83, 84, 85, 86, 87, 88, 89, + /* 90 */ 90, 91, 92, 93, 27, 28, 95, 96, 97, 27, + /* 100 */ 28, 100, 101, 102, 22, 19, 50, 51, 27, 28, + /* 110 */ 58, 55, 111, 7, 8, 9, 87, 88, 89, 90, + /* 120 */ 91, 92, 93, 98, 99, 69, 70, 71, 72, 73, + /* 130 */ 74, 75, 76, 77, 78, 79, 80, 81, 127, 83, + /* 140 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + /* 150 */ 19, 223, 224, 225, 87, 88, 162, 31, 106, 107, + /* 160 */ 108, 35, 95, 96, 33, 98, 23, 95, 96, 117, + /* 170 */ 119, 243, 105, 42, 107, 49, 95, 96, 151, 93, + /* 180 */ 26, 50, 51, 97, 98, 99, 100, 101, 102, 103, + /* 190 */ 196, 22, 23, 121, 167, 26, 110, 130, 131, 67, + /* 200 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + /* 210 */ 79, 80, 81, 219, 83, 84, 85, 86, 87, 88, + /* 220 */ 89, 90, 91, 92, 93, 19, 12, 95, 234, 119, + /* 230 */ 24, 99, 113, 239, 115, 116, 151, 68, 23, 147, + /* 240 */ 148, 26, 215, 29, 151, 153, 119, 155, 163, 164, + /* 250 */ 23, 23, 167, 26, 162, 23, 50, 51, 26, 45, + /* 260 */ 167, 47, 130, 131, 132, 172, 173, 23, 22, 23, + /* 270 */ 26, 186, 26, 188, 120, 69, 70, 71, 72, 73, + /* 280 */ 74, 75, 76, 77, 78, 79, 80, 81, 196, 83, + /* 290 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + /* 300 */ 19, 151, 151, 23, 119, 97, 26, 19, 100, 101, + /* 310 */ 102, 219, 151, 162, 68, 22, 28, 167, 167, 111, + /* 320 */ 27, 26, 172, 173, 231, 232, 175, 176, 167, 27, + /* 330 */ 28, 50, 51, 27, 28, 119, 175, 176, 246, 24, + /* 340 */ 22, 113, 27, 115, 116, 27, 28, 196, 22, 23, + /* 350 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + /* 360 */ 79, 80, 81, 114, 83, 84, 85, 86, 87, 88, + /* 370 */ 89, 90, 91, 92, 93, 19, 21, 151, 217, 22, + /* 380 */ 151, 231, 232, 222, 27, 28, 23, 114, 95, 50, + /* 390 */ 51, 118, 151, 167, 68, 89, 167, 95, 96, 104, + /* 400 */ 23, 95, 96, 26, 175, 176, 50, 51, 167, 22, + /* 410 */ 95, 72, 73, 95, 96, 16, 175, 176, 137, 64, + /* 420 */ 23, 195, 27, 121, 23, 69, 70, 71, 72, 73, + /* 430 */ 74, 75, 76, 77, 78, 79, 80, 81, 99, 83, + /* 440 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + /* 450 */ 19, 12, 95, 96, 23, 226, 101, 22, 217, 19, + /* 460 */ 61, 151, 63, 222, 151, 106, 107, 108, 29, 159, + /* 470 */ 244, 151, 99, 163, 164, 23, 113, 167, 115, 116, + /* 480 */ 167, 50, 51, 110, 45, 58, 47, 167, 175, 176, + /* 490 */ 95, 51, 168, 137, 139, 175, 176, 58, 11, 22, + /* 500 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + /* 510 */ 79, 80, 81, 22, 83, 84, 85, 86, 87, 88, + /* 520 */ 89, 90, 91, 92, 93, 19, 23, 151, 117, 23, + /* 530 */ 217, 207, 19, 106, 107, 108, 216, 151, 139, 23, + /* 540 */ 129, 28, 26, 167, 117, 105, 23, 223, 224, 225, + /* 550 */ 110, 175, 176, 167, 77, 165, 50, 51, 168, 169, + /* 560 */ 170, 175, 176, 87, 88, 113, 26, 115, 116, 171, + /* 570 */ 172, 173, 0, 1, 2, 69, 70, 71, 72, 73, + /* 580 */ 74, 75, 76, 77, 78, 79, 80, 81, 162, 83, + /* 590 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + /* 600 */ 19, 151, 98, 217, 23, 37, 130, 131, 23, 23, + /* 610 */ 26, 26, 96, 163, 164, 23, 113, 167, 115, 116, + /* 620 */ 52, 117, 196, 151, 171, 172, 173, 59, 130, 131, + /* 630 */ 232, 50, 51, 129, 208, 209, 16, 121, 156, 167, + /* 640 */ 22, 23, 162, 223, 224, 225, 51, 175, 176, 121, + /* 650 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + /* 660 */ 79, 80, 81, 178, 83, 84, 85, 86, 87, 88, + /* 670 */ 89, 90, 91, 92, 93, 19, 196, 109, 151, 23, + /* 680 */ 96, 61, 151, 63, 23, 232, 68, 26, 151, 168, + /* 690 */ 169, 170, 23, 89, 167, 26, 208, 209, 167, 219, + /* 700 */ 105, 36, 175, 176, 167, 121, 50, 51, 223, 224, + /* 710 */ 225, 229, 175, 176, 178, 233, 247, 248, 114, 239, + /* 720 */ 189, 22, 118, 24, 162, 69, 70, 71, 72, 73, + /* 730 */ 74, 75, 76, 77, 78, 79, 80, 81, 151, 83, + /* 740 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + /* 750 */ 19, 151, 26, 151, 167, 24, 145, 146, 196, 223, + /* 760 */ 224, 225, 175, 176, 151, 182, 183, 167, 151, 167, + /* 770 */ 151, 36, 199, 190, 151, 175, 176, 175, 176, 206, + /* 780 */ 167, 50, 51, 221, 167, 136, 167, 138, 175, 176, + /* 790 */ 167, 26, 175, 176, 175, 176, 168, 36, 175, 176, + /* 800 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + /* 810 */ 79, 80, 81, 151, 83, 84, 85, 86, 87, 88, + /* 820 */ 89, 90, 91, 92, 93, 19, 151, 151, 151, 167, + /* 830 */ 151, 151, 151, 151, 162, 207, 23, 175, 176, 26, + /* 840 */ 249, 250, 167, 167, 167, 151, 167, 167, 167, 167, + /* 850 */ 175, 176, 175, 176, 175, 176, 50, 51, 151, 53, + /* 860 */ 22, 167, 192, 193, 33, 189, 192, 193, 196, 189, + /* 870 */ 189, 189, 162, 42, 167, 69, 70, 71, 72, 73, + /* 880 */ 74, 75, 76, 77, 78, 79, 80, 81, 151, 83, + /* 890 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + /* 900 */ 19, 151, 195, 151, 167, 151, 196, 162, 151, 215, + /* 910 */ 92, 93, 175, 176, 28, 174, 119, 167, 151, 167, + /* 920 */ 151, 167, 151, 182, 167, 175, 176, 175, 176, 175, + /* 930 */ 176, 50, 51, 23, 167, 23, 167, 40, 167, 22, + /* 940 */ 167, 196, 53, 168, 175, 176, 175, 176, 175, 162, + /* 950 */ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + /* 960 */ 79, 80, 81, 151, 83, 84, 85, 86, 87, 88, + /* 970 */ 89, 90, 91, 92, 93, 19, 151, 151, 151, 167, + /* 980 */ 151, 151, 207, 196, 30, 218, 22, 175, 176, 1, + /* 990 */ 2, 53, 167, 167, 167, 151, 167, 167, 151, 151, + /* 1000 */ 175, 176, 175, 176, 175, 176, 50, 51, 221, 23, + /* 1010 */ 53, 167, 22, 22, 167, 167, 103, 168, 22, 110, + /* 1020 */ 19, 105, 175, 176, 20, 69, 70, 71, 72, 73, + /* 1030 */ 74, 75, 76, 77, 78, 79, 80, 81, 151, 83, + /* 1040 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + /* 1050 */ 19, 151, 151, 151, 167, 151, 207, 24, 44, 215, + /* 1060 */ 60, 26, 175, 176, 54, 54, 240, 167, 167, 167, + /* 1070 */ 240, 167, 151, 151, 151, 175, 176, 175, 176, 175, + /* 1080 */ 176, 50, 51, 139, 151, 22, 105, 119, 167, 167, + /* 1090 */ 167, 5, 1, 36, 28, 77, 175, 176, 175, 176, + /* 1100 */ 167, 70, 71, 72, 73, 74, 75, 76, 77, 78, + /* 1110 */ 79, 80, 81, 151, 83, 84, 85, 86, 87, 88, + /* 1120 */ 89, 90, 91, 92, 93, 19, 151, 151, 151, 167, + /* 1130 */ 151, 151, 109, 151, 128, 77, 22, 175, 176, 26, + /* 1140 */ 218, 240, 167, 167, 167, 151, 167, 167, 151, 167, + /* 1150 */ 175, 176, 175, 176, 175, 176, 50, 51, 151, 22, + /* 1160 */ 151, 167, 23, 120, 167, 1, 16, 122, 20, 120, + /* 1170 */ 109, 195, 175, 176, 167, 195, 167, 71, 72, 73, + /* 1180 */ 74, 75, 76, 77, 78, 79, 80, 81, 151, 83, + /* 1190 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + /* 1200 */ 19, 20, 195, 22, 167, 151, 151, 128, 27, 28, + /* 1210 */ 129, 23, 175, 176, 23, 66, 141, 22, 151, 38, + /* 1220 */ 151, 167, 167, 19, 20, 151, 22, 151, 151, 175, + /* 1230 */ 176, 27, 28, 151, 167, 15, 167, 4, 57, 16, + /* 1240 */ 151, 167, 38, 167, 167, 3, 166, 248, 67, 167, + /* 1250 */ 195, 175, 176, 181, 181, 150, 167, 175, 176, 251, + /* 1260 */ 6, 57, 151, 151, 175, 176, 151, 151, 87, 88, + /* 1270 */ 89, 67, 151, 162, 151, 94, 95, 96, 167, 167, + /* 1280 */ 99, 251, 167, 167, 152, 151, 175, 176, 167, 151, + /* 1290 */ 167, 87, 88, 151, 150, 150, 175, 176, 94, 95, + /* 1300 */ 96, 167, 150, 99, 151, 167, 151, 196, 13, 167, + /* 1310 */ 195, 130, 131, 132, 133, 134, 135, 152, 195, 160, + /* 1320 */ 167, 117, 167, 19, 20, 151, 22, 151, 217, 151, + /* 1330 */ 161, 27, 28, 222, 130, 131, 132, 133, 134, 135, + /* 1340 */ 151, 167, 38, 167, 151, 167, 19, 20, 195, 22, + /* 1350 */ 151, 151, 151, 151, 27, 28, 167, 151, 151, 26, + /* 1360 */ 167, 57, 25, 196, 151, 38, 167, 167, 167, 167, + /* 1370 */ 151, 67, 151, 167, 167, 117, 201, 151, 125, 151, + /* 1380 */ 167, 151, 127, 124, 57, 151, 167, 202, 167, 203, + /* 1390 */ 151, 87, 88, 167, 67, 167, 151, 167, 94, 95, + /* 1400 */ 96, 167, 151, 99, 123, 126, 167, 204, 136, 227, + /* 1410 */ 205, 119, 167, 105, 87, 88, 122, 177, 167, 158, + /* 1420 */ 158, 94, 95, 96, 212, 105, 99, 213, 212, 177, + /* 1430 */ 213, 213, 185, 48, 130, 131, 132, 133, 134, 135, + /* 1440 */ 5, 212, 177, 179, 104, 10, 11, 12, 13, 14, + /* 1450 */ 177, 180, 17, 22, 230, 93, 180, 130, 131, 132, + /* 1460 */ 133, 134, 135, 185, 177, 230, 177, 32, 177, 34, + /* 1470 */ 157, 22, 18, 158, 157, 157, 27, 28, 43, 158, + /* 1480 */ 158, 158, 46, 237, 136, 157, 238, 158, 191, 201, + /* 1490 */ 69, 56, 191, 58, 220, 22, 157, 62, 18, 201, + /* 1500 */ 65, 158, 220, 194, 194, 194, 194, 201, 158, 242, + /* 1510 */ 191, 41, 242, 158, 158, 39, 67, 154, 232, 168, + /* 1520 */ 245, 228, 198, 178, 183, 200, 168, 211, 232, 168, + /* 1530 */ 178, 178, 201, 187, 198, 149, 87, 88, 179, 168, + /* 1540 */ 241, 106, 107, 108, 95, 211, 241, 112, 99, 211, + /* 1550 */ 201, 197, 117, 193, 210, 188, 184, 184, 184, 175, + /* 1560 */ 93, 235, 175, 252, 252, 252, 236, 252, 252, 252, + /* 1570 */ 252, 252, 252, 252, 252, 140, 252, 252, 252, 130, + /* 1580 */ 131, 132, +}; +#define YY_SHIFT_USE_DFLT (-82) +#define YY_SHIFT_COUNT (419) +#define YY_SHIFT_MIN (-81) +#define YY_SHIFT_MAX (1480) static const short yy_shift_ofst[] = { - /* 0 */ 992, 1057, 1355, 1156, 1204, 1204, 1, 262, -19, 135, - /* 10 */ 135, 776, 1204, 1204, 1204, 1204, 69, 69, 53, 208, - /* 20 */ 283, 755, 58, 725, 648, 571, 494, 417, 340, 263, - /* 30 */ 212, 827, 827, 827, 827, 827, 827, 827, 827, 827, - /* 40 */ 827, 827, 827, 827, 827, 827, 878, 827, 929, 980, - /* 50 */ 980, 1070, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - /* 60 */ 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - /* 70 */ 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - /* 80 */ 1258, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - /* 90 */ 1204, 1204, 1204, 1204, -71, -47, -47, -47, -47, -47, - /* 100 */ 0, 29, -12, 283, 283, 139, 91, 392, 392, 894, - /* 110 */ 672, 726, 1383, -86, -86, -86, 88, 318, 318, 99, - /* 120 */ 381, -20, 283, 283, 283, 283, 283, 283, 283, 283, - /* 130 */ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - /* 140 */ 283, 283, 283, 283, 624, 876, 726, 672, 1340, 1340, - /* 150 */ 1340, 1340, 1340, 1340, -86, -86, -86, 305, 136, 136, - /* 160 */ 142, 167, 226, 154, 137, 152, 283, 283, 283, 283, - /* 170 */ 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, - /* 180 */ 283, 283, 283, 336, 336, 336, 283, 283, 352, 283, - /* 190 */ 283, 283, 283, 283, 228, 283, 283, 283, 283, 283, - /* 200 */ 283, 283, 283, 283, 283, 501, 569, 596, 596, 596, - /* 210 */ 507, 497, 441, 391, 353, 156, 156, 857, 353, 857, - /* 220 */ 735, 813, 639, 715, 156, 332, 715, 715, 496, 419, - /* 230 */ 646, 1357, 1184, 1184, 1335, 1335, 1184, 1341, 1260, 1144, - /* 240 */ 1346, 1346, 1346, 1346, 1184, 1306, 1144, 1341, 1260, 1260, - /* 250 */ 1144, 1184, 1306, 1206, 1284, 1184, 1184, 1306, 1184, 1306, - /* 260 */ 1184, 1306, 1262, 1207, 1207, 1207, 1274, 1262, 1207, 1217, - /* 270 */ 1207, 1274, 1207, 1207, 1185, 1200, 1185, 1200, 1185, 1200, - /* 280 */ 1184, 1184, 1161, 1262, 1202, 1202, 1262, 1154, 1155, 1147, - /* 290 */ 1152, 1144, 1241, 1239, 1250, 1250, 1254, 1254, 1254, 1254, - /* 300 */ -86, -86, -86, -86, -86, -86, 1068, 304, 526, 249, - /* 310 */ 408, -83, 434, 812, 27, 811, 807, 802, 751, 589, - /* 320 */ 651, 163, 131, 674, 366, 450, 299, 148, 23, 102, - /* 330 */ 229, -21, 1245, 1244, 1222, 1099, 1228, 1172, 1223, 1215, - /* 340 */ 1213, 1115, 1106, 1123, 1110, 1209, 1105, 1212, 1226, 1098, - /* 350 */ 1089, 1140, 1139, 1104, 1189, 1178, 1094, 1211, 1205, 1187, - /* 360 */ 1101, 1071, 1153, 1175, 1146, 1138, 1151, 1091, 1164, 1165, - /* 370 */ 1163, 1069, 1072, 1148, 1112, 1134, 1127, 1129, 1126, 1092, - /* 380 */ 1114, 1118, 1088, 1090, 1093, 1087, 1084, 987, 1079, 1077, - /* 390 */ 1074, 1065, 924, 1021, 1014, 1004, 1006, 819, 739, 896, - /* 400 */ 855, 804, 739, 740, 736, 690, 654, 665, 618, 582, - /* 410 */ 568, 528, 554, 379, 532, 479, 455, 379, 432, 371, - /* 420 */ 341, 28, 338, 116, -11, -57, -85, 7, -8, 3, + /* 0 */ 988, 1204, 1435, 1204, 1304, 1304, 67, 67, 1, -19, + /* 10 */ 1304, 1304, 1304, 1304, 427, 81, 131, 131, 806, 1181, + /* 20 */ 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, + /* 30 */ 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, + /* 40 */ 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1327, 1304, + /* 50 */ 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, 1304, + /* 60 */ 1304, 1304, 52, 81, 81, 476, 476, 395, 1258, 56, + /* 70 */ 731, 656, 581, 506, 431, 356, 281, 206, 881, 881, + /* 80 */ 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, + /* 90 */ 881, 881, 881, 956, 881, 1031, 1106, 1106, -69, -45, + /* 100 */ -45, -45, -45, -45, 0, 29, -12, 81, 81, 81, + /* 110 */ 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + /* 120 */ 81, 81, 81, 355, 440, 81, 81, 81, 81, 81, + /* 130 */ 504, 411, 395, 818, 1467, -82, -82, -82, 1449, 86, + /* 140 */ 439, 439, 306, 357, 302, 72, 318, 246, 169, 81, + /* 150 */ 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + /* 160 */ 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + /* 170 */ 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + /* 180 */ 81, 81, 315, 315, 315, 572, 1258, 1258, 1258, -82, + /* 190 */ -82, -82, 132, 132, 208, 568, 568, 568, 516, 503, + /* 200 */ 214, 452, 363, 228, 119, 119, 119, 119, 359, 126, + /* 210 */ 119, 119, 584, 293, 604, 106, 11, 288, 288, 513, + /* 220 */ 11, 513, 295, 813, 395, 831, 395, 831, 595, 831, + /* 230 */ 288, 649, 498, 498, 395, 154, 273, 699, 1476, 1292, + /* 240 */ 1292, 1470, 1470, 1292, 1473, 1421, 1255, 1480, 1480, 1480, + /* 250 */ 1480, 1292, 1454, 1255, 1473, 1421, 1421, 1255, 1292, 1454, + /* 260 */ 1348, 1436, 1292, 1292, 1454, 1292, 1454, 1292, 1454, 1431, + /* 270 */ 1320, 1320, 1320, 1385, 1362, 1362, 1431, 1320, 1340, 1320, + /* 280 */ 1385, 1320, 1320, 1294, 1308, 1294, 1308, 1294, 1308, 1292, + /* 290 */ 1292, 1272, 1279, 1281, 1253, 1259, 1255, 1258, 1337, 1333, + /* 300 */ 1295, 1295, 1254, 1254, 1254, 1254, -82, -82, -82, -82, + /* 310 */ -82, -82, 339, 399, 618, 326, 620, -81, 669, 477, + /* 320 */ 661, 585, 377, 280, 244, 232, 25, -1, 373, 227, + /* 330 */ 215, 1233, 1242, 1195, 1075, 1220, 1149, 1223, 1191, 1188, + /* 340 */ 1081, 1113, 1079, 1061, 1049, 1148, 1045, 1150, 1164, 1043, + /* 350 */ 1139, 1137, 1113, 1114, 1006, 1058, 1018, 1023, 1066, 1057, + /* 360 */ 968, 1091, 1086, 1063, 981, 944, 1011, 1035, 1010, 1000, + /* 370 */ 1014, 916, 1033, 1004, 1001, 909, 913, 996, 957, 991, + /* 380 */ 990, 986, 964, 938, 954, 917, 889, 897, 912, 910, + /* 390 */ 797, 886, 761, 838, 528, 726, 735, 765, 665, 726, + /* 400 */ 592, 586, 540, 523, 491, 487, 435, 401, 397, 387, + /* 410 */ 249, 216, 185, 127, 110, 51, 82, 143, 15, 48, }; -#define YY_REDUCE_USE_DFLT (-110) -#define YY_REDUCE_COUNT (305) -#define YY_REDUCE_MIN (-109) -#define YY_REDUCE_MAX (1323) +#define YY_REDUCE_USE_DFLT (-143) +#define YY_REDUCE_COUNT (311) +#define YY_REDUCE_MIN (-142) +#define YY_REDUCE_MAX (1387) static const short yy_reduce_ofst[] = { - /* 0 */ 238, 954, 213, 289, 310, 234, 144, 317, -109, 382, - /* 10 */ 377, 303, 461, 389, 378, 368, 302, 294, 253, 395, - /* 20 */ 293, 324, 403, 403, 403, 403, 403, 403, 403, 403, - /* 30 */ 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - /* 40 */ 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, - /* 50 */ 403, 1022, 1012, 1005, 998, 963, 961, 959, 957, 950, - /* 60 */ 947, 930, 912, 873, 861, 823, 810, 771, 759, 720, - /* 70 */ 708, 670, 657, 619, 614, 612, 610, 608, 606, 604, - /* 80 */ 598, 595, 593, 580, 542, 540, 537, 535, 533, 531, - /* 90 */ 529, 527, 503, 386, 403, 403, 403, 403, 403, 403, - /* 100 */ 403, 403, 403, 95, 447, 82, 334, 504, 467, 403, - /* 110 */ 477, 464, 403, 403, 403, 403, 860, 747, 744, 785, - /* 120 */ 638, 638, 926, 891, 900, 899, 887, 844, 840, 835, - /* 130 */ 848, 830, 843, 829, 792, 839, 826, 737, 838, 795, - /* 140 */ 789, 47, 734, 530, 696, 777, 711, 677, 733, 730, - /* 150 */ 729, 728, 727, 627, 448, 64, 187, 1305, 1302, 1252, - /* 160 */ 1290, 1273, 1323, 1322, 1321, 1319, 1318, 1316, 1315, 1314, - /* 170 */ 1313, 1312, 1311, 1310, 1308, 1307, 1304, 1303, 1301, 1298, - /* 180 */ 1294, 1292, 1289, 1266, 1264, 1259, 1288, 1287, 1238, 1285, - /* 190 */ 1281, 1280, 1279, 1278, 1251, 1277, 1276, 1275, 1273, 1268, - /* 200 */ 1267, 1265, 1263, 1261, 1257, 1248, 1237, 1247, 1246, 1243, - /* 210 */ 1238, 1240, 1235, 1249, 1234, 1233, 1230, 1220, 1214, 1210, - /* 220 */ 1225, 1219, 1232, 1231, 1197, 1195, 1227, 1224, 1201, 1208, - /* 230 */ 1242, 1137, 1236, 1229, 1193, 1181, 1221, 1177, 1196, 1179, - /* 240 */ 1191, 1190, 1186, 1182, 1218, 1216, 1176, 1162, 1183, 1180, - /* 250 */ 1160, 1199, 1203, 1133, 1095, 1198, 1194, 1188, 1192, 1171, - /* 260 */ 1169, 1168, 1173, 1174, 1166, 1159, 1141, 1170, 1158, 1167, - /* 270 */ 1157, 1132, 1145, 1143, 1124, 1128, 1103, 1102, 1100, 1096, - /* 280 */ 1150, 1149, 1085, 1125, 1080, 1064, 1120, 1097, 1082, 1078, - /* 290 */ 1073, 1067, 1109, 1107, 1119, 1117, 1116, 1113, 1111, 1108, - /* 300 */ 1007, 1000, 1002, 1076, 1075, 1081, + /* 0 */ -142, 1111, 92, 151, 241, 161, 150, 93, 85, 324, + /* 10 */ 386, 313, 320, 229, -6, 310, 536, 485, -72, 1121, + /* 20 */ 1089, 1082, 1076, 1054, 1037, 997, 979, 977, 975, 962, + /* 30 */ 923, 921, 904, 902, 900, 887, 847, 829, 827, 825, + /* 40 */ 812, 771, 769, 754, 752, 750, 737, 679, 677, 675, + /* 50 */ 662, 623, 619, 617, 613, 602, 600, 587, 537, 527, + /* 60 */ 472, 376, 480, 450, 226, 453, 398, 390, 426, 420, + /* 70 */ 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + /* 80 */ 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + /* 90 */ 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + /* 100 */ 420, 420, 420, 420, 420, 420, 420, 1153, 922, 1123, + /* 110 */ 1115, 1055, 1007, 980, 976, 901, 844, 830, 767, 826, + /* 120 */ 682, 694, 707, 482, 583, 681, 680, 676, 531, 27, + /* 130 */ 787, 562, 521, 420, 420, 420, 420, 420, 773, 741, + /* 140 */ 674, 670, 1067, 1251, 1245, 1239, 1234, 591, 591, 1230, + /* 150 */ 1228, 1226, 1221, 1219, 1213, 1207, 1206, 1202, 1201, 1200, + /* 160 */ 1199, 1193, 1189, 1178, 1176, 1174, 1155, 1142, 1138, 1134, + /* 170 */ 1116, 1112, 1077, 1074, 1069, 1067, 1009, 994, 982, 933, + /* 180 */ 848, 757, 849, 775, 628, 611, 745, 710, 672, 469, + /* 190 */ 488, 573, 1387, 1384, 1367, 1374, 1373, 1372, 1344, 1354, + /* 200 */ 1360, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1330, 1326, + /* 210 */ 1354, 1354, 1344, 1371, 1336, 1386, 1349, 1338, 1334, 1305, + /* 220 */ 1331, 1299, 1359, 1346, 1361, 1353, 1358, 1352, 1341, 1345, + /* 230 */ 1316, 1293, 1296, 1286, 1351, 1325, 1324, 1363, 1275, 1356, + /* 240 */ 1355, 1270, 1267, 1350, 1282, 1319, 1306, 1312, 1311, 1310, + /* 250 */ 1309, 1343, 1339, 1298, 1274, 1301, 1297, 1288, 1329, 1328, + /* 260 */ 1248, 1246, 1323, 1322, 1318, 1321, 1317, 1315, 1313, 1276, + /* 270 */ 1291, 1289, 1287, 1278, 1235, 1224, 1271, 1273, 1264, 1265, + /* 280 */ 1247, 1252, 1240, 1218, 1229, 1217, 1216, 1214, 1212, 1262, + /* 290 */ 1261, 1182, 1205, 1203, 1186, 1185, 1175, 1167, 1169, 1159, + /* 300 */ 1165, 1132, 1152, 1145, 1144, 1105, 1030, 1008, 999, 1073, + /* 310 */ 1072, 1080, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 647, 964, 964, 964, 878, 878, 969, 964, 774, 802, - /* 10 */ 802, 938, 969, 969, 969, 876, 969, 969, 969, 964, - /* 20 */ 969, 778, 808, 969, 969, 969, 969, 969, 969, 969, - /* 30 */ 969, 937, 939, 816, 815, 918, 789, 813, 806, 810, - /* 40 */ 879, 872, 873, 871, 875, 880, 969, 809, 841, 856, - /* 50 */ 840, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 60 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 70 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 80 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 90 */ 969, 969, 969, 969, 850, 855, 862, 854, 851, 843, - /* 100 */ 842, 844, 845, 969, 969, 673, 739, 969, 969, 846, - /* 110 */ 969, 685, 847, 859, 858, 857, 680, 969, 969, 969, - /* 120 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 130 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 140 */ 969, 969, 969, 969, 647, 964, 969, 969, 964, 964, - /* 150 */ 964, 964, 964, 964, 956, 778, 768, 969, 969, 969, - /* 160 */ 969, 969, 969, 969, 969, 969, 969, 944, 942, 969, - /* 170 */ 891, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 180 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 190 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 200 */ 969, 969, 969, 969, 653, 969, 911, 774, 774, 774, - /* 210 */ 776, 754, 766, 655, 812, 791, 791, 923, 812, 923, - /* 220 */ 710, 733, 707, 802, 791, 874, 802, 802, 775, 766, - /* 230 */ 969, 949, 782, 782, 941, 941, 782, 821, 743, 812, - /* 240 */ 750, 750, 750, 750, 782, 670, 812, 821, 743, 743, - /* 250 */ 812, 782, 670, 917, 915, 782, 782, 670, 782, 670, - /* 260 */ 782, 670, 884, 741, 741, 741, 725, 884, 741, 710, - /* 270 */ 741, 725, 741, 741, 795, 790, 795, 790, 795, 790, - /* 280 */ 782, 782, 969, 884, 888, 888, 884, 807, 796, 805, - /* 290 */ 803, 812, 676, 728, 663, 663, 652, 652, 652, 652, - /* 300 */ 961, 961, 956, 712, 712, 695, 969, 969, 969, 969, - /* 310 */ 969, 969, 687, 969, 893, 969, 969, 969, 969, 969, - /* 320 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 330 */ 969, 828, 969, 648, 951, 969, 969, 948, 969, 969, - /* 340 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 350 */ 969, 969, 969, 969, 969, 969, 921, 969, 969, 969, - /* 360 */ 969, 969, 969, 914, 913, 969, 969, 969, 969, 969, - /* 370 */ 969, 969, 969, 969, 969, 969, 969, 969, 969, 969, - /* 380 */ 969, 969, 969, 969, 969, 969, 969, 757, 969, 969, - /* 390 */ 969, 761, 969, 969, 969, 969, 969, 969, 804, 969, - /* 400 */ 797, 969, 877, 969, 969, 969, 969, 969, 969, 969, - /* 410 */ 969, 969, 969, 966, 969, 969, 969, 965, 969, 969, - /* 420 */ 969, 969, 969, 830, 969, 829, 833, 969, 661, 969, - /* 430 */ 644, 649, 960, 963, 962, 959, 958, 957, 952, 950, - /* 440 */ 947, 946, 945, 943, 940, 936, 897, 895, 902, 901, - /* 450 */ 900, 899, 898, 896, 894, 892, 818, 817, 814, 811, - /* 460 */ 753, 935, 890, 752, 749, 748, 669, 953, 920, 929, - /* 470 */ 928, 927, 822, 926, 925, 924, 922, 919, 906, 820, - /* 480 */ 819, 744, 882, 881, 672, 910, 909, 908, 912, 916, - /* 490 */ 907, 784, 751, 671, 668, 675, 679, 731, 732, 740, - /* 500 */ 738, 737, 736, 735, 734, 730, 681, 686, 724, 709, - /* 510 */ 708, 717, 716, 722, 721, 720, 719, 718, 715, 714, - /* 520 */ 713, 706, 705, 711, 704, 727, 726, 723, 703, 747, - /* 530 */ 746, 745, 742, 702, 701, 700, 833, 699, 698, 838, - /* 540 */ 837, 866, 826, 755, 759, 758, 762, 763, 771, 770, - /* 550 */ 769, 780, 781, 793, 792, 824, 823, 794, 779, 773, - /* 560 */ 772, 788, 787, 786, 785, 777, 767, 799, 798, 868, - /* 570 */ 783, 867, 865, 934, 933, 932, 931, 930, 870, 967, - /* 580 */ 968, 887, 889, 886, 801, 800, 885, 869, 839, 836, - /* 590 */ 690, 691, 905, 904, 903, 693, 692, 689, 688, 863, - /* 600 */ 860, 852, 864, 861, 853, 849, 848, 834, 832, 831, - /* 610 */ 827, 835, 760, 756, 825, 765, 764, 697, 696, 694, - /* 620 */ 678, 677, 674, 667, 665, 664, 666, 662, 660, 659, - /* 630 */ 658, 657, 656, 684, 683, 682, 654, 651, 650, 646, - /* 640 */ 645, 643, + /* 0 */ 636, 872, 960, 960, 872, 872, 960, 960, 960, 762, + /* 10 */ 960, 960, 960, 870, 960, 960, 790, 790, 934, 960, + /* 20 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 30 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 40 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 50 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 60 */ 960, 960, 960, 960, 960, 960, 960, 677, 766, 796, + /* 70 */ 960, 960, 960, 960, 960, 960, 960, 960, 933, 935, + /* 80 */ 804, 803, 913, 777, 801, 794, 798, 873, 866, 867, + /* 90 */ 865, 869, 874, 960, 797, 833, 850, 832, 844, 849, + /* 100 */ 856, 848, 845, 835, 834, 836, 837, 960, 960, 960, + /* 110 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 120 */ 960, 960, 960, 662, 731, 960, 960, 960, 960, 960, + /* 130 */ 960, 960, 960, 838, 839, 853, 852, 851, 960, 669, + /* 140 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 150 */ 940, 938, 960, 885, 960, 960, 960, 960, 960, 960, + /* 160 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 170 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 180 */ 960, 642, 762, 762, 762, 636, 960, 960, 960, 952, + /* 190 */ 766, 756, 960, 960, 960, 960, 960, 960, 960, 960, + /* 200 */ 960, 960, 960, 960, 806, 745, 923, 925, 960, 906, + /* 210 */ 743, 664, 764, 679, 754, 644, 800, 779, 779, 918, + /* 220 */ 800, 918, 702, 725, 960, 790, 960, 790, 699, 790, + /* 230 */ 779, 868, 960, 960, 960, 763, 754, 960, 945, 770, + /* 240 */ 770, 937, 937, 770, 812, 735, 800, 742, 742, 742, + /* 250 */ 742, 770, 659, 800, 812, 735, 735, 800, 770, 659, + /* 260 */ 912, 910, 770, 770, 659, 770, 659, 770, 659, 878, + /* 270 */ 733, 733, 733, 717, 882, 882, 878, 733, 702, 733, + /* 280 */ 717, 733, 733, 783, 778, 783, 778, 783, 778, 770, + /* 290 */ 770, 960, 795, 784, 793, 791, 800, 960, 665, 720, + /* 300 */ 652, 652, 641, 641, 641, 641, 957, 957, 952, 704, + /* 310 */ 704, 687, 960, 960, 960, 960, 960, 960, 960, 887, + /* 320 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 330 */ 960, 960, 637, 947, 960, 960, 944, 960, 960, 960, + /* 340 */ 960, 805, 960, 960, 960, 960, 960, 960, 960, 960, + /* 350 */ 960, 960, 922, 960, 960, 960, 960, 960, 960, 960, + /* 360 */ 916, 960, 960, 960, 960, 960, 960, 909, 908, 960, + /* 370 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 380 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 390 */ 960, 960, 960, 960, 960, 792, 960, 785, 960, 871, + /* 400 */ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960, + /* 410 */ 748, 821, 960, 820, 824, 819, 671, 960, 650, 960, + /* 420 */ 633, 638, 956, 959, 958, 955, 954, 953, 948, 946, + /* 430 */ 943, 942, 941, 939, 936, 932, 891, 889, 896, 895, + /* 440 */ 894, 893, 892, 890, 888, 886, 807, 802, 799, 931, + /* 450 */ 884, 744, 741, 740, 658, 949, 915, 924, 811, 810, + /* 460 */ 813, 921, 920, 919, 917, 914, 901, 809, 808, 736, + /* 470 */ 876, 875, 661, 905, 904, 903, 907, 911, 902, 772, + /* 480 */ 660, 657, 668, 723, 724, 732, 730, 729, 728, 727, + /* 490 */ 726, 722, 670, 678, 716, 701, 700, 881, 883, 880, + /* 500 */ 879, 709, 708, 714, 713, 712, 711, 710, 707, 706, + /* 510 */ 705, 698, 697, 703, 696, 719, 718, 715, 695, 739, + /* 520 */ 738, 737, 734, 694, 693, 692, 824, 691, 690, 830, + /* 530 */ 829, 817, 860, 759, 758, 757, 769, 768, 781, 780, + /* 540 */ 815, 814, 782, 767, 761, 760, 776, 775, 774, 773, + /* 550 */ 765, 755, 787, 789, 788, 786, 862, 771, 859, 930, + /* 560 */ 929, 928, 927, 926, 864, 863, 831, 828, 682, 683, + /* 570 */ 899, 898, 900, 897, 685, 684, 681, 680, 861, 750, + /* 580 */ 749, 857, 854, 846, 842, 858, 855, 847, 843, 841, + /* 590 */ 840, 826, 825, 823, 822, 818, 827, 673, 751, 747, + /* 600 */ 746, 816, 753, 752, 689, 688, 686, 667, 666, 663, + /* 610 */ 656, 654, 653, 655, 651, 649, 648, 647, 646, 645, + /* 620 */ 676, 675, 674, 672, 671, 643, 640, 639, 635, 634, + /* 630 */ 632, }; /* The next table maps tokens into fallback tokens. If a construct ** like the following: ** @@ -115553,19 +115154,17 @@ 27, /* KEY => ID */ 27, /* OF => ID */ 27, /* OFFSET => ID */ 27, /* PRAGMA => ID */ 27, /* RAISE => ID */ - 27, /* RECURSIVE => ID */ 27, /* REPLACE => ID */ 27, /* RESTRICT => ID */ 27, /* ROW => ID */ 27, /* TRIGGER => ID */ 27, /* VACUUM => ID */ 27, /* VIEW => ID */ 27, /* VIRTUAL => ID */ - 27, /* WITH => ID */ 27, /* REINDEX => ID */ 27, /* RENAME => ID */ 27, /* CTIME_KW => ID */ }; #endif /* YYFALLBACK */ @@ -115657,60 +115256,59 @@ "BY", "CASCADE", "CAST", "COLUMNKW", "CONFLICT", "DATABASE", "DESC", "DETACH", "EACH", "FAIL", "FOR", "IGNORE", "INITIALLY", "INSTEAD", "LIKE_KW", "MATCH", "NO", "KEY", "OF", "OFFSET", - "PRAGMA", "RAISE", "RECURSIVE", "REPLACE", - "RESTRICT", "ROW", "TRIGGER", "VACUUM", - "VIEW", "VIRTUAL", "WITH", "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", - "BITNOT", "STRING", "JOIN_KW", "CONSTRAINT", - "DEFAULT", "NULL", "PRIMARY", "UNIQUE", - "CHECK", "REFERENCES", "AUTOINCR", "ON", - "INSERT", "DELETE", "UPDATE", "SET", - "DEFERRABLE", "FOREIGN", "DROP", "UNION", - "ALL", "EXCEPT", "INTERSECT", "SELECT", - "VALUES", "DISTINCT", "DOT", "FROM", - "JOIN", "USING", "ORDER", "GROUP", - "HAVING", "LIMIT", "WHERE", "INTO", - "INTEGER", "FLOAT", "BLOB", "VARIABLE", - "CASE", "WHEN", "THEN", "ELSE", - "INDEX", "ALTER", "ADD", "error", - "input", "cmdlist", "ecmd", "explain", - "cmdx", "cmd", "transtype", "trans_opt", - "nm", "savepoint_opt", "create_table", "create_table_args", - "createkw", "temp", "ifnotexists", "dbnm", - "columnlist", "conslist_opt", "table_options", "select", - "column", "columnid", "type", "carglist", - "typetoken", "typename", "signed", "plus_num", - "minus_num", "ccons", "term", "expr", - "onconf", "sortorder", "autoinc", "idxlist_opt", - "refargs", "defer_subclause", "refarg", "refact", - "init_deferred_pred_opt", "conslist", "tconscomma", "tcons", - "idxlist", "defer_subclause_opt", "orconf", "resolvetype", - "raisetype", "ifexists", "fullname", "selectnowith", - "oneselect", "with", "multiselect_op", "distinct", - "selcollist", "from", "where_opt", "groupby_opt", - "having_opt", "orderby_opt", "limit_opt", "values", - "nexprlist", "exprlist", "sclp", "as", + "PRAGMA", "RAISE", "REPLACE", "RESTRICT", + "ROW", "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", "BITNOT", "STRING", + "JOIN_KW", "CONSTRAINT", "DEFAULT", "NULL", + "PRIMARY", "UNIQUE", "CHECK", "REFERENCES", + "AUTOINCR", "ON", "INSERT", "DELETE", + "UPDATE", "SET", "DEFERRABLE", "FOREIGN", + "DROP", "UNION", "ALL", "EXCEPT", + "INTERSECT", "SELECT", "DISTINCT", "DOT", + "FROM", "JOIN", "USING", "ORDER", + "GROUP", "HAVING", "LIMIT", "WHERE", + "INTO", "VALUES", "INTEGER", "FLOAT", + "BLOB", "REGISTER", "VARIABLE", "CASE", + "WHEN", "THEN", "ELSE", "INDEX", + "ALTER", "ADD", "error", "input", + "cmdlist", "ecmd", "explain", "cmdx", + "cmd", "transtype", "trans_opt", "nm", + "savepoint_opt", "create_table", "create_table_args", "createkw", + "temp", "ifnotexists", "dbnm", "columnlist", + "conslist_opt", "table_options", "select", "column", + "columnid", "type", "carglist", "id", + "ids", "typetoken", "typename", "signed", + "plus_num", "minus_num", "ccons", "term", + "expr", "onconf", "sortorder", "autoinc", + "idxlist_opt", "refargs", "defer_subclause", "refarg", + "refact", "init_deferred_pred_opt", "conslist", "tconscomma", + "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", "indexed_opt", "on_opt", "using_opt", "joinop2", "idlist", - "sortlist", "setlist", "insert_cmd", "inscollist_opt", - "likeop", "between_op", "in_op", "case_operand", - "case_exprlist", "case_else", "uniqueflag", "collate", - "nmnum", "trigger_decl", "trigger_cmd_list", "trigger_time", + "sortlist", "nexprlist", "setlist", "insert_cmd", + "inscollist_opt", "valuelist", "exprlist", "likeop", + "between_op", "in_op", "case_operand", "case_exprlist", + "case_else", "uniqueflag", "collate", "nmnum", + "number", "trigger_decl", "trigger_cmd_list", "trigger_time", "trigger_event", "foreach_clause", "when_clause", "trigger_cmd", "trnm", "tridxby", "database_kw_opt", "key_opt", "add_column_fullname", "kwcolumn_opt", "create_vtab", "vtabarglist", "vtabarg", "vtabargtoken", "lp", "anylist", - "wqlist", }; #endif /* NDEBUG */ #ifndef NDEBUG /* For tracing reduce actions, the names of all rules are required. @@ -115754,297 +115352,299 @@ /* 35 */ "table_options ::= WITHOUT nm", /* 36 */ "columnlist ::= columnlist COMMA column", /* 37 */ "columnlist ::= column", /* 38 */ "column ::= columnid type carglist", /* 39 */ "columnid ::= nm", - /* 40 */ "nm ::= ID|INDEXED", - /* 41 */ "nm ::= STRING", - /* 42 */ "nm ::= JOIN_KW", - /* 43 */ "type ::=", - /* 44 */ "type ::= typetoken", - /* 45 */ "typetoken ::= typename", - /* 46 */ "typetoken ::= typename LP signed RP", - /* 47 */ "typetoken ::= typename LP signed COMMA signed RP", - /* 48 */ "typename ::= ID|STRING", - /* 49 */ "typename ::= typename ID|STRING", - /* 50 */ "signed ::= plus_num", - /* 51 */ "signed ::= minus_num", - /* 52 */ "carglist ::= carglist ccons", - /* 53 */ "carglist ::=", - /* 54 */ "ccons ::= CONSTRAINT nm", - /* 55 */ "ccons ::= DEFAULT term", - /* 56 */ "ccons ::= DEFAULT LP expr RP", - /* 57 */ "ccons ::= DEFAULT PLUS term", - /* 58 */ "ccons ::= DEFAULT MINUS term", - /* 59 */ "ccons ::= DEFAULT ID|INDEXED", - /* 60 */ "ccons ::= NULL onconf", - /* 61 */ "ccons ::= NOT NULL onconf", - /* 62 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", - /* 63 */ "ccons ::= UNIQUE onconf", - /* 64 */ "ccons ::= CHECK LP expr RP", - /* 65 */ "ccons ::= REFERENCES nm idxlist_opt refargs", - /* 66 */ "ccons ::= defer_subclause", - /* 67 */ "ccons ::= COLLATE ID|STRING", - /* 68 */ "autoinc ::=", - /* 69 */ "autoinc ::= AUTOINCR", - /* 70 */ "refargs ::=", - /* 71 */ "refargs ::= refargs refarg", - /* 72 */ "refarg ::= MATCH nm", - /* 73 */ "refarg ::= ON INSERT refact", - /* 74 */ "refarg ::= ON DELETE refact", - /* 75 */ "refarg ::= ON UPDATE refact", - /* 76 */ "refact ::= SET NULL", - /* 77 */ "refact ::= SET DEFAULT", - /* 78 */ "refact ::= CASCADE", - /* 79 */ "refact ::= RESTRICT", - /* 80 */ "refact ::= NO ACTION", - /* 81 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", - /* 82 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", - /* 83 */ "init_deferred_pred_opt ::=", - /* 84 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", - /* 85 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", - /* 86 */ "conslist_opt ::=", - /* 87 */ "conslist_opt ::= COMMA conslist", - /* 88 */ "conslist ::= conslist tconscomma tcons", - /* 89 */ "conslist ::= tcons", - /* 90 */ "tconscomma ::= COMMA", - /* 91 */ "tconscomma ::=", - /* 92 */ "tcons ::= CONSTRAINT nm", - /* 93 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", - /* 94 */ "tcons ::= UNIQUE LP idxlist RP onconf", - /* 95 */ "tcons ::= CHECK LP expr RP onconf", - /* 96 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", - /* 97 */ "defer_subclause_opt ::=", - /* 98 */ "defer_subclause_opt ::= defer_subclause", - /* 99 */ "onconf ::=", - /* 100 */ "onconf ::= ON CONFLICT resolvetype", - /* 101 */ "orconf ::=", - /* 102 */ "orconf ::= OR resolvetype", - /* 103 */ "resolvetype ::= raisetype", - /* 104 */ "resolvetype ::= IGNORE", - /* 105 */ "resolvetype ::= REPLACE", - /* 106 */ "cmd ::= DROP TABLE ifexists fullname", - /* 107 */ "ifexists ::= IF EXISTS", - /* 108 */ "ifexists ::=", - /* 109 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select", - /* 110 */ "cmd ::= DROP VIEW ifexists fullname", - /* 111 */ "cmd ::= select", - /* 112 */ "select ::= with selectnowith", - /* 113 */ "selectnowith ::= oneselect", - /* 114 */ "selectnowith ::= selectnowith multiselect_op oneselect", - /* 115 */ "multiselect_op ::= UNION", - /* 116 */ "multiselect_op ::= UNION ALL", - /* 117 */ "multiselect_op ::= EXCEPT|INTERSECT", - /* 118 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", - /* 119 */ "oneselect ::= values", - /* 120 */ "values ::= VALUES LP nexprlist RP", - /* 121 */ "values ::= values COMMA LP exprlist RP", - /* 122 */ "distinct ::= DISTINCT", - /* 123 */ "distinct ::= ALL", - /* 124 */ "distinct ::=", - /* 125 */ "sclp ::= selcollist COMMA", - /* 126 */ "sclp ::=", - /* 127 */ "selcollist ::= sclp expr as", - /* 128 */ "selcollist ::= sclp STAR", - /* 129 */ "selcollist ::= sclp nm DOT STAR", - /* 130 */ "as ::= AS nm", - /* 131 */ "as ::= ID|STRING", - /* 132 */ "as ::=", - /* 133 */ "from ::=", - /* 134 */ "from ::= FROM seltablist", - /* 135 */ "stl_prefix ::= seltablist joinop", - /* 136 */ "stl_prefix ::=", - /* 137 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", - /* 138 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", - /* 139 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", - /* 140 */ "dbnm ::=", - /* 141 */ "dbnm ::= DOT nm", - /* 142 */ "fullname ::= nm dbnm", - /* 143 */ "joinop ::= COMMA|JOIN", - /* 144 */ "joinop ::= JOIN_KW JOIN", - /* 145 */ "joinop ::= JOIN_KW nm JOIN", - /* 146 */ "joinop ::= JOIN_KW nm nm JOIN", - /* 147 */ "on_opt ::= ON expr", - /* 148 */ "on_opt ::=", - /* 149 */ "indexed_opt ::=", - /* 150 */ "indexed_opt ::= INDEXED BY nm", - /* 151 */ "indexed_opt ::= NOT INDEXED", - /* 152 */ "using_opt ::= USING LP idlist RP", - /* 153 */ "using_opt ::=", - /* 154 */ "orderby_opt ::=", - /* 155 */ "orderby_opt ::= ORDER BY sortlist", - /* 156 */ "sortlist ::= sortlist COMMA expr sortorder", - /* 157 */ "sortlist ::= expr sortorder", - /* 158 */ "sortorder ::= ASC", - /* 159 */ "sortorder ::= DESC", - /* 160 */ "sortorder ::=", - /* 161 */ "groupby_opt ::=", - /* 162 */ "groupby_opt ::= GROUP BY nexprlist", - /* 163 */ "having_opt ::=", - /* 164 */ "having_opt ::= HAVING expr", - /* 165 */ "limit_opt ::=", - /* 166 */ "limit_opt ::= LIMIT expr", - /* 167 */ "limit_opt ::= LIMIT expr OFFSET expr", - /* 168 */ "limit_opt ::= LIMIT expr COMMA expr", - /* 169 */ "cmd ::= with DELETE FROM fullname indexed_opt where_opt", - /* 170 */ "where_opt ::=", - /* 171 */ "where_opt ::= WHERE expr", - /* 172 */ "cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt", - /* 173 */ "setlist ::= setlist COMMA nm EQ expr", - /* 174 */ "setlist ::= nm EQ expr", - /* 175 */ "cmd ::= with insert_cmd INTO fullname inscollist_opt select", - /* 176 */ "cmd ::= with insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", + /* 40 */ "id ::= ID", + /* 41 */ "id ::= INDEXED", + /* 42 */ "ids ::= ID|STRING", + /* 43 */ "nm ::= id", + /* 44 */ "nm ::= STRING", + /* 45 */ "nm ::= JOIN_KW", + /* 46 */ "type ::=", + /* 47 */ "type ::= typetoken", + /* 48 */ "typetoken ::= typename", + /* 49 */ "typetoken ::= typename LP signed RP", + /* 50 */ "typetoken ::= typename LP signed COMMA signed RP", + /* 51 */ "typename ::= ids", + /* 52 */ "typename ::= typename ids", + /* 53 */ "signed ::= plus_num", + /* 54 */ "signed ::= minus_num", + /* 55 */ "carglist ::= carglist ccons", + /* 56 */ "carglist ::=", + /* 57 */ "ccons ::= CONSTRAINT nm", + /* 58 */ "ccons ::= DEFAULT term", + /* 59 */ "ccons ::= DEFAULT LP expr RP", + /* 60 */ "ccons ::= DEFAULT PLUS term", + /* 61 */ "ccons ::= DEFAULT MINUS term", + /* 62 */ "ccons ::= DEFAULT id", + /* 63 */ "ccons ::= NULL onconf", + /* 64 */ "ccons ::= NOT NULL onconf", + /* 65 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", + /* 66 */ "ccons ::= UNIQUE onconf", + /* 67 */ "ccons ::= CHECK LP expr RP", + /* 68 */ "ccons ::= REFERENCES nm idxlist_opt refargs", + /* 69 */ "ccons ::= defer_subclause", + /* 70 */ "ccons ::= COLLATE ids", + /* 71 */ "autoinc ::=", + /* 72 */ "autoinc ::= AUTOINCR", + /* 73 */ "refargs ::=", + /* 74 */ "refargs ::= refargs refarg", + /* 75 */ "refarg ::= MATCH nm", + /* 76 */ "refarg ::= ON INSERT refact", + /* 77 */ "refarg ::= ON DELETE refact", + /* 78 */ "refarg ::= ON UPDATE refact", + /* 79 */ "refact ::= SET NULL", + /* 80 */ "refact ::= SET DEFAULT", + /* 81 */ "refact ::= CASCADE", + /* 82 */ "refact ::= RESTRICT", + /* 83 */ "refact ::= NO ACTION", + /* 84 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", + /* 85 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", + /* 86 */ "init_deferred_pred_opt ::=", + /* 87 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", + /* 88 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", + /* 89 */ "conslist_opt ::=", + /* 90 */ "conslist_opt ::= COMMA conslist", + /* 91 */ "conslist ::= conslist tconscomma tcons", + /* 92 */ "conslist ::= tcons", + /* 93 */ "tconscomma ::= COMMA", + /* 94 */ "tconscomma ::=", + /* 95 */ "tcons ::= CONSTRAINT nm", + /* 96 */ "tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf", + /* 97 */ "tcons ::= UNIQUE LP idxlist RP onconf", + /* 98 */ "tcons ::= CHECK LP expr RP onconf", + /* 99 */ "tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt", + /* 100 */ "defer_subclause_opt ::=", + /* 101 */ "defer_subclause_opt ::= defer_subclause", + /* 102 */ "onconf ::=", + /* 103 */ "onconf ::= ON CONFLICT resolvetype", + /* 104 */ "orconf ::=", + /* 105 */ "orconf ::= OR resolvetype", + /* 106 */ "resolvetype ::= raisetype", + /* 107 */ "resolvetype ::= IGNORE", + /* 108 */ "resolvetype ::= REPLACE", + /* 109 */ "cmd ::= DROP TABLE ifexists fullname", + /* 110 */ "ifexists ::= IF EXISTS", + /* 111 */ "ifexists ::=", + /* 112 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select", + /* 113 */ "cmd ::= DROP VIEW ifexists fullname", + /* 114 */ "cmd ::= select", + /* 115 */ "select ::= oneselect", + /* 116 */ "select ::= select multiselect_op oneselect", + /* 117 */ "multiselect_op ::= UNION", + /* 118 */ "multiselect_op ::= UNION ALL", + /* 119 */ "multiselect_op ::= EXCEPT|INTERSECT", + /* 120 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", + /* 121 */ "distinct ::= DISTINCT", + /* 122 */ "distinct ::= ALL", + /* 123 */ "distinct ::=", + /* 124 */ "sclp ::= selcollist COMMA", + /* 125 */ "sclp ::=", + /* 126 */ "selcollist ::= sclp expr as", + /* 127 */ "selcollist ::= sclp STAR", + /* 128 */ "selcollist ::= sclp nm DOT STAR", + /* 129 */ "as ::= AS nm", + /* 130 */ "as ::= ids", + /* 131 */ "as ::=", + /* 132 */ "from ::=", + /* 133 */ "from ::= FROM seltablist", + /* 134 */ "stl_prefix ::= seltablist joinop", + /* 135 */ "stl_prefix ::=", + /* 136 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", + /* 137 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", + /* 138 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", + /* 139 */ "dbnm ::=", + /* 140 */ "dbnm ::= DOT nm", + /* 141 */ "fullname ::= nm dbnm", + /* 142 */ "joinop ::= COMMA|JOIN", + /* 143 */ "joinop ::= JOIN_KW JOIN", + /* 144 */ "joinop ::= JOIN_KW nm JOIN", + /* 145 */ "joinop ::= JOIN_KW nm nm JOIN", + /* 146 */ "on_opt ::= ON expr", + /* 147 */ "on_opt ::=", + /* 148 */ "indexed_opt ::=", + /* 149 */ "indexed_opt ::= INDEXED BY nm", + /* 150 */ "indexed_opt ::= NOT INDEXED", + /* 151 */ "using_opt ::= USING LP idlist RP", + /* 152 */ "using_opt ::=", + /* 153 */ "orderby_opt ::=", + /* 154 */ "orderby_opt ::= ORDER BY sortlist", + /* 155 */ "sortlist ::= sortlist COMMA expr sortorder", + /* 156 */ "sortlist ::= expr sortorder", + /* 157 */ "sortorder ::= ASC", + /* 158 */ "sortorder ::= DESC", + /* 159 */ "sortorder ::=", + /* 160 */ "groupby_opt ::=", + /* 161 */ "groupby_opt ::= GROUP BY nexprlist", + /* 162 */ "having_opt ::=", + /* 163 */ "having_opt ::= HAVING expr", + /* 164 */ "limit_opt ::=", + /* 165 */ "limit_opt ::= LIMIT expr", + /* 166 */ "limit_opt ::= LIMIT expr OFFSET expr", + /* 167 */ "limit_opt ::= LIMIT expr COMMA expr", + /* 168 */ "cmd ::= DELETE FROM fullname indexed_opt where_opt", + /* 169 */ "where_opt ::=", + /* 170 */ "where_opt ::= WHERE expr", + /* 171 */ "cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt", + /* 172 */ "setlist ::= setlist COMMA nm EQ expr", + /* 173 */ "setlist ::= nm EQ expr", + /* 174 */ "cmd ::= insert_cmd INTO fullname inscollist_opt valuelist", + /* 175 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select", + /* 176 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES", /* 177 */ "insert_cmd ::= INSERT orconf", /* 178 */ "insert_cmd ::= REPLACE", - /* 179 */ "inscollist_opt ::=", - /* 180 */ "inscollist_opt ::= LP idlist RP", - /* 181 */ "idlist ::= idlist COMMA nm", - /* 182 */ "idlist ::= nm", - /* 183 */ "expr ::= term", - /* 184 */ "expr ::= LP expr RP", - /* 185 */ "term ::= NULL", - /* 186 */ "expr ::= ID|INDEXED", - /* 187 */ "expr ::= JOIN_KW", - /* 188 */ "expr ::= nm DOT nm", - /* 189 */ "expr ::= nm DOT nm DOT nm", - /* 190 */ "term ::= INTEGER|FLOAT|BLOB", - /* 191 */ "term ::= STRING", - /* 192 */ "expr ::= VARIABLE", - /* 193 */ "expr ::= expr COLLATE ID|STRING", - /* 194 */ "expr ::= CAST LP expr AS typetoken RP", - /* 195 */ "expr ::= ID|INDEXED LP distinct exprlist RP", - /* 196 */ "expr ::= ID|INDEXED LP STAR RP", - /* 197 */ "term ::= CTIME_KW", - /* 198 */ "expr ::= expr AND expr", - /* 199 */ "expr ::= expr OR expr", - /* 200 */ "expr ::= expr LT|GT|GE|LE expr", - /* 201 */ "expr ::= expr EQ|NE expr", - /* 202 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", - /* 203 */ "expr ::= expr PLUS|MINUS expr", - /* 204 */ "expr ::= expr STAR|SLASH|REM expr", - /* 205 */ "expr ::= expr CONCAT expr", - /* 206 */ "likeop ::= LIKE_KW|MATCH", - /* 207 */ "likeop ::= NOT LIKE_KW|MATCH", - /* 208 */ "expr ::= expr likeop expr", - /* 209 */ "expr ::= expr likeop expr ESCAPE expr", - /* 210 */ "expr ::= expr ISNULL|NOTNULL", - /* 211 */ "expr ::= expr NOT NULL", - /* 212 */ "expr ::= expr IS expr", - /* 213 */ "expr ::= expr IS NOT expr", - /* 214 */ "expr ::= NOT expr", - /* 215 */ "expr ::= BITNOT expr", - /* 216 */ "expr ::= MINUS expr", - /* 217 */ "expr ::= PLUS expr", - /* 218 */ "between_op ::= BETWEEN", - /* 219 */ "between_op ::= NOT BETWEEN", - /* 220 */ "expr ::= expr between_op expr AND expr", - /* 221 */ "in_op ::= IN", - /* 222 */ "in_op ::= NOT IN", - /* 223 */ "expr ::= expr in_op LP exprlist RP", - /* 224 */ "expr ::= LP select RP", - /* 225 */ "expr ::= expr in_op LP select RP", - /* 226 */ "expr ::= expr in_op nm dbnm", - /* 227 */ "expr ::= EXISTS LP select RP", - /* 228 */ "expr ::= CASE case_operand case_exprlist case_else END", - /* 229 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", - /* 230 */ "case_exprlist ::= WHEN expr THEN expr", - /* 231 */ "case_else ::= ELSE expr", - /* 232 */ "case_else ::=", - /* 233 */ "case_operand ::= expr", - /* 234 */ "case_operand ::=", - /* 235 */ "exprlist ::= nexprlist", - /* 236 */ "exprlist ::=", - /* 237 */ "nexprlist ::= nexprlist COMMA expr", - /* 238 */ "nexprlist ::= expr", - /* 239 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt", - /* 240 */ "uniqueflag ::= UNIQUE", - /* 241 */ "uniqueflag ::=", - /* 242 */ "idxlist_opt ::=", - /* 243 */ "idxlist_opt ::= LP idxlist RP", - /* 244 */ "idxlist ::= idxlist COMMA nm collate sortorder", - /* 245 */ "idxlist ::= nm collate sortorder", - /* 246 */ "collate ::=", - /* 247 */ "collate ::= COLLATE ID|STRING", - /* 248 */ "cmd ::= DROP INDEX ifexists fullname", - /* 249 */ "cmd ::= VACUUM", - /* 250 */ "cmd ::= VACUUM nm", - /* 251 */ "cmd ::= PRAGMA nm dbnm", - /* 252 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", - /* 253 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", - /* 254 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", - /* 255 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", - /* 256 */ "nmnum ::= plus_num", - /* 257 */ "nmnum ::= nm", - /* 258 */ "nmnum ::= ON", - /* 259 */ "nmnum ::= DELETE", - /* 260 */ "nmnum ::= DEFAULT", - /* 261 */ "plus_num ::= PLUS INTEGER|FLOAT", - /* 262 */ "plus_num ::= INTEGER|FLOAT", - /* 263 */ "minus_num ::= MINUS INTEGER|FLOAT", - /* 264 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", - /* 265 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", - /* 266 */ "trigger_time ::= BEFORE", - /* 267 */ "trigger_time ::= AFTER", - /* 268 */ "trigger_time ::= INSTEAD OF", - /* 269 */ "trigger_time ::=", - /* 270 */ "trigger_event ::= DELETE|INSERT", - /* 271 */ "trigger_event ::= UPDATE", - /* 272 */ "trigger_event ::= UPDATE OF idlist", - /* 273 */ "foreach_clause ::=", - /* 274 */ "foreach_clause ::= FOR EACH ROW", - /* 275 */ "when_clause ::=", - /* 276 */ "when_clause ::= WHEN expr", - /* 277 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", - /* 278 */ "trigger_cmd_list ::= trigger_cmd SEMI", - /* 279 */ "trnm ::= nm", - /* 280 */ "trnm ::= nm DOT nm", - /* 281 */ "tridxby ::=", - /* 282 */ "tridxby ::= INDEXED BY nm", - /* 283 */ "tridxby ::= NOT INDEXED", - /* 284 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", - /* 285 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select", - /* 286 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", - /* 287 */ "trigger_cmd ::= select", - /* 288 */ "expr ::= RAISE LP IGNORE RP", - /* 289 */ "expr ::= RAISE LP raisetype COMMA nm RP", - /* 290 */ "raisetype ::= ROLLBACK", - /* 291 */ "raisetype ::= ABORT", - /* 292 */ "raisetype ::= FAIL", - /* 293 */ "cmd ::= DROP TRIGGER ifexists fullname", - /* 294 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", - /* 295 */ "cmd ::= DETACH database_kw_opt expr", - /* 296 */ "key_opt ::=", - /* 297 */ "key_opt ::= KEY expr", - /* 298 */ "database_kw_opt ::= DATABASE", - /* 299 */ "database_kw_opt ::=", - /* 300 */ "cmd ::= REINDEX", - /* 301 */ "cmd ::= REINDEX nm dbnm", - /* 302 */ "cmd ::= ANALYZE", - /* 303 */ "cmd ::= ANALYZE nm dbnm", - /* 304 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", - /* 305 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", - /* 306 */ "add_column_fullname ::= fullname", - /* 307 */ "kwcolumn_opt ::=", - /* 308 */ "kwcolumn_opt ::= COLUMNKW", - /* 309 */ "cmd ::= create_vtab", - /* 310 */ "cmd ::= create_vtab LP vtabarglist RP", - /* 311 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", - /* 312 */ "vtabarglist ::= vtabarg", - /* 313 */ "vtabarglist ::= vtabarglist COMMA vtabarg", - /* 314 */ "vtabarg ::=", - /* 315 */ "vtabarg ::= vtabarg vtabargtoken", - /* 316 */ "vtabargtoken ::= ANY", - /* 317 */ "vtabargtoken ::= lp anylist RP", - /* 318 */ "lp ::= LP", - /* 319 */ "anylist ::=", - /* 320 */ "anylist ::= anylist LP anylist RP", - /* 321 */ "anylist ::= anylist ANY", - /* 322 */ "with ::=", - /* 323 */ "with ::= WITH wqlist", - /* 324 */ "with ::= WITH RECURSIVE wqlist", - /* 325 */ "wqlist ::= nm idxlist_opt AS LP select RP", - /* 326 */ "wqlist ::= wqlist COMMA nm idxlist_opt AS LP select RP", + /* 179 */ "valuelist ::= VALUES LP nexprlist RP", + /* 180 */ "valuelist ::= valuelist COMMA LP exprlist RP", + /* 181 */ "inscollist_opt ::=", + /* 182 */ "inscollist_opt ::= LP idlist RP", + /* 183 */ "idlist ::= idlist COMMA nm", + /* 184 */ "idlist ::= nm", + /* 185 */ "expr ::= term", + /* 186 */ "expr ::= LP expr RP", + /* 187 */ "term ::= NULL", + /* 188 */ "expr ::= id", + /* 189 */ "expr ::= JOIN_KW", + /* 190 */ "expr ::= nm DOT nm", + /* 191 */ "expr ::= nm DOT nm DOT nm", + /* 192 */ "term ::= INTEGER|FLOAT|BLOB", + /* 193 */ "term ::= STRING", + /* 194 */ "expr ::= REGISTER", + /* 195 */ "expr ::= VARIABLE", + /* 196 */ "expr ::= expr COLLATE ids", + /* 197 */ "expr ::= CAST LP expr AS typetoken RP", + /* 198 */ "expr ::= ID LP distinct exprlist RP", + /* 199 */ "expr ::= ID LP STAR RP", + /* 200 */ "term ::= CTIME_KW", + /* 201 */ "expr ::= expr AND expr", + /* 202 */ "expr ::= expr OR expr", + /* 203 */ "expr ::= expr LT|GT|GE|LE expr", + /* 204 */ "expr ::= expr EQ|NE expr", + /* 205 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", + /* 206 */ "expr ::= expr PLUS|MINUS expr", + /* 207 */ "expr ::= expr STAR|SLASH|REM expr", + /* 208 */ "expr ::= expr CONCAT expr", + /* 209 */ "likeop ::= LIKE_KW", + /* 210 */ "likeop ::= NOT LIKE_KW", + /* 211 */ "likeop ::= MATCH", + /* 212 */ "likeop ::= NOT MATCH", + /* 213 */ "expr ::= expr likeop expr", + /* 214 */ "expr ::= expr likeop expr ESCAPE expr", + /* 215 */ "expr ::= expr ISNULL|NOTNULL", + /* 216 */ "expr ::= expr NOT NULL", + /* 217 */ "expr ::= expr IS expr", + /* 218 */ "expr ::= expr IS NOT expr", + /* 219 */ "expr ::= NOT expr", + /* 220 */ "expr ::= BITNOT expr", + /* 221 */ "expr ::= MINUS expr", + /* 222 */ "expr ::= PLUS expr", + /* 223 */ "between_op ::= BETWEEN", + /* 224 */ "between_op ::= NOT BETWEEN", + /* 225 */ "expr ::= expr between_op expr AND expr", + /* 226 */ "in_op ::= IN", + /* 227 */ "in_op ::= NOT IN", + /* 228 */ "expr ::= expr in_op LP exprlist RP", + /* 229 */ "expr ::= LP select RP", + /* 230 */ "expr ::= expr in_op LP select RP", + /* 231 */ "expr ::= expr in_op nm dbnm", + /* 232 */ "expr ::= EXISTS LP select RP", + /* 233 */ "expr ::= CASE case_operand case_exprlist case_else END", + /* 234 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", + /* 235 */ "case_exprlist ::= WHEN expr THEN expr", + /* 236 */ "case_else ::= ELSE expr", + /* 237 */ "case_else ::=", + /* 238 */ "case_operand ::= expr", + /* 239 */ "case_operand ::=", + /* 240 */ "exprlist ::= nexprlist", + /* 241 */ "exprlist ::=", + /* 242 */ "nexprlist ::= nexprlist COMMA expr", + /* 243 */ "nexprlist ::= expr", + /* 244 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt", + /* 245 */ "uniqueflag ::= UNIQUE", + /* 246 */ "uniqueflag ::=", + /* 247 */ "idxlist_opt ::=", + /* 248 */ "idxlist_opt ::= LP idxlist RP", + /* 249 */ "idxlist ::= idxlist COMMA nm collate sortorder", + /* 250 */ "idxlist ::= nm collate sortorder", + /* 251 */ "collate ::=", + /* 252 */ "collate ::= COLLATE ids", + /* 253 */ "cmd ::= DROP INDEX ifexists fullname", + /* 254 */ "cmd ::= VACUUM", + /* 255 */ "cmd ::= VACUUM nm", + /* 256 */ "cmd ::= PRAGMA nm dbnm", + /* 257 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", + /* 258 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", + /* 259 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", + /* 260 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", + /* 261 */ "nmnum ::= plus_num", + /* 262 */ "nmnum ::= nm", + /* 263 */ "nmnum ::= ON", + /* 264 */ "nmnum ::= DELETE", + /* 265 */ "nmnum ::= DEFAULT", + /* 266 */ "plus_num ::= PLUS number", + /* 267 */ "plus_num ::= number", + /* 268 */ "minus_num ::= MINUS number", + /* 269 */ "number ::= INTEGER|FLOAT", + /* 270 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", + /* 271 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", + /* 272 */ "trigger_time ::= BEFORE", + /* 273 */ "trigger_time ::= AFTER", + /* 274 */ "trigger_time ::= INSTEAD OF", + /* 275 */ "trigger_time ::=", + /* 276 */ "trigger_event ::= DELETE|INSERT", + /* 277 */ "trigger_event ::= UPDATE", + /* 278 */ "trigger_event ::= UPDATE OF idlist", + /* 279 */ "foreach_clause ::=", + /* 280 */ "foreach_clause ::= FOR EACH ROW", + /* 281 */ "when_clause ::=", + /* 282 */ "when_clause ::= WHEN expr", + /* 283 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", + /* 284 */ "trigger_cmd_list ::= trigger_cmd SEMI", + /* 285 */ "trnm ::= nm", + /* 286 */ "trnm ::= nm DOT nm", + /* 287 */ "tridxby ::=", + /* 288 */ "tridxby ::= INDEXED BY nm", + /* 289 */ "tridxby ::= NOT INDEXED", + /* 290 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", + /* 291 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist", + /* 292 */ "trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select", + /* 293 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", + /* 294 */ "trigger_cmd ::= select", + /* 295 */ "expr ::= RAISE LP IGNORE RP", + /* 296 */ "expr ::= RAISE LP raisetype COMMA nm RP", + /* 297 */ "raisetype ::= ROLLBACK", + /* 298 */ "raisetype ::= ABORT", + /* 299 */ "raisetype ::= FAIL", + /* 300 */ "cmd ::= DROP TRIGGER ifexists fullname", + /* 301 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", + /* 302 */ "cmd ::= DETACH database_kw_opt expr", + /* 303 */ "key_opt ::=", + /* 304 */ "key_opt ::= KEY expr", + /* 305 */ "database_kw_opt ::= DATABASE", + /* 306 */ "database_kw_opt ::=", + /* 307 */ "cmd ::= REINDEX", + /* 308 */ "cmd ::= REINDEX nm dbnm", + /* 309 */ "cmd ::= ANALYZE", + /* 310 */ "cmd ::= ANALYZE nm dbnm", + /* 311 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", + /* 312 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", + /* 313 */ "add_column_fullname ::= fullname", + /* 314 */ "kwcolumn_opt ::=", + /* 315 */ "kwcolumn_opt ::= COLUMNKW", + /* 316 */ "cmd ::= create_vtab", + /* 317 */ "cmd ::= create_vtab LP vtabarglist RP", + /* 318 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", + /* 319 */ "vtabarglist ::= vtabarg", + /* 320 */ "vtabarglist ::= vtabarglist COMMA vtabarg", + /* 321 */ "vtabarg ::=", + /* 322 */ "vtabarg ::= vtabarg vtabargtoken", + /* 323 */ "vtabargtoken ::= ANY", + /* 324 */ "vtabargtoken ::= lp anylist RP", + /* 325 */ "lp ::= LP", + /* 326 */ "anylist ::=", + /* 327 */ "anylist ::= anylist LP anylist RP", + /* 328 */ "anylist ::= anylist ANY", }; #endif /* NDEBUG */ #if YYSTACKDEPTH<=0 @@ -116119,80 +115719,80 @@ ** ** 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 163: /* select */ - case 195: /* selectnowith */ + case 162: /* select */ case 196: /* oneselect */ - case 207: /* values */ -{ -sqlite3SelectDelete(pParse->db, (yypminor->yy3)); -} - break; - case 174: /* term */ - case 175: /* expr */ -{ -sqlite3ExprDelete(pParse->db, (yypminor->yy346).pExpr); -} - break; - case 179: /* idxlist_opt */ - case 188: /* idxlist */ - case 200: /* selcollist */ - case 203: /* groupby_opt */ - case 205: /* orderby_opt */ - case 208: /* nexprlist */ - case 209: /* exprlist */ - case 210: /* sclp */ - case 220: /* sortlist */ - case 221: /* setlist */ - case 228: /* case_exprlist */ -{ -sqlite3ExprListDelete(pParse->db, (yypminor->yy14)); -} - break; - case 194: /* fullname */ - case 201: /* from */ - case 212: /* seltablist */ - case 213: /* stl_prefix */ -{ -sqlite3SrcListDelete(pParse->db, (yypminor->yy65)); -} - break; - case 197: /* with */ - case 252: /* wqlist */ -{ -sqlite3WithDelete(pParse->db, (yypminor->yy59)); -} - break; - case 202: /* where_opt */ - case 204: /* having_opt */ - case 216: /* on_opt */ - case 227: /* case_operand */ - case 229: /* case_else */ +{ +sqlite3SelectDelete(pParse->db, (yypminor->yy387)); +} + break; + case 175: /* term */ + case 176: /* expr */ +{ +sqlite3ExprDelete(pParse->db, (yypminor->yy118).pExpr); +} + break; + case 180: /* idxlist_opt */ + case 189: /* idxlist */ + case 199: /* selcollist */ + case 202: /* groupby_opt */ + case 204: /* orderby_opt */ + case 206: /* sclp */ + case 216: /* sortlist */ + case 217: /* nexprlist */ + case 218: /* setlist */ + case 222: /* exprlist */ + case 227: /* case_exprlist */ +{ +sqlite3ExprListDelete(pParse->db, (yypminor->yy322)); +} + break; + case 195: /* fullname */ + case 200: /* from */ + case 208: /* seltablist */ + case 209: /* stl_prefix */ +{ +sqlite3SrcListDelete(pParse->db, (yypminor->yy259)); +} + break; + case 201: /* where_opt */ + case 203: /* having_opt */ + case 212: /* on_opt */ + case 226: /* case_operand */ + case 228: /* case_else */ case 238: /* when_clause */ case 243: /* key_opt */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy132)); +sqlite3ExprDelete(pParse->db, (yypminor->yy314)); } break; - case 217: /* using_opt */ - case 219: /* idlist */ - case 223: /* inscollist_opt */ + case 213: /* using_opt */ + case 215: /* idlist */ + case 220: /* inscollist_opt */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy408)); +sqlite3IdListDelete(pParse->db, (yypminor->yy384)); +} + break; + case 221: /* valuelist */ +{ + + sqlite3ExprListDelete(pParse->db, (yypminor->yy260).pList); + sqlite3SelectDelete(pParse->db, (yypminor->yy260).pSelect); + } break; case 234: /* trigger_cmd_list */ case 239: /* trigger_cmd */ { -sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy473)); +sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy203)); } break; case 236: /* trigger_event */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy378).b); +sqlite3IdListDelete(pParse->db, (yypminor->yy90).b); } break; default: break; /* If no destructor action specified: do nothing */ } } @@ -116433,275 +116033,281 @@ */ 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[] = { + { 143, 1 }, + { 144, 2 }, { 144, 1 }, - { 145, 2 }, { 145, 1 }, + { 145, 3 }, + { 146, 0 }, { 146, 1 }, { 146, 3 }, - { 147, 0 }, { 147, 1 }, - { 147, 3 }, - { 148, 1 }, - { 149, 3 }, - { 151, 0 }, - { 151, 1 }, - { 151, 2 }, + { 148, 3 }, { 150, 0 }, { 150, 1 }, - { 150, 1 }, - { 150, 1 }, - { 149, 2 }, - { 149, 2 }, - { 149, 2 }, - { 153, 1 }, - { 153, 0 }, - { 149, 2 }, - { 149, 3 }, - { 149, 5 }, - { 149, 2 }, - { 154, 6 }, - { 156, 1 }, - { 158, 0 }, - { 158, 3 }, - { 157, 1 }, + { 150, 2 }, + { 149, 0 }, + { 149, 1 }, + { 149, 1 }, + { 149, 1 }, + { 148, 2 }, + { 148, 2 }, + { 148, 2 }, + { 152, 1 }, + { 152, 0 }, + { 148, 2 }, + { 148, 3 }, + { 148, 5 }, + { 148, 2 }, + { 153, 6 }, + { 155, 1 }, { 157, 0 }, - { 155, 5 }, - { 155, 2 }, - { 162, 0 }, - { 162, 2 }, - { 160, 3 }, - { 160, 1 }, - { 164, 3 }, - { 165, 1 }, - { 152, 1 }, - { 152, 1 }, - { 152, 1 }, - { 166, 0 }, - { 166, 1 }, - { 168, 1 }, - { 168, 4 }, - { 168, 6 }, - { 169, 1 }, - { 169, 2 }, - { 170, 1 }, - { 170, 1 }, - { 167, 2 }, - { 167, 0 }, - { 173, 2 }, - { 173, 2 }, - { 173, 4 }, - { 173, 3 }, - { 173, 3 }, - { 173, 2 }, - { 173, 2 }, - { 173, 3 }, - { 173, 5 }, - { 173, 2 }, - { 173, 4 }, - { 173, 4 }, - { 173, 1 }, - { 173, 2 }, - { 178, 0 }, - { 178, 1 }, - { 180, 0 }, - { 180, 2 }, - { 182, 2 }, - { 182, 3 }, - { 182, 3 }, - { 182, 3 }, - { 183, 2 }, - { 183, 2 }, - { 183, 1 }, - { 183, 1 }, - { 183, 2 }, - { 181, 3 }, - { 181, 2 }, - { 184, 0 }, - { 184, 2 }, - { 184, 2 }, + { 157, 3 }, + { 156, 1 }, + { 156, 0 }, + { 154, 5 }, + { 154, 2 }, { 161, 0 }, { 161, 2 }, - { 185, 3 }, - { 185, 1 }, + { 159, 3 }, + { 159, 1 }, + { 163, 3 }, + { 164, 1 }, + { 167, 1 }, + { 167, 1 }, + { 168, 1 }, + { 151, 1 }, + { 151, 1 }, + { 151, 1 }, + { 165, 0 }, + { 165, 1 }, + { 169, 1 }, + { 169, 4 }, + { 169, 6 }, + { 170, 1 }, + { 170, 2 }, + { 171, 1 }, + { 171, 1 }, + { 166, 2 }, + { 166, 0 }, + { 174, 2 }, + { 174, 2 }, + { 174, 4 }, + { 174, 3 }, + { 174, 3 }, + { 174, 2 }, + { 174, 2 }, + { 174, 3 }, + { 174, 5 }, + { 174, 2 }, + { 174, 4 }, + { 174, 4 }, + { 174, 1 }, + { 174, 2 }, + { 179, 0 }, + { 179, 1 }, + { 181, 0 }, + { 181, 2 }, + { 183, 2 }, + { 183, 3 }, + { 183, 3 }, + { 183, 3 }, + { 184, 2 }, + { 184, 2 }, + { 184, 1 }, + { 184, 1 }, + { 184, 2 }, + { 182, 3 }, + { 182, 2 }, + { 185, 0 }, + { 185, 2 }, + { 185, 2 }, + { 160, 0 }, + { 160, 2 }, + { 186, 3 }, { 186, 1 }, - { 186, 0 }, - { 187, 2 }, - { 187, 7 }, - { 187, 5 }, - { 187, 5 }, - { 187, 10 }, - { 189, 0 }, - { 189, 1 }, - { 176, 0 }, - { 176, 3 }, + { 187, 1 }, + { 187, 0 }, + { 188, 2 }, + { 188, 7 }, + { 188, 5 }, + { 188, 5 }, + { 188, 10 }, { 190, 0 }, - { 190, 2 }, - { 191, 1 }, - { 191, 1 }, - { 191, 1 }, - { 149, 4 }, - { 193, 2 }, - { 193, 0 }, - { 149, 8 }, - { 149, 4 }, - { 149, 1 }, - { 163, 2 }, - { 195, 1 }, - { 195, 3 }, - { 198, 1 }, - { 198, 2 }, - { 198, 1 }, + { 190, 1 }, + { 177, 0 }, + { 177, 3 }, + { 191, 0 }, + { 191, 2 }, + { 192, 1 }, + { 192, 1 }, + { 192, 1 }, + { 148, 4 }, + { 194, 2 }, + { 194, 0 }, + { 148, 8 }, + { 148, 4 }, + { 148, 1 }, + { 162, 1 }, + { 162, 3 }, + { 197, 1 }, + { 197, 2 }, + { 197, 1 }, { 196, 9 }, - { 196, 1 }, - { 207, 4 }, - { 207, 5 }, - { 199, 1 }, - { 199, 1 }, - { 199, 0 }, - { 210, 2 }, - { 210, 0 }, - { 200, 3 }, + { 198, 1 }, + { 198, 1 }, + { 198, 0 }, + { 206, 2 }, + { 206, 0 }, + { 199, 3 }, + { 199, 2 }, + { 199, 4 }, + { 207, 2 }, + { 207, 1 }, + { 207, 0 }, + { 200, 0 }, { 200, 2 }, - { 200, 4 }, - { 211, 2 }, - { 211, 1 }, + { 209, 2 }, + { 209, 0 }, + { 208, 7 }, + { 208, 7 }, + { 208, 7 }, + { 158, 0 }, + { 158, 2 }, + { 195, 2 }, + { 210, 1 }, + { 210, 2 }, + { 210, 3 }, + { 210, 4 }, + { 212, 2 }, + { 212, 0 }, { 211, 0 }, + { 211, 3 }, + { 211, 2 }, + { 213, 4 }, + { 213, 0 }, + { 204, 0 }, + { 204, 3 }, + { 216, 4 }, + { 216, 2 }, + { 178, 1 }, + { 178, 1 }, + { 178, 0 }, + { 202, 0 }, + { 202, 3 }, + { 203, 0 }, + { 203, 2 }, + { 205, 0 }, + { 205, 2 }, + { 205, 4 }, + { 205, 4 }, + { 148, 5 }, { 201, 0 }, { 201, 2 }, - { 213, 2 }, - { 213, 0 }, - { 212, 7 }, - { 212, 7 }, - { 212, 7 }, - { 159, 0 }, - { 159, 2 }, - { 194, 2 }, - { 214, 1 }, - { 214, 2 }, - { 214, 3 }, - { 214, 4 }, - { 216, 2 }, - { 216, 0 }, - { 215, 0 }, + { 148, 7 }, + { 218, 5 }, + { 218, 3 }, + { 148, 5 }, + { 148, 5 }, + { 148, 6 }, + { 219, 2 }, + { 219, 1 }, + { 221, 4 }, + { 221, 5 }, + { 220, 0 }, + { 220, 3 }, { 215, 3 }, - { 215, 2 }, - { 217, 4 }, - { 217, 0 }, - { 205, 0 }, - { 205, 3 }, - { 220, 4 }, - { 220, 2 }, - { 177, 1 }, - { 177, 1 }, - { 177, 0 }, - { 203, 0 }, - { 203, 3 }, - { 204, 0 }, - { 204, 2 }, - { 206, 0 }, - { 206, 2 }, - { 206, 4 }, - { 206, 4 }, - { 149, 6 }, - { 202, 0 }, - { 202, 2 }, - { 149, 8 }, - { 221, 5 }, - { 221, 3 }, - { 149, 6 }, - { 149, 7 }, - { 222, 2 }, - { 222, 1 }, - { 223, 0 }, - { 223, 3 }, - { 219, 3 }, - { 219, 1 }, - { 175, 1 }, - { 175, 3 }, - { 174, 1 }, - { 175, 1 }, - { 175, 1 }, - { 175, 3 }, - { 175, 5 }, - { 174, 1 }, - { 174, 1 }, - { 175, 1 }, - { 175, 3 }, - { 175, 6 }, - { 175, 5 }, - { 175, 4 }, - { 174, 1 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, + { 215, 1 }, + { 176, 1 }, + { 176, 3 }, + { 175, 1 }, + { 176, 1 }, + { 176, 1 }, + { 176, 3 }, + { 176, 5 }, + { 175, 1 }, + { 175, 1 }, + { 176, 1 }, + { 176, 1 }, + { 176, 3 }, + { 176, 6 }, + { 176, 5 }, + { 176, 4 }, + { 175, 1 }, + { 176, 3 }, + { 176, 3 }, + { 176, 3 }, + { 176, 3 }, + { 176, 3 }, + { 176, 3 }, + { 176, 3 }, + { 176, 3 }, + { 223, 1 }, + { 223, 2 }, + { 223, 1 }, + { 223, 2 }, + { 176, 3 }, + { 176, 5 }, + { 176, 2 }, + { 176, 3 }, + { 176, 3 }, + { 176, 4 }, + { 176, 2 }, + { 176, 2 }, + { 176, 2 }, + { 176, 2 }, { 224, 1 }, { 224, 2 }, - { 175, 3 }, - { 175, 5 }, - { 175, 2 }, - { 175, 3 }, - { 175, 3 }, - { 175, 4 }, - { 175, 2 }, - { 175, 2 }, - { 175, 2 }, - { 175, 2 }, + { 176, 5 }, { 225, 1 }, { 225, 2 }, - { 175, 5 }, + { 176, 5 }, + { 176, 3 }, + { 176, 5 }, + { 176, 4 }, + { 176, 4 }, + { 176, 5 }, + { 227, 5 }, + { 227, 4 }, + { 228, 2 }, + { 228, 0 }, { 226, 1 }, - { 226, 2 }, - { 175, 5 }, - { 175, 3 }, - { 175, 5 }, - { 175, 4 }, - { 175, 4 }, - { 175, 5 }, - { 228, 5 }, - { 228, 4 }, - { 229, 2 }, + { 226, 0 }, + { 222, 1 }, + { 222, 0 }, + { 217, 3 }, + { 217, 1 }, + { 148, 12 }, + { 229, 1 }, { 229, 0 }, - { 227, 1 }, - { 227, 0 }, - { 209, 1 }, - { 209, 0 }, - { 208, 3 }, - { 208, 1 }, - { 149, 12 }, - { 230, 1 }, + { 180, 0 }, + { 180, 3 }, + { 189, 5 }, + { 189, 3 }, { 230, 0 }, - { 179, 0 }, - { 179, 3 }, - { 188, 5 }, - { 188, 3 }, - { 231, 0 }, - { 231, 2 }, - { 149, 4 }, - { 149, 1 }, - { 149, 2 }, - { 149, 3 }, - { 149, 5 }, - { 149, 6 }, - { 149, 5 }, - { 149, 6 }, - { 232, 1 }, - { 232, 1 }, - { 232, 1 }, - { 232, 1 }, - { 232, 1 }, - { 171, 2 }, - { 171, 1 }, - { 172, 2 }, - { 149, 5 }, + { 230, 2 }, + { 148, 4 }, + { 148, 1 }, + { 148, 2 }, + { 148, 3 }, + { 148, 5 }, + { 148, 6 }, + { 148, 5 }, + { 148, 6 }, + { 231, 1 }, + { 231, 1 }, + { 231, 1 }, + { 231, 1 }, + { 231, 1 }, + { 172, 2 }, + { 172, 1 }, + { 173, 2 }, + { 232, 1 }, + { 148, 5 }, { 233, 11 }, { 235, 1 }, { 235, 1 }, { 235, 2 }, { 235, 0 }, @@ -116720,34 +116326,35 @@ { 241, 3 }, { 241, 2 }, { 239, 7 }, { 239, 5 }, { 239, 5 }, + { 239, 5 }, { 239, 1 }, - { 175, 4 }, - { 175, 6 }, - { 192, 1 }, - { 192, 1 }, - { 192, 1 }, - { 149, 4 }, - { 149, 6 }, - { 149, 3 }, + { 176, 4 }, + { 176, 6 }, + { 193, 1 }, + { 193, 1 }, + { 193, 1 }, + { 148, 4 }, + { 148, 6 }, + { 148, 3 }, { 243, 0 }, { 243, 2 }, { 242, 1 }, { 242, 0 }, - { 149, 1 }, - { 149, 3 }, - { 149, 1 }, - { 149, 3 }, - { 149, 6 }, - { 149, 6 }, + { 148, 1 }, + { 148, 3 }, + { 148, 1 }, + { 148, 3 }, + { 148, 6 }, + { 148, 6 }, { 244, 1 }, { 245, 0 }, { 245, 1 }, - { 149, 1 }, - { 149, 4 }, + { 148, 1 }, + { 148, 4 }, { 246, 8 }, { 247, 1 }, { 247, 3 }, { 248, 0 }, { 248, 2 }, @@ -116755,15 +116362,10 @@ { 249, 3 }, { 250, 1 }, { 251, 0 }, { 251, 4 }, { 251, 2 }, - { 197, 0 }, - { 197, 2 }, - { 197, 3 }, - { 252, 6 }, - { 252, 8 }, }; static void yy_accept(yyParser*); /* Forward Declaration */ /* @@ -116827,21 +116429,21 @@ break; case 8: /* cmdx ::= cmd */ { sqlite3FinishCoding(pParse); } break; case 9: /* cmd ::= BEGIN transtype trans_opt */ -{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy328);} +{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy4);} break; case 13: /* transtype ::= */ -{yygotominor.yy328 = TK_DEFERRED;} +{yygotominor.yy4 = TK_DEFERRED;} break; case 14: /* transtype ::= DEFERRED */ case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15); case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16); - case 115: /* multiselect_op ::= UNION */ yytestcase(yyruleno==115); - case 117: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==117); -{yygotominor.yy328 = yymsp[0].major;} + case 117: /* multiselect_op ::= UNION */ yytestcase(yyruleno==117); + case 119: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==119); +{yygotominor.yy4 = yymsp[0].major;} break; case 17: /* cmd ::= COMMIT trans_opt */ case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18); {sqlite3CommitTransaction(pParse);} break; @@ -116863,11 +116465,11 @@ sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0); } break; case 26: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ { - sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy328,0,0,yymsp[-2].minor.yy328); + sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy4,0,0,yymsp[-2].minor.yy4); } break; case 27: /* createkw ::= CREATE */ { pParse->db->lookaside.bEnabled = 0; @@ -116874,49 +116476,49 @@ yygotominor.yy0 = yymsp[0].minor.yy0; } break; case 28: /* ifnotexists ::= */ case 31: /* temp ::= */ yytestcase(yyruleno==31); - case 68: /* autoinc ::= */ yytestcase(yyruleno==68); - case 81: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ yytestcase(yyruleno==81); - case 83: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==83); - case 85: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(yyruleno==85); - case 97: /* defer_subclause_opt ::= */ yytestcase(yyruleno==97); - case 108: /* ifexists ::= */ yytestcase(yyruleno==108); - case 218: /* between_op ::= BETWEEN */ yytestcase(yyruleno==218); - case 221: /* in_op ::= IN */ yytestcase(yyruleno==221); -{yygotominor.yy328 = 0;} + case 71: /* autoinc ::= */ yytestcase(yyruleno==71); + case 84: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ yytestcase(yyruleno==84); + case 86: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==86); + case 88: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(yyruleno==88); + case 100: /* defer_subclause_opt ::= */ yytestcase(yyruleno==100); + case 111: /* ifexists ::= */ yytestcase(yyruleno==111); + case 223: /* between_op ::= BETWEEN */ yytestcase(yyruleno==223); + case 226: /* in_op ::= IN */ yytestcase(yyruleno==226); +{yygotominor.yy4 = 0;} break; case 29: /* ifnotexists ::= IF NOT EXISTS */ case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30); - case 69: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==69); - case 84: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yyruleno==84); - case 107: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==107); - case 219: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==219); - case 222: /* in_op ::= NOT IN */ yytestcase(yyruleno==222); -{yygotominor.yy328 = 1;} + case 72: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==72); + case 87: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yyruleno==87); + case 110: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==110); + case 224: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==224); + case 227: /* in_op ::= NOT IN */ yytestcase(yyruleno==227); +{yygotominor.yy4 = 1;} break; case 32: /* create_table_args ::= LP columnlist conslist_opt RP table_options */ { - sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy186,0); + sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy210,0); } break; case 33: /* create_table_args ::= AS select */ { - sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy3); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy3); + sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy387); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); } break; case 34: /* table_options ::= */ -{yygotominor.yy186 = 0;} +{yygotominor.yy210 = 0;} break; case 35: /* table_options ::= WITHOUT nm */ { if( yymsp[0].minor.yy0.n==5 && sqlite3_strnicmp(yymsp[0].minor.yy0.z,"rowid",5)==0 ){ - yygotominor.yy186 = TF_WithoutRowid; + yygotominor.yy210 = TF_WithoutRowid; }else{ - yygotominor.yy186 = 0; + yygotominor.yy210 = 0; sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z); } } break; case 38: /* column ::= columnid type carglist */ @@ -116930,1016 +116532,1004 @@ sqlite3AddColumn(pParse,&yymsp[0].minor.yy0); yygotominor.yy0 = yymsp[0].minor.yy0; pParse->constraintName.n = 0; } break; - case 40: /* nm ::= ID|INDEXED */ - case 41: /* nm ::= STRING */ yytestcase(yyruleno==41); - case 42: /* nm ::= JOIN_KW */ yytestcase(yyruleno==42); - case 45: /* typetoken ::= typename */ yytestcase(yyruleno==45); - case 48: /* typename ::= ID|STRING */ yytestcase(yyruleno==48); - case 130: /* as ::= AS nm */ yytestcase(yyruleno==130); - case 131: /* as ::= ID|STRING */ yytestcase(yyruleno==131); - case 141: /* dbnm ::= DOT nm */ yytestcase(yyruleno==141); - case 150: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==150); - case 247: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==247); - case 256: /* nmnum ::= plus_num */ yytestcase(yyruleno==256); - case 257: /* nmnum ::= nm */ yytestcase(yyruleno==257); - case 258: /* nmnum ::= ON */ yytestcase(yyruleno==258); - case 259: /* nmnum ::= DELETE */ yytestcase(yyruleno==259); - case 260: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==260); - case 261: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==261); - case 262: /* plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==262); - case 263: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==263); - case 279: /* trnm ::= nm */ yytestcase(yyruleno==279); + case 40: /* id ::= ID */ + case 41: /* id ::= INDEXED */ yytestcase(yyruleno==41); + case 42: /* ids ::= ID|STRING */ yytestcase(yyruleno==42); + case 43: /* nm ::= id */ yytestcase(yyruleno==43); + case 44: /* nm ::= STRING */ yytestcase(yyruleno==44); + case 45: /* nm ::= JOIN_KW */ yytestcase(yyruleno==45); + case 48: /* typetoken ::= typename */ yytestcase(yyruleno==48); + case 51: /* typename ::= ids */ yytestcase(yyruleno==51); + case 129: /* as ::= AS nm */ yytestcase(yyruleno==129); + case 130: /* as ::= ids */ yytestcase(yyruleno==130); + case 140: /* dbnm ::= DOT nm */ yytestcase(yyruleno==140); + case 149: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==149); + case 252: /* collate ::= COLLATE ids */ yytestcase(yyruleno==252); + case 261: /* nmnum ::= plus_num */ yytestcase(yyruleno==261); + case 262: /* nmnum ::= nm */ yytestcase(yyruleno==262); + case 263: /* nmnum ::= ON */ yytestcase(yyruleno==263); + case 264: /* nmnum ::= DELETE */ yytestcase(yyruleno==264); + case 265: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==265); + case 266: /* plus_num ::= PLUS number */ yytestcase(yyruleno==266); + case 267: /* plus_num ::= number */ yytestcase(yyruleno==267); + case 268: /* minus_num ::= MINUS number */ yytestcase(yyruleno==268); + case 269: /* number ::= INTEGER|FLOAT */ yytestcase(yyruleno==269); + case 285: /* trnm ::= nm */ yytestcase(yyruleno==285); {yygotominor.yy0 = yymsp[0].minor.yy0;} break; - case 44: /* type ::= typetoken */ + case 47: /* type ::= typetoken */ {sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);} break; - case 46: /* typetoken ::= typename LP signed RP */ + case 49: /* typetoken ::= typename LP signed RP */ { yygotominor.yy0.z = yymsp[-3].minor.yy0.z; yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy0.z); } break; - case 47: /* typetoken ::= typename LP signed COMMA signed RP */ + case 50: /* typetoken ::= typename LP signed COMMA signed RP */ { yygotominor.yy0.z = yymsp[-5].minor.yy0.z; yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy0.z); } break; - case 49: /* typename ::= typename ID|STRING */ + case 52: /* typename ::= typename ids */ {yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} break; - case 54: /* ccons ::= CONSTRAINT nm */ - case 92: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==92); + case 57: /* ccons ::= CONSTRAINT nm */ + case 95: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==95); {pParse->constraintName = yymsp[0].minor.yy0;} break; - case 55: /* ccons ::= DEFAULT term */ - case 57: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==57); -{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy346);} - break; - case 56: /* ccons ::= DEFAULT LP expr RP */ -{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy346);} - break; - case 58: /* ccons ::= DEFAULT MINUS term */ + case 58: /* ccons ::= DEFAULT term */ + case 60: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==60); +{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy118);} + break; + case 59: /* ccons ::= DEFAULT LP expr RP */ +{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy118);} + break; + case 61: /* ccons ::= DEFAULT MINUS term */ { ExprSpan v; - v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy346.pExpr, 0, 0); + v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy118.pExpr, 0, 0); v.zStart = yymsp[-1].minor.yy0.z; - v.zEnd = yymsp[0].minor.yy346.zEnd; + v.zEnd = yymsp[0].minor.yy118.zEnd; sqlite3AddDefaultValue(pParse,&v); } break; - case 59: /* ccons ::= DEFAULT ID|INDEXED */ + case 62: /* ccons ::= DEFAULT id */ { ExprSpan v; spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0); sqlite3AddDefaultValue(pParse,&v); } break; - case 61: /* ccons ::= NOT NULL onconf */ -{sqlite3AddNotNull(pParse, yymsp[0].minor.yy328);} - break; - case 62: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ -{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy328,yymsp[0].minor.yy328,yymsp[-2].minor.yy328);} - break; - case 63: /* ccons ::= UNIQUE onconf */ -{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy328,0,0,0,0);} - break; - case 64: /* ccons ::= CHECK LP expr RP */ -{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy346.pExpr);} - break; - case 65: /* ccons ::= REFERENCES nm idxlist_opt refargs */ -{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy14,yymsp[0].minor.yy328);} - break; - case 66: /* ccons ::= defer_subclause */ -{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy328);} - break; - case 67: /* ccons ::= COLLATE ID|STRING */ + case 64: /* ccons ::= NOT NULL onconf */ +{sqlite3AddNotNull(pParse, yymsp[0].minor.yy4);} + break; + case 65: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ +{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy4,yymsp[0].minor.yy4,yymsp[-2].minor.yy4);} + break; + case 66: /* ccons ::= UNIQUE onconf */ +{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy4,0,0,0,0);} + break; + case 67: /* ccons ::= CHECK LP expr RP */ +{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy118.pExpr);} + break; + case 68: /* ccons ::= REFERENCES nm idxlist_opt refargs */ +{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy322,yymsp[0].minor.yy4);} + break; + case 69: /* ccons ::= defer_subclause */ +{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy4);} + break; + case 70: /* ccons ::= COLLATE ids */ {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} break; - case 70: /* refargs ::= */ -{ yygotominor.yy328 = OE_None*0x0101; /* EV: R-19803-45884 */} - break; - case 71: /* refargs ::= refargs refarg */ -{ yygotominor.yy328 = (yymsp[-1].minor.yy328 & ~yymsp[0].minor.yy429.mask) | yymsp[0].minor.yy429.value; } - break; - case 72: /* refarg ::= MATCH nm */ - case 73: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==73); -{ yygotominor.yy429.value = 0; yygotominor.yy429.mask = 0x000000; } - break; - case 74: /* refarg ::= ON DELETE refact */ -{ yygotominor.yy429.value = yymsp[0].minor.yy328; yygotominor.yy429.mask = 0x0000ff; } - break; - case 75: /* refarg ::= ON UPDATE refact */ -{ yygotominor.yy429.value = yymsp[0].minor.yy328<<8; yygotominor.yy429.mask = 0x00ff00; } - break; - case 76: /* refact ::= SET NULL */ -{ yygotominor.yy328 = OE_SetNull; /* EV: R-33326-45252 */} - break; - case 77: /* refact ::= SET DEFAULT */ -{ yygotominor.yy328 = OE_SetDflt; /* EV: R-33326-45252 */} - break; - case 78: /* refact ::= CASCADE */ -{ yygotominor.yy328 = OE_Cascade; /* EV: R-33326-45252 */} - break; - case 79: /* refact ::= RESTRICT */ -{ yygotominor.yy328 = OE_Restrict; /* EV: R-33326-45252 */} - break; - case 80: /* refact ::= NO ACTION */ -{ yygotominor.yy328 = OE_None; /* EV: R-33326-45252 */} - break; - case 82: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ - case 98: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==98); - case 100: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==100); - case 103: /* resolvetype ::= raisetype */ yytestcase(yyruleno==103); -{yygotominor.yy328 = yymsp[0].minor.yy328;} - break; - case 86: /* conslist_opt ::= */ + case 73: /* refargs ::= */ +{ yygotominor.yy4 = OE_None*0x0101; /* EV: R-19803-45884 */} + break; + case 74: /* refargs ::= refargs refarg */ +{ yygotominor.yy4 = (yymsp[-1].minor.yy4 & ~yymsp[0].minor.yy215.mask) | yymsp[0].minor.yy215.value; } + break; + case 75: /* refarg ::= MATCH nm */ + case 76: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==76); +{ yygotominor.yy215.value = 0; yygotominor.yy215.mask = 0x000000; } + break; + case 77: /* refarg ::= ON DELETE refact */ +{ yygotominor.yy215.value = yymsp[0].minor.yy4; yygotominor.yy215.mask = 0x0000ff; } + break; + case 78: /* refarg ::= ON UPDATE refact */ +{ yygotominor.yy215.value = yymsp[0].minor.yy4<<8; yygotominor.yy215.mask = 0x00ff00; } + break; + case 79: /* refact ::= SET NULL */ +{ yygotominor.yy4 = OE_SetNull; /* EV: R-33326-45252 */} + break; + case 80: /* refact ::= SET DEFAULT */ +{ yygotominor.yy4 = OE_SetDflt; /* EV: R-33326-45252 */} + break; + case 81: /* refact ::= CASCADE */ +{ yygotominor.yy4 = OE_Cascade; /* EV: R-33326-45252 */} + break; + case 82: /* refact ::= RESTRICT */ +{ yygotominor.yy4 = OE_Restrict; /* EV: R-33326-45252 */} + break; + case 83: /* refact ::= NO ACTION */ +{ yygotominor.yy4 = OE_None; /* EV: R-33326-45252 */} + break; + case 85: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ + case 101: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==101); + case 103: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==103); + case 106: /* resolvetype ::= raisetype */ yytestcase(yyruleno==106); +{yygotominor.yy4 = yymsp[0].minor.yy4;} + break; + case 89: /* conslist_opt ::= */ {yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} break; - case 87: /* conslist_opt ::= COMMA conslist */ + case 90: /* conslist_opt ::= COMMA conslist */ {yygotominor.yy0 = yymsp[-1].minor.yy0;} break; - case 90: /* tconscomma ::= COMMA */ + case 93: /* tconscomma ::= COMMA */ {pParse->constraintName.n = 0;} break; - case 93: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ -{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy14,yymsp[0].minor.yy328,yymsp[-2].minor.yy328,0);} - break; - case 94: /* tcons ::= UNIQUE LP idxlist RP onconf */ -{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy14,yymsp[0].minor.yy328,0,0,0,0);} - break; - case 95: /* tcons ::= CHECK LP expr RP onconf */ -{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy346.pExpr);} - break; - case 96: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt */ -{ - sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy14, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy14, yymsp[-1].minor.yy328); - sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy328); -} - break; - case 99: /* onconf ::= */ -{yygotominor.yy328 = OE_Default;} - break; - case 101: /* orconf ::= */ -{yygotominor.yy186 = OE_Default;} - break; - case 102: /* orconf ::= OR resolvetype */ -{yygotominor.yy186 = (u8)yymsp[0].minor.yy328;} - break; - case 104: /* resolvetype ::= IGNORE */ -{yygotominor.yy328 = OE_Ignore;} - break; - case 105: /* resolvetype ::= REPLACE */ -{yygotominor.yy328 = OE_Replace;} - break; - case 106: /* cmd ::= DROP TABLE ifexists fullname */ -{ - sqlite3DropTable(pParse, yymsp[0].minor.yy65, 0, yymsp[-1].minor.yy328); -} - break; - case 109: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */ -{ - sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, yymsp[0].minor.yy3, yymsp[-6].minor.yy328, yymsp[-4].minor.yy328); -} - break; - case 110: /* cmd ::= DROP VIEW ifexists fullname */ -{ - sqlite3DropTable(pParse, yymsp[0].minor.yy65, 1, yymsp[-1].minor.yy328); -} - break; - case 111: /* cmd ::= select */ -{ - SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0}; - sqlite3Select(pParse, yymsp[0].minor.yy3, &dest); + case 96: /* tcons ::= PRIMARY KEY LP idxlist autoinc RP onconf */ +{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy322,yymsp[0].minor.yy4,yymsp[-2].minor.yy4,0);} + break; + case 97: /* tcons ::= UNIQUE LP idxlist RP onconf */ +{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy322,yymsp[0].minor.yy4,0,0,0,0);} + break; + case 98: /* tcons ::= CHECK LP expr RP onconf */ +{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy118.pExpr);} + break; + case 99: /* tcons ::= FOREIGN KEY LP idxlist RP REFERENCES nm idxlist_opt refargs defer_subclause_opt */ +{ + sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy322, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy322, yymsp[-1].minor.yy4); + sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy4); +} + break; + case 102: /* onconf ::= */ +{yygotominor.yy4 = OE_Default;} + break; + case 104: /* orconf ::= */ +{yygotominor.yy210 = OE_Default;} + break; + case 105: /* orconf ::= OR resolvetype */ +{yygotominor.yy210 = (u8)yymsp[0].minor.yy4;} + break; + case 107: /* resolvetype ::= IGNORE */ +{yygotominor.yy4 = OE_Ignore;} + break; + case 108: /* resolvetype ::= REPLACE */ +{yygotominor.yy4 = OE_Replace;} + break; + case 109: /* cmd ::= DROP TABLE ifexists fullname */ +{ + sqlite3DropTable(pParse, yymsp[0].minor.yy259, 0, yymsp[-1].minor.yy4); +} + break; + case 112: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm AS select */ +{ + sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, yymsp[0].minor.yy387, yymsp[-6].minor.yy4, yymsp[-4].minor.yy4); +} + break; + case 113: /* cmd ::= DROP VIEW ifexists fullname */ +{ + sqlite3DropTable(pParse, yymsp[0].minor.yy259, 1, yymsp[-1].minor.yy4); +} + break; + case 114: /* cmd ::= select */ +{ + SelectDest dest = {SRT_Output, 0, 0, 0, 0}; + sqlite3Select(pParse, yymsp[0].minor.yy387, &dest); sqlite3ExplainBegin(pParse->pVdbe); - sqlite3ExplainSelect(pParse->pVdbe, yymsp[0].minor.yy3); + sqlite3ExplainSelect(pParse->pVdbe, yymsp[0].minor.yy387); sqlite3ExplainFinish(pParse->pVdbe); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy3); -} - break; - case 112: /* select ::= with selectnowith */ -{ - if( yymsp[0].minor.yy3 ){ - yymsp[0].minor.yy3->pWith = yymsp[-1].minor.yy59; - }else{ - sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy59); - } - yygotominor.yy3 = yymsp[0].minor.yy3; -} - break; - case 113: /* selectnowith ::= oneselect */ - case 119: /* oneselect ::= values */ yytestcase(yyruleno==119); -{yygotominor.yy3 = yymsp[0].minor.yy3;} - break; - case 114: /* selectnowith ::= selectnowith multiselect_op oneselect */ -{ - if( yymsp[0].minor.yy3 ){ - yymsp[0].minor.yy3->op = (u8)yymsp[-1].minor.yy328; - yymsp[0].minor.yy3->pPrior = yymsp[-2].minor.yy3; - if( yymsp[-1].minor.yy328!=TK_ALL ) pParse->hasCompound = 1; - }else{ - sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy3); - } - yygotominor.yy3 = yymsp[0].minor.yy3; -} - break; - case 116: /* multiselect_op ::= UNION ALL */ -{yygotominor.yy328 = TK_ALL;} - break; - case 118: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ -{ - yygotominor.yy3 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy14,yymsp[-5].minor.yy65,yymsp[-4].minor.yy132,yymsp[-3].minor.yy14,yymsp[-2].minor.yy132,yymsp[-1].minor.yy14,yymsp[-7].minor.yy381,yymsp[0].minor.yy476.pLimit,yymsp[0].minor.yy476.pOffset); -} - break; - case 120: /* values ::= VALUES LP nexprlist RP */ -{ - yygotominor.yy3 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy14,0,0,0,0,0,SF_Values,0,0); -} - break; - case 121: /* values ::= values COMMA LP exprlist RP */ -{ - Select *pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy14,0,0,0,0,0,SF_Values,0,0); - if( pRight ){ - pRight->op = TK_ALL; - pRight->pPrior = yymsp[-4].minor.yy3; - yygotominor.yy3 = pRight; - }else{ - yygotominor.yy3 = yymsp[-4].minor.yy3; - } -} - break; - case 122: /* distinct ::= DISTINCT */ -{yygotominor.yy381 = SF_Distinct;} - break; - case 123: /* distinct ::= ALL */ - case 124: /* distinct ::= */ yytestcase(yyruleno==124); -{yygotominor.yy381 = 0;} - break; - case 125: /* sclp ::= selcollist COMMA */ - case 243: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==243); -{yygotominor.yy14 = yymsp[-1].minor.yy14;} - break; - case 126: /* sclp ::= */ - case 154: /* orderby_opt ::= */ yytestcase(yyruleno==154); - case 161: /* groupby_opt ::= */ yytestcase(yyruleno==161); - case 236: /* exprlist ::= */ yytestcase(yyruleno==236); - case 242: /* idxlist_opt ::= */ yytestcase(yyruleno==242); -{yygotominor.yy14 = 0;} - break; - case 127: /* selcollist ::= sclp expr as */ -{ - yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy14, yymsp[-1].minor.yy346.pExpr); - if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[0].minor.yy0, 1); - sqlite3ExprListSetSpan(pParse,yygotominor.yy14,&yymsp[-1].minor.yy346); -} - break; - case 128: /* selcollist ::= sclp STAR */ + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); +} + break; + case 115: /* select ::= oneselect */ +{yygotominor.yy387 = yymsp[0].minor.yy387;} + break; + case 116: /* select ::= select multiselect_op oneselect */ +{ + if( yymsp[0].minor.yy387 ){ + yymsp[0].minor.yy387->op = (u8)yymsp[-1].minor.yy4; + yymsp[0].minor.yy387->pPrior = yymsp[-2].minor.yy387; + if( yymsp[-1].minor.yy4!=TK_ALL ) pParse->hasCompound = 1; + }else{ + sqlite3SelectDelete(pParse->db, yymsp[-2].minor.yy387); + } + yygotominor.yy387 = yymsp[0].minor.yy387; +} + break; + case 118: /* multiselect_op ::= UNION ALL */ +{yygotominor.yy4 = TK_ALL;} + break; + case 120: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ +{ + yygotominor.yy387 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy322,yymsp[-5].minor.yy259,yymsp[-4].minor.yy314,yymsp[-3].minor.yy322,yymsp[-2].minor.yy314,yymsp[-1].minor.yy322,yymsp[-7].minor.yy177,yymsp[0].minor.yy292.pLimit,yymsp[0].minor.yy292.pOffset); +} + break; + case 121: /* distinct ::= DISTINCT */ +{yygotominor.yy177 = SF_Distinct;} + break; + case 122: /* distinct ::= ALL */ + case 123: /* distinct ::= */ yytestcase(yyruleno==123); +{yygotominor.yy177 = 0;} + break; + case 124: /* sclp ::= selcollist COMMA */ + case 248: /* idxlist_opt ::= LP idxlist RP */ yytestcase(yyruleno==248); +{yygotominor.yy322 = yymsp[-1].minor.yy322;} + break; + case 125: /* sclp ::= */ + case 153: /* orderby_opt ::= */ yytestcase(yyruleno==153); + case 160: /* groupby_opt ::= */ yytestcase(yyruleno==160); + case 241: /* exprlist ::= */ yytestcase(yyruleno==241); + case 247: /* idxlist_opt ::= */ yytestcase(yyruleno==247); +{yygotominor.yy322 = 0;} + break; + case 126: /* selcollist ::= sclp expr as */ +{ + yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy322, yymsp[-1].minor.yy118.pExpr); + if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[0].minor.yy0, 1); + sqlite3ExprListSetSpan(pParse,yygotominor.yy322,&yymsp[-1].minor.yy118); +} + break; + case 127: /* selcollist ::= sclp STAR */ { Expr *p = sqlite3Expr(pParse->db, TK_ALL, 0); - yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy14, p); + yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy322, p); } break; - case 129: /* selcollist ::= sclp nm DOT STAR */ + case 128: /* selcollist ::= sclp nm DOT STAR */ { Expr *pRight = sqlite3PExpr(pParse, TK_ALL, 0, 0, &yymsp[0].minor.yy0); Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy14, pDot); + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322, pDot); } break; - case 132: /* as ::= */ + case 131: /* as ::= */ {yygotominor.yy0.n = 0;} break; - case 133: /* from ::= */ -{yygotominor.yy65 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy65));} - break; - case 134: /* from ::= FROM seltablist */ -{ - yygotominor.yy65 = yymsp[0].minor.yy65; - sqlite3SrcListShiftJoinType(yygotominor.yy65); -} - break; - case 135: /* stl_prefix ::= seltablist joinop */ -{ - yygotominor.yy65 = yymsp[-1].minor.yy65; - if( ALWAYS(yygotominor.yy65 && yygotominor.yy65->nSrc>0) ) yygotominor.yy65->a[yygotominor.yy65->nSrc-1].jointype = (u8)yymsp[0].minor.yy328; -} - break; - case 136: /* stl_prefix ::= */ -{yygotominor.yy65 = 0;} - break; - case 137: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ -{ - yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy65,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy132,yymsp[0].minor.yy408); - sqlite3SrcListIndexedBy(pParse, yygotominor.yy65, &yymsp[-2].minor.yy0); -} - break; - case 138: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ -{ - yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy65,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy3,yymsp[-1].minor.yy132,yymsp[0].minor.yy408); - } - break; - case 139: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ -{ - if( yymsp[-6].minor.yy65==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy132==0 && yymsp[0].minor.yy408==0 ){ - yygotominor.yy65 = yymsp[-4].minor.yy65; - }else if( yymsp[-4].minor.yy65->nSrc==1 ){ - yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy65,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy132,yymsp[0].minor.yy408); - if( yygotominor.yy65 ){ - struct SrcList_item *pNew = &yygotominor.yy65->a[yygotominor.yy65->nSrc-1]; - struct SrcList_item *pOld = yymsp[-4].minor.yy65->a; + case 132: /* from ::= */ +{yygotominor.yy259 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy259));} + break; + case 133: /* from ::= FROM seltablist */ +{ + yygotominor.yy259 = yymsp[0].minor.yy259; + sqlite3SrcListShiftJoinType(yygotominor.yy259); +} + break; + case 134: /* stl_prefix ::= seltablist joinop */ +{ + yygotominor.yy259 = yymsp[-1].minor.yy259; + if( ALWAYS(yygotominor.yy259 && yygotominor.yy259->nSrc>0) ) yygotominor.yy259->a[yygotominor.yy259->nSrc-1].jointype = (u8)yymsp[0].minor.yy4; +} + break; + case 135: /* stl_prefix ::= */ +{yygotominor.yy259 = 0;} + break; + case 136: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ +{ + yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); + sqlite3SrcListIndexedBy(pParse, yygotominor.yy259, &yymsp[-2].minor.yy0); +} + break; + case 137: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ +{ + yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy387,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); + } + break; + case 138: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ +{ + if( yymsp[-6].minor.yy259==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy314==0 && yymsp[0].minor.yy384==0 ){ + yygotominor.yy259 = yymsp[-4].minor.yy259; + }else if( yymsp[-4].minor.yy259->nSrc==1 ){ + yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); + if( yygotominor.yy259 ){ + struct SrcList_item *pNew = &yygotominor.yy259->a[yygotominor.yy259->nSrc-1]; + struct SrcList_item *pOld = yymsp[-4].minor.yy259->a; pNew->zName = pOld->zName; pNew->zDatabase = pOld->zDatabase; pNew->pSelect = pOld->pSelect; pOld->zName = pOld->zDatabase = 0; pOld->pSelect = 0; } - sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy65); + sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy259); }else{ Select *pSubquery; - sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy65); - pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy65,0,0,0,0,SF_NestedFrom,0,0); - yygotominor.yy65 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy65,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy132,yymsp[0].minor.yy408); + sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy259); + pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy259,0,0,0,0,SF_NestedFrom,0,0); + yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); } } break; - case 140: /* dbnm ::= */ - case 149: /* indexed_opt ::= */ yytestcase(yyruleno==149); + case 139: /* dbnm ::= */ + case 148: /* indexed_opt ::= */ yytestcase(yyruleno==148); {yygotominor.yy0.z=0; yygotominor.yy0.n=0;} break; - case 142: /* fullname ::= nm dbnm */ -{yygotominor.yy65 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} - break; - case 143: /* joinop ::= COMMA|JOIN */ -{ yygotominor.yy328 = JT_INNER; } - break; - case 144: /* joinop ::= JOIN_KW JOIN */ -{ yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } - break; - case 145: /* joinop ::= JOIN_KW nm JOIN */ -{ yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); } - break; - case 146: /* joinop ::= JOIN_KW nm nm JOIN */ -{ yygotominor.yy328 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); } - break; - case 147: /* on_opt ::= ON expr */ - case 164: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==164); - case 171: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==171); - case 231: /* case_else ::= ELSE expr */ yytestcase(yyruleno==231); - case 233: /* case_operand ::= expr */ yytestcase(yyruleno==233); -{yygotominor.yy132 = yymsp[0].minor.yy346.pExpr;} - break; - case 148: /* on_opt ::= */ - case 163: /* having_opt ::= */ yytestcase(yyruleno==163); - case 170: /* where_opt ::= */ yytestcase(yyruleno==170); - case 232: /* case_else ::= */ yytestcase(yyruleno==232); - case 234: /* case_operand ::= */ yytestcase(yyruleno==234); -{yygotominor.yy132 = 0;} - break; - case 151: /* indexed_opt ::= NOT INDEXED */ + case 141: /* fullname ::= nm dbnm */ +{yygotominor.yy259 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} + break; + case 142: /* joinop ::= COMMA|JOIN */ +{ yygotominor.yy4 = JT_INNER; } + break; + case 143: /* joinop ::= JOIN_KW JOIN */ +{ yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } + break; + case 144: /* joinop ::= JOIN_KW nm JOIN */ +{ yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); } + break; + case 145: /* joinop ::= JOIN_KW nm nm JOIN */ +{ yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); } + break; + case 146: /* on_opt ::= ON expr */ + case 163: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==163); + case 170: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==170); + case 236: /* case_else ::= ELSE expr */ yytestcase(yyruleno==236); + case 238: /* case_operand ::= expr */ yytestcase(yyruleno==238); +{yygotominor.yy314 = yymsp[0].minor.yy118.pExpr;} + break; + case 147: /* on_opt ::= */ + case 162: /* having_opt ::= */ yytestcase(yyruleno==162); + case 169: /* where_opt ::= */ yytestcase(yyruleno==169); + case 237: /* case_else ::= */ yytestcase(yyruleno==237); + case 239: /* case_operand ::= */ yytestcase(yyruleno==239); +{yygotominor.yy314 = 0;} + break; + case 150: /* indexed_opt ::= NOT INDEXED */ {yygotominor.yy0.z=0; yygotominor.yy0.n=1;} break; - case 152: /* using_opt ::= USING LP idlist RP */ - case 180: /* inscollist_opt ::= LP idlist RP */ yytestcase(yyruleno==180); -{yygotominor.yy408 = yymsp[-1].minor.yy408;} - break; - case 153: /* using_opt ::= */ - case 179: /* inscollist_opt ::= */ yytestcase(yyruleno==179); -{yygotominor.yy408 = 0;} - break; - case 155: /* orderby_opt ::= ORDER BY sortlist */ - case 162: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==162); - case 235: /* exprlist ::= nexprlist */ yytestcase(yyruleno==235); -{yygotominor.yy14 = yymsp[0].minor.yy14;} - break; - case 156: /* sortlist ::= sortlist COMMA expr sortorder */ -{ - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy14,yymsp[-1].minor.yy346.pExpr); - if( yygotominor.yy14 ) yygotominor.yy14->a[yygotominor.yy14->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy328; -} - break; - case 157: /* sortlist ::= expr sortorder */ -{ - yygotominor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy346.pExpr); - if( yygotominor.yy14 && ALWAYS(yygotominor.yy14->a) ) yygotominor.yy14->a[0].sortOrder = (u8)yymsp[0].minor.yy328; -} - break; - case 158: /* sortorder ::= ASC */ - case 160: /* sortorder ::= */ yytestcase(yyruleno==160); -{yygotominor.yy328 = SQLITE_SO_ASC;} - break; - case 159: /* sortorder ::= DESC */ -{yygotominor.yy328 = SQLITE_SO_DESC;} - break; - case 165: /* limit_opt ::= */ -{yygotominor.yy476.pLimit = 0; yygotominor.yy476.pOffset = 0;} - break; - case 166: /* limit_opt ::= LIMIT expr */ -{yygotominor.yy476.pLimit = yymsp[0].minor.yy346.pExpr; yygotominor.yy476.pOffset = 0;} - break; - case 167: /* limit_opt ::= LIMIT expr OFFSET expr */ -{yygotominor.yy476.pLimit = yymsp[-2].minor.yy346.pExpr; yygotominor.yy476.pOffset = yymsp[0].minor.yy346.pExpr;} - break; - case 168: /* limit_opt ::= LIMIT expr COMMA expr */ -{yygotominor.yy476.pOffset = yymsp[-2].minor.yy346.pExpr; yygotominor.yy476.pLimit = yymsp[0].minor.yy346.pExpr;} - break; - case 169: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt */ -{ - sqlite3WithPush(pParse, yymsp[-5].minor.yy59, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy65, &yymsp[-1].minor.yy0); - sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy65,yymsp[0].minor.yy132); -} - break; - case 172: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ -{ - sqlite3WithPush(pParse, yymsp[-7].minor.yy59, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy65, &yymsp[-3].minor.yy0); - sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy14,"set list"); - sqlite3Update(pParse,yymsp[-4].minor.yy65,yymsp[-1].minor.yy14,yymsp[0].minor.yy132,yymsp[-5].minor.yy186); -} - break; - case 173: /* setlist ::= setlist COMMA nm EQ expr */ -{ - yygotominor.yy14 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy14, yymsp[0].minor.yy346.pExpr); - sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[-2].minor.yy0, 1); -} - break; - case 174: /* setlist ::= nm EQ expr */ -{ - yygotominor.yy14 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy346.pExpr); - sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[-2].minor.yy0, 1); -} - break; - case 175: /* cmd ::= with insert_cmd INTO fullname inscollist_opt select */ -{ - sqlite3WithPush(pParse, yymsp[-5].minor.yy59, 1); - sqlite3Insert(pParse, yymsp[-2].minor.yy65, yymsp[0].minor.yy3, yymsp[-1].minor.yy408, yymsp[-4].minor.yy186); -} - break; - case 176: /* cmd ::= with insert_cmd INTO fullname inscollist_opt DEFAULT VALUES */ -{ - sqlite3WithPush(pParse, yymsp[-6].minor.yy59, 1); - sqlite3Insert(pParse, yymsp[-3].minor.yy65, 0, yymsp[-2].minor.yy408, yymsp[-5].minor.yy186); -} + case 151: /* using_opt ::= USING LP idlist RP */ + case 182: /* inscollist_opt ::= LP idlist RP */ yytestcase(yyruleno==182); +{yygotominor.yy384 = yymsp[-1].minor.yy384;} + break; + case 152: /* using_opt ::= */ + case 181: /* inscollist_opt ::= */ yytestcase(yyruleno==181); +{yygotominor.yy384 = 0;} + break; + case 154: /* orderby_opt ::= ORDER BY sortlist */ + case 161: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==161); + case 240: /* exprlist ::= nexprlist */ yytestcase(yyruleno==240); +{yygotominor.yy322 = yymsp[0].minor.yy322;} + break; + case 155: /* sortlist ::= sortlist COMMA expr sortorder */ +{ + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322,yymsp[-1].minor.yy118.pExpr); + if( yygotominor.yy322 ) yygotominor.yy322->a[yygotominor.yy322->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy4; +} + break; + case 156: /* sortlist ::= expr sortorder */ +{ + yygotominor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy118.pExpr); + if( yygotominor.yy322 && ALWAYS(yygotominor.yy322->a) ) yygotominor.yy322->a[0].sortOrder = (u8)yymsp[0].minor.yy4; +} + break; + case 157: /* sortorder ::= ASC */ + case 159: /* sortorder ::= */ yytestcase(yyruleno==159); +{yygotominor.yy4 = SQLITE_SO_ASC;} + break; + case 158: /* sortorder ::= DESC */ +{yygotominor.yy4 = SQLITE_SO_DESC;} + break; + case 164: /* limit_opt ::= */ +{yygotominor.yy292.pLimit = 0; yygotominor.yy292.pOffset = 0;} + break; + case 165: /* limit_opt ::= LIMIT expr */ +{yygotominor.yy292.pLimit = yymsp[0].minor.yy118.pExpr; yygotominor.yy292.pOffset = 0;} + break; + case 166: /* limit_opt ::= LIMIT expr OFFSET expr */ +{yygotominor.yy292.pLimit = yymsp[-2].minor.yy118.pExpr; yygotominor.yy292.pOffset = yymsp[0].minor.yy118.pExpr;} + break; + case 167: /* limit_opt ::= LIMIT expr COMMA expr */ +{yygotominor.yy292.pOffset = yymsp[-2].minor.yy118.pExpr; yygotominor.yy292.pLimit = yymsp[0].minor.yy118.pExpr;} + break; + case 168: /* cmd ::= DELETE FROM fullname indexed_opt where_opt */ +{ + sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy259, &yymsp[-1].minor.yy0); + sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy259,yymsp[0].minor.yy314); +} + break; + case 171: /* cmd ::= UPDATE orconf fullname indexed_opt SET setlist where_opt */ +{ + sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy259, &yymsp[-3].minor.yy0); + sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy322,"set list"); + sqlite3Update(pParse,yymsp[-4].minor.yy259,yymsp[-1].minor.yy322,yymsp[0].minor.yy314,yymsp[-5].minor.yy210); +} + break; + case 172: /* setlist ::= setlist COMMA nm EQ expr */ +{ + yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy322, yymsp[0].minor.yy118.pExpr); + sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[-2].minor.yy0, 1); +} + break; + case 173: /* setlist ::= nm EQ expr */ +{ + yygotominor.yy322 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy118.pExpr); + sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[-2].minor.yy0, 1); +} + break; + case 174: /* cmd ::= insert_cmd INTO fullname inscollist_opt valuelist */ +{sqlite3Insert(pParse, yymsp[-2].minor.yy259, yymsp[0].minor.yy260.pList, yymsp[0].minor.yy260.pSelect, yymsp[-1].minor.yy384, yymsp[-4].minor.yy210);} + break; + case 175: /* cmd ::= insert_cmd INTO fullname inscollist_opt select */ +{sqlite3Insert(pParse, yymsp[-2].minor.yy259, 0, yymsp[0].minor.yy387, yymsp[-1].minor.yy384, yymsp[-4].minor.yy210);} + break; + case 176: /* cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES */ +{sqlite3Insert(pParse, yymsp[-3].minor.yy259, 0, 0, yymsp[-2].minor.yy384, yymsp[-5].minor.yy210);} break; case 177: /* insert_cmd ::= INSERT orconf */ -{yygotominor.yy186 = yymsp[0].minor.yy186;} +{yygotominor.yy210 = yymsp[0].minor.yy210;} break; case 178: /* insert_cmd ::= REPLACE */ -{yygotominor.yy186 = OE_Replace;} - break; - case 181: /* idlist ::= idlist COMMA nm */ -{yygotominor.yy408 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy408,&yymsp[0].minor.yy0);} - break; - case 182: /* idlist ::= nm */ -{yygotominor.yy408 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} - break; - case 183: /* expr ::= term */ -{yygotominor.yy346 = yymsp[0].minor.yy346;} - break; - case 184: /* expr ::= LP expr RP */ -{yygotominor.yy346.pExpr = yymsp[-1].minor.yy346.pExpr; spanSet(&yygotominor.yy346,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} - break; - case 185: /* term ::= NULL */ - case 190: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==190); - case 191: /* term ::= STRING */ yytestcase(yyruleno==191); -{spanExpr(&yygotominor.yy346, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} - break; - case 186: /* expr ::= ID|INDEXED */ - case 187: /* expr ::= JOIN_KW */ yytestcase(yyruleno==187); -{spanExpr(&yygotominor.yy346, pParse, TK_ID, &yymsp[0].minor.yy0);} - break; - case 188: /* expr ::= nm DOT nm */ +{yygotominor.yy210 = OE_Replace;} + break; + case 179: /* valuelist ::= VALUES LP nexprlist RP */ +{ + yygotominor.yy260.pList = yymsp[-1].minor.yy322; + yygotominor.yy260.pSelect = 0; +} + break; + case 180: /* valuelist ::= valuelist COMMA LP exprlist RP */ +{ + Select *pRight = sqlite3SelectNew(pParse, yymsp[-1].minor.yy322, 0, 0, 0, 0, 0, 0, 0, 0); + if( yymsp[-4].minor.yy260.pList ){ + yymsp[-4].minor.yy260.pSelect = sqlite3SelectNew(pParse, yymsp[-4].minor.yy260.pList, 0, 0, 0, 0, 0, 0, 0, 0); + yymsp[-4].minor.yy260.pList = 0; + } + yygotominor.yy260.pList = 0; + if( yymsp[-4].minor.yy260.pSelect==0 || pRight==0 ){ + sqlite3SelectDelete(pParse->db, pRight); + sqlite3SelectDelete(pParse->db, yymsp[-4].minor.yy260.pSelect); + yygotominor.yy260.pSelect = 0; + }else{ + pRight->op = TK_ALL; + pRight->pPrior = yymsp[-4].minor.yy260.pSelect; + pRight->selFlags |= SF_Values; + pRight->pPrior->selFlags |= SF_Values; + yygotominor.yy260.pSelect = pRight; + } +} + break; + case 183: /* idlist ::= idlist COMMA nm */ +{yygotominor.yy384 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy384,&yymsp[0].minor.yy0);} + break; + case 184: /* idlist ::= nm */ +{yygotominor.yy384 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} + break; + case 185: /* expr ::= term */ +{yygotominor.yy118 = yymsp[0].minor.yy118;} + break; + case 186: /* expr ::= LP expr RP */ +{yygotominor.yy118.pExpr = yymsp[-1].minor.yy118.pExpr; spanSet(&yygotominor.yy118,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} + break; + case 187: /* term ::= NULL */ + case 192: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==192); + case 193: /* term ::= STRING */ yytestcase(yyruleno==193); +{spanExpr(&yygotominor.yy118, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} + break; + case 188: /* expr ::= id */ + case 189: /* expr ::= JOIN_KW */ yytestcase(yyruleno==189); +{spanExpr(&yygotominor.yy118, pParse, TK_ID, &yymsp[0].minor.yy0);} + break; + case 190: /* expr ::= nm DOT nm */ { Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); - spanSet(&yygotominor.yy346,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); + spanSet(&yygotominor.yy118,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); } break; - case 189: /* expr ::= nm DOT nm DOT nm */ + case 191: /* expr ::= nm DOT nm DOT nm */ { Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0); Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); - spanSet(&yygotominor.yy346,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); -} - break; - case 192: /* expr ::= VARIABLE */ -{ - if( yymsp[0].minor.yy0.n>=2 && yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1]) ){ - /* When doing a nested parse, one can include terms in an expression - ** that look like this: #1 #2 ... These terms refer to registers - ** in the virtual machine. #N is the N-th register. */ - if( pParse->nested==0 ){ - sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &yymsp[0].minor.yy0); - yygotominor.yy346.pExpr = 0; - }else{ - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0].minor.yy0); - if( yygotominor.yy346.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yygotominor.yy346.pExpr->iTable); - } - }else{ - spanExpr(&yygotominor.yy346, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); - sqlite3ExprAssignVarNumber(pParse, yygotominor.yy346.pExpr); - } - spanSet(&yygotominor.yy346, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); -} - break; - case 193: /* expr ::= expr COLLATE ID|STRING */ -{ - yygotominor.yy346.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy346.pExpr, &yymsp[0].minor.yy0); - yygotominor.yy346.zStart = yymsp[-2].minor.yy346.zStart; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; -} - break; - case 194: /* expr ::= CAST LP expr AS typetoken RP */ -{ - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy346.pExpr, 0, &yymsp[-1].minor.yy0); - spanSet(&yygotominor.yy346,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); -} - break; - case 195: /* expr ::= ID|INDEXED LP distinct exprlist RP */ -{ - if( yymsp[-1].minor.yy14 && yymsp[-1].minor.yy14->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ - sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); - } - yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy14, &yymsp[-4].minor.yy0); - spanSet(&yygotominor.yy346,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); - if( yymsp[-2].minor.yy381 && yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->flags |= EP_Distinct; - } -} - break; - case 196: /* expr ::= ID|INDEXED LP STAR RP */ -{ - yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); - spanSet(&yygotominor.yy346,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); -} - break; - case 197: /* term ::= CTIME_KW */ -{ - yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); - spanSet(&yygotominor.yy346, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); -} - break; - case 198: /* expr ::= expr AND expr */ - case 199: /* expr ::= expr OR expr */ yytestcase(yyruleno==199); - case 200: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==200); - case 201: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==201); - case 202: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==202); - case 203: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==203); - case 204: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==204); - case 205: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==205); -{spanBinaryExpr(&yygotominor.yy346,pParse,yymsp[-1].major,&yymsp[-2].minor.yy346,&yymsp[0].minor.yy346);} - break; - case 206: /* likeop ::= LIKE_KW|MATCH */ -{yygotominor.yy96.eOperator = yymsp[0].minor.yy0; yygotominor.yy96.bNot = 0;} - break; - case 207: /* likeop ::= NOT LIKE_KW|MATCH */ -{yygotominor.yy96.eOperator = yymsp[0].minor.yy0; yygotominor.yy96.bNot = 1;} - break; - case 208: /* expr ::= expr likeop expr */ -{ - ExprList *pList; - pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy346.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy346.pExpr); - yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy96.eOperator); - if( yymsp[-1].minor.yy96.bNot ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); - yygotominor.yy346.zStart = yymsp[-2].minor.yy346.zStart; - yygotominor.yy346.zEnd = yymsp[0].minor.yy346.zEnd; - if( yygotominor.yy346.pExpr ) yygotominor.yy346.pExpr->flags |= EP_InfixFunc; -} - break; - case 209: /* expr ::= expr likeop expr ESCAPE expr */ -{ - ExprList *pList; - pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy346.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr); - yygotominor.yy346.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy96.eOperator); - if( yymsp[-3].minor.yy96.bNot ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); - yygotominor.yy346.zStart = yymsp[-4].minor.yy346.zStart; - yygotominor.yy346.zEnd = yymsp[0].minor.yy346.zEnd; - if( yygotominor.yy346.pExpr ) yygotominor.yy346.pExpr->flags |= EP_InfixFunc; -} - break; - case 210: /* expr ::= expr ISNULL|NOTNULL */ -{spanUnaryPostfix(&yygotominor.yy346,pParse,yymsp[0].major,&yymsp[-1].minor.yy346,&yymsp[0].minor.yy0);} - break; - case 211: /* expr ::= expr NOT NULL */ -{spanUnaryPostfix(&yygotominor.yy346,pParse,TK_NOTNULL,&yymsp[-2].minor.yy346,&yymsp[0].minor.yy0);} - break; - case 212: /* expr ::= expr IS expr */ -{ - spanBinaryExpr(&yygotominor.yy346,pParse,TK_IS,&yymsp[-2].minor.yy346,&yymsp[0].minor.yy346); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy346.pExpr, yygotominor.yy346.pExpr, TK_ISNULL); -} - break; - case 213: /* expr ::= expr IS NOT expr */ -{ - spanBinaryExpr(&yygotominor.yy346,pParse,TK_ISNOT,&yymsp[-3].minor.yy346,&yymsp[0].minor.yy346); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy346.pExpr, yygotominor.yy346.pExpr, TK_NOTNULL); -} - break; - case 214: /* expr ::= NOT expr */ - case 215: /* expr ::= BITNOT expr */ yytestcase(yyruleno==215); -{spanUnaryPrefix(&yygotominor.yy346,pParse,yymsp[-1].major,&yymsp[0].minor.yy346,&yymsp[-1].minor.yy0);} - break; - case 216: /* expr ::= MINUS expr */ -{spanUnaryPrefix(&yygotominor.yy346,pParse,TK_UMINUS,&yymsp[0].minor.yy346,&yymsp[-1].minor.yy0);} - break; - case 217: /* expr ::= PLUS expr */ -{spanUnaryPrefix(&yygotominor.yy346,pParse,TK_UPLUS,&yymsp[0].minor.yy346,&yymsp[-1].minor.yy0);} - break; - case 220: /* expr ::= expr between_op expr AND expr */ -{ - ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy346.pExpr); - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy346.pExpr, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pList = pList; + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); + spanSet(&yygotominor.yy118,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); +} + break; + case 194: /* expr ::= REGISTER */ +{ + /* When doing a nested parse, one can include terms in an expression + ** that look like this: #1 #2 ... These terms refer to registers + ** in the virtual machine. #N is the N-th register. */ + if( pParse->nested==0 ){ + sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &yymsp[0].minor.yy0); + yygotominor.yy118.pExpr = 0; + }else{ + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0].minor.yy0); + if( yygotominor.yy118.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yygotominor.yy118.pExpr->iTable); + } + spanSet(&yygotominor.yy118, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); +} + break; + case 195: /* expr ::= VARIABLE */ +{ + spanExpr(&yygotominor.yy118, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); + sqlite3ExprAssignVarNumber(pParse, yygotominor.yy118.pExpr); + spanSet(&yygotominor.yy118, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); +} + break; + case 196: /* expr ::= expr COLLATE ids */ +{ + yygotominor.yy118.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy118.pExpr, &yymsp[0].minor.yy0); + yygotominor.yy118.zStart = yymsp[-2].minor.yy118.zStart; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; +} + break; + case 197: /* expr ::= CAST LP expr AS typetoken RP */ +{ + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy118.pExpr, 0, &yymsp[-1].minor.yy0); + spanSet(&yygotominor.yy118,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); +} + break; + case 198: /* expr ::= ID LP distinct exprlist RP */ +{ + if( yymsp[-1].minor.yy322 && yymsp[-1].minor.yy322->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ + sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); + } + yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy322, &yymsp[-4].minor.yy0); + spanSet(&yygotominor.yy118,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); + if( yymsp[-2].minor.yy177 && yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->flags |= EP_Distinct; + } +} + break; + case 199: /* expr ::= ID LP STAR RP */ +{ + yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); + spanSet(&yygotominor.yy118,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); +} + break; + case 200: /* term ::= CTIME_KW */ +{ + yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); + spanSet(&yygotominor.yy118, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); +} + break; + case 201: /* expr ::= expr AND expr */ + case 202: /* expr ::= expr OR expr */ yytestcase(yyruleno==202); + case 203: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==203); + case 204: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==204); + case 205: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==205); + case 206: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==206); + case 207: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==207); + case 208: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==208); +{spanBinaryExpr(&yygotominor.yy118,pParse,yymsp[-1].major,&yymsp[-2].minor.yy118,&yymsp[0].minor.yy118);} + break; + case 209: /* likeop ::= LIKE_KW */ + case 211: /* likeop ::= MATCH */ yytestcase(yyruleno==211); +{yygotominor.yy342.eOperator = yymsp[0].minor.yy0; yygotominor.yy342.bNot = 0;} + break; + case 210: /* likeop ::= NOT LIKE_KW */ + case 212: /* likeop ::= NOT MATCH */ yytestcase(yyruleno==212); +{yygotominor.yy342.eOperator = yymsp[0].minor.yy0; yygotominor.yy342.bNot = 1;} + break; + case 213: /* expr ::= expr likeop expr */ +{ + ExprList *pList; + pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy118.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy118.pExpr); + yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy342.eOperator); + if( yymsp[-1].minor.yy342.bNot ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); + yygotominor.yy118.zStart = yymsp[-2].minor.yy118.zStart; + yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; + if( yygotominor.yy118.pExpr ) yygotominor.yy118.pExpr->flags |= EP_InfixFunc; +} + break; + case 214: /* expr ::= expr likeop expr ESCAPE expr */ +{ + ExprList *pList; + pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy118.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy118.pExpr); + yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy342.eOperator); + if( yymsp[-3].minor.yy342.bNot ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); + yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; + yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; + if( yygotominor.yy118.pExpr ) yygotominor.yy118.pExpr->flags |= EP_InfixFunc; +} + break; + case 215: /* expr ::= expr ISNULL|NOTNULL */ +{spanUnaryPostfix(&yygotominor.yy118,pParse,yymsp[0].major,&yymsp[-1].minor.yy118,&yymsp[0].minor.yy0);} + break; + case 216: /* expr ::= expr NOT NULL */ +{spanUnaryPostfix(&yygotominor.yy118,pParse,TK_NOTNULL,&yymsp[-2].minor.yy118,&yymsp[0].minor.yy0);} + break; + case 217: /* expr ::= expr IS expr */ +{ + spanBinaryExpr(&yygotominor.yy118,pParse,TK_IS,&yymsp[-2].minor.yy118,&yymsp[0].minor.yy118); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy118.pExpr, yygotominor.yy118.pExpr, TK_ISNULL); +} + break; + case 218: /* expr ::= expr IS NOT expr */ +{ + spanBinaryExpr(&yygotominor.yy118,pParse,TK_ISNOT,&yymsp[-3].minor.yy118,&yymsp[0].minor.yy118); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy118.pExpr, yygotominor.yy118.pExpr, TK_NOTNULL); +} + break; + case 219: /* expr ::= NOT expr */ + case 220: /* expr ::= BITNOT expr */ yytestcase(yyruleno==220); +{spanUnaryPrefix(&yygotominor.yy118,pParse,yymsp[-1].major,&yymsp[0].minor.yy118,&yymsp[-1].minor.yy0);} + break; + case 221: /* expr ::= MINUS expr */ +{spanUnaryPrefix(&yygotominor.yy118,pParse,TK_UMINUS,&yymsp[0].minor.yy118,&yymsp[-1].minor.yy0);} + break; + case 222: /* expr ::= PLUS expr */ +{spanUnaryPrefix(&yygotominor.yy118,pParse,TK_UPLUS,&yymsp[0].minor.yy118,&yymsp[-1].minor.yy0);} + break; + case 225: /* expr ::= expr between_op expr AND expr */ +{ + ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy118.pExpr); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy118.pExpr, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pList = pList; }else{ sqlite3ExprListDelete(pParse->db, pList); } - if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); - yygotominor.yy346.zStart = yymsp[-4].minor.yy346.zStart; - yygotominor.yy346.zEnd = yymsp[0].minor.yy346.zEnd; -} - break; - case 223: /* expr ::= expr in_op LP exprlist RP */ -{ - if( yymsp[-1].minor.yy14==0 ){ + if( yymsp[-3].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); + yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; + yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; +} + break; + case 228: /* expr ::= expr in_op LP exprlist RP */ +{ + if( yymsp[-1].minor.yy322==0 ){ /* Expressions of the form ** ** expr1 IN () ** expr1 NOT IN () ** ** simplify to constants 0 (false) and 1 (true), respectively, ** regardless of the value of expr1. */ - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[yymsp[-3].minor.yy328]); - sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy346.pExpr); - }else{ - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy346.pExpr, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pList = yymsp[-1].minor.yy14; - sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); - }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy14); - } - if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); - } - yygotominor.yy346.zStart = yymsp[-4].minor.yy346.zStart; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; - } - break; - case 224: /* expr ::= LP select RP */ -{ - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pSelect = yymsp[-1].minor.yy3; - ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect); - sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); - }else{ - sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy3); - } - yygotominor.yy346.zStart = yymsp[-2].minor.yy0.z; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; - } - break; - case 225: /* expr ::= expr in_op LP select RP */ -{ - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy346.pExpr, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pSelect = yymsp[-1].minor.yy3; - ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect); - sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); - }else{ - sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy3); - } - if( yymsp[-3].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); - yygotominor.yy346.zStart = yymsp[-4].minor.yy346.zStart; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; - } - break; - case 226: /* expr ::= expr in_op nm dbnm */ + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[yymsp[-3].minor.yy4]); + sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy118.pExpr); + }else{ + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy118.pExpr, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pList = yymsp[-1].minor.yy322; + sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); + }else{ + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy322); + } + if( yymsp[-3].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); + } + yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + } + break; + case 229: /* expr ::= LP select RP */ +{ + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pSelect = yymsp[-1].minor.yy387; + ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect); + sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); + }else{ + sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); + } + yygotominor.yy118.zStart = yymsp[-2].minor.yy0.z; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + } + break; + case 230: /* expr ::= expr in_op LP select RP */ +{ + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy118.pExpr, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pSelect = yymsp[-1].minor.yy387; + ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect); + sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); + }else{ + sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); + } + if( yymsp[-3].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); + yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + } + break; + case 231: /* expr ::= expr in_op nm dbnm */ { SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy346.pExpr, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); - ExprSetProperty(yygotominor.yy346.pExpr, EP_xIsSelect); - sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy118.pExpr, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); + ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect); + sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); }else{ sqlite3SrcListDelete(pParse->db, pSrc); } - if( yymsp[-2].minor.yy328 ) yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy346.pExpr, 0, 0); - yygotominor.yy346.zStart = yymsp[-3].minor.yy346.zStart; - yygotominor.yy346.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] : &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]; - } - break; - case 227: /* expr ::= EXISTS LP select RP */ -{ - Expr *p = yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); + if( yymsp[-2].minor.yy4 ) yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_NOT, yygotominor.yy118.pExpr, 0, 0); + yygotominor.yy118.zStart = yymsp[-3].minor.yy118.zStart; + yygotominor.yy118.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] : &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]; + } + break; + case 232: /* expr ::= EXISTS LP select RP */ +{ + Expr *p = yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); if( p ){ - p->x.pSelect = yymsp[-1].minor.yy3; + p->x.pSelect = yymsp[-1].minor.yy387; ExprSetProperty(p, EP_xIsSelect); sqlite3ExprSetHeight(pParse, p); }else{ - sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy3); - } - yygotominor.yy346.zStart = yymsp[-3].minor.yy0.z; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; - } - break; - case 228: /* expr ::= CASE case_operand case_exprlist case_else END */ -{ - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy132, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->x.pList = yymsp[-1].minor.yy132 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy14,yymsp[-1].minor.yy132) : yymsp[-2].minor.yy14; - sqlite3ExprSetHeight(pParse, yygotominor.yy346.pExpr); - }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy14); - sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy132); - } - yygotominor.yy346.zStart = yymsp[-4].minor.yy0.z; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; -} - break; - case 229: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ -{ - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14, yymsp[-2].minor.yy346.pExpr); - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yygotominor.yy14, yymsp[0].minor.yy346.pExpr); -} - break; - case 230: /* case_exprlist ::= WHEN expr THEN expr */ -{ - yygotominor.yy14 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy346.pExpr); - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yygotominor.yy14, yymsp[0].minor.yy346.pExpr); -} - break; - case 237: /* nexprlist ::= nexprlist COMMA expr */ -{yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy14,yymsp[0].minor.yy346.pExpr);} - break; - case 238: /* nexprlist ::= expr */ -{yygotominor.yy14 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy346.pExpr);} - break; - case 239: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt */ + sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); + } + yygotominor.yy118.zStart = yymsp[-3].minor.yy0.z; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + } + break; + case 233: /* expr ::= CASE case_operand case_exprlist case_else END */ +{ + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy314, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->x.pList = yymsp[-1].minor.yy314 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[-1].minor.yy314) : yymsp[-2].minor.yy322; + sqlite3ExprSetHeight(pParse, yygotominor.yy118.pExpr); + }else{ + sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy322); + sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy314); + } + yygotominor.yy118.zStart = yymsp[-4].minor.yy0.z; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; +} + break; + case 234: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ +{ + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, yymsp[-2].minor.yy118.pExpr); + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yygotominor.yy322, yymsp[0].minor.yy118.pExpr); +} + break; + case 235: /* case_exprlist ::= WHEN expr THEN expr */ +{ + yygotominor.yy322 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExpr); + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yygotominor.yy322, yymsp[0].minor.yy118.pExpr); +} + break; + case 242: /* nexprlist ::= nexprlist COMMA expr */ +{yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[0].minor.yy118.pExpr);} + break; + case 243: /* nexprlist ::= expr */ +{yygotominor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy118.pExpr);} + break; + case 244: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP where_opt */ { sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, - sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy14, yymsp[-10].minor.yy328, - &yymsp[-11].minor.yy0, yymsp[0].minor.yy132, SQLITE_SO_ASC, yymsp[-8].minor.yy328); -} - break; - case 240: /* uniqueflag ::= UNIQUE */ - case 291: /* raisetype ::= ABORT */ yytestcase(yyruleno==291); -{yygotominor.yy328 = OE_Abort;} - break; - case 241: /* uniqueflag ::= */ -{yygotominor.yy328 = OE_None;} - break; - case 244: /* idxlist ::= idxlist COMMA nm collate sortorder */ -{ - Expr *p = sqlite3ExprAddCollateToken(pParse, 0, &yymsp[-1].minor.yy0); - yygotominor.yy14 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy14, p); - sqlite3ExprListSetName(pParse,yygotominor.yy14,&yymsp[-2].minor.yy0,1); - sqlite3ExprListCheckLength(pParse, yygotominor.yy14, "index"); - if( yygotominor.yy14 ) yygotominor.yy14->a[yygotominor.yy14->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy328; -} - break; - case 245: /* idxlist ::= nm collate sortorder */ -{ - Expr *p = sqlite3ExprAddCollateToken(pParse, 0, &yymsp[-1].minor.yy0); - yygotominor.yy14 = sqlite3ExprListAppend(pParse,0, p); - sqlite3ExprListSetName(pParse, yygotominor.yy14, &yymsp[-2].minor.yy0, 1); - sqlite3ExprListCheckLength(pParse, yygotominor.yy14, "index"); - if( yygotominor.yy14 ) yygotominor.yy14->a[yygotominor.yy14->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy328; -} - break; - case 246: /* collate ::= */ + sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy322, yymsp[-10].minor.yy4, + &yymsp[-11].minor.yy0, yymsp[0].minor.yy314, SQLITE_SO_ASC, yymsp[-8].minor.yy4); +} + break; + case 245: /* uniqueflag ::= UNIQUE */ + case 298: /* raisetype ::= ABORT */ yytestcase(yyruleno==298); +{yygotominor.yy4 = OE_Abort;} + break; + case 246: /* uniqueflag ::= */ +{yygotominor.yy4 = OE_None;} + break; + case 249: /* idxlist ::= idxlist COMMA nm collate sortorder */ +{ + Expr *p = sqlite3ExprAddCollateToken(pParse, 0, &yymsp[-1].minor.yy0); + yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, p); + sqlite3ExprListSetName(pParse,yygotominor.yy322,&yymsp[-2].minor.yy0,1); + sqlite3ExprListCheckLength(pParse, yygotominor.yy322, "index"); + if( yygotominor.yy322 ) yygotominor.yy322->a[yygotominor.yy322->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy4; +} + break; + case 250: /* idxlist ::= nm collate sortorder */ +{ + Expr *p = sqlite3ExprAddCollateToken(pParse, 0, &yymsp[-1].minor.yy0); + yygotominor.yy322 = sqlite3ExprListAppend(pParse,0, p); + sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[-2].minor.yy0, 1); + sqlite3ExprListCheckLength(pParse, yygotominor.yy322, "index"); + if( yygotominor.yy322 ) yygotominor.yy322->a[yygotominor.yy322->nExpr-1].sortOrder = (u8)yymsp[0].minor.yy4; +} + break; + case 251: /* collate ::= */ {yygotominor.yy0.z = 0; yygotominor.yy0.n = 0;} break; - case 248: /* cmd ::= DROP INDEX ifexists fullname */ -{sqlite3DropIndex(pParse, yymsp[0].minor.yy65, yymsp[-1].minor.yy328);} + case 253: /* cmd ::= DROP INDEX ifexists fullname */ +{sqlite3DropIndex(pParse, yymsp[0].minor.yy259, yymsp[-1].minor.yy4);} break; - case 249: /* cmd ::= VACUUM */ - case 250: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==250); + case 254: /* cmd ::= VACUUM */ + case 255: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==255); {sqlite3Vacuum(pParse);} break; - case 251: /* cmd ::= PRAGMA nm dbnm */ + case 256: /* cmd ::= PRAGMA nm dbnm */ {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} break; - case 252: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ + case 257: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} break; - case 253: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ + case 258: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} break; - case 254: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ + case 259: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} break; - case 255: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ + case 260: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} break; - case 264: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ + case 270: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ { Token all; all.z = yymsp[-3].minor.yy0.z; all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; - sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy473, &all); + sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy203, &all); } break; - case 265: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ + case 271: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ { - sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy328, yymsp[-4].minor.yy378.a, yymsp[-4].minor.yy378.b, yymsp[-2].minor.yy65, yymsp[0].minor.yy132, yymsp[-10].minor.yy328, yymsp[-8].minor.yy328); + sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy4, yymsp[-4].minor.yy90.a, yymsp[-4].minor.yy90.b, yymsp[-2].minor.yy259, yymsp[0].minor.yy314, yymsp[-10].minor.yy4, yymsp[-8].minor.yy4); yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); } break; - case 266: /* trigger_time ::= BEFORE */ - case 269: /* trigger_time ::= */ yytestcase(yyruleno==269); -{ yygotominor.yy328 = TK_BEFORE; } - break; - case 267: /* trigger_time ::= AFTER */ -{ yygotominor.yy328 = TK_AFTER; } - break; - case 268: /* trigger_time ::= INSTEAD OF */ -{ yygotominor.yy328 = TK_INSTEAD;} - break; - case 270: /* trigger_event ::= DELETE|INSERT */ - case 271: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==271); -{yygotominor.yy378.a = yymsp[0].major; yygotominor.yy378.b = 0;} - break; - case 272: /* trigger_event ::= UPDATE OF idlist */ -{yygotominor.yy378.a = TK_UPDATE; yygotominor.yy378.b = yymsp[0].minor.yy408;} - break; - case 275: /* when_clause ::= */ - case 296: /* key_opt ::= */ yytestcase(yyruleno==296); -{ yygotominor.yy132 = 0; } - break; - case 276: /* when_clause ::= WHEN expr */ - case 297: /* key_opt ::= KEY expr */ yytestcase(yyruleno==297); -{ yygotominor.yy132 = yymsp[0].minor.yy346.pExpr; } - break; - case 277: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ -{ - assert( yymsp[-2].minor.yy473!=0 ); - yymsp[-2].minor.yy473->pLast->pNext = yymsp[-1].minor.yy473; - yymsp[-2].minor.yy473->pLast = yymsp[-1].minor.yy473; - yygotominor.yy473 = yymsp[-2].minor.yy473; -} - break; - case 278: /* trigger_cmd_list ::= trigger_cmd SEMI */ -{ - assert( yymsp[-1].minor.yy473!=0 ); - yymsp[-1].minor.yy473->pLast = yymsp[-1].minor.yy473; - yygotominor.yy473 = yymsp[-1].minor.yy473; -} - break; - case 280: /* trnm ::= nm DOT nm */ + case 272: /* trigger_time ::= BEFORE */ + case 275: /* trigger_time ::= */ yytestcase(yyruleno==275); +{ yygotominor.yy4 = TK_BEFORE; } + break; + case 273: /* trigger_time ::= AFTER */ +{ yygotominor.yy4 = TK_AFTER; } + break; + case 274: /* trigger_time ::= INSTEAD OF */ +{ yygotominor.yy4 = TK_INSTEAD;} + break; + case 276: /* trigger_event ::= DELETE|INSERT */ + case 277: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==277); +{yygotominor.yy90.a = yymsp[0].major; yygotominor.yy90.b = 0;} + break; + case 278: /* trigger_event ::= UPDATE OF idlist */ +{yygotominor.yy90.a = TK_UPDATE; yygotominor.yy90.b = yymsp[0].minor.yy384;} + break; + case 281: /* when_clause ::= */ + case 303: /* key_opt ::= */ yytestcase(yyruleno==303); +{ yygotominor.yy314 = 0; } + break; + case 282: /* when_clause ::= WHEN expr */ + case 304: /* key_opt ::= KEY expr */ yytestcase(yyruleno==304); +{ yygotominor.yy314 = yymsp[0].minor.yy118.pExpr; } + break; + case 283: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ +{ + assert( yymsp[-2].minor.yy203!=0 ); + yymsp[-2].minor.yy203->pLast->pNext = yymsp[-1].minor.yy203; + yymsp[-2].minor.yy203->pLast = yymsp[-1].minor.yy203; + yygotominor.yy203 = yymsp[-2].minor.yy203; +} + break; + case 284: /* trigger_cmd_list ::= trigger_cmd SEMI */ +{ + assert( yymsp[-1].minor.yy203!=0 ); + yymsp[-1].minor.yy203->pLast = yymsp[-1].minor.yy203; + yygotominor.yy203 = yymsp[-1].minor.yy203; +} + break; + case 286: /* trnm ::= nm DOT nm */ { yygotominor.yy0 = yymsp[0].minor.yy0; sqlite3ErrorMsg(pParse, "qualified table names are not allowed on INSERT, UPDATE, and DELETE " "statements within triggers"); } break; - case 282: /* tridxby ::= INDEXED BY nm */ + case 288: /* tridxby ::= INDEXED BY nm */ { sqlite3ErrorMsg(pParse, "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 283: /* tridxby ::= NOT INDEXED */ + case 289: /* tridxby ::= NOT INDEXED */ { sqlite3ErrorMsg(pParse, "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 284: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ -{ yygotominor.yy473 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy14, yymsp[0].minor.yy132, yymsp[-5].minor.yy186); } - break; - case 285: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */ -{yygotominor.yy473 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy408, yymsp[0].minor.yy3, yymsp[-4].minor.yy186);} - break; - case 286: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ -{yygotominor.yy473 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy132);} - break; - case 287: /* trigger_cmd ::= select */ -{yygotominor.yy473 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy3); } - break; - case 288: /* expr ::= RAISE LP IGNORE RP */ -{ - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); - if( yygotominor.yy346.pExpr ){ - yygotominor.yy346.pExpr->affinity = OE_Ignore; - } - yygotominor.yy346.zStart = yymsp[-3].minor.yy0.z; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; -} - break; - case 289: /* expr ::= RAISE LP raisetype COMMA nm RP */ -{ - yygotominor.yy346.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); - if( yygotominor.yy346.pExpr ) { - yygotominor.yy346.pExpr->affinity = (char)yymsp[-3].minor.yy328; - } - yygotominor.yy346.zStart = yymsp[-5].minor.yy0.z; - yygotominor.yy346.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; -} - break; - case 290: /* raisetype ::= ROLLBACK */ -{yygotominor.yy328 = OE_Rollback;} - break; - case 292: /* raisetype ::= FAIL */ -{yygotominor.yy328 = OE_Fail;} - break; - case 293: /* cmd ::= DROP TRIGGER ifexists fullname */ -{ - sqlite3DropTrigger(pParse,yymsp[0].minor.yy65,yymsp[-1].minor.yy328); -} - break; - case 294: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ -{ - sqlite3Attach(pParse, yymsp[-3].minor.yy346.pExpr, yymsp[-1].minor.yy346.pExpr, yymsp[0].minor.yy132); -} - break; - case 295: /* cmd ::= DETACH database_kw_opt expr */ -{ - sqlite3Detach(pParse, yymsp[0].minor.yy346.pExpr); -} - break; - case 300: /* cmd ::= REINDEX */ + case 290: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ +{ yygotominor.yy203 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy322, yymsp[0].minor.yy314, yymsp[-5].minor.yy210); } + break; + case 291: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt valuelist */ +{yygotominor.yy203 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy384, yymsp[0].minor.yy260.pList, yymsp[0].minor.yy260.pSelect, yymsp[-4].minor.yy210);} + break; + case 292: /* trigger_cmd ::= insert_cmd INTO trnm inscollist_opt select */ +{yygotominor.yy203 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy384, 0, yymsp[0].minor.yy387, yymsp[-4].minor.yy210);} + break; + case 293: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ +{yygotominor.yy203 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy314);} + break; + case 294: /* trigger_cmd ::= select */ +{yygotominor.yy203 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy387); } + break; + case 295: /* expr ::= RAISE LP IGNORE RP */ +{ + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); + if( yygotominor.yy118.pExpr ){ + yygotominor.yy118.pExpr->affinity = OE_Ignore; + } + yygotominor.yy118.zStart = yymsp[-3].minor.yy0.z; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; +} + break; + case 296: /* expr ::= RAISE LP raisetype COMMA nm RP */ +{ + yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); + if( yygotominor.yy118.pExpr ) { + yygotominor.yy118.pExpr->affinity = (char)yymsp[-3].minor.yy4; + } + yygotominor.yy118.zStart = yymsp[-5].minor.yy0.z; + yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; +} + break; + case 297: /* raisetype ::= ROLLBACK */ +{yygotominor.yy4 = OE_Rollback;} + break; + case 299: /* raisetype ::= FAIL */ +{yygotominor.yy4 = OE_Fail;} + break; + case 300: /* cmd ::= DROP TRIGGER ifexists fullname */ +{ + sqlite3DropTrigger(pParse,yymsp[0].minor.yy259,yymsp[-1].minor.yy4); +} + break; + case 301: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ +{ + sqlite3Attach(pParse, yymsp[-3].minor.yy118.pExpr, yymsp[-1].minor.yy118.pExpr, yymsp[0].minor.yy314); +} + break; + case 302: /* cmd ::= DETACH database_kw_opt expr */ +{ + sqlite3Detach(pParse, yymsp[0].minor.yy118.pExpr); +} + break; + case 307: /* cmd ::= REINDEX */ {sqlite3Reindex(pParse, 0, 0);} break; - case 301: /* cmd ::= REINDEX nm dbnm */ + case 308: /* cmd ::= REINDEX nm dbnm */ {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 302: /* cmd ::= ANALYZE */ + case 309: /* cmd ::= ANALYZE */ {sqlite3Analyze(pParse, 0, 0);} break; - case 303: /* cmd ::= ANALYZE nm dbnm */ + case 310: /* cmd ::= ANALYZE nm dbnm */ {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 304: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ + case 311: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ { - sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy65,&yymsp[0].minor.yy0); + sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy259,&yymsp[0].minor.yy0); } break; - case 305: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column */ + case 312: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column */ { sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0); } break; - case 306: /* add_column_fullname ::= fullname */ + case 313: /* add_column_fullname ::= fullname */ { pParse->db->lookaside.bEnabled = 0; - sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy65); + sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy259); } break; - case 309: /* cmd ::= create_vtab */ + case 316: /* cmd ::= create_vtab */ {sqlite3VtabFinishParse(pParse,0);} break; - case 310: /* cmd ::= create_vtab LP vtabarglist RP */ + case 317: /* cmd ::= create_vtab LP vtabarglist RP */ {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} break; - case 311: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ + case 318: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ { - sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy328); + sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy4); } break; - case 314: /* vtabarg ::= */ + case 321: /* vtabarg ::= */ {sqlite3VtabArgInit(pParse);} break; - case 316: /* vtabargtoken ::= ANY */ - case 317: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==317); - case 318: /* lp ::= LP */ yytestcase(yyruleno==318); + case 323: /* vtabargtoken ::= ANY */ + case 324: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==324); + case 325: /* lp ::= LP */ yytestcase(yyruleno==325); {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} - break; - case 322: /* with ::= */ -{yygotominor.yy59 = 0;} - break; - case 323: /* with ::= WITH wqlist */ - case 324: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==324); -{ yygotominor.yy59 = yymsp[0].minor.yy59; } - break; - case 325: /* wqlist ::= nm idxlist_opt AS LP select RP */ -{ - yygotominor.yy59 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy14, yymsp[-1].minor.yy3); -} - break; - case 326: /* wqlist ::= wqlist COMMA nm idxlist_opt AS LP select RP */ -{ - yygotominor.yy59 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy59, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy14, yymsp[-1].minor.yy3); -} break; default: /* (0) input ::= cmdlist */ yytestcase(yyruleno==0); /* (1) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==1); /* (2) cmdlist ::= ecmd */ yytestcase(yyruleno==2); @@ -117951,32 +117541,32 @@ /* (20) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==20); /* (21) savepoint_opt ::= */ yytestcase(yyruleno==21); /* (25) cmd ::= create_table create_table_args */ yytestcase(yyruleno==25); /* (36) columnlist ::= columnlist COMMA column */ yytestcase(yyruleno==36); /* (37) columnlist ::= column */ yytestcase(yyruleno==37); - /* (43) type ::= */ yytestcase(yyruleno==43); - /* (50) signed ::= plus_num */ yytestcase(yyruleno==50); - /* (51) signed ::= minus_num */ yytestcase(yyruleno==51); - /* (52) carglist ::= carglist ccons */ yytestcase(yyruleno==52); - /* (53) carglist ::= */ yytestcase(yyruleno==53); - /* (60) ccons ::= NULL onconf */ yytestcase(yyruleno==60); - /* (88) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==88); - /* (89) conslist ::= tcons */ yytestcase(yyruleno==89); - /* (91) tconscomma ::= */ yytestcase(yyruleno==91); - /* (273) foreach_clause ::= */ yytestcase(yyruleno==273); - /* (274) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==274); - /* (281) tridxby ::= */ yytestcase(yyruleno==281); - /* (298) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==298); - /* (299) database_kw_opt ::= */ yytestcase(yyruleno==299); - /* (307) kwcolumn_opt ::= */ yytestcase(yyruleno==307); - /* (308) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==308); - /* (312) vtabarglist ::= vtabarg */ yytestcase(yyruleno==312); - /* (313) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==313); - /* (315) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==315); - /* (319) anylist ::= */ yytestcase(yyruleno==319); - /* (320) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==320); - /* (321) anylist ::= anylist ANY */ yytestcase(yyruleno==321); + /* (46) type ::= */ yytestcase(yyruleno==46); + /* (53) signed ::= plus_num */ yytestcase(yyruleno==53); + /* (54) signed ::= minus_num */ yytestcase(yyruleno==54); + /* (55) carglist ::= carglist ccons */ yytestcase(yyruleno==55); + /* (56) carglist ::= */ yytestcase(yyruleno==56); + /* (63) ccons ::= NULL onconf */ yytestcase(yyruleno==63); + /* (91) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==91); + /* (92) conslist ::= tcons */ yytestcase(yyruleno==92); + /* (94) tconscomma ::= */ yytestcase(yyruleno==94); + /* (279) foreach_clause ::= */ yytestcase(yyruleno==279); + /* (280) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==280); + /* (287) tridxby ::= */ yytestcase(yyruleno==287); + /* (305) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==305); + /* (306) database_kw_opt ::= */ yytestcase(yyruleno==306); + /* (314) kwcolumn_opt ::= */ yytestcase(yyruleno==314); + /* (315) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==315); + /* (319) vtabarglist ::= vtabarg */ yytestcase(yyruleno==319); + /* (320) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==320); + /* (322) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==322); + /* (326) anylist ::= */ yytestcase(yyruleno==326); + /* (327) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==327); + /* (328) anylist ::= anylist ANY */ yytestcase(yyruleno==328); break; }; assert( yyruleno>=0 && yyruleno1 ){ + /* Parameters of the form #NNN (where NNN is a number) are used + ** internally by sqlite3NestedParse. */ + *tokenType = TK_REGISTER; + return i; + } + /* Fall through into the next case if the '#' is not followed by + ** a digit. Try to match #AAAA where AAAA is a parameter name. */ + } #ifndef SQLITE_OMIT_TCL_VARIABLE case '$': #endif case '@': /* For compatibility with MS SQL Server */ - case '#': case ':': { int n = 0; - testcase( z[0]=='$' ); testcase( z[0]=='@' ); - testcase( z[0]==':' ); testcase( z[0]=='#' ); + testcase( z[0]=='$' ); testcase( z[0]=='@' ); testcase( z[0]==':' ); *tokenType = TK_VARIABLE; for(i=1; (c=z[i])!=0; i++){ if( IdChar(c) ){ n++; #ifndef SQLITE_OMIT_TCL_VARIABLE @@ -119006,11 +118603,10 @@ ** will take responsibility for freeing the Table structure. */ sqlite3DeleteTable(db, pParse->pNewTable); } - if( pParse->bFreeWith ) sqlite3WithDelete(db, pParse->pWith); sqlite3DeleteTrigger(db, pParse->pNewTrigger); for(i=pParse->nzVar-1; i>=0; i--) sqlite3DbFree(db, pParse->azVar[i]); sqlite3DbFree(db, pParse->azVar); while( pParse->pAinc ){ AutoincInfo *p = pParse->pAinc; @@ -119536,10 +119132,17 @@ ** to sqlite3_initialize() should be a no-op. But the initialization ** must be complete. So isInit must not be set until the very end ** of this routine. */ if( sqlite3GlobalConfig.isInit ) return SQLITE_OK; + +#ifdef SQLITE_ENABLE_SQLLOG + { + extern void sqlite3_init_sqllog(void); + sqlite3_init_sqllog(); + } +#endif /* Make sure the mutex subsystem is initialized. If unable to ** initialize the mutex subsystem, return early with the error. ** If the system is so sick that we are unable to allocate a mutex, ** there is not much SQLite is going to be able to do. @@ -119983,12 +119586,11 @@ } db->lookaside.pEnd = p; db->lookaside.bEnabled = 1; db->lookaside.bMalloced = pBuf==0 ?1:0; }else{ - db->lookaside.pStart = db; - db->lookaside.pEnd = db; + db->lookaside.pEnd = 0; db->lookaside.bEnabled = 0; db->lookaside.bMalloced = 0; } return SQLITE_OK; } @@ -120382,11 +119984,13 @@ } sqlite3HashClear(&db->aModule); #endif sqlite3Error(db, SQLITE_OK, 0); /* Deallocates any cached error strings. */ - sqlite3ValueFree(db->pErr); + if( db->pErr ){ + sqlite3ValueFree(db->pErr); + } sqlite3CloseExtensions(db); db->magic = SQLITE_MAGIC_ERROR; /* The temp-database schema is allocated differently from the other schema @@ -120457,11 +120061,12 @@ /* ** Return a static string containing the name corresponding to the error code ** specified in the argument. */ -#if defined(SQLITE_TEST) +#if defined(SQLITE_DEBUG) || defined(SQLITE_TEST) || \ + defined(SQLITE_DEBUG_OS_TRACE) SQLITE_PRIVATE const char *sqlite3ErrName(int rc){ const char *zName = 0; int i, origRc = rc; for(i=0; i<2 && zName==0; i++, rc &= 0xff){ switch( rc ){ @@ -120479,11 +120084,10 @@ case SQLITE_NOMEM: zName = "SQLITE_NOMEM"; break; case SQLITE_READONLY: zName = "SQLITE_READONLY"; break; case SQLITE_READONLY_RECOVERY: zName = "SQLITE_READONLY_RECOVERY"; break; case SQLITE_READONLY_CANTLOCK: zName = "SQLITE_READONLY_CANTLOCK"; break; case SQLITE_READONLY_ROLLBACK: zName = "SQLITE_READONLY_ROLLBACK"; break; - case SQLITE_READONLY_DBMOVED: zName = "SQLITE_READONLY_DBMOVED"; break; case SQLITE_INTERRUPT: zName = "SQLITE_INTERRUPT"; break; case SQLITE_IOERR: zName = "SQLITE_IOERR"; break; case SQLITE_IOERR_READ: zName = "SQLITE_IOERR_READ"; break; case SQLITE_IOERR_SHORT_READ: zName = "SQLITE_IOERR_SHORT_READ"; break; case SQLITE_IOERR_WRITE: zName = "SQLITE_IOERR_WRITE"; break; @@ -120764,11 +120368,10 @@ void (*xFinal)(sqlite3_context*), FuncDestructor *pDestructor ){ FuncDef *p; int nName; - int extraFlags; assert( sqlite3_mutex_held(db->mutex) ); if( zFunctionName==0 || (xFunc && (xFinal || xStep)) || (!xFunc && (xFinal && !xStep)) || @@ -120775,14 +120378,10 @@ (!xFunc && (!xFinal && xStep)) || (nArg<-1 || nArg>SQLITE_MAX_FUNCTION_ARG) || (255<(nName = sqlite3Strlen30( zFunctionName))) ){ return SQLITE_MISUSE_BKPT; } - - assert( SQLITE_FUNC_CONSTANT==SQLITE_DETERMINISTIC ); - extraFlags = enc & SQLITE_DETERMINISTIC; - enc &= (SQLITE_FUNC_ENCMASK|SQLITE_ANY); #ifndef SQLITE_OMIT_UTF16 /* If SQLITE_UTF16 is specified as the encoding type, transform this ** to one of SQLITE_UTF16LE or SQLITE_UTF16BE using the ** SQLITE_UTF16NATIVE macro. SQLITE_UTF16 is not used internally. @@ -120792,14 +120391,14 @@ */ if( enc==SQLITE_UTF16 ){ enc = SQLITE_UTF16NATIVE; }else if( enc==SQLITE_ANY ){ int rc; - rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF8|extraFlags, + rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF8, pUserData, xFunc, xStep, xFinal, pDestructor); if( rc==SQLITE_OK ){ - rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF16LE|extraFlags, + rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF16LE, pUserData, xFunc, xStep, xFinal, pDestructor); } if( rc!=SQLITE_OK ){ return rc; } @@ -120838,12 +120437,11 @@ if( pDestructor ){ pDestructor->nRef++; } p->pDestructor = pDestructor; - p->funcFlags = (p->funcFlags & SQLITE_FUNC_ENCMASK) | extraFlags; - testcase( p->funcFlags & SQLITE_DETERMINISTIC ); + p->funcFlags &= SQLITE_FUNC_ENCMASK; p->xFunc = xFunc; p->xStep = xStep; p->xFinalize = xFinal; p->pUserData = pUserData; p->nArg = (u16)nArg; @@ -121269,11 +120867,10 @@ } sqlite3_mutex_enter(db->mutex); if( db->mallocFailed ){ z = sqlite3ErrStr(SQLITE_NOMEM); }else{ - testcase( db->pErr==0 ); z = (char*)sqlite3_value_text(db->pErr); assert( !db->mallocFailed ); if( z==0 ){ z = sqlite3ErrStr(db->errCode); } @@ -121311,11 +120908,12 @@ if( db->mallocFailed ){ z = (void *)outOfMem; }else{ z = sqlite3_value_text16(db->pErr); if( z==0 ){ - sqlite3Error(db, db->errCode, sqlite3ErrStr(db->errCode)); + sqlite3ValueSetStr(db->pErr, -1, sqlite3ErrStr(db->errCode), + SQLITE_UTF8, SQLITE_STATIC); z = sqlite3_value_text16(db->pErr); } /* A malloc() may have failed within the call to sqlite3_value_text16() ** above. If this is the case, then the db->mallocFailed flag needs to ** be cleared before returning. Do this directly, instead of via @@ -122024,10 +121622,12 @@ #ifdef SQLITE_ENABLE_RTREE if( !db->mallocFailed && rc==SQLITE_OK){ rc = sqlite3RtreeInit(db); } #endif + + sqlite3Error(db, rc, 0); /* -DSQLITE_DEFAULT_LOCKING_MODE=1 makes EXCLUSIVE the default locking ** mode. -DSQLITE_DEFAULT_LOCKING_MODE=0 make NORMAL the default locking ** mode. Doing nothing at all also makes NORMAL the default. */ @@ -122035,12 +121635,10 @@ db->dfltLockMode = SQLITE_DEFAULT_LOCKING_MODE; sqlite3PagerLockingMode(sqlite3BtreePager(db->aDb[0].pBt), SQLITE_DEFAULT_LOCKING_MODE); #endif - if( rc ) sqlite3Error(db, rc, 0); - /* Enable the lookaside-malloc subsystem */ setupLookaside(db, 0, sqlite3GlobalConfig.szLookaside, sqlite3GlobalConfig.nLookaside); sqlite3_wal_autocheckpoint(db, SQLITE_DEFAULT_WAL_AUTOCHECKPOINT); @@ -122496,11 +122094,11 @@ ** Reset the PRNG back to its uninitialized state. The next call ** to sqlite3_randomness() will reseed the PRNG using a single call ** to the xRandomness method of the default VFS. */ case SQLITE_TESTCTRL_PRNG_RESET: { - sqlite3_randomness(0,0); + sqlite3PrngResetState(); break; } /* ** sqlite3_test_control(BITVEC_TEST, size, program) @@ -122705,11 +122303,11 @@ ** database files might have arbitrary corruption. Setting the flag during ** testing causes certain assert() statements in the code to be activated ** that demonstrat invariants on well-formed database files. */ case SQLITE_TESTCTRL_NEVER_CORRUPT: { - sqlite3GlobalConfig.neverCorrupt = va_arg(ap, int); + sqlite3Config.neverCorrupt = va_arg(ap, int); break; } } va_end(ap); @@ -125480,23 +125078,10 @@ char **pzErr /* OUT: sqlite3_malloc'd error message */ ){ return fts3InitVtab(1, db, pAux, argc, argv, ppVtab, pzErr); } -/* -** Set the pIdxInfo->estimatedRows variable to nRow. Unless this -** extension is currently being used by a version of SQLite too old to -** support estimatedRows. In that case this function is a no-op. -*/ -static void fts3SetEstimatedRows(sqlite3_index_info *pIdxInfo, i64 nRow){ -#if SQLITE_VERSION_NUMBER>=3008002 - if( sqlite3_libversion_number()>=3008002 ){ - pIdxInfo->estimatedRows = nRow; - } -#endif -} - /* ** Implementation of the xBestIndex method for FTS3 tables. There ** are three possible strategies, in order of preference: ** ** 1. Direct lookup by rowid or docid. @@ -125520,24 +125105,11 @@ pInfo->idxNum = FTS3_FULLSCAN_SEARCH; pInfo->estimatedCost = 5000000; for(i=0; inConstraint; i++){ int bDocid; /* True if this constraint is on docid */ struct sqlite3_index_constraint *pCons = &pInfo->aConstraint[i]; - if( pCons->usable==0 ){ - if( pCons->op==SQLITE_INDEX_CONSTRAINT_MATCH ){ - /* There exists an unusable MATCH constraint. This means that if - ** the planner does elect to use the results of this call as part - ** of the overall query plan the user will see an "unable to use - ** function MATCH in the requested context" error. To discourage - ** this, return a very high cost here. */ - pInfo->idxNum = FTS3_FULLSCAN_SEARCH; - pInfo->estimatedCost = 1e50; - fts3SetEstimatedRows(pInfo, ((sqlite3_int64)1) << 50); - return SQLITE_OK; - } - continue; - } + if( pCons->usable==0 ) continue; bDocid = (pCons->iColumn<0 || pCons->iColumn==p->nColumn+1); /* A direct lookup on the rowid or docid column. Assign a cost of 1.0. */ if( iCons<0 && pCons->op==SQLITE_INDEX_CONSTRAINT_EQ && bDocid ){ @@ -131703,17 +131275,17 @@ /* ** Hash and comparison functions when the mode is FTS3_HASH_STRING */ static int fts3StrHash(const void *pKey, int nKey){ const char *z = (const char *)pKey; - unsigned h = 0; + int h = 0; if( nKey<=0 ) nKey = (int) strlen(z); while( nKey > 0 ){ h = (h<<3) ^ h ^ *z++; nKey--; } - return (int)(h & 0x7fffffff); + return h & 0x7fffffff; } static int fts3StrCompare(const void *pKey1, int n1, const void *pKey2, int n2){ if( n1!=n2 ) return 1; return strncmp((const char*)pKey1,(const char*)pKey2,n1); } @@ -132394,74 +131966,61 @@ } /* Step 2 */ switch( z[1] ){ case 'a': - if( !stem(&z, "lanoita", "ate", m_gt_0) ){ - stem(&z, "lanoit", "tion", m_gt_0); - } + stem(&z, "lanoita", "ate", m_gt_0) || + stem(&z, "lanoit", "tion", m_gt_0); break; case 'c': - if( !stem(&z, "icne", "ence", m_gt_0) ){ - stem(&z, "icna", "ance", m_gt_0); - } + stem(&z, "icne", "ence", m_gt_0) || + stem(&z, "icna", "ance", m_gt_0); break; case 'e': stem(&z, "rezi", "ize", m_gt_0); break; case 'g': stem(&z, "igol", "log", m_gt_0); break; case 'l': - if( !stem(&z, "ilb", "ble", m_gt_0) - && !stem(&z, "illa", "al", m_gt_0) - && !stem(&z, "iltne", "ent", m_gt_0) - && !stem(&z, "ile", "e", m_gt_0) - ){ - stem(&z, "ilsuo", "ous", m_gt_0); - } + stem(&z, "ilb", "ble", m_gt_0) || + stem(&z, "illa", "al", m_gt_0) || + stem(&z, "iltne", "ent", m_gt_0) || + stem(&z, "ile", "e", m_gt_0) || + stem(&z, "ilsuo", "ous", m_gt_0); break; case 'o': - if( !stem(&z, "noitazi", "ize", m_gt_0) - && !stem(&z, "noita", "ate", m_gt_0) - ){ - stem(&z, "rota", "ate", m_gt_0); - } + stem(&z, "noitazi", "ize", m_gt_0) || + stem(&z, "noita", "ate", m_gt_0) || + stem(&z, "rota", "ate", m_gt_0); break; case 's': - if( !stem(&z, "msila", "al", m_gt_0) - && !stem(&z, "ssenevi", "ive", m_gt_0) - && !stem(&z, "ssenluf", "ful", m_gt_0) - ){ - stem(&z, "ssensuo", "ous", m_gt_0); - } + stem(&z, "msila", "al", m_gt_0) || + stem(&z, "ssenevi", "ive", m_gt_0) || + stem(&z, "ssenluf", "ful", m_gt_0) || + stem(&z, "ssensuo", "ous", m_gt_0); break; case 't': - if( !stem(&z, "itila", "al", m_gt_0) - && !stem(&z, "itivi", "ive", m_gt_0) - ){ - stem(&z, "itilib", "ble", m_gt_0); - } + stem(&z, "itila", "al", m_gt_0) || + stem(&z, "itivi", "ive", m_gt_0) || + stem(&z, "itilib", "ble", m_gt_0); break; } /* Step 3 */ switch( z[0] ){ case 'e': - if( !stem(&z, "etaci", "ic", m_gt_0) - && !stem(&z, "evita", "", m_gt_0) - ){ - stem(&z, "ezila", "al", m_gt_0); - } + stem(&z, "etaci", "ic", m_gt_0) || + stem(&z, "evita", "", m_gt_0) || + stem(&z, "ezila", "al", m_gt_0); break; case 'i': stem(&z, "itici", "ic", m_gt_0); break; case 'l': - if( !stem(&z, "laci", "ic", m_gt_0) ){ - stem(&z, "luf", "", m_gt_0); - } + stem(&z, "laci", "ic", m_gt_0) || + stem(&z, "luf", "", m_gt_0); break; case 's': stem(&z, "ssen", "", m_gt_0); break; } @@ -132498,15 +132057,13 @@ if( z[2]=='a' ){ if( m_gt_1(z+3) ){ z += 3; } }else if( z[2]=='e' ){ - if( !stem(&z, "tneme", "", m_gt_1) - && !stem(&z, "tnem", "", m_gt_1) - ){ - stem(&z, "tne", "", m_gt_1); - } + stem(&z, "tneme", "", m_gt_1) || + stem(&z, "tnem", "", m_gt_1) || + stem(&z, "tne", "", m_gt_1); } } break; case 'o': if( z[0]=='u' ){ @@ -132521,13 +132078,12 @@ if( z[0]=='m' && z[2]=='i' && m_gt_1(z+3) ){ z += 3; } break; case 't': - if( !stem(&z, "eta", "", m_gt_1) ){ - stem(&z, "iti", "", m_gt_1); - } + stem(&z, "eta", "", m_gt_1) || + stem(&z, "iti", "", m_gt_1); break; case 'u': if( z[0]=='s' && z[2]=='o' && m_gt_1(z+3) ){ z += 3; } Index: SQLite.Interop/src/core/sqlite3.h ================================================================== --- SQLite.Interop/src/core/sqlite3.h +++ SQLite.Interop/src/core/sqlite3.h @@ -105,13 +105,13 @@ ** ** See also: [sqlite3_libversion()], ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.8.3" -#define SQLITE_VERSION_NUMBER 3008003 -#define SQLITE_SOURCE_ID "2014-01-29 01:46:12 5bb29b82109224a2ad02920658fabd8fb0f27b3f" +#define SQLITE_VERSION "3.8.2" +#define SQLITE_VERSION_NUMBER 3008002 +#define SQLITE_SOURCE_ID "2013-12-23 15:35:54 ac5852d6403c9c9628ca0aa7be135c702f000698" /* ** CAPI3REF: Run-Time Library Version Numbers ** KEYWORDS: sqlite3_version, sqlite3_sourceid ** @@ -489,11 +489,10 @@ #define SQLITE_CANTOPEN_CONVPATH (SQLITE_CANTOPEN | (4<<8)) #define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) #define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) #define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) #define SQLITE_READONLY_ROLLBACK (SQLITE_READONLY | (3<<8)) -#define SQLITE_READONLY_DBMOVED (SQLITE_READONLY | (4<<8)) #define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) #define SQLITE_CONSTRAINT_CHECK (SQLITE_CONSTRAINT | (1<<8)) #define SQLITE_CONSTRAINT_COMMITHOOK (SQLITE_CONSTRAINT | (2<<8)) #define SQLITE_CONSTRAINT_FOREIGNKEY (SQLITE_CONSTRAINT | (3<<8)) #define SQLITE_CONSTRAINT_FUNCTION (SQLITE_CONSTRAINT | (4<<8)) @@ -557,12 +556,11 @@ ** information is written to disk in the same order as calls ** to xWrite(). The SQLITE_IOCAP_POWERSAFE_OVERWRITE property means that ** after reboot following a crash or power loss, the only bytes in a ** file that were written at the application level might have changed ** and that adjacent bytes, even bytes within the same sector are -** guaranteed to be unchanged. The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN -** flag indicate that a file cannot be deleted when open. +** guaranteed to be unchanged. */ #define SQLITE_IOCAP_ATOMIC 0x00000001 #define SQLITE_IOCAP_ATOMIC512 0x00000002 #define SQLITE_IOCAP_ATOMIC1K 0x00000004 #define SQLITE_IOCAP_ATOMIC2K 0x00000008 @@ -789,33 +787,19 @@ ** to the [sqlite3_file] object associated with a particular database ** connection. See the [sqlite3_file_control()] documentation for ** additional information. ** **
  • [[SQLITE_FCNTL_SYNC_OMITTED]] -** No longer in use. -** -**
  • [[SQLITE_FCNTL_SYNC]] -** The [SQLITE_FCNTL_SYNC] opcode is generated internally by SQLite and -** sent to the VFS immediately before the xSync method is invoked on a -** database file descriptor. Or, if the xSync method is not invoked -** because the user has configured SQLite with -** [PRAGMA synchronous | PRAGMA synchronous=OFF] it is invoked in place -** of the xSync method. In most cases, the pointer argument passed with -** this file-control is NULL. However, if the database file is being synced -** as part of a multi-database commit, the argument points to a nul-terminated -** string containing the transactions master-journal file name. VFSes that -** do not need this signal should silently ignore this opcode. Applications -** should not call [sqlite3_file_control()] with this opcode as doing so may -** disrupt the operation of the specialized VFSes that do require it. -** -**
  • [[SQLITE_FCNTL_COMMIT_PHASETWO]] -** The [SQLITE_FCNTL_COMMIT_PHASETWO] opcode is generated internally by SQLite -** and sent to the VFS after a transaction has been committed immediately -** but before the database is unlocked. VFSes that do not need this signal -** should silently ignore this opcode. Applications should not call -** [sqlite3_file_control()] with this opcode as doing so may disrupt the -** operation of the specialized VFSes that do require it. +** ^(The [SQLITE_FCNTL_SYNC_OMITTED] opcode is generated internally by +** SQLite and sent to all VFSes in place of a call to the xSync method +** when the database connection has [PRAGMA synchronous] set to OFF.)^ +** Some specialized VFSes need this signal in order to operate correctly +** when [PRAGMA synchronous | PRAGMA synchronous=OFF] is set, but most +** VFSes do not need this signal and should silently ignore this opcode. +** Applications should not call [sqlite3_file_control()] with this +** opcode as doing so may disrupt the operation of the specialized VFSes +** that do require it. ** **
  • [[SQLITE_FCNTL_WIN32_AV_RETRY]] ** ^The [SQLITE_FCNTL_WIN32_AV_RETRY] opcode is used to configure automatic ** retry counts and intervals for certain disk I/O operations for the ** windows [VFS] in order to provide robustness in the presence of @@ -935,16 +919,10 @@ ** This file control is used by some VFS activity tracing [shims]. ** The argument is a zero-terminated string. Higher layers in the ** SQLite stack may generate instances of this file control if ** the [SQLITE_USE_FCNTL_TRACE] compile-time option is enabled. ** -**
  • [[SQLITE_FCNTL_HAS_MOVED]] -** The [SQLITE_FCNTL_HAS_MOVED] file control interprets its argument as a -** pointer to an integer and it writes a boolean into that integer depending -** on whether or not the file has been renamed, moved, or deleted since it -** was first opened. -** ** */ #define SQLITE_FCNTL_LOCKSTATE 1 #define SQLITE_GET_LOCKPROXYFILE 2 #define SQLITE_SET_LOCKPROXYFILE 3 @@ -961,13 +939,10 @@ #define SQLITE_FCNTL_PRAGMA 14 #define SQLITE_FCNTL_BUSYHANDLER 15 #define SQLITE_FCNTL_TEMPFILENAME 16 #define SQLITE_FCNTL_MMAP_SIZE 18 #define SQLITE_FCNTL_TRACE 19 -#define SQLITE_FCNTL_HAS_MOVED 20 -#define SQLITE_FCNTL_SYNC 21 -#define SQLITE_FCNTL_COMMIT_PHASETWO 22 /* ** CAPI3REF: Mutex Handle ** ** The mutex module within SQLite defines [sqlite3_mutex] to be an @@ -2398,17 +2373,15 @@ ** already uses the largest possible [ROWID]. The PRNG is also used for ** the build-in random() and randomblob() SQL functions. This interface allows ** applications to access the same PRNG for other purposes. ** ** ^A call to this routine stores N bytes of randomness into buffer P. -** ^If N is less than one, then P can be a NULL pointer. ** -** ^If this routine has not been previously called or if the previous -** call had N less than one, then the PRNG is seeded using randomness -** obtained from the xRandomness method of the default [sqlite3_vfs] object. -** ^If the previous call to this routine had an N of 1 or more then -** the pseudo-randomness is generated +** ^The first time this routine is invoked (either internally or by +** the application) the PRNG is seeded using randomness obtained +** from the xRandomness method of the default [sqlite3_vfs] object. +** ^On all subsequent invocations, the pseudo-randomness is generated ** internally and without recourse to the [sqlite3_vfs] xRandomness ** method. */ SQLITE_API void sqlite3_randomness(int N, void *P); @@ -2564,11 +2537,10 @@ #define SQLITE_CREATE_VTABLE 29 /* Table Name Module Name */ #define SQLITE_DROP_VTABLE 30 /* Table Name Module Name */ #define SQLITE_FUNCTION 31 /* NULL Function Name */ #define SQLITE_SAVEPOINT 32 /* Operation Savepoint Name */ #define SQLITE_COPY 0 /* No longer used */ -#define SQLITE_RECURSIVE 33 /* NULL NULL */ /* ** CAPI3REF: Tracing And Profiling Functions ** ** These routines register callback functions that can be used for @@ -3983,28 +3955,19 @@ ** parameter is less than -1 or greater than 127 then the behavior is ** undefined. ** ** ^The fourth parameter, eTextRep, specifies what ** [SQLITE_UTF8 | text encoding] this SQL function prefers for -** its parameters. The application should set this parameter to -** [SQLITE_UTF16LE] if the function implementation invokes -** [sqlite3_value_text16le()] on an input, or [SQLITE_UTF16BE] if the -** implementation invokes [sqlite3_value_text16be()] on an input, or -** [SQLITE_UTF16] if [sqlite3_value_text16()] is used, or [SQLITE_UTF8] -** otherwise. ^The same SQL function may be registered multiple times using -** different preferred text encodings, with different implementations for -** each encoding. +** its parameters. Every SQL function implementation must be able to work +** with UTF-8, UTF-16le, or UTF-16be. But some implementations may be +** more efficient with one encoding than another. ^An application may +** invoke sqlite3_create_function() or sqlite3_create_function16() multiple +** times with the same function but with different values of eTextRep. ** ^When multiple implementations of the same function are available, SQLite ** will pick the one that involves the least amount of data conversion. -** -** ^The fourth parameter may optionally be ORed with [SQLITE_DETERMINISTIC] -** to signal that the function will always return the same result given -** the same inputs within a single SQL statement. Most SQL functions are -** deterministic. The built-in [random()] SQL function is an example of a -** function that is not deterministic. The SQLite query planner is able to -** perform additional optimizations on deterministic functions, so use -** of the [SQLITE_DETERMINISTIC] flag is recommended where possible. +** If there is only a single implementation which does not care what text +** encoding is used, then the fourth argument should be [SQLITE_ANY]. ** ** ^(The fifth parameter is an arbitrary pointer. The implementation of the ** function can gain access to this pointer using [sqlite3_user_data()].)^ ** ** ^The sixth, seventh and eighth parameters, xFunc, xStep and xFinal, are @@ -4086,23 +4049,13 @@ */ #define SQLITE_UTF8 1 #define SQLITE_UTF16LE 2 #define SQLITE_UTF16BE 3 #define SQLITE_UTF16 4 /* Use native byte order */ -#define SQLITE_ANY 5 /* Deprecated */ +#define SQLITE_ANY 5 /* sqlite3_create_function only */ #define SQLITE_UTF16_ALIGNED 8 /* sqlite3_create_collation only */ -/* -** CAPI3REF: Function Flags -** -** These constants may be ORed together with the -** [SQLITE_UTF8 | preferred text encoding] as the fourth argument -** to [sqlite3_create_function()], [sqlite3_create_function16()], or -** [sqlite3_create_function_v2()]. -*/ -#define SQLITE_DETERMINISTIC 0x800 - /* ** CAPI3REF: Deprecated Functions ** DEPRECATED ** ** These functions are [deprecated]. In order to maintain Index: SQLite.Interop/src/win/interop.c ================================================================== --- SQLite.Interop/src/win/interop.c +++ SQLite.Interop/src/win/interop.c @@ -56,101 +56,10 @@ #define sqlite3InteropBreak(a) #endif typedef void (*SQLITEUSERFUNC)(sqlite3_context *, int, sqlite3_value **); typedef void (*SQLITEFUNCFINAL)(sqlite3_context *); - -/* -** An array of names of all compile-time options. This array should -** be sorted A-Z. -** -** This array looks large, but in a typical installation actually uses -** only a handful of compile-time options, so most times this array is usually -** rather short and uses little memory space. -*/ -static const char * const azInteropCompileOpt[] = { - -/* These macros are provided to "stringify" the value of the define -** for those options in which the value is meaningful. */ -#ifndef CTIMEOPT_VAL_ -#define CTIMEOPT_VAL_(opt) #opt -#endif - -#ifndef CTIMEOPT_VAL -#define CTIMEOPT_VAL(opt) CTIMEOPT_VAL_(opt) -#endif - -#ifdef INTEROP_CODEC - "CODEC", -#endif -#ifdef INTEROP_DEBUG - "DEBUG=" CTIMEOPT_VAL(INTEROP_DEBUG), -#endif -#ifdef INTEROP_EXTENSION_FUNCTIONS - "EXTENSION_FUNCTIONS", -#endif -#ifdef INTEROP_LEGACY_CLOSE - "LEGACY_CLOSE", -#endif -#ifdef INTEROP_LOG - "LOG", -#endif -#ifdef INTEROP_PERCENTILE_EXTENSION - "PERCENTILE_EXTENSION", -#endif -#ifdef INTEROP_REGEXP_EXTENSION - "REGEXP_EXTENSION", -#endif -#ifdef INTEROP_TEST_EXTENSION - "TEST_EXTENSION", -#endif -#ifdef INTEROP_TOTYPE_EXTENSION - "TOTYPE_EXTENSION", -#endif -#ifdef SQLITE_VERSION_NUMBER - "VERSION_NUMBER=" CTIMEOPT_VAL(SQLITE_VERSION_NUMBER), -#endif -#ifdef INTEROP_VIRTUAL_TABLE - "VIRTUAL_TABLE", -#endif -}; - -/* -** Given the name of a compile-time option, return true if that option -** was used and false if not. -** -** The name can optionally begin with "SQLITE_" or "INTEROP_" but those -** prefixes are not required for a match. -*/ -SQLITE_API int WINAPI interop_compileoption_used(const char *zOptName){ - int i, n; - if( sqlite3StrNICmp(zOptName, "SQLITE_", 7)==0 ) zOptName += 7; - if( sqlite3StrNICmp(zOptName, "INTEROP_", 8)==0 ) zOptName += 8; - n = sqlite3Strlen30(zOptName); - - /* Since ArraySize(azInteropCompileOpt) is normally in single digits, a - ** linear search is adequate. No need for a binary search. */ - for(i=0; i=0 && N + + + + System.Data.SQLite.MSIL + 1.0.90.0 + SQLite Development Team + An ADO.NET provider for SQLite (managed-only). + en-US + http://system.data.sqlite.org/ + http://system.data.sqlite.org/images/sqlite32.png + http://www.sqlite.org/copyright.html + sqlite database ado.net provider interop + Public Domain + + + + + + + + + + + + + + + + Index: SQLite.NET.2005.MSBuild.sln ================================================================== --- SQLite.NET.2005.MSBuild.sln +++ SQLite.NET.2005.MSBuild.sln @@ -2,23 +2,20 @@ # Visual Studio 2005 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{39A3B743-1EBD-4CC0-8E37-ACE3DD38B1C0}" ProjectSection(SolutionItems) = preProject exclude_bin.txt = exclude_bin.txt exclude_src.txt = exclude_src.txt - NuGet\net20\config.transform = NuGet\net20\config.transform - NuGet\net40\config.transform = NuGet\net40\config.transform - NuGet\net20\install.ps1 = NuGet\net20\install.ps1 - NuGet\net40\install.ps1 = NuGet\net40\install.ps1 - NuGet\SQLite.Beta.nuspec = NuGet\SQLite.Beta.nuspec - NuGet\SQLite.MSIL.nuspec = NuGet\SQLite.MSIL.nuspec - NuGet\SQLite.nuspec = NuGet\SQLite.nuspec - NuGet\SQLite.x64.nuspec = NuGet\SQLite.x64.nuspec - NuGet\SQLite.x86.nuspec = NuGet\SQLite.x86.nuspec + install.ps1 = install.ps1 readme.htm = readme.htm + SQLite.Beta.nuspec = SQLite.Beta.nuspec + SQLite.MSIL.nuspec = SQLite.MSIL.nuspec SQLite.NET.Settings.targets = SQLite.NET.Settings.targets SQLite.NET.Settings.targets.netFx35 = SQLite.NET.Settings.targets.netFx35 SQLite.NET.targets = SQLite.NET.targets + SQLite.nuspec = SQLite.nuspec + SQLite.x64.nuspec = SQLite.x64.nuspec + SQLite.x86.nuspec = SQLite.x86.nuspec System.Data.SQLite\System.Data.SQLite.CF.snk = System.Data.SQLite\System.Data.SQLite.CF.snk System.Data.SQLite\System.Data.SQLite.Files.targets = System.Data.SQLite\System.Data.SQLite.Files.targets System.Data.SQLite\System.Data.SQLite.Properties.targets = System.Data.SQLite\System.Data.SQLite.Properties.targets System.Data.SQLite\System.Data.SQLite.References.targets = System.Data.SQLite\System.Data.SQLite.References.targets System.Data.SQLite\System.Data.SQLite.snk = System.Data.SQLite\System.Data.SQLite.snk Index: SQLite.NET.2005.sln ================================================================== --- SQLite.NET.2005.sln +++ SQLite.NET.2005.sln @@ -2,23 +2,20 @@ # Visual Studio 2005 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{39A3B743-1EBD-4CC0-8E37-ACE3DD38B1C0}" ProjectSection(SolutionItems) = preProject exclude_bin.txt = exclude_bin.txt exclude_src.txt = exclude_src.txt - NuGet\net20\config.transform = NuGet\net20\config.transform - NuGet\net40\config.transform = NuGet\net40\config.transform - NuGet\net20\install.ps1 = NuGet\net20\install.ps1 - NuGet\net40\install.ps1 = NuGet\net40\install.ps1 - NuGet\SQLite.Beta.nuspec = NuGet\SQLite.Beta.nuspec - NuGet\SQLite.MSIL.nuspec = NuGet\SQLite.MSIL.nuspec - NuGet\SQLite.nuspec = NuGet\SQLite.nuspec - NuGet\SQLite.x64.nuspec = NuGet\SQLite.x64.nuspec - NuGet\SQLite.x86.nuspec = NuGet\SQLite.x86.nuspec + install.ps1 = install.ps1 readme.htm = readme.htm + SQLite.Beta.nuspec = SQLite.Beta.nuspec + SQLite.MSIL.nuspec = SQLite.MSIL.nuspec SQLite.NET.Settings.targets = SQLite.NET.Settings.targets SQLite.NET.Settings.targets.netFx35 = SQLite.NET.Settings.targets.netFx35 SQLite.NET.targets = SQLite.NET.targets + SQLite.nuspec = SQLite.nuspec + SQLite.x64.nuspec = SQLite.x64.nuspec + SQLite.x86.nuspec = SQLite.x86.nuspec System.Data.SQLite\System.Data.SQLite.CF.snk = System.Data.SQLite\System.Data.SQLite.CF.snk System.Data.SQLite\System.Data.SQLite.Files.targets = System.Data.SQLite\System.Data.SQLite.Files.targets System.Data.SQLite\System.Data.SQLite.Properties.targets = System.Data.SQLite\System.Data.SQLite.Properties.targets System.Data.SQLite\System.Data.SQLite.References.targets = System.Data.SQLite\System.Data.SQLite.References.targets System.Data.SQLite\System.Data.SQLite.snk = System.Data.SQLite\System.Data.SQLite.snk Index: SQLite.NET.2008.MSBuild.sln ================================================================== --- SQLite.NET.2008.MSBuild.sln +++ SQLite.NET.2008.MSBuild.sln @@ -2,23 +2,20 @@ # Visual Studio 2008 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{39A3B743-1EBD-4CC0-8E37-ACE3DD38B1C0}" ProjectSection(SolutionItems) = preProject exclude_bin.txt = exclude_bin.txt exclude_src.txt = exclude_src.txt - NuGet\net20\config.transform = NuGet\net20\config.transform - NuGet\net40\config.transform = NuGet\net40\config.transform - NuGet\net20\install.ps1 = NuGet\net20\install.ps1 - NuGet\net40\install.ps1 = NuGet\net40\install.ps1 - NuGet\SQLite.Beta.nuspec = NuGet\SQLite.Beta.nuspec - NuGet\SQLite.MSIL.nuspec = NuGet\SQLite.MSIL.nuspec - NuGet\SQLite.nuspec = NuGet\SQLite.nuspec - NuGet\SQLite.x64.nuspec = NuGet\SQLite.x64.nuspec - NuGet\SQLite.x86.nuspec = NuGet\SQLite.x86.nuspec + install.ps1 = install.ps1 readme.htm = readme.htm + SQLite.Beta.nuspec = SQLite.Beta.nuspec + SQLite.MSIL.nuspec = SQLite.MSIL.nuspec SQLite.NET.Settings.targets = SQLite.NET.Settings.targets SQLite.NET.Settings.targets.netFx35 = SQLite.NET.Settings.targets.netFx35 SQLite.NET.targets = SQLite.NET.targets + SQLite.nuspec = SQLite.nuspec + SQLite.x64.nuspec = SQLite.x64.nuspec + SQLite.x86.nuspec = SQLite.x86.nuspec System.Data.SQLite\System.Data.SQLite.CF.snk = System.Data.SQLite\System.Data.SQLite.CF.snk System.Data.SQLite\System.Data.SQLite.Files.targets = System.Data.SQLite\System.Data.SQLite.Files.targets System.Data.SQLite\System.Data.SQLite.Properties.targets = System.Data.SQLite\System.Data.SQLite.Properties.targets System.Data.SQLite\System.Data.SQLite.References.targets = System.Data.SQLite\System.Data.SQLite.References.targets System.Data.SQLite\System.Data.SQLite.snk = System.Data.SQLite\System.Data.SQLite.snk Index: SQLite.NET.2008.sln ================================================================== --- SQLite.NET.2008.sln +++ SQLite.NET.2008.sln @@ -2,23 +2,20 @@ # Visual Studio 2008 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{39A3B743-1EBD-4CC0-8E37-ACE3DD38B1C0}" ProjectSection(SolutionItems) = preProject exclude_bin.txt = exclude_bin.txt exclude_src.txt = exclude_src.txt - NuGet\net20\config.transform = NuGet\net20\config.transform - NuGet\net40\config.transform = NuGet\net40\config.transform - NuGet\net20\install.ps1 = NuGet\net20\install.ps1 - NuGet\net40\install.ps1 = NuGet\net40\install.ps1 - NuGet\SQLite.Beta.nuspec = NuGet\SQLite.Beta.nuspec - NuGet\SQLite.MSIL.nuspec = NuGet\SQLite.MSIL.nuspec - NuGet\SQLite.nuspec = NuGet\SQLite.nuspec - NuGet\SQLite.x64.nuspec = NuGet\SQLite.x64.nuspec - NuGet\SQLite.x86.nuspec = NuGet\SQLite.x86.nuspec + install.ps1 = install.ps1 readme.htm = readme.htm + SQLite.Beta.nuspec = SQLite.Beta.nuspec + SQLite.MSIL.nuspec = SQLite.MSIL.nuspec SQLite.NET.Settings.targets = SQLite.NET.Settings.targets SQLite.NET.Settings.targets.netFx35 = SQLite.NET.Settings.targets.netFx35 SQLite.NET.targets = SQLite.NET.targets + SQLite.nuspec = SQLite.nuspec + SQLite.x64.nuspec = SQLite.x64.nuspec + SQLite.x86.nuspec = SQLite.x86.nuspec System.Data.SQLite\System.Data.SQLite.CF.snk = System.Data.SQLite\System.Data.SQLite.CF.snk System.Data.SQLite\System.Data.SQLite.Files.targets = System.Data.SQLite\System.Data.SQLite.Files.targets System.Data.SQLite\System.Data.SQLite.Properties.targets = System.Data.SQLite\System.Data.SQLite.Properties.targets System.Data.SQLite\System.Data.SQLite.References.targets = System.Data.SQLite\System.Data.SQLite.References.targets System.Data.SQLite\System.Data.SQLite.snk = System.Data.SQLite\System.Data.SQLite.snk Index: SQLite.NET.2010.MSBuild.sln ================================================================== --- SQLite.NET.2010.MSBuild.sln +++ SQLite.NET.2010.MSBuild.sln @@ -2,23 +2,20 @@ # Visual Studio 2010 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{39A3B743-1EBD-4CC0-8E37-ACE3DD38B1C0}" ProjectSection(SolutionItems) = preProject exclude_bin.txt = exclude_bin.txt exclude_src.txt = exclude_src.txt - NuGet\net20\config.transform = NuGet\net20\config.transform - NuGet\net40\config.transform = NuGet\net40\config.transform - NuGet\net20\install.ps1 = NuGet\net20\install.ps1 - NuGet\net40\install.ps1 = NuGet\net40\install.ps1 - NuGet\SQLite.Beta.nuspec = NuGet\SQLite.Beta.nuspec - NuGet\SQLite.MSIL.nuspec = NuGet\SQLite.MSIL.nuspec - NuGet\SQLite.nuspec = NuGet\SQLite.nuspec - NuGet\SQLite.x64.nuspec = NuGet\SQLite.x64.nuspec - NuGet\SQLite.x86.nuspec = NuGet\SQLite.x86.nuspec + install.ps1 = install.ps1 readme.htm = readme.htm + SQLite.Beta.nuspec = SQLite.Beta.nuspec + SQLite.MSIL.nuspec = SQLite.MSIL.nuspec SQLite.NET.Settings.targets = SQLite.NET.Settings.targets SQLite.NET.Settings.targets.netFx35 = SQLite.NET.Settings.targets.netFx35 SQLite.NET.targets = SQLite.NET.targets + SQLite.nuspec = SQLite.nuspec + SQLite.x64.nuspec = SQLite.x64.nuspec + SQLite.x86.nuspec = SQLite.x86.nuspec System.Data.SQLite\System.Data.SQLite.CF.snk = System.Data.SQLite\System.Data.SQLite.CF.snk System.Data.SQLite\System.Data.SQLite.Files.targets = System.Data.SQLite\System.Data.SQLite.Files.targets System.Data.SQLite\System.Data.SQLite.Properties.targets = System.Data.SQLite\System.Data.SQLite.Properties.targets System.Data.SQLite\System.Data.SQLite.References.targets = System.Data.SQLite\System.Data.SQLite.References.targets System.Data.SQLite\System.Data.SQLite.snk = System.Data.SQLite\System.Data.SQLite.snk @@ -35,26 +32,18 @@ {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.Linq.2010", "System.Data.SQLite.Linq\System.Data.SQLite.Linq.2010.csproj", "{E6BF9F74-58E2-413B-A7CE-EA653ECB728D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.EF6.2010", "System.Data.SQLite.Linq\System.Data.SQLite.EF6.2010.csproj", "{F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLite.Designer.2010", "SQLite.Designer\SQLite.Designer.2010.csproj", "{9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testlinq.2010", "testlinq\testlinq.2010.csproj", "{9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} = {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testef6.2010", "testlinq\testef6.2010.csproj", "{2975AE0A-F159-4834-A837-5242C6691886}" - ProjectSection(ProjectDependencies) = postProject - {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} = {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLite.Interop.Static.2010", "SQLite.Interop\SQLite.Interop.Static.2010.vcxproj", "{490CBC51-A3B2-4397-89F9-16E858DCB4F8}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject @@ -286,50 +275,10 @@ {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Win32.ActiveCfg = Debug|Any CPU @@ -406,50 +355,10 @@ {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Win32.ActiveCfg = Debug|Win32 Index: SQLite.NET.2010.sln ================================================================== --- SQLite.NET.2010.sln +++ SQLite.NET.2010.sln @@ -2,23 +2,20 @@ # Visual Studio 2010 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{39A3B743-1EBD-4CC0-8E37-ACE3DD38B1C0}" ProjectSection(SolutionItems) = preProject exclude_bin.txt = exclude_bin.txt exclude_src.txt = exclude_src.txt - NuGet\net20\config.transform = NuGet\net20\config.transform - NuGet\net40\config.transform = NuGet\net40\config.transform - NuGet\net20\install.ps1 = NuGet\net20\install.ps1 - NuGet\net40\install.ps1 = NuGet\net40\install.ps1 - NuGet\SQLite.Beta.nuspec = NuGet\SQLite.Beta.nuspec - NuGet\SQLite.MSIL.nuspec = NuGet\SQLite.MSIL.nuspec - NuGet\SQLite.nuspec = NuGet\SQLite.nuspec - NuGet\SQLite.x64.nuspec = NuGet\SQLite.x64.nuspec - NuGet\SQLite.x86.nuspec = NuGet\SQLite.x86.nuspec + install.ps1 = install.ps1 readme.htm = readme.htm + SQLite.Beta.nuspec = SQLite.Beta.nuspec + SQLite.MSIL.nuspec = SQLite.MSIL.nuspec SQLite.NET.Settings.targets = SQLite.NET.Settings.targets SQLite.NET.Settings.targets.netFx35 = SQLite.NET.Settings.targets.netFx35 SQLite.NET.targets = SQLite.NET.targets + SQLite.nuspec = SQLite.nuspec + SQLite.x64.nuspec = SQLite.x64.nuspec + SQLite.x86.nuspec = SQLite.x86.nuspec System.Data.SQLite\System.Data.SQLite.CF.snk = System.Data.SQLite\System.Data.SQLite.CF.snk System.Data.SQLite\System.Data.SQLite.Files.targets = System.Data.SQLite\System.Data.SQLite.Files.targets System.Data.SQLite\System.Data.SQLite.Properties.targets = System.Data.SQLite\System.Data.SQLite.Properties.targets System.Data.SQLite\System.Data.SQLite.References.targets = System.Data.SQLite\System.Data.SQLite.References.targets System.Data.SQLite\System.Data.SQLite.snk = System.Data.SQLite\System.Data.SQLite.snk @@ -35,26 +32,18 @@ {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.Linq.2010", "System.Data.SQLite.Linq\System.Data.SQLite.Linq.2010.csproj", "{E6BF9F74-58E2-413B-A7CE-EA653ECB728D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.EF6.2010", "System.Data.SQLite.Linq\System.Data.SQLite.EF6.2010.csproj", "{F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLite.Designer.2010", "SQLite.Designer\SQLite.Designer.2010.csproj", "{9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testlinq.2010", "testlinq\testlinq.2010.csproj", "{9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} = {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testef6.2010", "testlinq\testef6.2010.csproj", "{2975AE0A-F159-4834-A837-5242C6691886}" - ProjectSection(ProjectDependencies) = postProject - {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} = {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLite.Interop.Static.2010", "SQLite.Interop\SQLite.Interop.Static.2010.vcxproj", "{490CBC51-A3B2-4397-89F9-16E858DCB4F8}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject @@ -238,42 +227,10 @@ {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Win32.ActiveCfg = Debug|Any CPU @@ -334,42 +291,10 @@ {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Win32.ActiveCfg = Debug|Win32 Index: SQLite.NET.2012.MSBuild.sln ================================================================== --- SQLite.NET.2012.MSBuild.sln +++ SQLite.NET.2012.MSBuild.sln @@ -2,23 +2,20 @@ # Visual Studio 2012 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{39A3B743-1EBD-4CC0-8E37-ACE3DD38B1C0}" ProjectSection(SolutionItems) = preProject exclude_bin.txt = exclude_bin.txt exclude_src.txt = exclude_src.txt - NuGet\net20\config.transform = NuGet\net20\config.transform - NuGet\net40\config.transform = NuGet\net40\config.transform - NuGet\net20\install.ps1 = NuGet\net20\install.ps1 - NuGet\net40\install.ps1 = NuGet\net40\install.ps1 - NuGet\SQLite.Beta.nuspec = NuGet\SQLite.Beta.nuspec - NuGet\SQLite.MSIL.nuspec = NuGet\SQLite.MSIL.nuspec - NuGet\SQLite.nuspec = NuGet\SQLite.nuspec - NuGet\SQLite.x64.nuspec = NuGet\SQLite.x64.nuspec - NuGet\SQLite.x86.nuspec = NuGet\SQLite.x86.nuspec + install.ps1 = install.ps1 readme.htm = readme.htm + SQLite.Beta.nuspec = SQLite.Beta.nuspec + SQLite.MSIL.nuspec = SQLite.MSIL.nuspec SQLite.NET.Settings.targets = SQLite.NET.Settings.targets SQLite.NET.Settings.targets.netFx35 = SQLite.NET.Settings.targets.netFx35 SQLite.NET.targets = SQLite.NET.targets + SQLite.nuspec = SQLite.nuspec + SQLite.x64.nuspec = SQLite.x64.nuspec + SQLite.x86.nuspec = SQLite.x86.nuspec System.Data.SQLite\System.Data.SQLite.CF.snk = System.Data.SQLite\System.Data.SQLite.CF.snk System.Data.SQLite\System.Data.SQLite.Files.targets = System.Data.SQLite\System.Data.SQLite.Files.targets System.Data.SQLite\System.Data.SQLite.Properties.targets = System.Data.SQLite\System.Data.SQLite.Properties.targets System.Data.SQLite\System.Data.SQLite.References.targets = System.Data.SQLite\System.Data.SQLite.References.targets System.Data.SQLite\System.Data.SQLite.snk = System.Data.SQLite\System.Data.SQLite.snk @@ -35,26 +32,18 @@ {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.Linq.2012", "System.Data.SQLite.Linq\System.Data.SQLite.Linq.2012.csproj", "{E6BF9F74-58E2-413B-A7CE-EA653ECB728D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.EF6.2010", "System.Data.SQLite.Linq\System.Data.SQLite.EF6.2012.csproj", "{F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLite.Designer.2012", "SQLite.Designer\SQLite.Designer.2012.csproj", "{9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testlinq.2012", "testlinq\testlinq.2012.csproj", "{9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} = {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testef6.2012", "testlinq\testef6.2012.csproj", "{2975AE0A-F159-4834-A837-5242C6691886}" - ProjectSection(ProjectDependencies) = postProject - {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} = {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLite.Interop.Static.2012", "SQLite.Interop\SQLite.Interop.Static.2012.vcxproj", "{490CBC51-A3B2-4397-89F9-16E858DCB4F8}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject @@ -286,50 +275,10 @@ {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Win32.ActiveCfg = Debug|Any CPU @@ -406,50 +355,10 @@ {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Win32.ActiveCfg = Debug|Win32 Index: SQLite.NET.2012.sln ================================================================== --- SQLite.NET.2012.sln +++ SQLite.NET.2012.sln @@ -2,23 +2,20 @@ # Visual Studio 2012 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{39A3B743-1EBD-4CC0-8E37-ACE3DD38B1C0}" ProjectSection(SolutionItems) = preProject exclude_bin.txt = exclude_bin.txt exclude_src.txt = exclude_src.txt - NuGet\net20\config.transform = NuGet\net20\config.transform - NuGet\net40\config.transform = NuGet\net40\config.transform - NuGet\net20\install.ps1 = NuGet\net20\install.ps1 - NuGet\net40\install.ps1 = NuGet\net40\install.ps1 - NuGet\SQLite.Beta.nuspec = NuGet\SQLite.Beta.nuspec - NuGet\SQLite.MSIL.nuspec = NuGet\SQLite.MSIL.nuspec - NuGet\SQLite.nuspec = NuGet\SQLite.nuspec - NuGet\SQLite.x64.nuspec = NuGet\SQLite.x64.nuspec - NuGet\SQLite.x86.nuspec = NuGet\SQLite.x86.nuspec + install.ps1 = install.ps1 readme.htm = readme.htm + SQLite.Beta.nuspec = SQLite.Beta.nuspec + SQLite.MSIL.nuspec = SQLite.MSIL.nuspec SQLite.NET.Settings.targets = SQLite.NET.Settings.targets SQLite.NET.Settings.targets.netFx35 = SQLite.NET.Settings.targets.netFx35 SQLite.NET.targets = SQLite.NET.targets + SQLite.nuspec = SQLite.nuspec + SQLite.x64.nuspec = SQLite.x64.nuspec + SQLite.x86.nuspec = SQLite.x86.nuspec System.Data.SQLite\System.Data.SQLite.CF.snk = System.Data.SQLite\System.Data.SQLite.CF.snk System.Data.SQLite\System.Data.SQLite.Files.targets = System.Data.SQLite\System.Data.SQLite.Files.targets System.Data.SQLite\System.Data.SQLite.Properties.targets = System.Data.SQLite\System.Data.SQLite.Properties.targets System.Data.SQLite\System.Data.SQLite.References.targets = System.Data.SQLite\System.Data.SQLite.References.targets System.Data.SQLite\System.Data.SQLite.snk = System.Data.SQLite\System.Data.SQLite.snk @@ -35,26 +32,18 @@ {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.Linq.2012", "System.Data.SQLite.Linq\System.Data.SQLite.Linq.2012.csproj", "{E6BF9F74-58E2-413B-A7CE-EA653ECB728D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.EF6.2010", "System.Data.SQLite.Linq\System.Data.SQLite.EF6.2012.csproj", "{F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLite.Designer.2012", "SQLite.Designer\SQLite.Designer.2012.csproj", "{9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testlinq.2012", "testlinq\testlinq.2012.csproj", "{9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} = {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testef6.2012", "testlinq\testef6.2012.csproj", "{2975AE0A-F159-4834-A837-5242C6691886}" - ProjectSection(ProjectDependencies) = postProject - {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} = {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLite.Interop.Static.2012", "SQLite.Interop\SQLite.Interop.Static.2012.vcxproj", "{490CBC51-A3B2-4397-89F9-16E858DCB4F8}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject @@ -238,42 +227,10 @@ {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Win32.ActiveCfg = Debug|Any CPU @@ -334,42 +291,10 @@ {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Win32.ActiveCfg = Debug|Win32 Index: SQLite.NET.2013.MSBuild.sln ================================================================== --- SQLite.NET.2013.MSBuild.sln +++ SQLite.NET.2013.MSBuild.sln @@ -2,23 +2,20 @@ # Visual Studio 2013 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{39A3B743-1EBD-4CC0-8E37-ACE3DD38B1C0}" ProjectSection(SolutionItems) = preProject exclude_bin.txt = exclude_bin.txt exclude_src.txt = exclude_src.txt - NuGet\net20\config.transform = NuGet\net20\config.transform - NuGet\net40\config.transform = NuGet\net40\config.transform - NuGet\net20\install.ps1 = NuGet\net20\install.ps1 - NuGet\net40\install.ps1 = NuGet\net40\install.ps1 - NuGet\SQLite.Beta.nuspec = NuGet\SQLite.Beta.nuspec - NuGet\SQLite.MSIL.nuspec = NuGet\SQLite.MSIL.nuspec - NuGet\SQLite.nuspec = NuGet\SQLite.nuspec - NuGet\SQLite.x64.nuspec = NuGet\SQLite.x64.nuspec - NuGet\SQLite.x86.nuspec = NuGet\SQLite.x86.nuspec + install.ps1 = install.ps1 readme.htm = readme.htm + SQLite.Beta.nuspec = SQLite.Beta.nuspec + SQLite.MSIL.nuspec = SQLite.MSIL.nuspec SQLite.NET.Settings.targets = SQLite.NET.Settings.targets SQLite.NET.Settings.targets.netFx35 = SQLite.NET.Settings.targets.netFx35 SQLite.NET.targets = SQLite.NET.targets + SQLite.nuspec = SQLite.nuspec + SQLite.x64.nuspec = SQLite.x64.nuspec + SQLite.x86.nuspec = SQLite.x86.nuspec System.Data.SQLite\System.Data.SQLite.CF.snk = System.Data.SQLite\System.Data.SQLite.CF.snk System.Data.SQLite\System.Data.SQLite.Files.targets = System.Data.SQLite\System.Data.SQLite.Files.targets System.Data.SQLite\System.Data.SQLite.Properties.targets = System.Data.SQLite\System.Data.SQLite.Properties.targets System.Data.SQLite\System.Data.SQLite.References.targets = System.Data.SQLite\System.Data.SQLite.References.targets System.Data.SQLite\System.Data.SQLite.snk = System.Data.SQLite\System.Data.SQLite.snk @@ -35,26 +32,18 @@ {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.Linq.2013", "System.Data.SQLite.Linq\System.Data.SQLite.Linq.2013.csproj", "{E6BF9F74-58E2-413B-A7CE-EA653ECB728D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.EF6.2010", "System.Data.SQLite.Linq\System.Data.SQLite.EF6.2013.csproj", "{F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLite.Designer.2013", "SQLite.Designer\SQLite.Designer.2013.csproj", "{9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testlinq.2013", "testlinq\testlinq.2013.csproj", "{9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} = {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testef6.2013", "testlinq\testef6.2013.csproj", "{2975AE0A-F159-4834-A837-5242C6691886}" - ProjectSection(ProjectDependencies) = postProject - {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} = {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLite.Interop.Static.2013", "SQLite.Interop\SQLite.Interop.Static.2013.vcxproj", "{490CBC51-A3B2-4397-89F9-16E858DCB4F8}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject @@ -286,50 +275,10 @@ {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugManagedOnly|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Win32.ActiveCfg = Debug|Any CPU @@ -406,50 +355,10 @@ {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugManagedOnly|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseManagedOnly|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Win32.ActiveCfg = Debug|Win32 Index: SQLite.NET.2013.sln ================================================================== --- SQLite.NET.2013.sln +++ SQLite.NET.2013.sln @@ -2,23 +2,20 @@ # Visual Studio 2013 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{39A3B743-1EBD-4CC0-8E37-ACE3DD38B1C0}" ProjectSection(SolutionItems) = preProject exclude_bin.txt = exclude_bin.txt exclude_src.txt = exclude_src.txt - NuGet\net20\config.transform = NuGet\net20\config.transform - NuGet\net40\config.transform = NuGet\net40\config.transform - NuGet\net20\install.ps1 = NuGet\net20\install.ps1 - NuGet\net40\install.ps1 = NuGet\net40\install.ps1 - NuGet\SQLite.Beta.nuspec = NuGet\SQLite.Beta.nuspec - NuGet\SQLite.MSIL.nuspec = NuGet\SQLite.MSIL.nuspec - NuGet\SQLite.nuspec = NuGet\SQLite.nuspec - NuGet\SQLite.x64.nuspec = NuGet\SQLite.x64.nuspec - NuGet\SQLite.x86.nuspec = NuGet\SQLite.x86.nuspec + install.ps1 = install.ps1 readme.htm = readme.htm + SQLite.Beta.nuspec = SQLite.Beta.nuspec + SQLite.MSIL.nuspec = SQLite.MSIL.nuspec SQLite.NET.Settings.targets = SQLite.NET.Settings.targets SQLite.NET.Settings.targets.netFx35 = SQLite.NET.Settings.targets.netFx35 SQLite.NET.targets = SQLite.NET.targets + SQLite.nuspec = SQLite.nuspec + SQLite.x64.nuspec = SQLite.x64.nuspec + SQLite.x86.nuspec = SQLite.x86.nuspec System.Data.SQLite\System.Data.SQLite.CF.snk = System.Data.SQLite\System.Data.SQLite.CF.snk System.Data.SQLite\System.Data.SQLite.Files.targets = System.Data.SQLite\System.Data.SQLite.Files.targets System.Data.SQLite\System.Data.SQLite.Properties.targets = System.Data.SQLite\System.Data.SQLite.Properties.targets System.Data.SQLite\System.Data.SQLite.References.targets = System.Data.SQLite\System.Data.SQLite.References.targets System.Data.SQLite\System.Data.SQLite.snk = System.Data.SQLite\System.Data.SQLite.snk @@ -35,26 +32,18 @@ {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.Linq.2013", "System.Data.SQLite.Linq\System.Data.SQLite.Linq.2013.csproj", "{E6BF9F74-58E2-413B-A7CE-EA653ECB728D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.SQLite.EF6.2010", "System.Data.SQLite.Linq\System.Data.SQLite.EF6.2013.csproj", "{F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SQLite.Designer.2013", "SQLite.Designer\SQLite.Designer.2013.csproj", "{9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testlinq.2013", "testlinq\testlinq.2013.csproj", "{9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} = {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testef6.2013", "testlinq\testef6.2013.csproj", "{2975AE0A-F159-4834-A837-5242C6691886}" - ProjectSection(ProjectDependencies) = postProject - {AC139952-261A-4463-B6FA-AEBC25283A66} = {AC139952-261A-4463-B6FA-AEBC25283A66} - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} = {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SQLite.Interop.Static.2013", "SQLite.Interop\SQLite.Interop.Static.2013.vcxproj", "{490CBC51-A3B2-4397-89F9-16E858DCB4F8}" ProjectSection(ProjectDependencies) = postProject {AC139952-261A-4463-B6FA-AEBC25284A66} = {AC139952-261A-4463-B6FA-AEBC25284A66} EndProjectSection EndProject @@ -238,42 +227,10 @@ {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {E6BF9F74-58E2-413B-A7CE-EA653ECB728D}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Debug|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Any CPU.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|Win32.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.DebugNativeOnly|x64.Build.0 = Debug|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.Release|x64.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Any CPU.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Any CPU.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}.Debug|Win32.ActiveCfg = Debug|Any CPU @@ -334,42 +291,10 @@ {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Debug|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Any CPU.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Any CPU.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Mixed Platforms.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Mixed Platforms.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Win32.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|Win32.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|x64.ActiveCfg = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.DebugNativeOnly|x64.Build.0 = Debug|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.Release|x64.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Any CPU.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Any CPU.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Mixed Platforms.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Mixed Platforms.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Win32.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|Win32.Build.0 = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|x64.ActiveCfg = Release|Any CPU - {2975AE0A-F159-4834-A837-5242C6691886}.ReleaseNativeOnly|x64.Build.0 = Release|Any CPU {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Any CPU.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Mixed Platforms.Build.0 = Debug|Win32 {490CBC51-A3B2-4397-89F9-16E858DCB4F8}.Debug|Win32.ActiveCfg = Debug|Win32 Index: SQLite.NET.Settings.targets ================================================================== --- SQLite.NET.Settings.targets +++ SQLite.NET.Settings.targets @@ -416,18 +416,10 @@ NOTE: Enable the use of native Windows APIs, when available? By default, this is enabled. If this is disabled, all features that require the use of native Windows APIs will be unavailable. --> true - - - false true - - true - false Index: SQLite.NET.targets ================================================================== --- SQLite.NET.targets +++ SQLite.NET.targets @@ -48,12 +48,12 @@ - @@ -75,12 +75,12 @@ - + Outputs="$(TargetPath).Mark32BitOnly.done"> + PropertyName="DirForMark32BitOnly" /> - - - - - - - - - + + + - - - - - + Outputs="$(TargetPath).Mark32BitOnly.done"> - - + Command=""$(TargetFrameworkSDKToolsDirectory)CorFlags.exe" "$(TargetPath)" /32BIT+ /Force" /> + Files="$(TargetPath).Mark32BitOnly.done" /> ADDED SQLite.nuspec Index: SQLite.nuspec ================================================================== --- /dev/null +++ SQLite.nuspec @@ -0,0 +1,47 @@ + + + + + System.Data.SQLite + System.Data.SQLite (x86/x64) + 1.0.90.0 + SQLite Development Team + The official SQLite database engine for both x86 and x64 along with the ADO.NET provider. + en-US + http://system.data.sqlite.org/ + http://system.data.sqlite.org/images/sqlite32.png + http://www.sqlite.org/copyright.html + sqlite database ado.net provider interop + Public Domain + + + + + + + + + + + + + + + + + + + + + + + + + ADDED SQLite.x64.nuspec Index: SQLite.x64.nuspec ================================================================== --- /dev/null +++ SQLite.x64.nuspec @@ -0,0 +1,37 @@ + + + + + System.Data.SQLite.x64 + 1.0.90.0 + SQLite Development Team + The official SQLite database engine combined with a complete ADO.NET provider all rolled into a single mixed-mode assembly for x64. + en-US + http://system.data.sqlite.org/ + http://system.data.sqlite.org/images/sqlite32.png + http://www.sqlite.org/copyright.html + sqlite database ado.net provider interop + Public Domain + + + + + + + + + + + + + + + + ADDED SQLite.x86.nuspec Index: SQLite.x86.nuspec ================================================================== --- /dev/null +++ SQLite.x86.nuspec @@ -0,0 +1,37 @@ + + + + + System.Data.SQLite.x86 + 1.0.90.0 + SQLite Development Team + The official SQLite database engine combined with a complete ADO.NET provider all rolled into a single mixed-mode assembly for x86. + en-US + http://system.data.sqlite.org/ + http://system.data.sqlite.org/images/sqlite32.png + http://www.sqlite.org/copyright.html + sqlite database ado.net provider interop + Public Domain + + + + + + + + + + + + + + + + Index: Setup/SQLite.iss ================================================================== --- Setup/SQLite.iss +++ Setup/SQLite.iss @@ -60,36 +60,28 @@ #if Year != "2005" Name: Application\LINQ; Description: LINQ support components.; Types: custom compact full #endif -#if Year != "2005" && Year != "2008" -Name: Application\EF6; Description: Entity Framework 6 support components.; Types: custom compact full -#endif - Name: Application\Designer; Description: Visual Studio designer components.; Types: custom full Name: Application\Designer\Installer; Description: Visual Studio designer installer components.; Types: custom full Name: Application\Symbols; Description: Debugging symbol components.; Types: custom compact full Name: Application\Documentation; Description: Documentation components.; Types: custom compact full Name: Application\Test; Description: Test components.; Types: custom compact full [Tasks] #if Year == "2005" Components: Application\Core\MSIL; Name: ngen; Description: Generate native images for the assemblies and install the images in the native image cache.; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup() -#elif Year == "2008" -Components: Application\Core\MSIL Or Application\LINQ; Name: ngen; Description: Generate native images for the assemblies and install the images in the native image cache.; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup() #else -Components: Application\Core\MSIL Or Application\LINQ Or Application\EF6; Name: ngen; Description: Generate native images for the assemblies and install the images in the native image cache.; Check: CheckIsNetFx4Setup() +Components: Application\Core\MSIL Or Application\LINQ; Name: ngen; Description: Generate native images for the assemblies and install the images in the native image cache.; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup() #endif #if Pos("NativeOnly", AppConfiguration) == 0 #if Year == "2005" Components: Application\Core\MSIL; Name: gac; Description: Install the assemblies into the global assembly cache.; Flags: unchecked; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup() -#elif Year == "2008" -Components: Application\Core\MSIL Or Application\LINQ; Name: gac; Description: Install the assemblies into the global assembly cache.; Flags: unchecked; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup() #else -Components: Application\Core\MSIL Or Application\LINQ Or Application\EF6; Name: gac; Description: Install the assemblies into the global assembly cache.; Flags: unchecked; Check: CheckIsNetFx4Setup() +Components: Application\Core\MSIL Or Application\LINQ; Name: gac; Description: Install the assemblies into the global assembly cache.; Flags: unchecked; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup() #endif #if AppProcessor == "x86" #if Year == "2005" Components: {#InstallerCondition}; Name: gac\vs2005; Description: Install the designer components for Visual Studio 2005.; Flags: unchecked; Check: CheckIsNetFx2Setup() @@ -116,57 +108,51 @@ #if Year != "2005" Components: Application\LINQ; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.Linq.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() and CheckForNetFx35(1) Components: Application\LINQ; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.Linq.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() #endif -#if Year != "2005" && Year != "2008" -Components: Application\EF6; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.EF6.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() -#endif - #if Pos("NativeOnly", AppConfiguration) == 0 && AppProcessor == "x86" #if Year == "2005" -Components: {#InstallerCondition}; Tasks: gac\vs2005; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2005; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx35 true -noNetFx40 true -noNetFx45 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() #endif #if Year == "2008" -Components: {#InstallerCondition}; Tasks: gac\vs2008; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noVs2005 true -noVs2010 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2008; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx40 true -noNetFx45 true -noVs2005 true -noVs2010 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() #endif #if Year == "2010" -Components: {#InstallerCondition}; Tasks: gac\vs2010; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx45 true -noNetFx451 true -noVs2005 true -noVs2008 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2010; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx45 true -noVs2005 true -noVs2008 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() #endif #if Year == "2012" -Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() -Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-perUser true -install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -configVersion 4.0.30319 -vsVersionSuffix _Config -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-perUser true -install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -configVersion 4.0.30319 -vsVersionSuffix _Config -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() #endif #if Year == "2013" -Components: {#InstallerCondition}; Tasks: gac\vs2013; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2013; Filename: {app}\bin\Installer.exe; Parameters: "-install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2013; Filename: {app}\bin\Installer.exe; Parameters: "-perUser true -install true -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -configVersion 4.0.30319 -vsVersionSuffix _Config -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() #endif #endif [UninstallRun] #if Pos("NativeOnly", AppConfiguration) == 0 && AppProcessor == "x86" #if Year == "2013" -Components: {#InstallerCondition}; Tasks: gac\vs2013; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2013; Filename: {app}\bin\Installer.exe; Parameters: "-perUser true -install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -configVersion 4.0.30319 -vsVersionSuffix _Config -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2013; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2012 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() #endif #if Year == "2012" -Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-perUser true -install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -configVersion 4.0.30319 -vsVersionSuffix _Config -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() -Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx451 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-perUser true -install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noNetFx45 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -configVersion 4.0.30319 -vsVersionSuffix _Config -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2012; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx40 true -noVs2005 true -noVs2008 true -noVs2010 true -noVs2013 true -configVersion 4.0.30319 -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() #endif #if Year == "2010" -Components: {#InstallerCondition}; Tasks: gac\vs2010; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx45 true -noNetFx451 true -noVs2005 true -noVs2008 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2010; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx20 true -noNetFx45 true -noVs2005 true -noVs2008 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() #endif #if Year == "2008" -Components: {#InstallerCondition}; Tasks: gac\vs2008; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noVs2005 true -noVs2010 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2008; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx40 true -noNetFx45 true -noVs2005 true -noVs2010 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() #endif #if Year == "2005" -Components: {#InstallerCondition}; Tasks: gac\vs2005; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx35 true -noNetFx40 true -noNetFx45 true -noNetFx451 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() +Components: {#InstallerCondition}; Tasks: gac\vs2005; Filename: {app}\bin\Installer.exe; Parameters: "-install false -wow64 true -installFlags AllExceptGlobalAssemblyCache -tracePriority Lowest -verbose true -noCompact true -noNetFx35 true -noNetFx40 true -noNetFx45 true -noVs2008 true -noVs2010 true -noVs2012 true -noVs2013 true -whatIf false -confirm true"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() #endif #endif -#if Year != "2005" && Year != "2008" -Components: Application\LINQ; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.EF6.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() -#endif - #if Year != "2005" Components: Application\LINQ; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.Linq.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup() Components: Application\LINQ; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.Linq.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() and CheckForNetFx35(1) #endif @@ -192,32 +178,19 @@ #else Components: Application\Core\MSIL; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\Core\MSIL and Application\Symbols; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete #endif -Components: Application\Core\MSIL; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.dll.config; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete - #if Year != "2005" #if Pos("NativeOnly", AppConfiguration) == 0 Components: Application\LINQ; Tasks: gac; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.Linq.dll; DestDir: {app}\GAC; StrongAssemblyName: "System.Data.SQLite.Linq, Version={#AppVersion}, Culture=neutral, PublicKeyToken={#AppPublicKey}, ProcessorArchitecture=MSIL"; Flags: restartreplace uninsrestartdelete uninsnosharedfileprompt sharedfile gacinstall #endif Components: Application\LINQ; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.Linq.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\LINQ and Application\Symbols; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.Linq.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete #endif -#if Year != "2005" && Year != "2008" -#if Year == "2010" -Components: Application\EF6; Source: ..\Externals\EntityFramework\lib\net40\EntityFramework.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete -#elif Year == "2012" || Year == "2013" -Components: Application\EF6; Source: ..\Externals\EntityFramework\lib\net45\EntityFramework.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete -#endif - -Components: Application\EF6; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.EF6.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete -Components: Application\EF6 and Application\Symbols; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.EF6.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete -#endif - #if Pos("NativeOnly", AppConfiguration) != 0 Components: Application\Core\{#AppProcessor}; Source: ..\bin\{#Year}\{#AppPlatform}\{#AppConfiguration}\SQLite.Interop.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\Core\{#AppProcessor} and Application\Symbols; Source: ..\bin\{#Year}\{#AppPlatform}\{#AppConfiguration}\SQLite.Interop.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete #endif @@ -232,20 +205,12 @@ #if Year != "2005" Components: Application\Test and Application\LINQ; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\testlinq.exe; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\Test and Application\LINQ and Application\Symbols; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\testlinq.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete Components: Application\Test and Application\LINQ; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\testlinq.exe.config; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete -#endif - -#if Year != "2005" && Year != "2008" -Components: Application\Test and (Application\LINQ or Application\EF6); Source: ..\testlinq\northwindEF.db; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete -Components: Application\Test and (Application\LINQ or Application\EF6); Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\testef6.exe; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete -Components: Application\Test and (Application\LINQ or Application\EF6) and Application\Symbols; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\testef6.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete -Components: Application\Test and (Application\LINQ or Application\EF6); Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\testef6.exe.config; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete -#elif Year != "2005" Components: Application\Test and Application\LINQ; Source: ..\testlinq\northwindEF.db; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete #endif [Icons] Name: {group}\Test Application; Filename: {app}\bin\test.exe; WorkingDir: {app}\bin; IconFilename: {app}\bin\test.exe; Comment: Launch Test Application; IconIndex: 0; Flags: createonlyiffileexists Name: {group}\Class Library Documentation; Filename: {app}\doc\SQLite.NET.chm; WorkingDir: {app}\doc; Comment: Launch Class Library Documentation; Flags: createonlyiffileexists Name: {group}\README File; Filename: {app}\readme.htm; WorkingDir: {app}; Comment: View README File; Flags: createonlyiffileexists Index: Setup/build.bat ================================================================== --- Setup/build.bat +++ Setup/build.bat @@ -301,14 +301,13 @@ ) ELSE ( ECHO WARNING: Source tagging skipped, disabled via NOTAG environment variable. ) %_VECHO% Logging = '%LOGGING%' -%_VECHO% BuildArgs = '%BUILD_ARGS%' %_VECHO% MsBuildArgs = '%MSBUILD_ARGS%' -%__ECHO% MSBuild.exe "%SOLUTION%" "/target:%TARGET%" "/property:Configuration=%CONFIGURATION%" "/property:Platform=%PLATFORM%" %LOGGING% %BUILD_ARGS% %MSBUILD_ARGS% +%__ECHO% MSBuild.exe "%SOLUTION%" "/target:%TARGET%" "/property:Configuration=%CONFIGURATION%" "/property:Platform=%PLATFORM%" %LOGGING% %MSBUILD_ARGS% IF ERRORLEVEL 1 ( ECHO Build failed. GOTO errors ) Index: Setup/clean.bat ================================================================== --- Setup/clean.bat +++ Setup/clean.bat @@ -241,26 +241,10 @@ ) ELSE ( %_AECHO% No files matching "%SOURCE%\Doc\SQLite.NET.chw" exist. %_AECHO%. ) -IF EXIST "%SOURCE%\Externals\Eagle\bin\EntityFramework.*" ( - %__ECHO% DEL /Q "%SOURCE%\Externals\Eagle\bin\EntityFramework.*" - - IF ERRORLEVEL 1 ( - ECHO Could not delete "%SOURCE%\Externals\Eagle\bin\EntityFramework.*". - ECHO. - GOTO errors - ) ELSE ( - %_AECHO% Deleted "%SOURCE%\Externals\Eagle\bin\EntityFramework.*". - %_AECHO%. - ) -) ELSE ( - %_AECHO% No files matching "%SOURCE%\Externals\Eagle\bin\EntityFramework.*" exist. - %_AECHO%. -) - IF EXIST "%SOURCE%\Externals\Eagle\bin\sqlite3.*" ( %__ECHO% DEL /Q "%SOURCE%\Externals\Eagle\bin\sqlite3.*" IF ERRORLEVEL 1 ( ECHO Could not delete "%SOURCE%\Externals\Eagle\bin\sqlite3.*". @@ -273,58 +257,10 @@ ) ELSE ( %_AECHO% No files matching "%SOURCE%\Externals\Eagle\bin\sqlite3.*" exist. %_AECHO%. ) -IF EXIST "%SOURCE%\Externals\Eagle\bin\Win32\sqlite3.*" ( - %__ECHO% DEL /Q "%SOURCE%\Externals\Eagle\bin\Win32\sqlite3.*" - - IF ERRORLEVEL 1 ( - ECHO Could not delete "%SOURCE%\Externals\Eagle\bin\Win32\sqlite3.*". - ECHO. - GOTO errors - ) ELSE ( - %_AECHO% Deleted "%SOURCE%\Externals\Eagle\bin\Win32\sqlite3.*". - %_AECHO%. - ) -) ELSE ( - %_AECHO% No files matching "%SOURCE%\Externals\Eagle\bin\Win32\sqlite3.*" exist. - %_AECHO%. -) - -IF EXIST "%SOURCE%\Externals\Eagle\bin\x86\sqlite3.*" ( - %__ECHO% DEL /Q "%SOURCE%\Externals\Eagle\bin\x86\sqlite3.*" - - IF ERRORLEVEL 1 ( - ECHO Could not delete "%SOURCE%\Externals\Eagle\bin\x86\sqlite3.*". - ECHO. - GOTO errors - ) ELSE ( - %_AECHO% Deleted "%SOURCE%\Externals\Eagle\bin\x86\sqlite3.*". - %_AECHO%. - ) -) ELSE ( - %_AECHO% No files matching "%SOURCE%\Externals\Eagle\bin\x86\sqlite3.*" exist. - %_AECHO%. -) - -IF EXIST "%SOURCE%\Externals\Eagle\bin\x64\sqlite3.*" ( - %__ECHO% DEL /Q "%SOURCE%\Externals\Eagle\bin\x64\sqlite3.*" - - IF ERRORLEVEL 1 ( - ECHO Could not delete "%SOURCE%\Externals\Eagle\bin\x64\sqlite3.*". - ECHO. - GOTO errors - ) ELSE ( - %_AECHO% Deleted "%SOURCE%\Externals\Eagle\bin\x64\sqlite3.*". - %_AECHO%. - ) -) ELSE ( - %_AECHO% No files matching "%SOURCE%\Externals\Eagle\bin\x64\sqlite3.*" exist. - %_AECHO%. -) - IF EXIST "%SOURCE%\Externals\Eagle\bin\SQLite.Interop.*" ( %__ECHO% DEL /Q "%SOURCE%\Externals\Eagle\bin\SQLite.Interop.*" IF ERRORLEVEL 1 ( ECHO Could not delete "%SOURCE%\Externals\Eagle\bin\SQLite.Interop.*". @@ -337,58 +273,10 @@ ) ELSE ( %_AECHO% No files matching "%SOURCE%\Externals\Eagle\bin\SQLite.Interop.*" exist. %_AECHO%. ) -IF EXIST "%SOURCE%\Externals\Eagle\bin\Win32\SQLite.Interop.*" ( - %__ECHO% DEL /Q "%SOURCE%\Externals\Eagle\bin\Win32\SQLite.Interop.*" - - IF ERRORLEVEL 1 ( - ECHO Could not delete "%SOURCE%\Externals\Eagle\bin\Win32\SQLite.Interop.*". - ECHO. - GOTO errors - ) ELSE ( - %_AECHO% Deleted "%SOURCE%\Externals\Eagle\bin\Win32\SQLite.Interop.*". - %_AECHO%. - ) -) ELSE ( - %_AECHO% No files matching "%SOURCE%\Externals\Eagle\bin\Win32\SQLite.Interop.*" exist. - %_AECHO%. -) - -IF EXIST "%SOURCE%\Externals\Eagle\bin\x86\SQLite.Interop.*" ( - %__ECHO% DEL /Q "%SOURCE%\Externals\Eagle\bin\x86\SQLite.Interop.*" - - IF ERRORLEVEL 1 ( - ECHO Could not delete "%SOURCE%\Externals\Eagle\bin\x86\SQLite.Interop.*". - ECHO. - GOTO errors - ) ELSE ( - %_AECHO% Deleted "%SOURCE%\Externals\Eagle\bin\x86\SQLite.Interop.*". - %_AECHO%. - ) -) ELSE ( - %_AECHO% No files matching "%SOURCE%\Externals\Eagle\bin\x86\SQLite.Interop.*" exist. - %_AECHO%. -) - -IF EXIST "%SOURCE%\Externals\Eagle\bin\x64\SQLite.Interop.*" ( - %__ECHO% DEL /Q "%SOURCE%\Externals\Eagle\bin\x64\SQLite.Interop.*" - - IF ERRORLEVEL 1 ( - ECHO Could not delete "%SOURCE%\Externals\Eagle\bin\x64\SQLite.Interop.*". - ECHO. - GOTO errors - ) ELSE ( - %_AECHO% Deleted "%SOURCE%\Externals\Eagle\bin\x64\SQLite.Interop.*". - %_AECHO%. - ) -) ELSE ( - %_AECHO% No files matching "%SOURCE%\Externals\Eagle\bin\x64\SQLite.Interop.*" exist. - %_AECHO%. -) - IF EXIST "%SOURCE%\Externals\Eagle\bin\System.Data.SQLite.*" ( %__ECHO% DEL /Q "%SOURCE%\Externals\Eagle\bin\System.Data.SQLite.*" IF ERRORLEVEL 1 ( ECHO Could not delete "%SOURCE%\Externals\Eagle\bin\System.Data.SQLite.*". @@ -417,26 +305,10 @@ ) ELSE ( %_AECHO% No files matching "%SOURCE%\Externals\Eagle\bin\System.Data.SQLite.Linq.*" exist. %_AECHO%. ) -IF EXIST "%SOURCE%\Externals\Eagle\bin\System.Data.SQLite.EF6.*" ( - %__ECHO% DEL /Q "%SOURCE%\Externals\Eagle\bin\System.Data.SQLite.EF6.*" - - IF ERRORLEVEL 1 ( - ECHO Could not delete "%SOURCE%\Externals\Eagle\bin\System.Data.SQLite.EF6.*". - ECHO. - GOTO errors - ) ELSE ( - %_AECHO% Deleted "%SOURCE%\Externals\Eagle\bin\System.Data.SQLite.EF6.*". - %_AECHO%. - ) -) ELSE ( - %_AECHO% No files matching "%SOURCE%\Externals\Eagle\bin\System.Data.SQLite.EF6.*" exist. - %_AECHO%. -) - IF EXIST "%TEMP%\EagleShell.exe.test.*.log" ( %__ECHO% DEL /Q "%TEMP%\EagleShell.exe.test.*.log" IF ERRORLEVEL 1 ( ECHO Could not delete "%TEMP%\EagleShell.exe.test.*.log". @@ -449,26 +321,10 @@ ) ELSE ( %_AECHO% No files matching "%TEMP%\EagleShell.exe.test.*.log" exist. %_AECHO%. ) -IF EXIST "%TEMP%\EagleShell32.exe.test.*.log" ( - %__ECHO% DEL /Q "%TEMP%\EagleShell32.exe.test.*.log" - - IF ERRORLEVEL 1 ( - ECHO Could not delete "%TEMP%\EagleShell32.exe.test.*.log". - ECHO. - GOTO errors - ) ELSE ( - %_AECHO% Deleted "%TEMP%\EagleShell32.exe.test.*.log". - %_AECHO%. - ) -) ELSE ( - %_AECHO% No files matching "%TEMP%\EagleShell32.exe.test.*.log" exist. - %_AECHO%. -) - IF EXIST "%TEMP%\mono.exe.test.*.log" ( %__ECHO% DEL /Q "%TEMP%\mono.exe.test.*.log" IF ERRORLEVEL 1 ( ECHO Could not delete "%TEMP%\mono.exe.test.*.log". Index: Setup/set_2005.bat ================================================================== --- Setup/set_2005.bat +++ Setup/set_2005.bat @@ -10,8 +10,7 @@ SET NETFX20ONLY=1 SET NETFX35ONLY= SET NETFX40ONLY= SET NETFX45ONLY= SET NETFX451ONLY= -SET BUILD_ARGS= VERIFY > NUL Index: Setup/set_2008.bat ================================================================== --- Setup/set_2008.bat +++ Setup/set_2008.bat @@ -10,8 +10,7 @@ SET NETFX20ONLY= SET NETFX35ONLY=1 SET NETFX40ONLY= SET NETFX45ONLY= SET NETFX451ONLY= -SET BUILD_ARGS= VERIFY > NUL Index: Setup/set_2010.bat ================================================================== --- Setup/set_2010.bat +++ Setup/set_2010.bat @@ -10,8 +10,7 @@ SET NETFX20ONLY= SET NETFX35ONLY= SET NETFX40ONLY=1 SET NETFX45ONLY= SET NETFX451ONLY= -SET BUILD_ARGS= VERIFY > NUL Index: Setup/set_2012.bat ================================================================== --- Setup/set_2012.bat +++ Setup/set_2012.bat @@ -11,12 +11,6 @@ SET NETFX35ONLY= SET NETFX40ONLY= SET NETFX45ONLY=1 SET NETFX451ONLY= -REM -REM HACK: Evidently, installing Visual Studio 2013 breaks using MSBuild to -REM build native projects that specify a platform toolset of "v110". -REM -SET BUILD_ARGS=/property:VisualStudioVersion=11.0 - VERIFY > NUL Index: Setup/set_2013.bat ================================================================== --- Setup/set_2013.bat +++ Setup/set_2013.bat @@ -11,12 +11,6 @@ SET NETFX35ONLY= SET NETFX40ONLY= SET NETFX45ONLY= SET NETFX451ONLY=1 -REM -REM HACK: Evidently, using MSBuild with Visual Studio 2013 requires some -REM extra magic to make it recognize the "v120" platform toolset. -REM -SET BUILD_ARGS=/property:VisualStudioVersion=12.0 - VERIFY > NUL Index: Setup/test.bat ================================================================== --- Setup/test.bat +++ Setup/test.bat @@ -65,20 +65,12 @@ SET POSTARGS=-file "%TESTFILE%" ) %_VECHO% PostArgs = '%POSTARGS%' -IF NOT DEFINED 32BITONLY ( - SET EAGLESHELL=EagleShell.exe -) ELSE ( - SET EAGLESHELL=EagleShell32.exe -) - -%_VECHO% EagleShell = '%EAGLESHELL%' - -%_CECHO% "Externals\Eagle\bin\%EAGLESHELL%" %PREARGS% %* %POSTARGS% -%__ECHO% "Externals\Eagle\bin\%EAGLESHELL%" %PREARGS% %* %POSTARGS% +%_CECHO% Externals\Eagle\bin\EagleShell.exe %PREARGS% %* %POSTARGS% +%__ECHO% Externals\Eagle\bin\EagleShell.exe %PREARGS% %* %POSTARGS% IF ERRORLEVEL 1 ( ECHO Received non-zero return code from the Eagle Shell. GOTO errors ) Index: Setup/test_all.bat ================================================================== --- Setup/test_all.bat +++ Setup/test_all.bat @@ -9,12 +9,10 @@ :: Released to the public domain, use at your own risk! :: SETLOCAL -:redo - REM SET __ECHO=ECHO REM SET __ECHO2=ECHO REM SET __ECHO3=ECHO IF NOT DEFINED _AECHO (SET _AECHO=REM) IF NOT DEFINED _CECHO (SET _CECHO=REM) @@ -66,25 +64,18 @@ SET TEST_CONFIGURATIONS=Release ) %_VECHO% TestConfigurations = '%TEST_CONFIGURATIONS%' -IF DEFINED PLATFORM ( - %_AECHO% Skipping platform detection, already set... - GOTO skip_detectPlatform -) - IF /I "%PROCESSOR_ARCHITECTURE%" == "x86" ( SET PLATFORM=Win32 ) IF /I "%PROCESSOR_ARCHITECTURE%" == "AMD64" ( SET PLATFORM=x64 ) -:skip_detectPlatform - IF NOT DEFINED PLATFORM ( ECHO Unsupported platform. GOTO errors ) @@ -100,18 +91,10 @@ SET TEST_FILE=Tests\all.eagle ) %_VECHO% TestFile = '%TEST_FILE%' -IF NOT DEFINED 32BITONLY ( - SET EAGLESHELL=EagleShell.exe -) ELSE ( - SET EAGLESHELL=EagleShell32.exe -) - -%_VECHO% EagleShell = '%EAGLESHELL%' - %__ECHO2% PUSHD "%ROOT%" IF ERRORLEVEL 1 ( ECHO Could not change directory to "%ROOT%". GOTO errors @@ -123,105 +106,74 @@ REM SET TEST_ALL=1 FOR %%C IN (%TEST_CONFIGURATIONS%) DO ( FOR %%Y IN (%YEARS%) DO ( - IF EXIST "bin\%%Y\%%C\bin" ( - IF NOT DEFINED NOMANAGEDONLY ( - %__ECHO% "Externals\Eagle\bin\%EAGLESHELL%" -anyInitialize "set test_year {%%Y}; set test_configuration {%%C}" -file "%TEST_FILE%" - - IF ERRORLEVEL 1 ( - ECHO Testing of "%%Y/%%C" managed-only assembly failed. - GOTO errors - ) - ) - - IF EXIST "bin\%%Y\%PLATFORM%\%%C" ( - IF NOT DEFINED NOMIXEDMODE ( - IF NOT DEFINED NOXCOPY ( - CALL :fn_CheckForLinq %%Y - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\test.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\test.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - IF DEFINED HAVE_LINQ ( - %__ECHO% XCOPY "bin\%%Y\%%C\bin\System.Data.SQLite.Linq.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\System.Data.SQLite.Linq.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\testlinq.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\testlinq.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\northwindEF.db" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\northwindEF.db" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - ) - - IF DEFINED HAVE_EF6 ( - %__ECHO% XCOPY "bin\%%Y\%%C\bin\EntityFramework.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\EntityFramework.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\System.Data.SQLite.EF6.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\System.Data.SQLite.EF6.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\testef6.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\testef6.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\SQLite.Designer.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\SQLite.Designer.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - - %__ECHO% XCOPY "bin\%%Y\%%C\bin\Installer.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% - - IF ERRORLEVEL 1 ( - ECHO Failed to copy "bin\%%Y\%%C\bin\Installer.*" to "bin\%%Y\%PLATFORM%\%%C". - GOTO errors - ) - ) - - %__ECHO% "Externals\Eagle\bin\%EAGLESHELL%" -preInitialize "set test_year {%%Y}; set test_configuration {%%C}" -initialize -runtimeOption native -file "%TEST_FILE%" - - IF ERRORLEVEL 1 ( - ECHO Testing of "%%Y/%%C" mixed-mode assembly failed. - GOTO errors - ) - ) - ) ELSE ( - %_AECHO% Native directory "bin\%%Y\%PLATFORM%\%%C" not found, skipped. - ) - ) ELSE ( - %_AECHO% Managed directory "bin\%%Y\%%C\bin" not found, skipped. + IF NOT DEFINED NOMANAGEDONLY ( + %__ECHO% Externals\Eagle\bin\EagleShell.exe -anyInitialize "set test_year {%%Y}; set test_configuration {%%C}" -file "%TEST_FILE%" + + IF ERRORLEVEL 1 ( + ECHO Testing of "%%Y/%%C" managed-only assembly failed. + GOTO errors + ) + ) + + IF NOT DEFINED NOMIXEDMODE ( + IF NOT DEFINED NOXCOPY ( + CALL :fn_CheckForLinq %%Y + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\test.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\test.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + + IF DEFINED HAVE_LINQ ( + %__ECHO% XCOPY "bin\%%Y\%%C\bin\System.Data.SQLite.Linq.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\System.Data.SQLite.Linq.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\testlinq.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\testlinq.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\northwindEF.db" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\northwindEF.db" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + ) + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\SQLite.Designer.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\SQLite.Designer.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + + %__ECHO% XCOPY "bin\%%Y\%%C\bin\Installer.*" "bin\%%Y\%PLATFORM%\%%C" %FFLAGS% %DFLAGS% + + IF ERRORLEVEL 1 ( + ECHO Failed to copy "bin\%%Y\%%C\bin\Installer.*" to "bin\%%Y\%PLATFORM%\%%C". + GOTO errors + ) + ) + + %__ECHO% Externals\Eagle\bin\EagleShell.exe -preInitialize "set test_year {%%Y}; set test_configuration {%%C}" -initialize -runtimeOption native -file "%TEST_FILE%" + + IF ERRORLEVEL 1 ( + ECHO Testing of "%%Y/%%C" mixed-mode assembly failed. + GOTO errors + ) ) ) ) %__ECHO2% POPD @@ -229,43 +181,22 @@ IF ERRORLEVEL 1 ( ECHO Could not restore directory. GOTO errors ) -REM -REM NOTE: If this is a 64-bit machine and we have not already run the 32-bit -REM tests, do so now, unless we are forbidden from doing so. -REM -IF NOT DEFINED SKIP32BITONLY ( - IF NOT DEFINED 32BITONLY ( - IF /I NOT "%PROCESSOR_ARCHITECTURE%" == "x86" ( - SET PLATFORM=Win32 - SET 32BITONLY=1 - GOTO redo - ) - ) -) - GOTO no_errors :fn_CheckForLinq CALL :fn_UnsetVariable HAVE_LINQ - CALL :fn_UnsetVariable HAVE_EF6 IF /I "%1" == "2008" ( SET HAVE_LINQ=1 ) IF /I "%1" == "2010" ( SET HAVE_LINQ=1 - SET HAVE_EF6=1 ) IF /I "%1" == "2012" ( SET HAVE_LINQ=1 - SET HAVE_EF6=1 - ) - IF /I "%1" == "2013" ( - SET HAVE_LINQ=1 - SET HAVE_EF6=1 ) GOTO :EOF :fn_UnsetVariable IF NOT "%1" == "" ( Index: Setup/test_ce_200x.bat ================================================================== --- Setup/test_ce_200x.bat +++ Setup/test_ce_200x.bat @@ -87,22 +87,14 @@ ) ) %_VECHO% Years = '%YEARS%' -IF NOT DEFINED 32BITONLY ( - SET EAGLESHELL=EagleShell.exe -) ELSE ( - SET EAGLESHELL=EagleShell32.exe -) - -%_VECHO% EagleShell = '%EAGLESHELL%' - FOR %%C IN (%TEST_CONFIGURATIONS%) DO ( FOR %%P IN (%PLATFORMS%) DO ( FOR %%Y IN (%YEARS%) DO ( - %__ECHO% "%EAGLESHELL%" -file "%TOOLS%\deployAndTestCe.eagle" %%Y %%P %%C + %__ECHO% EagleShell.exe -file "%TOOLS%\deployAndTestCe.eagle" %%Y %%P %%C IF ERRORLEVEL 1 ( ECHO Tests failed for %%C/%%P/%%Y binaries. GOTO errors ) Index: Setup/verify.lst ================================================================== --- Setup/verify.lst +++ Setup/verify.lst @@ -69,19 +69,11 @@ Externals/Eagle/bin/EagleShell.exe.mda.config Externals/Eagle/lib/ Externals/Eagle/lib/Eagle1.0/ Externals/Eagle/lib/Eagle1.0/vendor.eagle Externals/Eagle/lib/Test1.0/ - NuGet/net20/config.transform - NuGet/net40/config.transform - NuGet/net20/install.ps1 - NuGet/net40/install.ps1 - NuGet/SQLite.Beta.nuspec - NuGet/SQLite.MSIL.nuspec - NuGet/SQLite.nuspec - NuGet/SQLite.x64.nuspec - NuGet/SQLite.x86.nuspec + install.ps1 readme.htm Setup/ Setup/archive.bat Setup/bake.bat Setup/bake_all.bat @@ -158,10 +150,11 @@ Setup/test_ce_200x.bat Setup/updateFileInfo.tcl Setup/verify.eagle Setup/verify.lst Setup/vsSp.bat + SQLite.Beta.nuspec SQLite.Designer/ SQLite.Designer/AssemblyInfo.cs SQLite.Designer/ChangePasswordDialog.cs SQLite.Designer/ChangePasswordDialog.Designer.cs SQLite.Designer/ChangePasswordDialog.resx @@ -281,10 +274,11 @@ SQLite.Interop/src/win/AssemblyInfo.cpp SQLite.Interop/src/win/crypt.c SQLite.Interop/src/win/interop.c SQLite.Interop/src/win/interop.h SQLite.Interop/src/win/SQLite.Interop.rc + SQLite.MSIL.nuspec SQLite.NET.2005.MSBuild.sln SQLite.NET.2005.sln SQLite.NET.2008.MSBuild.sln SQLite.NET.2008.sln SQLite.NET.2010.MSBuild.sln @@ -295,10 +289,13 @@ SQLite.NET.2013.MSBuild.sln SQLite.NET.2013.sln SQLite.NET.Settings.targets SQLite.NET.Settings.targets.netFx35 SQLite.NET.targets + SQLite.nuspec + SQLite.x64.nuspec + SQLite.x86.nuspec System.Data.SQLite/ System.Data.SQLite/AssemblyInfo.cs System.Data.SQLite/AssemblySourceIdAttribute.cs System.Data.SQLite/AssemblySourceTimeStampAttribute.cs System.Data.SQLite/DataTypes.xml @@ -355,11 +352,10 @@ System.Data.SQLite/System.Data.SQLite.Module.2010.csproj System.Data.SQLite/System.Data.SQLite.Module.2012.csproj System.Data.SQLite/System.Data.SQLite.Module.2013.csproj System.Data.SQLite/System.Data.SQLite.Properties.targets System.Data.SQLite/System.Data.SQLite.References.targets - System.Data.SQLite/System.Data.SQLite.dll.config System.Data.SQLite/System.Data.SQLite.snk System.Data.SQLite/UnsafeNativeMethods.cs System.Data.SQLite.Linq/ System.Data.SQLite.Linq/AssemblyInfo.cs System.Data.SQLite.Linq/Properties/ @@ -367,12 +363,11 @@ System.Data.SQLite.Linq/Properties/Resources.resx System.Data.SQLite.Linq/Resources/ System.Data.SQLite.Linq/Resources/Common.ConceptualSchemaDefinition.csdl System.Data.SQLite.Linq/Resources/Common.ProviderManifest.xsd System.Data.SQLite.Linq/Resources/SQLiteProviderServices.ProviderManifest.xml - System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.EF6.ssdl - System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.Linq.ssdl + System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.ssdl System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaMapping.msl System.Data.SQLite.Linq/Resources/System.Data.Resources.CodeGenerationSchema.xsd System.Data.SQLite.Linq/Resources/System.Data.Resources.CSDLSchema.xsd System.Data.SQLite.Linq/Resources/System.Data.Resources.CSMSL.xsd System.Data.SQLite.Linq/Resources/System.Data.Resources.EntityStoreSchemaGenerator.xsd @@ -394,19 +389,12 @@ "System.Data.SQLite.Linq/SQL Generation/StringUtil.cs" "System.Data.SQLite.Linq/SQL Generation/Symbol.cs" "System.Data.SQLite.Linq/SQL Generation/SymbolPair.cs" "System.Data.SQLite.Linq/SQL Generation/SymbolTable.cs" "System.Data.SQLite.Linq/SQL Generation/TopClause.cs" - System.Data.SQLite.Linq/SQLiteProviderFactory.cs System.Data.SQLite.Linq/SQLiteProviderManifest.cs System.Data.SQLite.Linq/SQLiteProviderServices.cs - System.Data.SQLite.Linq/System.Data.SQLite.Core.2010.csproj - System.Data.SQLite.Linq/System.Data.SQLite.Core.2012.csproj - System.Data.SQLite.Linq/System.Data.SQLite.Core.2013.csproj - System.Data.SQLite.Linq/System.Data.SQLite.EF6.2010.csproj - System.Data.SQLite.Linq/System.Data.SQLite.EF6.2012.csproj - System.Data.SQLite.Linq/System.Data.SQLite.EF6.2013.csproj System.Data.SQLite.Linq/System.Data.SQLite.Linq.2008.csproj System.Data.SQLite.Linq/System.Data.SQLite.Linq.2010.csproj System.Data.SQLite.Linq/System.Data.SQLite.Linq.2012.csproj System.Data.SQLite.Linq/System.Data.SQLite.Linq.2013.csproj test/ @@ -437,51 +425,29 @@ testce/testce.2005.csproj testce/testce.2008.csproj testce/testce.2012.csproj testlinq/ testlinq/2008/ - testlinq/2008/LINQ/ - testlinq/2008/LINQ/App.config + testlinq/2008/App.config testlinq/2010/ - testlinq/2010/EF6/ - testlinq/2010/EF6/App.config - testlinq/2010/LINQ/ - testlinq/2010/LINQ/App.config + testlinq/2010/App.config testlinq/2012/ - testlinq/2012/EF6/ - testlinq/2012/EF6/App.config - testlinq/2012/LINQ/ - testlinq/2012/LINQ/App.config + testlinq/2012/App.config testlinq/2013/ - testlinq/2013/EF6/ - testlinq/2013/EF6/App.config - testlinq/2013/LINQ/ - testlinq/2013/LINQ/App.config + testlinq/2013/App.config testlinq/northwindEF.db - testlinq/NorthwindModel.Linq.2008.Designer.cs - testlinq/NorthwindModel.Linq.2008.edmx - testlinq/NorthwindModel.EF6.2010.Designer.cs - testlinq/NorthwindModel.EF6.2010.edmx - testlinq/NorthwindModel.Linq.2010.Designer.cs - testlinq/NorthwindModel.Linq.2010.edmx - testlinq/NorthwindModel.EF6.2012.Designer.cs - testlinq/NorthwindModel.EF6.2012.edmx - testlinq/NorthwindModel.Linq.2012.Designer.cs - testlinq/NorthwindModel.Linq.2012.edmx - testlinq/NorthwindModel.EF6.2013.Designer.cs - testlinq/NorthwindModel.EF6.2013.edmx - testlinq/NorthwindModel.Linq.2013.Designer.cs - testlinq/NorthwindModel.Linq.2013.edmx + testlinq/NorthwindModel2008.Designer.cs + testlinq/NorthwindModel2008.edmx + testlinq/NorthwindModel2010.Designer.cs + testlinq/NorthwindModel2010.edmx + testlinq/NorthwindModel2012.Designer.cs + testlinq/NorthwindModel2012.edmx + testlinq/NorthwindModel2013.Designer.cs + testlinq/NorthwindModel2013.edmx testlinq/Program.cs testlinq/Properties/ testlinq/Properties/AssemblyInfo.cs - testlinq/test.2010.csproj - testlinq/test.2012.csproj - testlinq/test.2013.csproj - testlinq/testef6.2010.csproj - testlinq/testef6.2012.csproj - testlinq/testef6.2013.csproj testlinq/testlinq.2008.csproj testlinq/testlinq.2010.csproj testlinq/testlinq.2012.csproj testlinq/testlinq.2013.csproj Tests/ @@ -517,11 +483,10 @@ Tests/tkt-448d663d11.eagle Tests/tkt-47f4bac575.eagle Tests/tkt-48a6b8e4ca.eagle Tests/tkt-4a791e70ab.eagle Tests/tkt-544dba0a2f.eagle - Tests/tkt-56b42d99c1.eagle Tests/tkt-59edc1018b.eagle Tests/tkt-6434e23a0f.eagle Tests/tkt-6c6ecccc5f.eagle Tests/tkt-72905c9a77.eagle Tests/tkt-7e3fa93744.eagle @@ -540,11 +505,10 @@ Tests/tkt-ccfa69fc32.eagle Tests/tkt-e06c4caff3.eagle Tests/tkt-e1b2e0f769.eagle Tests/tkt-e30b820248.eagle Tests/tkt-e47b3d8346.eagle - Tests/tkt-ef2216192d.eagle Tests/tkt-f2c47a01eb.eagle Tests/tkt-f8dbab8baf.eagle Tests/tkt-fe50b8c2e8.eagle Tests/Uninstaller_Test_Vs2005.log Tests/Uninstaller_Test_Vs2008.log @@ -573,11 +537,10 @@ # NOTE: This is the list of core files that should be present in all binary # archives that support the desktop versions of the .NET Framework. # set sds_manifests(binaryCore) { System.Data.SQLite.dll - System.Data.SQLite.dll.config System.Data.SQLite.pdb System.Data.SQLite.xml } ############################################################################### @@ -593,25 +556,10 @@ northwindEF.db testlinq.exe testlinq.exe.config testlinq.pdb } - -############################################################################### -# -# NOTE: This is the list of extra files that should be present in all binary -# archives that support EF6 (i.e. available with the desktop .NET -# Framework 4.0 and later). -# -set sds_manifests(binaryEf6) { - System.Data.SQLite.EF6.dll - System.Data.SQLite.EF6.pdb - System.Data.SQLite.EF6.xml - testef6.exe - testef6.exe.config - testef6.pdb -} ############################################################################### # # NOTE: This is the list of extra files that should be present in all binary # archives that support the desktop versions of the .NET Framework. @@ -662,11 +610,10 @@ {{app}\readme.htm} {{app}\bin\System.Data.SQLite.pdb} {{app}\doc\SQLite.NET.chm} {{app}\bin\SQLite.Designer.dll} {{app}\bin\SQLite.Designer.pdb} - {{app}\bin\System.Data.SQLite.dll.config} {{app}\bin\Installer.exe} {{app}\bin\Installer.pdb} {{app}\bin\test.exe} {{app}\bin\test.pdb} {{app}\bin\test.exe.config} @@ -684,23 +631,10 @@ {{app}\bin\testlinq.exe} {{app}\bin\testlinq.pdb} {{app}\bin\testlinq.exe.config} {{app}\bin\northwindEF.db} } - -############################################################################### -# -# NOTE: This is the list of core files that should be present in all setup -# archives that support EF6 (i.e. available with the desktop .NET -# Framework 4.0 and later). -# -set sds_manifests(setupEf6Core) { - {{app}\bin\System.Data.SQLite.EF6.pdb} - {{app}\bin\testef6.exe} - {{app}\bin\testef6.pdb} - {{app}\bin\testef6.exe.config} -} ############################################################################### # # NOTE: This is the list of core interop files that should be present in the # standard setup archives (i.e. those not containing the mixed-mode @@ -741,22 +675,10 @@ # later). # set sds_manifests(setupLinqBundle) { {{app}\GAC\System.Data.SQLite.Linq.dll} } - -############################################################################### -# -# NOTE: This is the list of core interop files that should be present in the -# standard setup archives (i.e. those not containing the mixed-mode -# assembly) that support EF6 (i.e. available with the desktop .NET -# Framework 4.0 and later). -# -set sds_manifests(setupEf6Interop) { - {{app}\bin\EntityFramework.dll} - {{app}\bin\System.Data.SQLite.EF6.dll} -} ############################################################################### # # NOTE: This is the list of files that should be present in all setup archives # supporting the .NET Framework 2.0 for x86. @@ -841,11 +763,11 @@ # # NOTE: This is the list of files that should be present in all setup archives # supporting the .NET Framework 4.5.1 for x64. # set sds_manifests(setupX64Vs2013) { - {{tmp}\vcredist_x64_2013_RTM.exe} + {{tmp}\vcredist_x64_2013_VSU3.exe} } ############################################################################### # # NOTE: These are the master archive manifest groups, based on file name. The @@ -869,19 +791,18 @@ # previous step. Duplicate file names, if any, should be harmless. # # $result == $eagle_manifests(core) UNION $eagle_manifests(library) # ############################################################################### -############################ Source Code Packages ############################# +################################# Source Code ################################# ############################################################################### set manifests(sqlite-netFx-source-.zip) [list sds \ source] ############################################################################### ################### Visual Studio 2005 / .NET Framework 2.0 ################### -############################### Binary Packages ############################### ############################################################################### set manifests(sqlite-netFx20-binary-Win32-2005-.zip) [list sds \ binaryCore binaryExtra binaryInterop] @@ -919,13 +840,10 @@ set manifests(sqlite-netFx20-static-binary-bundle-x64-2005-.zip) [list sds \ binaryCore binaryExtra] ############################################################################### -################### Visual Studio 2005 / .NET Framework 2.0 ################### -############################### Setup Packages ################################ -############################################################################### set manifests(sqlite-netFx20-setup-x86-2005-.exe) [list sds \ setupCore setupInterop setupX86Vs2005] ############################################################################### @@ -943,11 +861,10 @@ set manifests(sqlite-netFx20-setup-bundle-x64-2005-.exe) [list sds \ setupCore setupBundle setupX64Vs2005] ############################################################################### ################### Visual Studio 2008 / .NET Framework 3.5 ################### -############################### Binary Packages ############################### ############################################################################### set manifests(sqlite-netFx35-binary-Win32-2008-.zip) [list sds \ binaryCore binaryLinq binaryExtra binaryInterop] @@ -985,13 +902,10 @@ set manifests(sqlite-netFx35-static-binary-bundle-x64-2008-.zip) [list sds \ binaryCore binaryLinq binaryExtra] ############################################################################### -################### Visual Studio 2008 / .NET Framework 3.5 ################### -############################### Setup Packages ################################ -############################################################################### set manifests(sqlite-netFx35-setup-x86-2008-.exe) [list sds \ setupCore setupLinqCore setupInterop setupLinqInterop setupX86Vs2008] ############################################################################### @@ -1009,161 +923,143 @@ set manifests(sqlite-netFx35-setup-bundle-x64-2008-.exe) [list sds \ setupCore setupLinqCore setupBundle setupLinqBundle setupX64Vs2008] ############################################################################### ############### Visual Studio 2008 / .NET Compact Framework 3.5 ############### -############################### Binary Packages ############################### ############################################################################### set manifests(sqlite-netFx35-binary-PocketPC-ARM-2008-.zip) [list sds \ binaryCore binaryCompact] set manifests(sqlite-netFx35-binary-PocketPC-ARM-2008-.zip,subst) ""; # dynamic ############################################################################### ################### Visual Studio 2010 / .NET Framework 4.0 ################### -############################### Binary Packages ############################### ############################################################################### set manifests(sqlite-netFx40-binary-Win32-2010-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx40-binary-x64-2010-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx40-binary-bundle-Win32-2010-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] ############################################################################### set manifests(sqlite-netFx40-binary-bundle-x64-2010-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] ############################################################################### set manifests(sqlite-netFx40-static-binary-Win32-2010-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx40-static-binary-x64-2010-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx40-static-binary-bundle-Win32-2010-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] ############################################################################### set manifests(sqlite-netFx40-static-binary-bundle-x64-2010-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] -############################################################################### -################### Visual Studio 2010 / .NET Framework 4.0 ################### -############################### Setup Packages ################################ ############################################################################### set manifests(sqlite-netFx40-setup-x86-2010-.exe) [list sds \ - setupCore setupInterop setupLinqCore setupEf6Core setupLinqInterop \ - setupEf6Interop setupX86Vs2010] + setupCore setupInterop setupLinqCore setupLinqInterop setupX86Vs2010] ############################################################################### set manifests(sqlite-netFx40-setup-x64-2010-.exe) [list sds \ - setupCore setupInterop setupLinqCore setupEf6Core setupLinqInterop \ - setupEf6Interop setupX64Vs2010] + setupCore setupInterop setupLinqCore setupLinqInterop setupX64Vs2010] ############################################################################### set manifests(sqlite-netFx40-setup-bundle-x86-2010-.exe) [list sds \ - setupCore setupBundle setupLinqCore setupEf6Core setupLinqBundle \ - setupEf6Interop setupX86Vs2010] + setupCore setupBundle setupLinqCore setupLinqBundle setupX86Vs2010] ############################################################################### set manifests(sqlite-netFx40-setup-bundle-x64-2010-.exe) [list sds \ - setupCore setupBundle setupLinqCore setupEf6Core setupLinqBundle \ - setupEf6Interop setupX64Vs2010] + setupCore setupBundle setupLinqCore setupLinqBundle setupX64Vs2010] ############################################################################### ################### Visual Studio 2012 / .NET Framework 4.5 ################### -############################### Binary Packages ############################### ############################################################################### set manifests(sqlite-netFx45-binary-Win32-2012-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx45-binary-x64-2012-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx45-binary-bundle-Win32-2012-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] ############################################################################### set manifests(sqlite-netFx45-binary-bundle-x64-2012-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] ############################################################################### set manifests(sqlite-netFx45-static-binary-Win32-2012-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx45-static-binary-x64-2012-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx45-static-binary-bundle-Win32-2012-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] ############################################################################### set manifests(sqlite-netFx45-static-binary-bundle-x64-2012-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] -############################################################################### -################### Visual Studio 2012 / .NET Framework 4.5 ################### -############################### Setup Packages ################################ ############################################################################### set manifests(sqlite-netFx45-setup-x86-2012-.exe) [list sds \ - setupCore setupInterop setupLinqCore setupEf6Core setupLinqInterop \ - setupEf6Interop setupX86Vs2012] + setupCore setupInterop setupLinqCore setupLinqInterop setupX86Vs2012] ############################################################################### set manifests(sqlite-netFx45-setup-x64-2012-.exe) [list sds \ - setupCore setupInterop setupLinqCore setupEf6Core setupLinqInterop \ - setupEf6Interop setupX64Vs2012] + setupCore setupInterop setupLinqCore setupLinqInterop setupX64Vs2012] ############################################################################### set manifests(sqlite-netFx45-setup-bundle-x86-2012-.exe) [list sds \ - setupCore setupBundle setupLinqCore setupEf6Core setupLinqBundle \ - setupEf6Interop setupX86Vs2012] + setupCore setupBundle setupLinqCore setupLinqBundle setupX86Vs2012] ############################################################################### set manifests(sqlite-netFx45-setup-bundle-x64-2012-.exe) [list sds \ - setupCore setupBundle setupLinqCore setupEf6Core setupLinqBundle \ - setupEf6Interop setupX64Vs2012] + setupCore setupBundle setupLinqCore setupLinqBundle setupX64Vs2012] ############################################################################### ############### Visual Studio 2012 / .NET Compact Framework 3.9 ############### -############################### Binary Packages ############################### ############################################################################### set manifests(sqlite-netFx39-binary-WinCE-ARM-2012-.zip) [list sds \ binaryCore binaryCompact] @@ -1176,75 +1072,67 @@ set manifests(sqlite-netFx39-binary-WinCE-x86-2012-.zip,subst) ""; # dynamic ############################################################################### ################## Visual Studio 2013 / .NET Framework 4.5.1 ################## -############################### Binary Packages ############################### ############################################################################### set manifests(sqlite-netFx451-binary-Win32-2013-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx451-binary-x64-2013-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx451-binary-bundle-Win32-2013-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] ############################################################################### set manifests(sqlite-netFx451-binary-bundle-x64-2013-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] ############################################################################### set manifests(sqlite-netFx451-static-binary-Win32-2013-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx451-static-binary-x64-2013-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra binaryInterop] + binaryCore binaryLinq binaryExtra binaryInterop] ############################################################################### set manifests(sqlite-netFx451-static-binary-bundle-Win32-2013-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] ############################################################################### set manifests(sqlite-netFx451-static-binary-bundle-x64-2013-.zip) [list sds \ - binaryCore binaryLinq binaryEf6 binaryExtra] + binaryCore binaryLinq binaryExtra] -############################################################################### -################## Visual Studio 2013 / .NET Framework 4.5.1 ################## -############################### Setup Packages ################################ ############################################################################### set manifests(sqlite-netFx451-setup-x86-2013-.exe) [list sds \ - setupCore setupInterop setupLinqCore setupEf6Core setupLinqInterop \ - setupEf6Interop setupX86Vs2013] + setupCore setupInterop setupLinqCore setupLinqInterop setupX86Vs2013] ############################################################################### set manifests(sqlite-netFx451-setup-x64-2013-.exe) [list sds \ - setupCore setupInterop setupLinqCore setupEf6Core setupLinqInterop \ - setupEf6Interop setupX64Vs2013] + setupCore setupInterop setupLinqCore setupLinqInterop setupX64Vs2013] ############################################################################### set manifests(sqlite-netFx451-setup-bundle-x86-2013-.exe) [list sds \ - setupCore setupBundle setupLinqCore setupEf6Core setupLinqBundle \ - setupEf6Interop setupX86Vs2013] + setupCore setupBundle setupLinqCore setupLinqBundle setupX86Vs2013] ############################################################################### set manifests(sqlite-netFx451-setup-bundle-x64-2013-.exe) [list sds \ - setupCore setupBundle setupLinqCore setupEf6Core setupLinqBundle \ - setupEf6Interop setupX64Vs2013] + setupCore setupBundle setupLinqCore setupLinqBundle setupX64Vs2013] ############################################################################### # end of file Index: Setup/vsSp.bat ================================================================== --- Setup/vsSp.bat +++ Setup/vsSp.bat @@ -1,11 +1,11 @@ @ECHO OFF :: :: vsSp.bat -- :: -:: Visual Studio 2005/2008/2010/2012/2013 Service Pack Detection Tool +:: Visual Studio 2005/2008/2010/2012 Service Pack Detection Tool :: :: Written by Joe Mistachkin. :: Released to the public domain, use at your own risk! :: @@ -149,12 +149,11 @@ ENDLOCAL && ( SET VS2005SP=%VS2005SP% SET VS2008SP=%VS2008SP% SET VS2010SP=%VS2010SP% SET VS2012SP=%VS2012SP% - SET VS2013SP=%VS2013SP% ) CALL :fn_ResetErrorLevel GOTO end_of_file :end_of_file EXIT /B %ERRORLEVEL% Index: System.Data.SQLite.Linq/AssemblyInfo.cs ================================================================== --- System.Data.SQLite.Linq/AssemblyInfo.cs +++ System.Data.SQLite.Linq/AssemblyInfo.cs @@ -12,16 +12,11 @@ using System.Runtime.ConstrainedExecution; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -#if USE_ENTITY_FRAMEWORK_6 -[assembly: AssemblyTitle("System.Data.SQLite for Entity Framework 6")] -#else [assembly: AssemblyTitle("System.Data.SQLite for LINQ")] -#endif - [assembly: AssemblyDescription("ADO.NET Data Provider for SQLite")] [assembly: AssemblyCompany("http://system.data.sqlite.org/")] [assembly: AssemblyProduct("System.Data.SQLite")] [assembly: AssemblyCopyright("Public Domain")] @@ -51,7 +46,7 @@ // Revision // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.91.0")] -[assembly: AssemblyFileVersion("1.0.91.0")] +[assembly: AssemblyVersion("1.0.90.0")] +[assembly: AssemblyFileVersion("1.0.90.0")] Index: System.Data.SQLite.Linq/Properties/Resources.Designer.cs ================================================================== --- System.Data.SQLite.Linq/Properties/Resources.Designer.cs +++ System.Data.SQLite.Linq/Properties/Resources.Designer.cs @@ -1,9 +1,9 @@ /******************************************************** * ADO.NET 2.0 Data Provider for SQLite Version 3.X * Written by Robert Simpson (robert@blackcastlesoft.com) - * + * * Released to the public domain, use at your own risk! ********************************************************/ //------------------------------------------------------------------------------ // @@ -13,18 +13,14 @@ // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6.Properties -#else -namespace System.Data.SQLite.Linq.Properties -#endif -{ +namespace System.Data.SQLite.Properties { using System; - + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// // This class was auto-generated by the StronglyTypedResourceBuilder // class via a tool like ResGen or Visual Studio. @@ -32,33 +28,33 @@ // with the /str option, or rebuild your VS project. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal sealed class Resources { - + private static global::System.Resources.ResourceManager resourceMan; - + private static global::System.Globalization.CultureInfo resourceCulture; - + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Resources() { } - + /// /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("System.Data.SQLite.Properties", typeof(Resources).Assembly); + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("System.Data.SQLite.Linq.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } - + /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] @@ -68,14 +64,14 @@ } set { resourceCulture = value; } } - + /// /// Looks up a localized string similar to CREATE TEMP VIEW SCHEMACONSTRAINTCOLUMNS AS - ///SELECT CONSTRAINT_CATALOG, NULL AS CONSTRAINT_SCHEMA, CONSTRAINT_NAME, TABLE_CATALOG, NULL AS TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME + ///SELECT CONSTRAINT_CATALOG, NULL AS CONSTRAINT_SCHEMA, CONSTRAINT_NAME, TABLE_CATALOG, NULL AS TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME ///FROM TEMP.SCHEMAINDEXCOLUMNS ///UNION ///SELECT CONSTRAINT_CATALOG, NULL, CONSTRAINT_NAME, TABLE_CATALOG, NULL, TABLE_NAME, FKEY_FROM_COLUMN ///FROM TEMP.SCHEMAFOREIGNKEYS;. /// @@ -82,17 +78,17 @@ internal static string SQL_CONSTRAINTCOLUMNS { get { return ResourceManager.GetString("SQL_CONSTRAINTCOLUMNS", resourceCulture); } } - + /// /// Looks up a localized string similar to CREATE TEMP VIEW SCHEMACONSTRAINTS AS ///SELECT INDEX_CATALOG AS CONSTRAINT_CATALOG, NULL AS CONSTRAINT_SCHEMA, INDEX_NAME AS CONSTRAINT_NAME, TABLE_CATALOG, NULL AS TABLE_SCHEMA, TABLE_NAME, 'PRIMARY KEY' AS CONSTRAINT_TYPE, 0 AS IS_DEFERRABLE, 0 AS INITIALLY_DEFERRED, NULL AS CHECK_CLAUSE ///FROM TEMP.SCHEMAINDEXES WHERE PRIMARY_KEY = 1 ///UNION - ///SELECT INDEX_CATALOG, NULL, INDEX_NAME, TABLE_CATALOG, NULL, TABLE_NAME, 'UNIQUE', 0, 0, NULL + ///SELECT INDEX_CATALOG, NULL, INDEX_NAME, TABLE_CATALOG, NULL, TABLE_NAME, 'UNIQUE', 0, 0, NULL ///FROM TEMP.SCHEMAINDEXES WHERE PRIMARY_KEY = 0 AND [UNIQUE] = 1 ///UNION /// [rest of string was truncated]";. /// internal static string SQL_CONSTRAINTS { Index: System.Data.SQLite.Linq/Resources/SQLiteProviderServices.ProviderManifest.xml ================================================================== --- System.Data.SQLite.Linq/Resources/SQLiteProviderServices.ProviderManifest.xml +++ System.Data.SQLite.Linq/Resources/SQLiteProviderServices.ProviderManifest.xml @@ -27,11 +27,11 @@ - + DELETED System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.EF6.ssdl Index: System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.EF6.ssdl ================================================================== --- System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.EF6.ssdl +++ /dev/null @@ -1,709 +0,0 @@ - - - - - - SELECT - '[' || TABLE_NAME || ']' COLLATE NOCASE [Id] - , TABLE_CATALOG [CatalogName] - , TABLE_SCHEMA [SchemaName] - , TABLE_NAME [Name] - FROM - TEMP.SCHEMATABLES - WHERE - TABLE_TYPE LIKE 'table' - - - - - - SELECT - '[' || c.TABLE_NAME || ']' || '[' || c.COLUMN_NAME || ']' COLLATE NOCASE [Id] - , '[' || c.TABLE_NAME || ']' COLLATE NOCASE [ParentId] - , c.COLUMN_NAME [Name] - , c.ORDINAL_POSITION [Ordinal] - , c.IS_NULLABLE [IsNullable] - , c.EDM_TYPE [TypeName] - , c.CHARACTER_MAXIMUM_LENGTH [MaxLength] - , c.NUMERIC_PRECISION [Precision] - , c.DATETIME_PRECISION [DateTimePrecision] - , c.NUMERIC_SCALE [Scale] - , c.COLLATION_CATALOG [CollationCatalog] - , c.COLLATION_SCHEMA [CollationSchema] - , c.COLLATION_NAME [CollationName] - , c.CHARACTER_SET_CATALOG [CharacterSetCatalog] - , c.CHARACTER_SET_SCHEMA [CharacterSetSchema] - , c.CHARACTER_SET_NAME [CharacterSetName] - , 0 as [IsMultiSet] - , c.[AUTOINCREMENT] as [IsIdentity] - , 0 as [IsStoreGenerated] - , c.COLUMN_DEFAULT as [Default] - FROM - TEMP.SCHEMACOLUMNS c - - - - - - SELECT - '[' || TABLE_NAME || ']' COLLATE NOCASE [Id] - , TABLE_CATALOG [CatalogName] - , TABLE_SCHEMA [SchemaName] - , TABLE_NAME [Name] - , VIEW_DEFINITION [ViewDefinition] - , IS_UPDATABLE [IsUpdatable] - FROM - TEMP.SCHEMAVIEWS - - - - - - SELECT - '[' || c.VIEW_NAME || ']' || '[' || c.VIEW_COLUMN_NAME || ']' COLLATE NOCASE [Id] - , '[' || c.VIEW_NAME || ']' COLLATE NOCASE [ParentId] - , c.VIEW_COLUMN_NAME [Name] - , c.ORDINAL_POSITION [Ordinal] - , c.IS_NULLABLE [IsNullable] - , c.EDM_TYPE [TypeName] - , c.CHARACTER_MAXIMUM_LENGTH [MaxLength] - , c.NUMERIC_PRECISION [Precision] - , c.DATETIME_PRECISION as [DateTimePrecision] - , c.NUMERIC_SCALE [Scale] - , c.COLLATION_CATALOG [CollationCatalog] - , c.COLLATION_SCHEMA [CollationSchema] - , c.COLLATION_NAME [CollationName] - , c.CHARACTER_SET_CATALOG [CharacterSetCatalog] - , c.CHARACTER_SET_SCHEMA [CharacterSetSchema] - , c.CHARACTER_SET_NAME [CharacterSetName] - , 0 as [IsMultiSet] - , c.[AUTOINCREMENT] as [IsIdentity] - , 0 as [IsStoreGenerated] - , c.COLUMN_DEFAULT [Default] - FROM - TEMP.SCHEMAVIEWCOLUMNS c - - - - - - SELECT - NULL [Id] - , NULL [CatalogName] - , NULL [SchemaName] - , NULL [Name] - , NULL [ReturnTypeName] - , NULL [ReturnMaxLength] - , NULL [ReturnPrecision] - , NULL [ReturnDateTimePrecision] - , NULL [ReturnScale] - , NULL [ReturnCollationCatalog] - , NULL [ReturnCollationSchema] - , NULL [ReturnCollationName] - , NULL [ReturnCharacterSetCatalog] - , NULL [ReturnCharacterSetSchema] - , NULL [ReturnCharacterSetName] - , NULL as [ReturnIsMultiSet] - , NULL as [IsAggregate] - , NULL as [IsBuiltIn] - , NULL as [IsNiladic] - WHERE 1=2 - - - - - - SELECT - NULL [Id] - , NULL [ParentId] - , NULL [Name] - , NULL [Ordinal] - , NULL [TypeName] - , NULL [MaxLength] - , NULL [Precision] - , NULL [DateTimePrecision] - , NULL [Scale] - , NULL [CollationCatalog] - , NULL [CollationSchema] - , NULL [CollationName] - , NULL [CharacterSetCatalog] - , NULL [CharacterSetSchema] - , NULL [CharacterSetName] - , NULL [IsMultiSet] - , NULL [Mode] - , NULL [Default] - WHERE 1=2 - - - - - - SELECT - NULL [Id] - , NULL [CatalogName] - , NULL [SchemaName] - , NULL [Name] - WHERE 1=2 - - - - - - SELECT - NULL [Id] - , NULL [ParentId] - , NULL [Name] - , NULL [Ordinal] - , NULL [TypeName] - , NULL [MaxLength] - , NULL [Precision] - , NULL [DateTimePrecision] - , NULL [Scale] - , NULL [CollationCatalog] - , NULL [CollationSchema] - , NULL [CollationName] - , NULL [CharacterSetCatalog] - , NULL [CharacterSetSchema] - , NULL [CharacterSetName] - , NULL as [IsMultiSet] - , NULL [Mode] - , NULL [Default] - WHERE 1=2 - - - - - - SELECT - '[' || tc.CONSTRAINT_NAME || ']' COLLATE NOCASE [Id] - , '[' || tc.TABLE_NAME || ']' COLLATE NOCASE [ParentId] - , tc.CONSTRAINT_NAME [Name] - , tc.CONSTRAINT_TYPE [ConstraintType] - , tc.IS_DEFERRABLE [IsDeferrable] - , tc.INITIALLY_DEFERRED [IsInitiallyDeferred] - FROM - TEMP.SCHEMACONSTRAINTS tc - - - - - - SELECT - NULL [Id] - , NULL [Expression] - WHERE 1 = 2 - - - - - - SELECT - '[' || CONSTRAINT_NAME || ']' COLLATE NOCASE [ConstraintId] - , '[' || TABLE_NAME || ']' || '[' || COLUMN_NAME || ']' COLLATE NOCASE [ColumnId] - FROM - TEMP.SCHEMACONSTRAINTCOLUMNS - - - - - - SELECT DISTINCT - '[' || rc.CONSTRAINT_NAME || ']' COLLATE NOCASE [Id] - , 'NO ACTION' COLLATE NOCASE [UpdateRule] - , 'NO ACTION' COLLATE NOCASE [DeleteRule] - FROM - TEMP.SCHEMAFOREIGNKEYS rc - - - - - - SELECT - '[' || FC.CONSTRAINT_NAME || ']' || '[' || FC.FKEY_FROM_ORDINAL_POSITION || ']' COLLATE NOCASE [Id] - , '[' || FC.FKEY_TO_TABLE || ']' || '[' || FC.FKEY_TO_COLUMN || ']' COLLATE NOCASE [ToColumnId] - , '[' || FC.TABLE_NAME || ']' || '[' || FC.FKEY_FROM_COLUMN || ']' COLLATE NOCASE [FromColumnId] - , '[' || FC.CONSTRAINT_NAME || ']' COLLATE NOCASE [ConstraintId] - , FC.FKEY_FROM_ORDINAL_POSITION [Ordinal] - FROM - TEMP.SCHEMAFOREIGNKEYS FC - - - - - - SELECT - NULL [Id] - , NULL [ParentId] - , NULL [Name] - , NULL [ConstraintType] - , NULL [IsDeferrable] - , NULL [IsInitiallyDeferred] - , NULL [Expression] - , NULL [UpdateRule] - , NULL [DeleteRule] - WHERE 1=2 - - - - - - SELECT - NULL [ConstraintId] - , NULL [ColumnId] - WHERE 1=2 - - - - - - SELECT - NULL [Id] - , NULL [ToColumnId] - , NULL [FromColumnId] - , NULL [ConstraintId] - , 0 [Ordinal] - WHERE 1=2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DELETED System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.Linq.ssdl Index: System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.Linq.ssdl ================================================================== --- System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.Linq.ssdl +++ /dev/null @@ -1,709 +0,0 @@ - - - - - - SELECT - '[' || TABLE_NAME || ']' COLLATE NOCASE [Id] - , TABLE_CATALOG [CatalogName] - , TABLE_SCHEMA [SchemaName] - , TABLE_NAME [Name] - FROM - TEMP.SCHEMATABLES - WHERE - TABLE_TYPE LIKE 'table' - - - - - - SELECT - '[' || c.TABLE_NAME || ']' || '[' || c.COLUMN_NAME || ']' COLLATE NOCASE [Id] - , '[' || c.TABLE_NAME || ']' COLLATE NOCASE [ParentId] - , c.COLUMN_NAME [Name] - , c.ORDINAL_POSITION [Ordinal] - , c.IS_NULLABLE [IsNullable] - , c.EDM_TYPE [TypeName] - , c.CHARACTER_MAXIMUM_LENGTH [MaxLength] - , c.NUMERIC_PRECISION [Precision] - , c.DATETIME_PRECISION [DateTimePrecision] - , c.NUMERIC_SCALE [Scale] - , c.COLLATION_CATALOG [CollationCatalog] - , c.COLLATION_SCHEMA [CollationSchema] - , c.COLLATION_NAME [CollationName] - , c.CHARACTER_SET_CATALOG [CharacterSetCatalog] - , c.CHARACTER_SET_SCHEMA [CharacterSetSchema] - , c.CHARACTER_SET_NAME [CharacterSetName] - , 0 as [IsMultiSet] - , c.[AUTOINCREMENT] as [IsIdentity] - , 0 as [IsStoreGenerated] - , c.COLUMN_DEFAULT as [Default] - FROM - TEMP.SCHEMACOLUMNS c - - - - - - SELECT - '[' || TABLE_NAME || ']' COLLATE NOCASE [Id] - , TABLE_CATALOG [CatalogName] - , TABLE_SCHEMA [SchemaName] - , TABLE_NAME [Name] - , VIEW_DEFINITION [ViewDefinition] - , IS_UPDATABLE [IsUpdatable] - FROM - TEMP.SCHEMAVIEWS - - - - - - SELECT - '[' || c.VIEW_NAME || ']' || '[' || c.VIEW_COLUMN_NAME || ']' COLLATE NOCASE [Id] - , '[' || c.VIEW_NAME || ']' COLLATE NOCASE [ParentId] - , c.VIEW_COLUMN_NAME [Name] - , c.ORDINAL_POSITION [Ordinal] - , c.IS_NULLABLE [IsNullable] - , c.EDM_TYPE [TypeName] - , c.CHARACTER_MAXIMUM_LENGTH [MaxLength] - , c.NUMERIC_PRECISION [Precision] - , c.DATETIME_PRECISION as [DateTimePrecision] - , c.NUMERIC_SCALE [Scale] - , c.COLLATION_CATALOG [CollationCatalog] - , c.COLLATION_SCHEMA [CollationSchema] - , c.COLLATION_NAME [CollationName] - , c.CHARACTER_SET_CATALOG [CharacterSetCatalog] - , c.CHARACTER_SET_SCHEMA [CharacterSetSchema] - , c.CHARACTER_SET_NAME [CharacterSetName] - , 0 as [IsMultiSet] - , c.[AUTOINCREMENT] as [IsIdentity] - , 0 as [IsStoreGenerated] - , c.COLUMN_DEFAULT [Default] - FROM - TEMP.SCHEMAVIEWCOLUMNS c - - - - - - SELECT - NULL [Id] - , NULL [CatalogName] - , NULL [SchemaName] - , NULL [Name] - , NULL [ReturnTypeName] - , NULL [ReturnMaxLength] - , NULL [ReturnPrecision] - , NULL [ReturnDateTimePrecision] - , NULL [ReturnScale] - , NULL [ReturnCollationCatalog] - , NULL [ReturnCollationSchema] - , NULL [ReturnCollationName] - , NULL [ReturnCharacterSetCatalog] - , NULL [ReturnCharacterSetSchema] - , NULL [ReturnCharacterSetName] - , NULL as [ReturnIsMultiSet] - , NULL as [IsAggregate] - , NULL as [IsBuiltIn] - , NULL as [IsNiladic] - WHERE 1=2 - - - - - - SELECT - NULL [Id] - , NULL [ParentId] - , NULL [Name] - , NULL [Ordinal] - , NULL [TypeName] - , NULL [MaxLength] - , NULL [Precision] - , NULL [DateTimePrecision] - , NULL [Scale] - , NULL [CollationCatalog] - , NULL [CollationSchema] - , NULL [CollationName] - , NULL [CharacterSetCatalog] - , NULL [CharacterSetSchema] - , NULL [CharacterSetName] - , NULL [IsMultiSet] - , NULL [Mode] - , NULL [Default] - WHERE 1=2 - - - - - - SELECT - NULL [Id] - , NULL [CatalogName] - , NULL [SchemaName] - , NULL [Name] - WHERE 1=2 - - - - - - SELECT - NULL [Id] - , NULL [ParentId] - , NULL [Name] - , NULL [Ordinal] - , NULL [TypeName] - , NULL [MaxLength] - , NULL [Precision] - , NULL [DateTimePrecision] - , NULL [Scale] - , NULL [CollationCatalog] - , NULL [CollationSchema] - , NULL [CollationName] - , NULL [CharacterSetCatalog] - , NULL [CharacterSetSchema] - , NULL [CharacterSetName] - , NULL as [IsMultiSet] - , NULL [Mode] - , NULL [Default] - WHERE 1=2 - - - - - - SELECT - '[' || tc.CONSTRAINT_NAME || ']' COLLATE NOCASE [Id] - , '[' || tc.TABLE_NAME || ']' COLLATE NOCASE [ParentId] - , tc.CONSTRAINT_NAME [Name] - , tc.CONSTRAINT_TYPE [ConstraintType] - , tc.IS_DEFERRABLE [IsDeferrable] - , tc.INITIALLY_DEFERRED [IsInitiallyDeferred] - FROM - TEMP.SCHEMACONSTRAINTS tc - - - - - - SELECT - NULL [Id] - , NULL [Expression] - WHERE 1 = 2 - - - - - - SELECT - '[' || CONSTRAINT_NAME || ']' COLLATE NOCASE [ConstraintId] - , '[' || TABLE_NAME || ']' || '[' || COLUMN_NAME || ']' COLLATE NOCASE [ColumnId] - FROM - TEMP.SCHEMACONSTRAINTCOLUMNS - - - - - - SELECT DISTINCT - '[' || rc.CONSTRAINT_NAME || ']' COLLATE NOCASE [Id] - , 'NO ACTION' COLLATE NOCASE [UpdateRule] - , 'NO ACTION' COLLATE NOCASE [DeleteRule] - FROM - TEMP.SCHEMAFOREIGNKEYS rc - - - - - - SELECT - '[' || FC.CONSTRAINT_NAME || ']' || '[' || FC.FKEY_FROM_ORDINAL_POSITION || ']' COLLATE NOCASE [Id] - , '[' || FC.FKEY_TO_TABLE || ']' || '[' || FC.FKEY_TO_COLUMN || ']' COLLATE NOCASE [ToColumnId] - , '[' || FC.TABLE_NAME || ']' || '[' || FC.FKEY_FROM_COLUMN || ']' COLLATE NOCASE [FromColumnId] - , '[' || FC.CONSTRAINT_NAME || ']' COLLATE NOCASE [ConstraintId] - , FC.FKEY_FROM_ORDINAL_POSITION [Ordinal] - FROM - TEMP.SCHEMAFOREIGNKEYS FC - - - - - - SELECT - NULL [Id] - , NULL [ParentId] - , NULL [Name] - , NULL [ConstraintType] - , NULL [IsDeferrable] - , NULL [IsInitiallyDeferred] - , NULL [Expression] - , NULL [UpdateRule] - , NULL [DeleteRule] - WHERE 1=2 - - - - - - SELECT - NULL [ConstraintId] - , NULL [ColumnId] - WHERE 1=2 - - - - - - SELECT - NULL [Id] - , NULL [ToColumnId] - , NULL [FromColumnId] - , NULL [ConstraintId] - , 0 [Ordinal] - WHERE 1=2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ADDED System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.ssdl Index: System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.ssdl ================================================================== --- /dev/null +++ System.Data.SQLite.Linq/Resources/SQLiteProviderServices.StoreSchemaDefinition.ssdl @@ -0,0 +1,709 @@ + + + + + + SELECT + '[' || TABLE_NAME || ']' COLLATE NOCASE [Id] + , TABLE_CATALOG [CatalogName] + , TABLE_SCHEMA [SchemaName] + , TABLE_NAME [Name] + FROM + TEMP.SCHEMATABLES + WHERE + TABLE_TYPE LIKE 'table' + + + + + + SELECT + '[' || c.TABLE_NAME || ']' || '[' || c.COLUMN_NAME || ']' COLLATE NOCASE [Id] + , '[' || c.TABLE_NAME || ']' COLLATE NOCASE [ParentId] + , c.COLUMN_NAME [Name] + , c.ORDINAL_POSITION [Ordinal] + , c.IS_NULLABLE [IsNullable] + , c.EDM_TYPE [TypeName] + , c.CHARACTER_MAXIMUM_LENGTH [MaxLength] + , c.NUMERIC_PRECISION [Precision] + , c.DATETIME_PRECISION [DateTimePrecision] + , c.NUMERIC_SCALE [Scale] + , c.COLLATION_CATALOG [CollationCatalog] + , c.COLLATION_SCHEMA [CollationSchema] + , c.COLLATION_NAME [CollationName] + , c.CHARACTER_SET_CATALOG [CharacterSetCatalog] + , c.CHARACTER_SET_SCHEMA [CharacterSetSchema] + , c.CHARACTER_SET_NAME [CharacterSetName] + , 0 as [IsMultiSet] + , c.[AUTOINCREMENT] as [IsIdentity] + , 0 as [IsStoreGenerated] + , c.COLUMN_DEFAULT as [Default] + FROM + TEMP.SCHEMACOLUMNS c + + + + + + SELECT + '[' || TABLE_NAME || ']' COLLATE NOCASE [Id] + , TABLE_CATALOG [CatalogName] + , TABLE_SCHEMA [SchemaName] + , TABLE_NAME [Name] + , VIEW_DEFINITION [ViewDefinition] + , IS_UPDATABLE [IsUpdatable] + FROM + TEMP.SCHEMAVIEWS + + + + + + SELECT + '[' || c.VIEW_NAME || ']' || '[' || c.VIEW_COLUMN_NAME || ']' COLLATE NOCASE [Id] + , '[' || c.VIEW_NAME || ']' COLLATE NOCASE [ParentId] + , c.VIEW_COLUMN_NAME [Name] + , c.ORDINAL_POSITION [Ordinal] + , c.IS_NULLABLE [IsNullable] + , c.EDM_TYPE [TypeName] + , c.CHARACTER_MAXIMUM_LENGTH [MaxLength] + , c.NUMERIC_PRECISION [Precision] + , c.DATETIME_PRECISION as [DateTimePrecision] + , c.NUMERIC_SCALE [Scale] + , c.COLLATION_CATALOG [CollationCatalog] + , c.COLLATION_SCHEMA [CollationSchema] + , c.COLLATION_NAME [CollationName] + , c.CHARACTER_SET_CATALOG [CharacterSetCatalog] + , c.CHARACTER_SET_SCHEMA [CharacterSetSchema] + , c.CHARACTER_SET_NAME [CharacterSetName] + , 0 as [IsMultiSet] + , c.[AUTOINCREMENT] as [IsIdentity] + , 0 as [IsStoreGenerated] + , c.COLUMN_DEFAULT [Default] + FROM + TEMP.SCHEMAVIEWCOLUMNS c + + + + + + SELECT + NULL [Id] + , NULL [CatalogName] + , NULL [SchemaName] + , NULL [Name] + , NULL [ReturnTypeName] + , NULL [ReturnMaxLength] + , NULL [ReturnPrecision] + , NULL [ReturnDateTimePrecision] + , NULL [ReturnScale] + , NULL [ReturnCollationCatalog] + , NULL [ReturnCollationSchema] + , NULL [ReturnCollationName] + , NULL [ReturnCharacterSetCatalog] + , NULL [ReturnCharacterSetSchema] + , NULL [ReturnCharacterSetName] + , NULL as [ReturnIsMultiSet] + , NULL as [IsAggregate] + , NULL as [IsBuiltIn] + , NULL as [IsNiladic] + WHERE 1=2 + + + + + + SELECT + NULL [Id] + , NULL [ParentId] + , NULL [Name] + , NULL [Ordinal] + , NULL [TypeName] + , NULL [MaxLength] + , NULL [Precision] + , NULL [DateTimePrecision] + , NULL [Scale] + , NULL [CollationCatalog] + , NULL [CollationSchema] + , NULL [CollationName] + , NULL [CharacterSetCatalog] + , NULL [CharacterSetSchema] + , NULL [CharacterSetName] + , NULL [IsMultiSet] + , NULL [Mode] + , NULL [Default] + WHERE 1=2 + + + + + + SELECT + NULL [Id] + , NULL [CatalogName] + , NULL [SchemaName] + , NULL [Name] + WHERE 1=2 + + + + + + SELECT + NULL [Id] + , NULL [ParentId] + , NULL [Name] + , NULL [Ordinal] + , NULL [TypeName] + , NULL [MaxLength] + , NULL [Precision] + , NULL [DateTimePrecision] + , NULL [Scale] + , NULL [CollationCatalog] + , NULL [CollationSchema] + , NULL [CollationName] + , NULL [CharacterSetCatalog] + , NULL [CharacterSetSchema] + , NULL [CharacterSetName] + , NULL as [IsMultiSet] + , NULL [Mode] + , NULL [Default] + WHERE 1=2 + + + + + + SELECT + '[' || tc.CONSTRAINT_NAME || ']' COLLATE NOCASE [Id] + , '[' || tc.TABLE_NAME || ']' COLLATE NOCASE [ParentId] + , tc.CONSTRAINT_NAME [Name] + , tc.CONSTRAINT_TYPE [ConstraintType] + , tc.IS_DEFERRABLE [IsDeferrable] + , tc.INITIALLY_DEFERRED [IsInitiallyDeferred] + FROM + TEMP.SCHEMACONSTRAINTS tc + + + + + + SELECT + NULL [Id] + , NULL [Expression] + WHERE 1 = 2 + + + + + + SELECT + '[' || CONSTRAINT_NAME || ']' COLLATE NOCASE [ConstraintId] + , '[' || TABLE_NAME || ']' || '[' || COLUMN_NAME || ']' COLLATE NOCASE [ColumnId] + FROM + TEMP.SCHEMACONSTRAINTCOLUMNS + + + + + + SELECT DISTINCT + '[' || rc.CONSTRAINT_NAME || ']' COLLATE NOCASE [Id] + , 'NO ACTION' COLLATE NOCASE [UpdateRule] + , 'NO ACTION' COLLATE NOCASE [DeleteRule] + FROM + TEMP.SCHEMAFOREIGNKEYS rc + + + + + + SELECT + '[' || FC.CONSTRAINT_NAME || ']' || '[' || FC.FKEY_FROM_ORDINAL_POSITION || ']' COLLATE NOCASE [Id] + , '[' || FC.FKEY_TO_TABLE || ']' || '[' || FC.FKEY_TO_COLUMN || ']' COLLATE NOCASE [ToColumnId] + , '[' || FC.TABLE_NAME || ']' || '[' || FC.FKEY_FROM_COLUMN || ']' COLLATE NOCASE [FromColumnId] + , '[' || FC.CONSTRAINT_NAME || ']' COLLATE NOCASE [ConstraintId] + , FC.FKEY_FROM_ORDINAL_POSITION [Ordinal] + FROM + TEMP.SCHEMAFOREIGNKEYS FC + + + + + + SELECT + NULL [Id] + , NULL [ParentId] + , NULL [Name] + , NULL [ConstraintType] + , NULL [IsDeferrable] + , NULL [IsInitiallyDeferred] + , NULL [Expression] + , NULL [UpdateRule] + , NULL [DeleteRule] + WHERE 1=2 + + + + + + SELECT + NULL [ConstraintId] + , NULL [ColumnId] + WHERE 1=2 + + + + + + SELECT + NULL [Id] + , NULL [ToColumnId] + , NULL [FromColumnId] + , NULL [ConstraintId] + , 0 [Ordinal] + WHERE 1=2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: System.Data.SQLite.Linq/SQL Generation/DmlSqlGenerator.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/DmlSqlGenerator.cs +++ System.Data.SQLite.Linq/SQL Generation/DmlSqlGenerator.cs @@ -6,31 +6,21 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.Text; using System.Data; using System.Data.Common; - -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Metadata.Edm; - using System.Data.Entity.Core.Common.CommandTrees; -#else using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees; -#endif /// /// Class generating SQL for a DML command tree. /// internal static class DmlSqlGenerator Index: System.Data.SQLite.Linq/SQL Generation/ISqlFragment.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/ISqlFragment.cs +++ System.Data.SQLite.Linq/SQL Generation/ISqlFragment.cs @@ -6,21 +6,13 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif -{ -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Common.CommandTrees; -#else - using System.Data.Common.CommandTrees; -#endif +namespace System.Data.SQLite +{ + using System.Data.Common.CommandTrees; /// /// Represents the sql fragment for any node in the query tree. /// /// Index: System.Data.SQLite.Linq/SQL Generation/InternalBase.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/InternalBase.cs +++ System.Data.SQLite.Linq/SQL Generation/InternalBase.cs @@ -9,15 +9,11 @@ #if NET_40 || NET_45 || NET_451 using System.Runtime; #endif -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { internal abstract class InternalBase { // Methods #if NET_40 || NET_45 || NET_451 Index: System.Data.SQLite.Linq/SQL Generation/JoinSymbol.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/JoinSymbol.cs +++ System.Data.SQLite.Linq/SQL Generation/JoinSymbol.cs @@ -6,26 +6,16 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System; using System.Collections.Generic; - -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Metadata.Edm; - using System.Data.Entity.Core.Common.CommandTrees; -#else using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees; -#endif /// /// A Join symbol is a special kind of Symbol. /// It has to carry additional information /// Index: System.Data.SQLite.Linq/SQL Generation/KeyToListMap.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/KeyToListMap.cs +++ System.Data.SQLite.Linq/SQL Generation/KeyToListMap.cs @@ -12,15 +12,11 @@ #if NET_40 || NET_45 || NET_451 using System.Runtime; #endif -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { internal sealed class KeyToListMap : InternalBase { // Fields private Dictionary> m_map; Index: System.Data.SQLite.Linq/SQL Generation/MetadataHelpers.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/MetadataHelpers.cs +++ System.Data.SQLite.Linq/SQL Generation/MetadataHelpers.cs @@ -6,26 +6,17 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System; using System.Data; using System.Collections.Generic; - using System.Diagnostics; - -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Metadata.Edm; -#else using System.Data.Metadata.Edm; -#endif + using System.Diagnostics; /// /// A set of static helpers for type metadata /// static class MetadataHelpers Index: System.Data.SQLite.Linq/SQL Generation/SkipClause.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/SkipClause.cs +++ System.Data.SQLite.Linq/SQL Generation/SkipClause.cs @@ -6,15 +6,11 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System.Globalization; /// /// SkipClause represents the a SKIP expression in a SqlSelectStatement. Index: System.Data.SQLite.Linq/SQL Generation/SqlBuilder.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/SqlBuilder.cs +++ System.Data.SQLite.Linq/SQL Generation/SqlBuilder.cs @@ -6,25 +6,16 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System; using System.Collections.Generic; using System.Diagnostics; - -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Common.CommandTrees; -#else using System.Data.Common.CommandTrees; -#endif /// /// This class is like StringBuilder. While traversing the tree for the first time, /// we do not know all the strings that need to be appended e.g. things that need to be /// renamed, nested select statements etc. So, we use a builder that can collect Index: System.Data.SQLite.Linq/SQL Generation/SqlChecker.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/SqlChecker.cs +++ System.Data.SQLite.Linq/SQL Generation/SqlChecker.cs @@ -3,24 +3,15 @@ * Written by Robert Simpson (robert@blackcastlesoft.com) * * Released to the public domain, use at your own risk! ********************************************************/ -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System; using System.Collections.Generic; - -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Common.CommandTrees; -#else using System.Data.Common.CommandTrees; -#endif internal sealed class SqlChecker : DbExpressionVisitor { #if false private static Type sql8rewriter; Index: System.Data.SQLite.Linq/SQL Generation/SqlGenerator.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/SqlGenerator.cs +++ System.Data.SQLite.Linq/SQL Generation/SqlGenerator.cs @@ -6,34 +6,24 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System; using System.Linq; using System.Diagnostics; using System.Globalization; using System.Text; using System.Data.Common; + using System.Data.Metadata.Edm; + using System.Data.Common.CommandTrees; using System.Data; using System.Collections.ObjectModel; using System.Collections.Generic; -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Metadata.Edm; - using System.Data.Entity.Core.Common.CommandTrees; -#else - using System.Data.Metadata.Edm; - using System.Data.Common.CommandTrees; -#endif - /// /// Translates the command object into a SQL string that can be executed on /// SQLite. /// /// Index: System.Data.SQLite.Linq/SQL Generation/SqlSelectStatement.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/SqlSelectStatement.cs +++ System.Data.SQLite.Linq/SQL Generation/SqlSelectStatement.cs @@ -6,24 +6,15 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System.Collections.Generic; using System.Diagnostics; - -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Common.CommandTrees; -#else using System.Data.Common.CommandTrees; -#endif /// /// A SqlSelectStatement represents a canonical SQL SELECT statement. /// It has fields for the 5 main clauses /// Index: System.Data.SQLite.Linq/SQL Generation/SqlWriter.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/SqlWriter.cs +++ System.Data.SQLite.Linq/SQL Generation/SqlWriter.cs @@ -6,15 +6,11 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System.IO; using System.Text; /// Index: System.Data.SQLite.Linq/SQL Generation/StringUtil.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/StringUtil.cs +++ System.Data.SQLite.Linq/SQL Generation/StringUtil.cs @@ -12,15 +12,11 @@ #if NET_40 || NET_45 || NET_451 using System.Runtime; #endif -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { internal static class StringUtil { // Fields private const string s_defaultDelimiter = ", "; Index: System.Data.SQLite.Linq/SQL Generation/Symbol.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/Symbol.cs +++ System.Data.SQLite.Linq/SQL Generation/Symbol.cs @@ -6,24 +6,15 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System; using System.Collections.Generic; - -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Metadata.Edm; -#else using System.Data.Metadata.Edm; -#endif /// /// /// This class represents an extent/nested select statement, /// or a column. Index: System.Data.SQLite.Linq/SQL Generation/SymbolPair.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/SymbolPair.cs +++ System.Data.SQLite.Linq/SQL Generation/SymbolPair.cs @@ -6,23 +6,14 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System.Diagnostics; - -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Common.CommandTrees; -#else using System.Data.Common.CommandTrees; -#endif /// /// The SymbolPair exists to solve the record flattening problem. /// /// Consider a property expression D(v, "j3.j2.j1.a.x") Index: System.Data.SQLite.Linq/SQL Generation/SymbolTable.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/SymbolTable.cs +++ System.Data.SQLite.Linq/SQL Generation/SymbolTable.cs @@ -6,24 +6,15 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System; using System.Collections.Generic; - -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Common.CommandTrees; -#else using System.Data.Common.CommandTrees; -#endif /// /// The symbol table is quite primitive - it is a stack with a new entry for /// each scope. Lookups search from the top of the stack to the bottom, until /// an entry is found. Index: System.Data.SQLite.Linq/SQL Generation/TopClause.cs ================================================================== --- System.Data.SQLite.Linq/SQL Generation/TopClause.cs +++ System.Data.SQLite.Linq/SQL Generation/TopClause.cs @@ -6,15 +6,11 @@ // or License.txt for details. // All rights reserved. // //--------------------------------------------------------------------- -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System; using System.Globalization; /// DELETED System.Data.SQLite.Linq/SQLiteProviderFactory.cs Index: System.Data.SQLite.Linq/SQLiteProviderFactory.cs ================================================================== --- System.Data.SQLite.Linq/SQLiteProviderFactory.cs +++ /dev/null @@ -1,174 +0,0 @@ -/******************************************************** - * ADO.NET 2.0 Data Provider for SQLite Version 3.X - * Written by Robert Simpson (robert@blackcastlesoft.com) - * - * Released to the public domain, use at your own risk! - ********************************************************/ - -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif -{ - using System; - using System.Data.Common; - - /// - /// SQLite implementation of . - /// - public sealed class SQLiteProviderFactory : DbProviderFactory, IDisposable - { - #region Public Static Data - /// - /// Static instance member which returns an instanced - /// class. - /// - public static readonly SQLiteProviderFactory Instance = - new SQLiteProviderFactory(); - #endregion - - /////////////////////////////////////////////////////////////////////// - - #region Public Constructors - /// - /// Constructs a new instance. - /// - public SQLiteProviderFactory() - { - // do nothing. - } - #endregion - - /////////////////////////////////////////////////////////////////////// - - #region System.Data.Common.DbProviderFactory Overrides - /// - /// Creates and returns a new object. - /// - /// The new object. - public override DbCommand CreateCommand() - { - CheckDisposed(); - return new SQLiteCommand(); - } - - /////////////////////////////////////////////////////////////////////// - - /// - /// Creates and returns a new object. - /// - /// The new object. - public override DbCommandBuilder CreateCommandBuilder() - { - CheckDisposed(); - return new SQLiteCommandBuilder(); - } - - /////////////////////////////////////////////////////////////////////// - - /// - /// Creates and returns a new object. - /// - /// The new object. - public override DbConnection CreateConnection() - { - CheckDisposed(); - return new SQLiteConnection(); - } - - /////////////////////////////////////////////////////////////////////// - - /// - /// Creates and returns a new - /// object. - /// - /// The new object. - public override DbConnectionStringBuilder CreateConnectionStringBuilder() - { - CheckDisposed(); - return new SQLiteConnectionStringBuilder(); - } - - /////////////////////////////////////////////////////////////////////// - - /// - /// Creates and returns a new object. - /// - /// The new object. - public override DbDataAdapter CreateDataAdapter() - { - CheckDisposed(); - return new SQLiteDataAdapter(); - } - - /////////////////////////////////////////////////////////////////////// - - /// - /// Creates and returns a new object. - /// - /// The new object. - public override DbParameter CreateParameter() - { - CheckDisposed(); - return new SQLiteParameter(); - } - #endregion - - /////////////////////////////////////////////////////////////////////// - - #region IDisposable Members - public void Dispose() - { - Dispose(true); - GC.SuppressFinalize(this); - } - #endregion - - /////////////////////////////////////////////////////////////////////// - - #region IDisposable "Pattern" Members - private bool disposed; - private void CheckDisposed() /* throw */ - { -#if THROW_ON_DISPOSED - if (disposed) - { - throw new ObjectDisposedException( - typeof(SQLiteProviderFactory).Name); - } -#endif - } - - /////////////////////////////////////////////////////////////////////// - - private void Dispose(bool disposing) - { - if (!disposed) - { - //if (disposing) - //{ - // //////////////////////////////////// - // // dispose managed resources here... - // //////////////////////////////////// - //} - - ////////////////////////////////////// - // release unmanaged resources here... - ////////////////////////////////////// - - disposed = true; - } - } - #endregion - - /////////////////////////////////////////////////////////////////////// - - #region Destructor - ~SQLiteProviderFactory() - { - Dispose(false); - } - #endregion - } -} Index: System.Data.SQLite.Linq/SQLiteProviderManifest.cs ================================================================== --- System.Data.SQLite.Linq/SQLiteProviderManifest.cs +++ System.Data.SQLite.Linq/SQLiteProviderManifest.cs @@ -1,377 +1,366 @@ -/******************************************************** - * ADO.NET 2.0 Data Provider for SQLite Version 3.X - * Written by Robert Simpson (robert@blackcastlesoft.com) - * - * Released to the public domain, use at your own risk! - ********************************************************/ - -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif -{ - using System; - using System.Data; - using System.Reflection; - using System.IO; - using System.Xml; - using System.Data.Common; - -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core; - using System.Data.Entity.Core.Common; - using System.Data.Entity.Core.Metadata.Edm; -#else - using System.Data.Metadata.Edm; -#endif - - /// - /// The Provider Manifest for SQL Server - /// - internal sealed class SQLiteProviderManifest : DbXmlEnabledProviderManifest - { - internal SQLiteDateFormats _dateFormat; - - /// - /// Constructs the provider manifest. - /// - /// - /// We pass the token as a DateTimeFormat enum text, because all the datetime functions - /// are vastly different depending on how the user is opening the connection - /// - /// A token used to infer the capabilities of the store - public SQLiteProviderManifest(string manifestToken) - : base(SQLiteProviderManifest.GetProviderManifest()) - { - _dateFormat = (SQLiteDateFormats)Enum.Parse(typeof(SQLiteDateFormats), manifestToken, true); - } - - internal static XmlReader GetProviderManifest() - { - return GetXmlResource("System.Data.SQLite.SQLiteProviderServices.ProviderManifest.xml"); - } - - /// - /// Returns manifest information for the provider - /// - /// The name of the information to be retrieved. - /// An XmlReader at the begining of the information requested. - protected override XmlReader GetDbInformation(string informationType) - { - if (informationType == DbProviderManifest.StoreSchemaDefinition) - return GetStoreSchemaDescription(); - else if (informationType == DbProviderManifest.StoreSchemaMapping) - return GetStoreSchemaMapping(); - else if (informationType == DbProviderManifest.ConceptualSchemaDefinition) - return null; - - throw new ProviderIncompatibleException(String.Format("SQLite does not support this information type '{0}'.", informationType)); - } - - /// - /// This method takes a type and a set of facets and returns the best mapped equivalent type - /// in EDM. - /// - /// A TypeUsage encapsulating a store type and a set of facets - /// A TypeUsage encapsulating an EDM type and a set of facets - public override TypeUsage GetEdmType(TypeUsage storeType) - { - if (storeType == null) - { - throw new ArgumentNullException("storeType"); - } - - string storeTypeName = storeType.EdmType.Name.ToLowerInvariant(); - //if (!base.StoreTypeNameToEdmPrimitiveType.ContainsKey(storeTypeName)) - //{ - // switch (storeTypeName) - // { - // case "integer": - // return TypeUsage.CreateDefaultTypeUsage(PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.Int64)); - // default: - // throw new ArgumentException(String.Format("SQLite does not support the type '{0}'.", storeTypeName)); - // } - //} - - PrimitiveType edmPrimitiveType; - - if (base.StoreTypeNameToEdmPrimitiveType.TryGetValue(storeTypeName, out edmPrimitiveType) == false) - throw new ArgumentException(String.Format("SQLite does not support the type '{0}'.", storeTypeName)); - - int maxLength = 0; - bool isUnicode = true; - bool isFixedLen = false; - bool isUnbounded = true; - - PrimitiveTypeKind newPrimitiveTypeKind; - - switch (storeTypeName) - { - case "tinyint": - case "smallint": - case "integer": - case "bit": - case "uniqueidentifier": - case "int": - case "float": - case "real": - return TypeUsage.CreateDefaultTypeUsage(edmPrimitiveType); - - case "varchar": - newPrimitiveTypeKind = PrimitiveTypeKind.String; - isUnbounded = !TypeHelpers.TryGetMaxLength(storeType, out maxLength); - isUnicode = false; - isFixedLen = false; - break; - case "char": - newPrimitiveTypeKind = PrimitiveTypeKind.String; - isUnbounded = !TypeHelpers.TryGetMaxLength(storeType, out maxLength); - isUnicode = false; - isFixedLen = true; - break; - case "nvarchar": - newPrimitiveTypeKind = PrimitiveTypeKind.String; - isUnbounded = !TypeHelpers.TryGetMaxLength(storeType, out maxLength); - isUnicode = true; - isFixedLen = false; - break; - case "nchar": - newPrimitiveTypeKind = PrimitiveTypeKind.String; - isUnbounded = !TypeHelpers.TryGetMaxLength(storeType, out maxLength); - isUnicode = true; - isFixedLen = true; - break; - case "blob": - newPrimitiveTypeKind = PrimitiveTypeKind.Binary; - isUnbounded = !TypeHelpers.TryGetMaxLength(storeType, out maxLength); - isFixedLen = false; - break; - case "decimal": - { - byte precision; - byte scale; - if (TypeHelpers.TryGetPrecision(storeType, out precision) && TypeHelpers.TryGetScale(storeType, out scale)) - { - return TypeUsage.CreateDecimalTypeUsage(edmPrimitiveType, precision, scale); - } - else - { - return TypeUsage.CreateDecimalTypeUsage(edmPrimitiveType); - } - } - case "datetime": - return TypeUsage.CreateDateTimeTypeUsage(edmPrimitiveType, null); - default: - throw new NotSupportedException(String.Format("SQLite does not support the type '{0}'.", storeTypeName)); - } - - switch (newPrimitiveTypeKind) - { - case PrimitiveTypeKind.String: - if (!isUnbounded) - { - return TypeUsage.CreateStringTypeUsage(edmPrimitiveType, isUnicode, isFixedLen, maxLength); - } - else - { - return TypeUsage.CreateStringTypeUsage(edmPrimitiveType, isUnicode, isFixedLen); - } - case PrimitiveTypeKind.Binary: - if (!isUnbounded) - { - return TypeUsage.CreateBinaryTypeUsage(edmPrimitiveType, isFixedLen, maxLength); - } - else - { - return TypeUsage.CreateBinaryTypeUsage(edmPrimitiveType, isFixedLen); - } - default: - throw new NotSupportedException(String.Format("SQLite does not support the type '{0}'.", storeTypeName)); - } - } - - /// - /// This method takes a type and a set of facets and returns the best mapped equivalent type - /// - /// A TypeUsage encapsulating an EDM type and a set of facets - /// A TypeUsage encapsulating a store type and a set of facets - public override TypeUsage GetStoreType(TypeUsage edmType) - { - if (edmType == null) - throw new ArgumentNullException("edmType"); - - PrimitiveType primitiveType = edmType.EdmType as PrimitiveType; - if (primitiveType == null) - throw new ArgumentException(String.Format("SQLite does not support the type '{0}'.", edmType)); - - ReadOnlyMetadataCollection facets = edmType.Facets; - - switch (primitiveType.PrimitiveTypeKind) - { - case PrimitiveTypeKind.Boolean: - return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["bit"]); - case PrimitiveTypeKind.Byte: - return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["tinyint"]); - case PrimitiveTypeKind.Int16: - return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["smallint"]); - case PrimitiveTypeKind.Int32: - return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["int"]); - case PrimitiveTypeKind.Int64: - return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["integer"]); - case PrimitiveTypeKind.Guid: - return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["uniqueidentifier"]); - case PrimitiveTypeKind.Double: - return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["float"]); - case PrimitiveTypeKind.Single: - return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["real"]); - case PrimitiveTypeKind.Decimal: // decimal, numeric, smallmoney, money - { - byte precision; - if (!TypeHelpers.TryGetPrecision(edmType, out precision)) - { - precision = 18; - } - - byte scale; - if (!TypeHelpers.TryGetScale(edmType, out scale)) - { - scale = 0; - } - - return TypeUsage.CreateDecimalTypeUsage(StoreTypeNameToStorePrimitiveType["decimal"], precision, scale); - } - case PrimitiveTypeKind.Binary: // binary, varbinary, varbinary(max), image, timestamp, rowversion - { - bool isFixedLength = null != facets["FixedLength"].Value && (bool)facets["FixedLength"].Value; - Facet f = facets["MaxLength"]; - - bool isMaxLength = f.IsUnbounded || null == f.Value || (int)f.Value > Int32.MaxValue; - int maxLength = !isMaxLength ? (int)f.Value : Int32.MinValue; - - TypeUsage tu; - if (isFixedLength) - tu = TypeUsage.CreateBinaryTypeUsage(StoreTypeNameToStorePrimitiveType["blob"], true, maxLength); - else - { - if (isMaxLength) - tu = TypeUsage.CreateBinaryTypeUsage(StoreTypeNameToStorePrimitiveType["blob"], false); - else - tu = TypeUsage.CreateBinaryTypeUsage(StoreTypeNameToStorePrimitiveType["blob"], false, maxLength); - } - return tu; - } - case PrimitiveTypeKind.String: // char, nchar, varchar, nvarchar, varchar(max), nvarchar(max), ntext, text - { - bool isUnicode = null == facets["Unicode"].Value || (bool)facets["Unicode"].Value; - bool isFixedLength = null != facets["FixedLength"].Value && (bool)facets["FixedLength"].Value; - Facet f = facets["MaxLength"]; - // maxlen is true if facet value is unbounded, the value is bigger than the limited string sizes *or* the facet - // value is null. this is needed since functions still have maxlength facet value as null - bool isMaxLength = f.IsUnbounded || null == f.Value || (int)f.Value > (isUnicode ? Int32.MaxValue : Int32.MaxValue); - int maxLength = !isMaxLength ? (int)f.Value : Int32.MinValue; - - TypeUsage tu; - - if (isUnicode) - { - if (isFixedLength) - tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["nchar"], true, true, maxLength); - else - { - if (isMaxLength) - tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["nvarchar"], true, false); - else - tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["nvarchar"], true, false, maxLength); - } - } - else - { - if (isFixedLength) - tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["char"], false, true, maxLength); - else - { - if (isMaxLength) - tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["varchar"], false, false); - else - tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["varchar"], false, false, maxLength); - } - } - return tu; - } - case PrimitiveTypeKind.DateTime: // datetime, smalldatetime - return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["datetime"]); - default: - throw new NotSupportedException(String.Format("There is no store type corresponding to the EDM type '{0}' of primitive type '{1}'.", edmType, primitiveType.PrimitiveTypeKind)); - } - } - - private XmlReader GetStoreSchemaMapping() - { - return GetXmlResource("System.Data.SQLite.SQLiteProviderServices.StoreSchemaMapping.msl"); - } - - private XmlReader GetStoreSchemaDescription() - { - return GetXmlResource("System.Data.SQLite.SQLiteProviderServices.StoreSchemaDefinition.ssdl"); - } - - internal static XmlReader GetXmlResource(string resourceName) - { - Assembly executingAssembly = Assembly.GetExecutingAssembly(); - Stream stream = executingAssembly.GetManifestResourceStream(resourceName); - return XmlReader.Create(stream); - } - - private static class TypeHelpers - { - public static bool TryGetPrecision(TypeUsage tu, out byte precision) - { - Facet f; - - precision = 0; - if (tu.Facets.TryGetValue("Precision", false, out f)) - { - if (!f.IsUnbounded && f.Value != null) - { - precision = (byte)f.Value; - return true; - } - } - return false; - } - - public static bool TryGetMaxLength(TypeUsage tu, out int maxLength) - { - Facet f; - - maxLength = 0; - if (tu.Facets.TryGetValue("MaxLength", false, out f)) - { - if (!f.IsUnbounded && f.Value != null) - { - maxLength = (int)f.Value; - return true; - } - } - return false; - } - - public static bool TryGetScale(TypeUsage tu, out byte scale) - { - Facet f; - - scale = 0; - if (tu.Facets.TryGetValue("Scale", false, out f)) - { - if (!f.IsUnbounded && f.Value != null) - { - scale = (byte)f.Value; - return true; - } - } - return false; - } - } - } +/******************************************************** + * ADO.NET 2.0 Data Provider for SQLite Version 3.X + * Written by Robert Simpson (robert@blackcastlesoft.com) + * + * Released to the public domain, use at your own risk! + ********************************************************/ + +namespace System.Data.SQLite +{ + using System; + using System.Data; + using System.Reflection; + using System.IO; + using System.Xml; + using System.Data.Common; + using System.Data.Metadata.Edm; + + /// + /// The Provider Manifest for SQL Server + /// + internal sealed class SQLiteProviderManifest : DbXmlEnabledProviderManifest + { + internal SQLiteDateFormats _dateFormat; + + /// + /// Constructs the provider manifest. + /// + /// + /// We pass the token as a DateTimeFormat enum text, because all the datetime functions + /// are vastly different depending on how the user is opening the connection + /// + /// A token used to infer the capabilities of the store + public SQLiteProviderManifest(string manifestToken) + : base(SQLiteProviderManifest.GetProviderManifest()) + { + _dateFormat = (SQLiteDateFormats)Enum.Parse(typeof(SQLiteDateFormats), manifestToken, true); + } + + internal static XmlReader GetProviderManifest() + { + return GetXmlResource("System.Data.SQLite.Linq.Resources.SQLiteProviderServices.ProviderManifest.xml"); + } + + /// + /// Returns manifest information for the provider + /// + /// The name of the information to be retrieved. + /// An XmlReader at the begining of the information requested. + protected override XmlReader GetDbInformation(string informationType) + { + if (informationType == DbProviderManifest.StoreSchemaDefinition) + return GetStoreSchemaDescription(); + else if (informationType == DbProviderManifest.StoreSchemaMapping) + return GetStoreSchemaMapping(); + else if (informationType == DbProviderManifest.ConceptualSchemaDefinition) + return null; + + throw new ProviderIncompatibleException(String.Format("SQLite does not support this information type '{0}'.", informationType)); + } + + /// + /// This method takes a type and a set of facets and returns the best mapped equivalent type + /// in EDM. + /// + /// A TypeUsage encapsulating a store type and a set of facets + /// A TypeUsage encapsulating an EDM type and a set of facets + public override TypeUsage GetEdmType(TypeUsage storeType) + { + if (storeType == null) + { + throw new ArgumentNullException("storeType"); + } + + string storeTypeName = storeType.EdmType.Name.ToLowerInvariant(); + //if (!base.StoreTypeNameToEdmPrimitiveType.ContainsKey(storeTypeName)) + //{ + // switch (storeTypeName) + // { + // case "integer": + // return TypeUsage.CreateDefaultTypeUsage(PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.Int64)); + // default: + // throw new ArgumentException(String.Format("SQLite does not support the type '{0}'.", storeTypeName)); + // } + //} + + PrimitiveType edmPrimitiveType; + + if (base.StoreTypeNameToEdmPrimitiveType.TryGetValue(storeTypeName, out edmPrimitiveType) == false) + throw new ArgumentException(String.Format("SQLite does not support the type '{0}'.", storeTypeName)); + + int maxLength = 0; + bool isUnicode = true; + bool isFixedLen = false; + bool isUnbounded = true; + + PrimitiveTypeKind newPrimitiveTypeKind; + + switch (storeTypeName) + { + case "tinyint": + case "smallint": + case "integer": + case "bit": + case "uniqueidentifier": + case "int": + case "float": + case "real": + return TypeUsage.CreateDefaultTypeUsage(edmPrimitiveType); + + case "varchar": + newPrimitiveTypeKind = PrimitiveTypeKind.String; + isUnbounded = !TypeHelpers.TryGetMaxLength(storeType, out maxLength); + isUnicode = false; + isFixedLen = false; + break; + case "char": + newPrimitiveTypeKind = PrimitiveTypeKind.String; + isUnbounded = !TypeHelpers.TryGetMaxLength(storeType, out maxLength); + isUnicode = false; + isFixedLen = true; + break; + case "nvarchar": + newPrimitiveTypeKind = PrimitiveTypeKind.String; + isUnbounded = !TypeHelpers.TryGetMaxLength(storeType, out maxLength); + isUnicode = true; + isFixedLen = false; + break; + case "nchar": + newPrimitiveTypeKind = PrimitiveTypeKind.String; + isUnbounded = !TypeHelpers.TryGetMaxLength(storeType, out maxLength); + isUnicode = true; + isFixedLen = true; + break; + case "blob": + newPrimitiveTypeKind = PrimitiveTypeKind.Binary; + isUnbounded = !TypeHelpers.TryGetMaxLength(storeType, out maxLength); + isFixedLen = false; + break; + case "decimal": + { + byte precision; + byte scale; + if (TypeHelpers.TryGetPrecision(storeType, out precision) && TypeHelpers.TryGetScale(storeType, out scale)) + { + return TypeUsage.CreateDecimalTypeUsage(edmPrimitiveType, precision, scale); + } + else + { + return TypeUsage.CreateDecimalTypeUsage(edmPrimitiveType); + } + } + case "datetime": + return TypeUsage.CreateDateTimeTypeUsage(edmPrimitiveType, null); + default: + throw new NotSupportedException(String.Format("SQLite does not support the type '{0}'.", storeTypeName)); + } + + switch (newPrimitiveTypeKind) + { + case PrimitiveTypeKind.String: + if (!isUnbounded) + { + return TypeUsage.CreateStringTypeUsage(edmPrimitiveType, isUnicode, isFixedLen, maxLength); + } + else + { + return TypeUsage.CreateStringTypeUsage(edmPrimitiveType, isUnicode, isFixedLen); + } + case PrimitiveTypeKind.Binary: + if (!isUnbounded) + { + return TypeUsage.CreateBinaryTypeUsage(edmPrimitiveType, isFixedLen, maxLength); + } + else + { + return TypeUsage.CreateBinaryTypeUsage(edmPrimitiveType, isFixedLen); + } + default: + throw new NotSupportedException(String.Format("SQLite does not support the type '{0}'.", storeTypeName)); + } + } + + /// + /// This method takes a type and a set of facets and returns the best mapped equivalent type + /// + /// A TypeUsage encapsulating an EDM type and a set of facets + /// A TypeUsage encapsulating a store type and a set of facets + public override TypeUsage GetStoreType(TypeUsage edmType) + { + if (edmType == null) + throw new ArgumentNullException("edmType"); + + PrimitiveType primitiveType = edmType.EdmType as PrimitiveType; + if (primitiveType == null) + throw new ArgumentException(String.Format("SQLite does not support the type '{0}'.", edmType)); + + ReadOnlyMetadataCollection facets = edmType.Facets; + + switch (primitiveType.PrimitiveTypeKind) + { + case PrimitiveTypeKind.Boolean: + return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["bit"]); + case PrimitiveTypeKind.Byte: + return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["tinyint"]); + case PrimitiveTypeKind.Int16: + return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["smallint"]); + case PrimitiveTypeKind.Int32: + return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["int"]); + case PrimitiveTypeKind.Int64: + return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["integer"]); + case PrimitiveTypeKind.Guid: + return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["uniqueidentifier"]); + case PrimitiveTypeKind.Double: + return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["float"]); + case PrimitiveTypeKind.Single: + return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["real"]); + case PrimitiveTypeKind.Decimal: // decimal, numeric, smallmoney, money + { + byte precision; + if (!TypeHelpers.TryGetPrecision(edmType, out precision)) + { + precision = 18; + } + + byte scale; + if (!TypeHelpers.TryGetScale(edmType, out scale)) + { + scale = 0; + } + + return TypeUsage.CreateDecimalTypeUsage(StoreTypeNameToStorePrimitiveType["decimal"], precision, scale); + } + case PrimitiveTypeKind.Binary: // binary, varbinary, varbinary(max), image, timestamp, rowversion + { + bool isFixedLength = null != facets["FixedLength"].Value && (bool)facets["FixedLength"].Value; + Facet f = facets["MaxLength"]; + + bool isMaxLength = f.IsUnbounded || null == f.Value || (int)f.Value > Int32.MaxValue; + int maxLength = !isMaxLength ? (int)f.Value : Int32.MinValue; + + TypeUsage tu; + if (isFixedLength) + tu = TypeUsage.CreateBinaryTypeUsage(StoreTypeNameToStorePrimitiveType["blob"], true, maxLength); + else + { + if (isMaxLength) + tu = TypeUsage.CreateBinaryTypeUsage(StoreTypeNameToStorePrimitiveType["blob"], false); + else + tu = TypeUsage.CreateBinaryTypeUsage(StoreTypeNameToStorePrimitiveType["blob"], false, maxLength); + } + return tu; + } + case PrimitiveTypeKind.String: // char, nchar, varchar, nvarchar, varchar(max), nvarchar(max), ntext, text + { + bool isUnicode = null == facets["Unicode"].Value || (bool)facets["Unicode"].Value; + bool isFixedLength = null != facets["FixedLength"].Value && (bool)facets["FixedLength"].Value; + Facet f = facets["MaxLength"]; + // maxlen is true if facet value is unbounded, the value is bigger than the limited string sizes *or* the facet + // value is null. this is needed since functions still have maxlength facet value as null + bool isMaxLength = f.IsUnbounded || null == f.Value || (int)f.Value > (isUnicode ? Int32.MaxValue : Int32.MaxValue); + int maxLength = !isMaxLength ? (int)f.Value : Int32.MinValue; + + TypeUsage tu; + + if (isUnicode) + { + if (isFixedLength) + tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["nchar"], true, true, maxLength); + else + { + if (isMaxLength) + tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["nvarchar"], true, false); + else + tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["nvarchar"], true, false, maxLength); + } + } + else + { + if (isFixedLength) + tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["char"], false, true, maxLength); + else + { + if (isMaxLength) + tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["varchar"], false, false); + else + tu = TypeUsage.CreateStringTypeUsage(StoreTypeNameToStorePrimitiveType["varchar"], false, false, maxLength); + } + } + return tu; + } + case PrimitiveTypeKind.DateTime: // datetime, smalldatetime + return TypeUsage.CreateDefaultTypeUsage(StoreTypeNameToStorePrimitiveType["datetime"]); + default: + throw new NotSupportedException(String.Format("There is no store type corresponding to the EDM type '{0}' of primitive type '{1}'.", edmType, primitiveType.PrimitiveTypeKind)); + } + } + + private XmlReader GetStoreSchemaMapping() + { + return GetXmlResource("System.Data.SQLite.Linq.Resources.SQLiteProviderServices.StoreSchemaMapping.msl"); + } + + private XmlReader GetStoreSchemaDescription() + { + return GetXmlResource("System.Data.SQLite.Linq.Resources.SQLiteProviderServices.StoreSchemaDefinition.ssdl"); + } + + internal static XmlReader GetXmlResource(string resourceName) + { + Assembly executingAssembly = Assembly.GetExecutingAssembly(); + Stream stream = executingAssembly.GetManifestResourceStream(resourceName); + return XmlReader.Create(stream); + } + + private static class TypeHelpers + { + public static bool TryGetPrecision(TypeUsage tu, out byte precision) + { + Facet f; + + precision = 0; + if (tu.Facets.TryGetValue("Precision", false, out f)) + { + if (!f.IsUnbounded && f.Value != null) + { + precision = (byte)f.Value; + return true; + } + } + return false; + } + + public static bool TryGetMaxLength(TypeUsage tu, out int maxLength) + { + Facet f; + + maxLength = 0; + if (tu.Facets.TryGetValue("MaxLength", false, out f)) + { + if (!f.IsUnbounded && f.Value != null) + { + maxLength = (int)f.Value; + return true; + } + } + return false; + } + + public static bool TryGetScale(TypeUsage tu, out byte scale) + { + Facet f; + + scale = 0; + if (tu.Facets.TryGetValue("Scale", false, out f)) + { + if (!f.IsUnbounded && f.Value != null) + { + scale = (byte)f.Value; + return true; + } + } + return false; + } + } + } } Index: System.Data.SQLite.Linq/SQLiteProviderServices.cs ================================================================== --- System.Data.SQLite.Linq/SQLiteProviderServices.cs +++ System.Data.SQLite.Linq/SQLiteProviderServices.cs @@ -3,32 +3,21 @@ * Written by Robert Simpson (robert@blackcastlesoft.com) * * Released to the public domain, use at your own risk! ********************************************************/ -#if USE_ENTITY_FRAMEWORK_6 -namespace System.Data.SQLite.EF6 -#else -namespace System.Data.SQLite.Linq -#endif +namespace System.Data.SQLite { using System; using System.Data.Common; + using System.Data.Common.CommandTrees; + using System.Data.Metadata.Edm; using System.Diagnostics; using System.Collections.Generic; using System.Text; using System.Globalization; -#if USE_ENTITY_FRAMEWORK_6 - using System.Data.Entity.Core.Common; - using System.Data.Entity.Core.Metadata.Edm; - using System.Data.Entity.Core.Common.CommandTrees; -#else - using System.Data.Metadata.Edm; - using System.Data.Common.CommandTrees; -#endif - internal sealed class SQLiteProviderServices : DbProviderServices, ISQLiteSchemaExtensions { internal static readonly SQLiteProviderServices Instance = new SQLiteProviderServices(); protected override DbCommandDefinition CreateDbCommandDefinition(DbProviderManifest manifest, DbCommandTree commandTree) DELETED System.Data.SQLite.Linq/System.Data.SQLite.Core.2010.csproj Index: System.Data.SQLite.Linq/System.Data.SQLite.Core.2010.csproj ================================================================== --- System.Data.SQLite.Linq/System.Data.SQLite.Core.2010.csproj +++ /dev/null @@ -1,132 +0,0 @@ - - - - - Debug - AnyCPU - 10.0.30319 - 2.0 - {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} - {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} - Library - Properties - System.Data.SQLite.Linq - System.Data.SQLite.EF6 - System.Data.SQLite.Linq - System.Data.SQLite.EF6 - 3.5 - Client - $(MSBuildProjectDirectory)\.. - true - 2010 - - - - $(BinaryOutputPath) - $(BinaryOutputPath)System.Data.SQLite.Linq.xml - $(BinaryOutputPath)System.Data.SQLite.EF6.xml - - - true - full - false - DEBUG;TRACE - prompt - - - pdbonly - true - TRACE - prompt - - - - - - - - - - - - - $(SQLiteNetDir)\Externals\EntityFramework\lib\net40\EntityFramework.dll - - - - - - True - True - Resources.resx - - - - - - - - - - - - - - - - - - - - - - - - - System.Data.SQLite.SQLiteProviderServices.StoreSchemaDefinition.ssdl - - - - - System.Data.SQLite.SQLiteProviderServices.StoreSchemaDefinition.ssdl - - - - - System.Data.SQLite.Common.ConceptualSchemaDefinition.csdl - - - System.Data.SQLite.SQLiteProviderServices.ProviderManifest.xml - - - System.Data.SQLite.SQLiteProviderServices.StoreSchemaMapping.msl - - - System.Data.SQLite.Properties.resources - ResXFileCodeGenerator - Resources.Designer.cs - - - - - {AC139952-261A-4463-B6FA-AEBC25283A66} - System.Data.SQLite.2010 - - - - - - DELETED System.Data.SQLite.Linq/System.Data.SQLite.Core.2012.csproj Index: System.Data.SQLite.Linq/System.Data.SQLite.Core.2012.csproj ================================================================== --- System.Data.SQLite.Linq/System.Data.SQLite.Core.2012.csproj +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Debug - AnyCPU - {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} - Library - Properties - System.Data.SQLite.Linq - System.Data.SQLite.EF6 - System.Data.SQLite.Linq - System.Data.SQLite.EF6 - $(MSBuildProjectDirectory)\.. - true - 2012 - v4.5 - - - - $(BinaryOutputPath) - $(BinaryOutputPath)System.Data.SQLite.Linq.xml - $(BinaryOutputPath)System.Data.SQLite.EF6.xml - - - true - full - false - DEBUG;TRACE - prompt - - - pdbonly - true - TRACE - prompt - - - - - - - - - - - - - $(SQLiteNetDir)\Externals\EntityFramework\lib\net45\EntityFramework.dll - - - - - - True - True - Resources.resx - - - - - - - - - - - - - - - - - - - - - - - - - System.Data.SQLite.SQLiteProviderServices.StoreSchemaDefinition.ssdl - - - - - System.Data.SQLite.SQLiteProviderServices.StoreSchemaDefinition.ssdl - - - - - System.Data.SQLite.Common.ConceptualSchemaDefinition.csdl - - - System.Data.SQLite.SQLiteProviderServices.ProviderManifest.xml - - - System.Data.SQLite.SQLiteProviderServices.StoreSchemaMapping.msl - - - System.Data.SQLite.Properties.resources - ResXFileCodeGenerator - Resources.Designer.cs - - - - - {AC139952-261A-4463-B6FA-AEBC25283A66} - System.Data.SQLite.2012 - - - - - - DELETED System.Data.SQLite.Linq/System.Data.SQLite.Core.2013.csproj Index: System.Data.SQLite.Linq/System.Data.SQLite.Core.2013.csproj ================================================================== --- System.Data.SQLite.Linq/System.Data.SQLite.Core.2013.csproj +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Debug - AnyCPU - {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} - Library - Properties - System.Data.SQLite.Linq - System.Data.SQLite.EF6 - System.Data.SQLite.Linq - System.Data.SQLite.EF6 - $(MSBuildProjectDirectory)\.. - true - 2013 - v4.5.1 - - - - $(BinaryOutputPath) - $(BinaryOutputPath)System.Data.SQLite.Linq.xml - $(BinaryOutputPath)System.Data.SQLite.EF6.xml - - - true - full - false - DEBUG;TRACE - prompt - - - pdbonly - true - TRACE - prompt - - - - - - - - - - - - - $(SQLiteNetDir)\Externals\EntityFramework\lib\net45\EntityFramework.dll - - - - - - True - True - Resources.resx - - - - - - - - - - - - - - - - - - - - - - - - - System.Data.SQLite.SQLiteProviderServices.StoreSchemaDefinition.ssdl - - - - - System.Data.SQLite.SQLiteProviderServices.StoreSchemaDefinition.ssdl - - - - - System.Data.SQLite.Common.ConceptualSchemaDefinition.csdl - - - System.Data.SQLite.SQLiteProviderServices.ProviderManifest.xml - - - System.Data.SQLite.SQLiteProviderServices.StoreSchemaMapping.msl - - - System.Data.SQLite.Properties.resources - ResXFileCodeGenerator - Resources.Designer.cs - - - - - {AC139952-261A-4463-B6FA-AEBC25283A66} - System.Data.SQLite.2013 - - - - - - DELETED System.Data.SQLite.Linq/System.Data.SQLite.EF6.2010.csproj Index: System.Data.SQLite.Linq/System.Data.SQLite.EF6.2010.csproj ================================================================== --- System.Data.SQLite.Linq/System.Data.SQLite.EF6.2010.csproj +++ /dev/null @@ -1,16 +0,0 @@ - - - - - true - {F1B93C04-C4AE-4D6D-B353-417AEFDCEE7B} - - - DELETED System.Data.SQLite.Linq/System.Data.SQLite.EF6.2012.csproj Index: System.Data.SQLite.Linq/System.Data.SQLite.EF6.2012.csproj ================================================================== --- System.Data.SQLite.Linq/System.Data.SQLite.EF6.2012.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - - true - - - DELETED System.Data.SQLite.Linq/System.Data.SQLite.EF6.2013.csproj Index: System.Data.SQLite.Linq/System.Data.SQLite.EF6.2013.csproj ================================================================== --- System.Data.SQLite.Linq/System.Data.SQLite.EF6.2013.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - - true - - - Index: System.Data.SQLite.Linq/System.Data.SQLite.Linq.2008.csproj ================================================================== --- System.Data.SQLite.Linq/System.Data.SQLite.Linq.2008.csproj +++ System.Data.SQLite.Linq/System.Data.SQLite.Linq.2008.csproj @@ -70,34 +70,22 @@ - - - System.Data.SQLite.SQLiteProviderServices.StoreSchemaDefinition.ssdl - - - - - System.Data.SQLite.Common.ConceptualSchemaDefinition.csdl - - - System.Data.SQLite.SQLiteProviderServices.ProviderManifest.xml - - - System.Data.SQLite.SQLiteProviderServices.StoreSchemaMapping.msl - + + + - System.Data.SQLite.Properties.resources ResXFileCodeGenerator Resources.Designer.cs + {AC139952-261A-4463-B6FA-AEBC25283A66} System.Data.SQLite.2008 Index: System.Data.SQLite.Linq/System.Data.SQLite.Linq.2010.csproj ================================================================== --- System.Data.SQLite.Linq/System.Data.SQLite.Linq.2010.csproj +++ System.Data.SQLite.Linq/System.Data.SQLite.Linq.2010.csproj @@ -7,9 +7,98 @@ * Released to the public domain, use at your own risk! * --> - false + Debug + AnyCPU + 10.0.30319 + 2.0 + {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} + Library + Properties + System.Data.SQLite.Linq + System.Data.SQLite.Linq + 3.5 + Client + $(MSBuildProjectDirectory)\.. + true + 2010 + + + + $(BinaryOutputPath) + $(BinaryOutputPath)System.Data.SQLite.Linq.xml + + + true + full + false + DEBUG;TRACE + prompt + + + pdbonly + true + TRACE + prompt - + + + + + + + + + + + True + True + Resources.resx + + + + + + + + + + + + + + + + + + + + + + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + + {AC139952-261A-4463-B6FA-AEBC25283A66} + System.Data.SQLite.2010 + + + + + Index: System.Data.SQLite.Linq/System.Data.SQLite.Linq.2012.csproj ================================================================== --- System.Data.SQLite.Linq/System.Data.SQLite.Linq.2012.csproj +++ System.Data.SQLite.Linq/System.Data.SQLite.Linq.2012.csproj @@ -6,10 +6,97 @@ * Written by Joe Mistachkin. * Released to the public domain, use at your own risk! * --> + - false + Debug + AnyCPU + {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} + Library + Properties + System.Data.SQLite.Linq + System.Data.SQLite.Linq + $(MSBuildProjectDirectory)\.. + true + 2012 + v4.5 + + + + $(BinaryOutputPath) + $(BinaryOutputPath)System.Data.SQLite.Linq.xml + + + true + full + false + DEBUG;TRACE + prompt + + + pdbonly + true + TRACE + prompt - - + + + + + + + + + + + True + True + Resources.resx + + + + + + + + + + + + + + + + + + + + + + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + + {AC139952-261A-4463-B6FA-AEBC25283A66} + System.Data.SQLite.2012 + + + + + + Index: System.Data.SQLite.Linq/System.Data.SQLite.Linq.2013.csproj ================================================================== --- System.Data.SQLite.Linq/System.Data.SQLite.Linq.2013.csproj +++ System.Data.SQLite.Linq/System.Data.SQLite.Linq.2013.csproj @@ -6,10 +6,97 @@ * Written by Joe Mistachkin. * Released to the public domain, use at your own risk! * --> + - false + Debug + AnyCPU + {E6BF9F74-58E2-413B-A7CE-EA653ECB728D} + Library + Properties + System.Data.SQLite.Linq + System.Data.SQLite.Linq + $(MSBuildProjectDirectory)\.. + true + 2013 + v4.5.1 + + + + $(BinaryOutputPath) + $(BinaryOutputPath)System.Data.SQLite.Linq.xml + + + true + full + false + DEBUG;TRACE + prompt + + + pdbonly + true + TRACE + prompt - - + + + + + + + + + + + True + True + Resources.resx + + + + + + + + + + + + + + + + + + + + + + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + + {AC139952-261A-4463-B6FA-AEBC25283A66} + System.Data.SQLite.2013 + + + + + + Index: System.Data.SQLite/AssemblyInfo.cs ================================================================== --- System.Data.SQLite/AssemblyInfo.cs +++ System.Data.SQLite/AssemblyInfo.cs @@ -39,15 +39,10 @@ // to COM componenets. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] [assembly: CLSCompliant(true)] [assembly: InternalsVisibleTo("System.Data.SQLite.Linq, PublicKey=" + System.Data.SQLite.SQLite3.PublicKey)] - -#if NET_40 || NET_45 || NET_451 -[assembly: InternalsVisibleTo("System.Data.SQLite.EF6, PublicKey=" + System.Data.SQLite.SQLite3.PublicKey)] -#endif - [assembly: NeutralResourcesLanguage("en")] #if !PLATFORM_COMPACTFRAMEWORK #if !NET_40 && !NET_45 && !NET_451 [assembly: AllowPartiallyTrustedCallers] @@ -70,9 +65,9 @@ // Build Number // Revision // // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("1.0.91.0")] +[assembly: AssemblyVersion("1.0.90.0")] #if !PLATFORM_COMPACTFRAMEWORK -[assembly: AssemblyFileVersion("1.0.91.0")] +[assembly: AssemblyFileVersion("1.0.90.0")] #endif Index: System.Data.SQLite/DataTypes.xml ================================================================== --- System.Data.SQLite/DataTypes.xml +++ System.Data.SQLite/DataTypes.xml @@ -2,11 +2,11 @@ @@ -44,31 +44,14 @@ false true real - 8 - 6 - System.Double - real - false - false - true - false - false - true - true - false - false - true - - - single 15 7 System.Single - single + real false false true false false Index: System.Data.SQLite/LINQ/SQLiteFactory_Linq.cs ================================================================== --- System.Data.SQLite/LINQ/SQLiteFactory_Linq.cs +++ System.Data.SQLite/LINQ/SQLiteFactory_Linq.cs @@ -1,9 +1,9 @@ /******************************************************** * ADO.NET 2.0 Data Provider for SQLite Version 3.X * Written by Robert Simpson (robert@blackcastlesoft.com) - * + * * Released to the public domain, use at your own risk! ********************************************************/ namespace System.Data.SQLite { @@ -15,27 +15,10 @@ /// /// SQLite implementation of . /// public sealed partial class SQLiteFactory : IServiceProvider { - // - // TODO: This points to the legacy "System.Data.SQLite.Linq" assembly - // (i.e. the one that does not support Entity Framework 6). - // Currently, this class and its containing assembly (i.e. - // "System.Data.SQLite") know nothing about the Entity Framework - // 6 compatible assembly (i.e. "System.Data.SQLite.EF6"). This - // situation may need to change. - // - private static readonly string DefaultTypeName = - "System.Data.SQLite.Linq.SQLiteProviderServices, System.Data.SQLite.Linq, " + - "Version={0}, Culture=neutral, PublicKeyToken=db937bc2d44ff139"; - - private static readonly BindingFlags DefaultBindingFlags = - BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance; - - /////////////////////////////////////////////////////////////////////////// - private static Type _dbProviderServicesType; private static object _sqliteServices; static SQLiteFactory() { @@ -81,36 +64,18 @@ [ReflectionPermission(SecurityAction.Assert, MemberAccess = true)] private object GetSQLiteProviderServicesInstance() { if (_sqliteServices == null) { - string typeName = UnsafeNativeMethods.GetSettingValue( - "TypeName_SQLiteProviderServices", null); - Version version = this.GetType().Assembly.GetName().Version; - - if (typeName != null) - { - typeName = String.Format( - CultureInfo.InvariantCulture, typeName, version); - } - else - { - typeName = String.Format( - CultureInfo.InvariantCulture, DefaultTypeName, version); - } - - Type type = Type.GetType(typeName, false); + Type type = Type.GetType(String.Format(CultureInfo.InvariantCulture, "System.Data.SQLite.SQLiteProviderServices, System.Data.SQLite.Linq, Version={0}, Culture=neutral, PublicKeyToken=db937bc2d44ff139", version), false); if (type != null) { - FieldInfo field = type.GetField( - "Instance", DefaultBindingFlags); - - if (field != null) - _sqliteServices = field.GetValue(null); + FieldInfo field = type.GetField("Instance", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); + _sqliteServices = field.GetValue(null); } } return _sqliteServices; } } } Index: System.Data.SQLite/SQLite3.cs ================================================================== --- System.Data.SQLite/SQLite3.cs +++ System.Data.SQLite/SQLite3.cs @@ -55,11 +55,11 @@ "b621ddff5d844727418956997f475eb829429e411aff3e93f97b70de698b972640925bdd44280df0" + "a25a843266973704137cbb0e7441c1fe7cae4e2440ae91ab8cde3933febcb1ac48dd33b40e13c421" + "d8215c18a4349a436dd499e3c385cc683015f886f6c10bd90115eb2bd61b67750839e3a19941dc9c"; #if !PLATFORM_COMPACTFRAMEWORK - internal const string DesignerVersion = "1.0.91.0"; + internal const string DesignerVersion = "1.0.90.0"; #endif /// /// The opaque pointer returned to us by the sqlite provider /// @@ -302,19 +302,19 @@ internal override string Version { get { - return SQLiteVersion; + return SQLite3.SQLiteVersion; } } internal override int VersionNumber { get { - return SQLiteVersionNumber; + return SQLite3.SQLiteVersionNumber; } } internal static string DefineConstants { @@ -363,37 +363,16 @@ { return UTF8ToString(UnsafeNativeMethods.sqlite3_sourceid(), -1); } } - internal static string SQLiteCompileOptions - { - get - { - StringBuilder result = new StringBuilder(); - int index = 0; - IntPtr zValue = UnsafeNativeMethods.sqlite3_compileoption_get(index++); - - while (zValue != IntPtr.Zero) - { - if (result.Length > 0) - result.Append(' '); - - result.Append(UTF8ToString(zValue, -1)); - zValue = UnsafeNativeMethods.sqlite3_compileoption_get(index++); - } - - return result.ToString(); - } - } - internal static string InteropVersion { get { #if !SQLITE_STANDARD - return UTF8ToString(UnsafeNativeMethods.interop_libversion(), -1); + return UTF8ToString(UnsafeNativeMethods.sqlite3_libversion_interop(), -1); #else return null; #endif } } @@ -401,36 +380,11 @@ internal static string InteropSourceId { get { #if !SQLITE_STANDARD - return UTF8ToString(UnsafeNativeMethods.interop_sourceid(), -1); -#else - return null; -#endif - } - } - - internal static string InteropCompileOptions - { - get - { -#if !SQLITE_STANDARD - StringBuilder result = new StringBuilder(); - int index = 0; - IntPtr zValue = UnsafeNativeMethods.interop_compileoption_get(index++); - - while (zValue != IntPtr.Zero) - { - if (result.Length > 0) - result.Append(' '); - - result.Append(UTF8ToString(zValue, -1)); - zValue = UnsafeNativeMethods.interop_compileoption_get(index++); - } - - return result.ToString(); + return UTF8ToString(UnsafeNativeMethods.sqlite3_sourceid_interop(), -1); #else return null; #endif } } Index: System.Data.SQLite/SQLiteBase.cs ================================================================== --- System.Data.SQLite/SQLiteBase.cs +++ System.Data.SQLite/SQLiteBase.cs @@ -982,70 +982,16 @@ /// that cannot be easily reported through other means. /// TraceWarning = 0x8000, /// - /// When binding parameter values, always use the invariant culture when - /// converting their values from strings. - /// - ConvertInvariantText = 0x10000, - - /// - /// When binding parameter values, always use the invariant culture when - /// converting their values to strings. - /// - BindInvariantText = 0x20000, - - /// - /// Disable using the connection pool by default. If the "Pooling" - /// connection string property is specified, its value will override - /// this flag. The precise outcome of combining this flag with the - /// flag is unspecified; however, - /// one of the flags will be in effect. - /// - NoConnectionPool = 0x40000, - - /// - /// Enable using the connection pool by default. If the "Pooling" - /// connection string property is specified, its value will override - /// this flag. The precise outcome of combining this flag with the - /// flag is unspecified; however, - /// one of the flags will be in effect. - /// - UseConnectionPool = 0x80000, - - /// - /// When binding parameter values or returning column values, always - /// treat them as though they were plain text (i.e. no numeric, - /// date/time, or other conversions should be attempted). + /// When binding and returning column values, always treat them as though + /// they were plain text (i.e. no numeric, date/time, or other conversions + /// should be attempted). /// BindAndGetAllAsText = BindAllAsText | GetAllAsText, - /// - /// When binding parameter values, always use the invariant culture when - /// converting their values to strings or from strings. - /// - ConvertAndBindInvariantText = ConvertInvariantText | BindInvariantText, - - /// - /// When binding parameter values or returning column values, always - /// treat them as though they were plain text (i.e. no numeric, - /// date/time, or other conversions should be attempted) and always - /// use the invariant culture when converting their values to strings. - /// - BindAndGetAllAsInvariantText = BindAndGetAllAsText | BindInvariantText, - - /// - /// When binding parameter values or returning column values, always - /// treat them as though they were plain text (i.e. no numeric, - /// date/time, or other conversions should be attempted) and always - /// use the invariant culture when converting their values to strings - /// or from strings. - /// - ConvertAndBindAndGetAllAsInvariantText = BindAndGetAllAsText | - ConvertAndBindInvariantText, - /// /// Enable all logging. /// LogAll = LogPrepare | LogPreBind | LogBind | LogCallbackException | LogBackup | LogModuleError | Index: System.Data.SQLite/SQLiteConnection.cs ================================================================== --- System.Data.SQLite/SQLiteConnection.cs +++ System.Data.SQLite/SQLiteConnection.cs @@ -359,11 +359,11 @@ private const bool DefaultFailIfMissing = false; private const bool DefaultReadOnly = false; private const bool DefaultBinaryGUID = true; private const bool DefaultUseUTF16Encoding = false; private const bool DefaultToFullPath = true; - private const bool DefaultPooling = false; // TODO: Maybe promote this to static property? + private const bool DefaultPooling = false; private const bool DefaultLegacyFormat = false; private const bool DefaultForeignKeys = false; private const bool DefaultEnlist = true; private const bool DefaultSetDefaults = true; @@ -1621,13 +1621,15 @@ // First split into semi-colon delimited values. string error = null; string[] arParts; - if (UnsafeNativeMethods.GetSettingValue("No_SQLiteConnectionNewParser", null) != null) +#if !PLATFORM_COMPACTFRAMEWORK + if (Environment.GetEnvironmentVariable("No_SQLiteConnectionNewParser") != null) arParts = SQLiteConvert.Split(s, ';'); else +#endif arParts = SQLiteConvert.NewSplit(s, ';', true, ref error); if (arParts == null) { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, @@ -2023,43 +2025,10 @@ } return result; } - /// - /// This method figures out what the default connection pool setting should - /// be based on the connection flags. When present, the "Pooling" connection - /// string property value always overrides the value returned by this method. - /// - /// - /// Non-zero if the connection pool should be enabled by default; otherwise, - /// zero. - /// - private bool GetDefaultPooling() - { - bool result = DefaultPooling; - - if (result) /* NOTE: True branch not reached in the default build. */ - { - if ((_flags & SQLiteConnectionFlags.NoConnectionPool) == SQLiteConnectionFlags.NoConnectionPool) - result = false; - - if ((_flags & SQLiteConnectionFlags.UseConnectionPool) == SQLiteConnectionFlags.UseConnectionPool) - result = true; - } - else - { - if ((_flags & SQLiteConnectionFlags.UseConnectionPool) == SQLiteConnectionFlags.UseConnectionPool) - result = true; - - if ((_flags & SQLiteConnectionFlags.NoConnectionPool) == SQLiteConnectionFlags.NoConnectionPool) - result = false; - } - - return result; - } - /// /// Opens the connection using the parameters found in the . /// public override void Open() { @@ -2126,11 +2095,11 @@ } } try { - bool usePooling = SQLiteConvert.ToBoolean(FindKey(opts, "Pooling", GetDefaultPooling().ToString())); + bool usePooling = SQLiteConvert.ToBoolean(FindKey(opts, "Pooling", DefaultPooling.ToString())); int maxPoolSize = Convert.ToInt32(FindKey(opts, "Max Pool Size", DefaultMaxPoolSize.ToString()), CultureInfo.InvariantCulture); _defaultTimeout = Convert.ToInt32(FindKey(opts, "Default Timeout", DefaultConnectionTimeout.ToString()), CultureInfo.InvariantCulture); enumValue = TryParseEnum(typeof(IsolationLevel), FindKey(opts, "Default IsolationLevel", DefaultIsolationLevel.ToString()), true); @@ -2645,19 +2614,10 @@ public static string SQLiteSourceId { get { return SQLite3.SQLiteSourceId; } } - /// - /// Returns a string containing the compile-time options used to - /// compile the SQLite core native library, delimited with spaces. - /// - public static string SQLiteCompileOptions - { - get { return SQLite3.SQLiteCompileOptions; } - } - /// /// This method returns the version of the interop SQLite assembly /// used. If the SQLite interop assembly is not in use or the /// necessary information cannot be obtained for any reason, a null /// value may be returned. @@ -2677,19 +2637,10 @@ public static string InteropSourceId { get { return SQLite3.InteropSourceId; } } - /// - /// Returns a string containing the compile-time options used to - /// compile the SQLite interop assembly, delimited with spaces. - /// - public static string InteropCompileOptions - { - get { return SQLite3.InteropCompileOptions; } - } - /// /// This method returns the version of the managed components used /// to interact with the SQLite core library. If the necessary /// information cannot be obtained for any reason, a null value may /// be returned. Index: System.Data.SQLite/SQLiteConvert.cs ================================================================== --- System.Data.SQLite/SQLiteConvert.cs +++ System.Data.SQLite/SQLiteConvert.cs @@ -733,55 +733,20 @@ list.Add(element.ToString()); return list.ToArray(); } - /// - /// Queries and returns the string representation for an object, using the - /// specified (or current) format provider. - /// - /// - /// The object instance to return the string representation for. - /// - /// - /// The format provider to use -OR- null if the current format provider for - /// the thread should be used instead. - /// - /// - /// The string representation for the object instance -OR- null if the - /// object instance is also null. - /// - public static string ToStringWithProvider( - object obj, - IFormatProvider provider - ) - { - if (obj == null) - return null; /* null --> null */ - - if (obj is string) - return (string)obj; /* identity */ - - IConvertible convertible = obj as IConvertible; - - if (convertible != null) - return convertible.ToString(provider); - - return obj.ToString(); /* not IConvertible */ - } - /// /// Convert a value to true or false. /// /// A string or number representing true or false /// public static bool ToBoolean(object source) { if (source is bool) return (bool)source; - return ToBoolean(ToStringWithProvider( - source, CultureInfo.InvariantCulture)); + return ToBoolean(source.ToString()); } /// /// Convert a string to true or false. /// @@ -1742,17 +1707,11 @@ /// /// A savepoint will be created, released, or rolled back. The /// action-specific arguments are the name of the operation (BEGIN, /// RELEASE, or ROLLBACK) and the savepoint name. /// - Savepoint = 32, - - /// - /// A recursive query will be executed. The action-specific arguments - /// are two null values. - /// - Recursive = 33 + Savepoint = 32 } /// /// The return code for the current call into the authorizer. /// Index: System.Data.SQLite/SQLiteDataReader.cs ================================================================== --- System.Data.SQLite/SQLiteDataReader.cs +++ System.Data.SQLite/SQLiteDataReader.cs @@ -832,22 +832,22 @@ internal DataTable GetSchemaTable(bool wantUniqueInfo, bool wantDefaultValue) { CheckClosed(); if (_throwOnDisposed) SQLiteCommand.Check(_command); - // - // BUGFIX: We need to quickly scan all the fields in the current - // "result set" to see how many distinct tables are actually - // involved. This information is necessary so that some - // intelligent decisions can be made when constructing the - // metadata below. For example, we need to be very careful - // about flagging a particular column as "unique" just - // because it was in its original underlying database table - // if there are now multiple tables involved in the - // "result set". See ticket [7e3fa93744] for more detailed - // information. - // + // + // BUGFIX: We need to quickly scan all the fields in the current + // "result set" to see how many distinct tables are actually + // involved. This information is necessary so that some + // intelligent decisions can be made when constructing the + // metadata below. For example, we need to be very careful + // about flagging a particular column as "unique" just + // because it was in its original underlying database table + // if there are now multiple tables involved in the + // "result set". See ticket [7e3fa93744] for more detailed + // information. + // Dictionary> parentToColumns = null; Dictionary columnToParent = null; GetStatementColumnParents( _command.Connection._sql, _activeStatement, _fieldCount, Index: System.Data.SQLite/SQLiteDefineConstants.cs ================================================================== --- System.Data.SQLite/SQLiteDefineConstants.cs +++ System.Data.SQLite/SQLiteDefineConstants.cs @@ -110,14 +110,10 @@ #if TRACE_PRELOAD "TRACE_PRELOAD", #endif -#if TRACE_SHARED - "TRACE_SHARED", -#endif - #if TRACE_STATEMENT "TRACE_STATEMENT", #endif #if TRACE_WARNING @@ -126,14 +122,10 @@ #if TRACK_MEMORY_BYTES "TRACK_MEMORY_BYTES", #endif -#if USE_ENTITY_FRAMEWORK_6 - "USE_ENTITY_FRAMEWORK_6", -#endif - #if USE_INTEROP_DLL "USE_INTEROP_DLL", #endif #if USE_PREPARE_V2 Index: System.Data.SQLite/SQLiteFunction.cs ================================================================== --- System.Data.SQLite/SQLiteFunction.cs +++ System.Data.SQLite/SQLiteFunction.cs @@ -655,11 +655,11 @@ #if !PLATFORM_COMPACTFRAMEWORK // // NOTE: If the "No_SQLiteFunctions" environment variable is set, // skip all our special code and simply return. // - if (UnsafeNativeMethods.GetSettingValue("No_SQLiteFunctions", null) != null) + if (Environment.GetEnvironmentVariable("No_SQLiteFunctions") != null) return; SQLiteFunctionAttribute at; System.Reflection.Assembly[] arAssemblies = System.AppDomain.CurrentDomain.GetAssemblies(); int w = arAssemblies.Length; Index: System.Data.SQLite/SQLiteLog.cs ================================================================== --- System.Data.SQLite/SQLiteLog.cs +++ System.Data.SQLite/SQLiteLog.cs @@ -150,11 +150,11 @@ // prevent all non-default AppDomains from registering a // log handler unless the "Force_SQLiteLog" environment // variable is used to manually override this safety check. // if (!AppDomain.CurrentDomain.IsDefaultAppDomain() && - UnsafeNativeMethods.GetSettingValue("Force_SQLiteLog", null) == null) + Environment.GetEnvironmentVariable("Force_SQLiteLog") == null) { return; } #endif Index: System.Data.SQLite/SQLiteStatement.cs ================================================================== --- System.Data.SQLite/SQLiteStatement.cs +++ System.Data.SQLite/SQLiteStatement.cs @@ -1,108 +1,108 @@ -/******************************************************** - * ADO.NET 2.0 Data Provider for SQLite Version 3.X - * Written by Robert Simpson (robert@blackcastlesoft.com) - * - * Released to the public domain, use at your own risk! - ********************************************************/ - -namespace System.Data.SQLite -{ - using System; - using System.Globalization; - - /// - /// Represents a single SQL statement in SQLite. - /// - internal sealed class SQLiteStatement : IDisposable - { - /// - /// The underlying SQLite object this statement is bound to - /// - internal SQLiteBase _sql; - /// - /// The command text of this SQL statement - /// - internal string _sqlStatement; - /// - /// The actual statement pointer - /// - internal SQLiteStatementHandle _sqlite_stmt; - /// - /// An index from which unnamed parameters begin - /// - internal int _unnamedParameters; - /// - /// Names of the parameters as SQLite understands them to be - /// - internal string[] _paramNames; - /// - /// Parameters for this statement - /// - internal SQLiteParameter[] _paramValues; - /// - /// Command this statement belongs to (if any) - /// +/******************************************************** + * ADO.NET 2.0 Data Provider for SQLite Version 3.X + * Written by Robert Simpson (robert@blackcastlesoft.com) + * + * Released to the public domain, use at your own risk! + ********************************************************/ + +namespace System.Data.SQLite +{ + using System; + using System.Globalization; + + /// + /// Represents a single SQL statement in SQLite. + /// + internal sealed class SQLiteStatement : IDisposable + { + /// + /// The underlying SQLite object this statement is bound to + /// + internal SQLiteBase _sql; + /// + /// The command text of this SQL statement + /// + internal string _sqlStatement; + /// + /// The actual statement pointer + /// + internal SQLiteStatementHandle _sqlite_stmt; + /// + /// An index from which unnamed parameters begin + /// + internal int _unnamedParameters; + /// + /// Names of the parameters as SQLite understands them to be + /// + internal string[] _paramNames; + /// + /// Parameters for this statement + /// + internal SQLiteParameter[] _paramValues; + /// + /// Command this statement belongs to (if any) + /// internal SQLiteCommand _command; /// /// The flags associated with the parent connection object. /// - private SQLiteConnectionFlags _flags; - - private string[] _types; - - /// - /// Initializes the statement and attempts to get all information about parameters in the statement + private SQLiteConnectionFlags _flags; + + private string[] _types; + + /// + /// Initializes the statement and attempts to get all information about parameters in the statement /// /// The base SQLite object - /// The flags associated with the parent connection object - /// The statement - /// The command text for this statement - /// The previous command in a multi-statement command - internal SQLiteStatement(SQLiteBase sqlbase, SQLiteConnectionFlags flags, SQLiteStatementHandle stmt, string strCommand, SQLiteStatement previous) - { - _sql = sqlbase; - _sqlite_stmt = stmt; - _sqlStatement = strCommand; - _flags = flags; - - // Determine parameters for this statement (if any) and prepare space for them. - int nCmdStart = 0; - int n = _sql.Bind_ParamCount(this, _flags); - int x; - string s; - - if (n > 0) - { - if (previous != null) - nCmdStart = previous._unnamedParameters; - - _paramNames = new string[n]; - _paramValues = new SQLiteParameter[n]; - - for (x = 0; x < n; x++) - { - s = _sql.Bind_ParamName(this, _flags, x + 1); - if (String.IsNullOrEmpty(s)) - { - s = String.Format(CultureInfo.InvariantCulture, ";{0}", nCmdStart); - nCmdStart++; - _unnamedParameters++; - } - _paramNames[x] = s; - _paramValues[x] = null; - } - } - } - + /// The flags associated with the parent connection object + /// The statement + /// The command text for this statement + /// The previous command in a multi-statement command + internal SQLiteStatement(SQLiteBase sqlbase, SQLiteConnectionFlags flags, SQLiteStatementHandle stmt, string strCommand, SQLiteStatement previous) + { + _sql = sqlbase; + _sqlite_stmt = stmt; + _sqlStatement = strCommand; + _flags = flags; + + // Determine parameters for this statement (if any) and prepare space for them. + int nCmdStart = 0; + int n = _sql.Bind_ParamCount(this, _flags); + int x; + string s; + + if (n > 0) + { + if (previous != null) + nCmdStart = previous._unnamedParameters; + + _paramNames = new string[n]; + _paramValues = new SQLiteParameter[n]; + + for (x = 0; x < n; x++) + { + s = _sql.Bind_ParamName(this, _flags, x + 1); + if (String.IsNullOrEmpty(s)) + { + s = String.Format(CultureInfo.InvariantCulture, ";{0}", nCmdStart); + nCmdStart++; + _unnamedParameters++; + } + _paramNames[x] = s; + _paramValues[x] = null; + } + } + } + /////////////////////////////////////////////////////////////////////////////////////////////// #region IDisposable Members /// /// Disposes and finalizes the statement - /// + /// public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } @@ -139,11 +139,11 @@ } _paramNames = null; _paramValues = null; _sql = null; - _sqlStatement = null; + _sqlStatement = null; } ////////////////////////////////////// // release unmanaged resources here... ////////////////////////////////////// @@ -159,11 +159,11 @@ ~SQLiteStatement() { Dispose(false); } #endregion - + /////////////////////////////////////////////////////////////////////////////////////////////// /// /// If the underlying database connection is open, fetches the number of changed rows /// resulting from the most recent query; otherwise, does nothing. @@ -182,122 +182,122 @@ } return false; } - /////////////////////////////////////////////////////////////////////////////////////////////// - - /// - /// Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to - /// this statement, and if so, keeps a reference to the parameter so it can be bound later. - /// - /// The parameter name to map - /// The parameter to assign it - internal bool MapParameter(string s, SQLiteParameter p) - { - if (_paramNames == null) return false; - - int startAt = 0; - if (s.Length > 0) - { - if (":$@;".IndexOf(s[0]) == -1) - startAt = 1; - } - - int x = _paramNames.Length; - for (int n = 0; n < x; n++) - { - if (String.Compare(_paramNames[n], startAt, s, 0, Math.Max(_paramNames[n].Length - startAt, s.Length), StringComparison.OrdinalIgnoreCase) == 0) - { - _paramValues[n] = p; - return true; - } - } - return false; - } - - /// - /// Bind all parameters, making sure the caller didn't miss any - /// - internal void BindParameters() - { - if (_paramNames == null) return; - - int x = _paramNames.Length; - for (int n = 0; n < x; n++) - { - BindParameter(n + 1, _paramValues[n]); - } - } - - /// - /// Attempts to convert an arbitrary object to the Boolean data type. - /// Null object values are converted to false. Throws a SQLiteException - /// upon failure. - /// - /// The object value to convert. - /// The format provider to use. - /// The converted boolean value. - private static bool ToBoolean(object obj, IFormatProvider provider) - { - if (obj == null) - return false; - - TypeCode typeCode = Type.GetTypeCode(obj.GetType()); - - switch (typeCode) - { - case TypeCode.Empty: - case TypeCode.DBNull: - return false; - case TypeCode.Boolean: - return (bool)obj; - case TypeCode.Char: - return ((char)obj) != (char)0 ? true : false; - case TypeCode.SByte: - return ((sbyte)obj) != (sbyte)0 ? true : false; - case TypeCode.Byte: - return ((byte)obj) != (byte)0 ? true : false; - case TypeCode.Int16: - return ((short)obj) != (short)0 ? true : false; - case TypeCode.UInt16: - return ((ushort)obj) != (ushort)0 ? true : false; - case TypeCode.Int32: - return ((int)obj) != (int)0 ? true : false; - case TypeCode.UInt32: - return ((uint)obj) != (uint)0 ? true : false; - case TypeCode.Int64: - return ((long)obj) != (long)0 ? true : false; - case TypeCode.UInt64: - return ((ulong)obj) != (ulong)0 ? true : false; - case TypeCode.Single: - return ((float)obj) != (float)0.0 ? true : false; - case TypeCode.Double: - return ((double)obj) != (double)0.0 ? true : false; - case TypeCode.Decimal: - return ((decimal)obj) != Decimal.Zero ? true : false; - case TypeCode.String: - return Convert.ToBoolean(obj, provider); + /////////////////////////////////////////////////////////////////////////////////////////////// + + /// + /// Called by SQLiteParameterCollection, this function determines if the specified parameter name belongs to + /// this statement, and if so, keeps a reference to the parameter so it can be bound later. + /// + /// The parameter name to map + /// The parameter to assign it + internal bool MapParameter(string s, SQLiteParameter p) + { + if (_paramNames == null) return false; + + int startAt = 0; + if (s.Length > 0) + { + if (":$@;".IndexOf(s[0]) == -1) + startAt = 1; + } + + int x = _paramNames.Length; + for (int n = 0; n < x; n++) + { + if (String.Compare(_paramNames[n], startAt, s, 0, Math.Max(_paramNames[n].Length - startAt, s.Length), StringComparison.OrdinalIgnoreCase) == 0) + { + _paramValues[n] = p; + return true; + } + } + return false; + } + + /// + /// Bind all parameters, making sure the caller didn't miss any + /// + internal void BindParameters() + { + if (_paramNames == null) return; + + int x = _paramNames.Length; + for (int n = 0; n < x; n++) + { + BindParameter(n + 1, _paramValues[n]); + } + } + + /// + /// Attempts to convert an arbitrary object to the Boolean data type. + /// Null object values are converted to false. Throws a SQLiteException + /// upon failure. + /// + /// The object value to convert. + /// The format provider to use. + /// The converted boolean value. + private static bool ToBoolean(object obj, IFormatProvider provider) + { + if (obj == null) + return false; + + TypeCode typeCode = Type.GetTypeCode(obj.GetType()); + + switch (typeCode) + { + case TypeCode.Empty: + case TypeCode.DBNull: + return false; + case TypeCode.Boolean: + return (bool)obj; + case TypeCode.Char: + return ((char)obj) != (char)0 ? true : false; + case TypeCode.SByte: + return ((sbyte)obj) != (sbyte)0 ? true : false; + case TypeCode.Byte: + return ((byte)obj) != (byte)0 ? true : false; + case TypeCode.Int16: + return ((short)obj) != (short)0 ? true : false; + case TypeCode.UInt16: + return ((ushort)obj) != (ushort)0 ? true : false; + case TypeCode.Int32: + return ((int)obj) != (int)0 ? true : false; + case TypeCode.UInt32: + return ((uint)obj) != (uint)0 ? true : false; + case TypeCode.Int64: + return ((long)obj) != (long)0 ? true : false; + case TypeCode.UInt64: + return ((ulong)obj) != (ulong)0 ? true : false; + case TypeCode.Single: + return ((float)obj) != (float)0.0 ? true : false; + case TypeCode.Double: + return ((double)obj) != (double)0.0 ? true : false; + case TypeCode.Decimal: + return ((decimal)obj) != Decimal.Zero ? true : false; + case TypeCode.String: + return Convert.ToBoolean(obj, provider); default: throw new SQLiteException(String.Format( CultureInfo.CurrentCulture, - "Cannot convert type {0} to boolean", - typeCode)); - } - } - - /// - /// Perform the bind operation for an individual parameter + "Cannot convert type {0} to boolean", + typeCode)); + } + } + + /// + /// Perform the bind operation for an individual parameter /// - /// The index of the parameter to bind + /// The index of the parameter to bind /// The parameter we're binding - private void BindParameter(int index, SQLiteParameter param) - { - if (param == null) - throw new SQLiteException("Insufficient parameters supplied to the command"); - - object obj = param.Value; + private void BindParameter(int index, SQLiteParameter param) + { + if (param == null) + throw new SQLiteException("Insufficient parameters supplied to the command"); + + object obj = param.Value; DbType objType = param.DbType; if ((obj != null) && (objType == DbType.Object)) objType = SQLiteConvert.TypeToDbType(obj.GetType()); @@ -307,130 +307,108 @@ SQLiteLog.LogMessage(String.Format( "Binding statement {0} paramter #{1} with database type {2} and raw value {{{3}}}...", handle, index, objType, obj)); } - - if ((obj == null) || Convert.IsDBNull(obj)) - { - _sql.Bind_Null(this, _flags, index); - return; - } - - CultureInfo invariantCultureInfo = CultureInfo.InvariantCulture; - bool invariantText = ((_flags & SQLiteConnectionFlags.BindInvariantText) - == SQLiteConnectionFlags.BindInvariantText); + + if ((obj == null) || Convert.IsDBNull(obj)) + { + _sql.Bind_Null(this, _flags, index); + return; + } if ((_flags & SQLiteConnectionFlags.BindAllAsText) == SQLiteConnectionFlags.BindAllAsText) { if (obj is DateTime) - { _sql.Bind_DateTime(this, _flags, index, (DateTime)obj); - } else - { - _sql.Bind_Text(this, _flags, index, invariantText ? - SQLiteConvert.ToStringWithProvider(obj, invariantCultureInfo) : - obj.ToString()); - } + _sql.Bind_Text(this, _flags, index, obj.ToString()); return; - } - - CultureInfo cultureInfo = CultureInfo.CurrentCulture; - - if ((_flags & SQLiteConnectionFlags.ConvertInvariantText) == SQLiteConnectionFlags.ConvertInvariantText) - cultureInfo = invariantCultureInfo; - - switch (objType) - { - case DbType.Date: - case DbType.Time: - case DbType.DateTime: - // - // NOTE: The old method (commented below) does not honor the selected date format - // for the connection. - // _sql.Bind_DateTime(this, index, Convert.ToDateTime(obj, cultureInfo)); - _sql.Bind_DateTime(this, _flags, index, (obj is string) ? - _sql.ToDateTime((string)obj) : Convert.ToDateTime(obj, cultureInfo)); - break; + } + + switch (objType) + { + case DbType.Date: + case DbType.Time: + case DbType.DateTime: + // + // NOTE: The old method (commented below) does not honor the selected date format + // for the connection. + // _sql.Bind_DateTime(this, index, Convert.ToDateTime(obj, CultureInfo.CurrentCulture)); + _sql.Bind_DateTime(this, _flags, index, (obj is string) ? + _sql.ToDateTime((string)obj) : Convert.ToDateTime(obj, CultureInfo.CurrentCulture)); + break; case DbType.Boolean: - _sql.Bind_Int32(this, _flags, index, ToBoolean(obj, cultureInfo) ? 1 : 0); - break; + _sql.Bind_Int32(this, _flags, index, ToBoolean(obj, CultureInfo.CurrentCulture) ? 1 : 0); + break; case DbType.SByte: - _sql.Bind_Int32(this, _flags, index, Convert.ToSByte(obj, cultureInfo)); - break; + _sql.Bind_Int32(this, _flags, index, Convert.ToSByte(obj, CultureInfo.CurrentCulture)); + break; case DbType.Int16: - _sql.Bind_Int32(this, _flags, index, Convert.ToInt16(obj, cultureInfo)); - break; + _sql.Bind_Int32(this, _flags, index, Convert.ToInt16(obj, CultureInfo.CurrentCulture)); + break; case DbType.Int32: - _sql.Bind_Int32(this, _flags, index, Convert.ToInt32(obj, cultureInfo)); - break; + _sql.Bind_Int32(this, _flags, index, Convert.ToInt32(obj, CultureInfo.CurrentCulture)); + break; case DbType.Int64: - _sql.Bind_Int64(this, _flags, index, Convert.ToInt64(obj, cultureInfo)); - break; + _sql.Bind_Int64(this, _flags, index, Convert.ToInt64(obj, CultureInfo.CurrentCulture)); + break; case DbType.Byte: - _sql.Bind_UInt32(this, _flags, index, Convert.ToByte(obj, cultureInfo)); - break; + _sql.Bind_UInt32(this, _flags, index, Convert.ToByte(obj, CultureInfo.CurrentCulture)); + break; case DbType.UInt16: - _sql.Bind_UInt32(this, _flags, index, Convert.ToUInt16(obj, cultureInfo)); - break; + _sql.Bind_UInt32(this, _flags, index, Convert.ToUInt16(obj, CultureInfo.CurrentCulture)); + break; case DbType.UInt32: - _sql.Bind_UInt32(this, _flags, index, Convert.ToUInt32(obj, cultureInfo)); - break; + _sql.Bind_UInt32(this, _flags, index, Convert.ToUInt32(obj, CultureInfo.CurrentCulture)); + break; case DbType.UInt64: - _sql.Bind_UInt64(this, _flags, index, Convert.ToUInt64(obj, cultureInfo)); - break; - case DbType.Single: - case DbType.Double: - case DbType.Currency: + _sql.Bind_UInt64(this, _flags, index, Convert.ToUInt64(obj, CultureInfo.CurrentCulture)); + break; + case DbType.Single: + case DbType.Double: + case DbType.Currency: //case DbType.Decimal: // Dont store decimal as double ... loses precision - _sql.Bind_Double(this, _flags, index, Convert.ToDouble(obj, cultureInfo)); - break; + _sql.Bind_Double(this, _flags, index, Convert.ToDouble(obj, CultureInfo.CurrentCulture)); + break; case DbType.Binary: - _sql.Bind_Blob(this, _flags, index, (byte[])obj); - break; - case DbType.Guid: + _sql.Bind_Blob(this, _flags, index, (byte[])obj); + break; + case DbType.Guid: if (_command.Connection._binaryGuid == true) - { - _sql.Bind_Blob(this, _flags, index, ((Guid)obj).ToByteArray()); - } + _sql.Bind_Blob(this, _flags, index, ((Guid)obj).ToByteArray()); else - { - _sql.Bind_Text(this, _flags, index, invariantText ? - SQLiteConvert.ToStringWithProvider(obj, invariantCultureInfo) : - obj.ToString()); - } - break; + _sql.Bind_Text(this, _flags, index, obj.ToString()); + + break; case DbType.Decimal: // Dont store decimal as double ... loses precision - _sql.Bind_Text(this, _flags, index, Convert.ToDecimal(obj, cultureInfo).ToString(invariantCultureInfo)); - break; + _sql.Bind_Text(this, _flags, index, Convert.ToDecimal(obj, CultureInfo.CurrentCulture).ToString(CultureInfo.InvariantCulture)); + break; default: - _sql.Bind_Text(this, _flags, index, invariantText ? - SQLiteConvert.ToStringWithProvider(obj, invariantCultureInfo) : - obj.ToString()); - break; - } - } - - internal string[] TypeDefinitions - { - get { return _types; } - } - - internal void SetTypes(string typedefs) - { - int pos = typedefs.IndexOf("TYPES", 0, StringComparison.OrdinalIgnoreCase); - if (pos == -1) throw new ArgumentOutOfRangeException(); - - string[] types = typedefs.Substring(pos + 6).Replace(" ", "").Replace(";", "").Replace("\"", "").Replace("[", "").Replace("]", "").Replace("`","").Split(',', '\r', '\n', '\t'); - - int n; - for (n = 0; n < types.Length; n++) - { - if (String.IsNullOrEmpty(types[n]) == true) - types[n] = null; - } - _types = types; - } - } -} + _sql.Bind_Text(this, _flags, index, obj.ToString()); + break; + } + } + + internal string[] TypeDefinitions + { + get { return _types; } + } + + internal void SetTypes(string typedefs) + { + int pos = typedefs.IndexOf("TYPES", 0, StringComparison.OrdinalIgnoreCase); + if (pos == -1) throw new ArgumentOutOfRangeException(); + + string[] types = typedefs.Substring(pos + 6).Replace(" ", "").Replace(";", "").Replace("\"", "").Replace("[", "").Replace("]", "").Replace("`","").Split(',', '\r', '\n', '\t'); + + int n; + for (n = 0; n < types.Length; n++) + { + if (String.IsNullOrEmpty(types[n]) == true) + types[n] = null; + } + _types = types; + } + } +} Index: System.Data.SQLite/System.Data.SQLite.Files.targets ================================================================== --- System.Data.SQLite/System.Data.SQLite.Files.targets +++ System.Data.SQLite/System.Data.SQLite.Files.targets @@ -12,13 +12,10 @@ ** Core Files (Common) ** ****************************************************************************** --> - - Always - Index: System.Data.SQLite/System.Data.SQLite.Properties.targets ================================================================== --- System.Data.SQLite/System.Data.SQLite.Properties.targets +++ System.Data.SQLite/System.Data.SQLite.Properties.targets @@ -219,14 +219,10 @@ $(DefineConstants);TRACE_PRELOAD - - $(DefineConstants);TRACE_SHARED - - $(DefineConstants);TRACE_STATEMENT @@ -237,13 +233,6 @@ NOTE: Enable the use of native Windows APIs, when available? --> $(DefineConstants);WINDOWS - - - - $(DefineConstants);USE_ENTITY_FRAMEWORK_6 - DELETED System.Data.SQLite/System.Data.SQLite.dll.config Index: System.Data.SQLite/System.Data.SQLite.dll.config ================================================================== --- System.Data.SQLite/System.Data.SQLite.dll.config +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Index: System.Data.SQLite/UnsafeNativeMethods.cs ================================================================== --- System.Data.SQLite/UnsafeNativeMethods.cs +++ System.Data.SQLite/UnsafeNativeMethods.cs @@ -28,12 +28,10 @@ #if !PLATFORM_COMPACTFRAMEWORK || COUNT_HANDLE using System.Threading; #endif - using System.Xml; - #if !PLATFORM_COMPACTFRAMEWORK && !DEBUG [SuppressUnmanagedCodeSecurity] #endif internal static class UnsafeNativeMethods { @@ -54,230 +52,10 @@ #endif #endregion ///////////////////////////////////////////////////////////////////////// - #region Shared Native SQLite Library Pre-Loading Code - private static readonly string DllFileExtension = ".dll"; - private static readonly string ConfigFileExtension = ".config"; - - ///////////////////////////////////////////////////////////////////////// - - // - // NOTE: This is the name of the XML configuration file specific to the - // System.Data.SQLite assembly. - // - private static readonly string XmlConfigFileName = - typeof(UnsafeNativeMethods).Namespace + DllFileExtension + - ConfigFileExtension; - - ///////////////////////////////////////////////////////////////////////// - /// - /// Queries and returns the XML configuration file name for the assembly - /// containing the managed System.Data.SQLite components. - /// - /// - /// The XML configuration file name -OR- null if it cannot be determined - /// or does not exist. - /// - private static string GetXmlConfigFileName() - { - string directory; - string fileName; - -#if !PLATFORM_COMPACTFRAMEWORK - directory = AppDomain.CurrentDomain.BaseDirectory; - fileName = Path.Combine(directory, XmlConfigFileName); - - if (File.Exists(fileName)) - return fileName; -#endif - - directory = GetAssemblyDirectory(); - fileName = Path.Combine(directory, XmlConfigFileName); - - if (File.Exists(fileName)) - return fileName; - - return null; - } - - ///////////////////////////////////////////////////////////////////////// - /// - /// Queries and returns the value of the specified setting, using the XML - /// configuration file and/or the environment variables for the current - /// process and/or the current system, when available. - /// - /// - /// The name of the setting. - /// - /// - /// The value to be returned if the setting has not been set explicitly - /// or cannot be determined. - /// - /// - /// The value of the setting -OR- the default value specified by - /// if it has not been set explicitly or - /// cannot be determined. By default, all references to existing - /// environment variables will be expanded to their corresponding values - /// within the value to be returned unless either the "No_Expand" or - /// "No_Expand_" environment variable is set [to - /// anything]. - /// - internal static string GetSettingValue( - string name, /* in */ - string @default /* in */ - ) - { - if (name == null) - return @default; - - string value = null; - -#if !PLATFORM_COMPACTFRAMEWORK - bool expand = true; - - if (Environment.GetEnvironmentVariable("No_Expand") != null) - { - expand = false; - } - else if (Environment.GetEnvironmentVariable(String.Format( - "No_Expand_{0}", name)) != null) - { - expand = false; - } - - value = Environment.GetEnvironmentVariable(name); - - if (expand && !String.IsNullOrEmpty(value)) - value = Environment.ExpandEnvironmentVariables(value); - - if (value != null) - return value; -#endif - - try - { - string fileName = GetXmlConfigFileName(); - - if (fileName == null) - return @default; - - XmlDocument document = new XmlDocument(); - - document.Load(fileName); - - XmlElement element = document.SelectSingleNode(String.Format( - "/configuration/appSettings/add[@key='{0}']", name)) as - XmlElement; - - if (element != null) - { - if (element.HasAttribute("value")) - value = element.GetAttribute("value"); - -#if !PLATFORM_COMPACTFRAMEWORK - if (expand && !String.IsNullOrEmpty(value)) - value = Environment.ExpandEnvironmentVariables(value); -#endif - - if (value != null) - return value; - } - } -#if !NET_COMPACT_20 && TRACE_SHARED - catch (Exception e) -#else - catch (Exception) -#endif - { -#if !NET_COMPACT_20 && TRACE_SHARED - try - { - Trace.WriteLine(String.Format( - CultureInfo.CurrentCulture, - "Native library pre-loader failed to get setting " + - "\"{0}\" value: {1}", name, e)); /* throw */ - } - catch - { - // do nothing. - } -#endif - } - - return @default; - } - - ///////////////////////////////////////////////////////////////////////// - /// - /// Queries and returns the directory for the assembly currently being - /// executed. - /// - /// - /// The directory for the assembly currently being executed -OR- null if - /// it cannot be determined. - /// - private static string GetAssemblyDirectory() - { - try - { - Assembly assembly = Assembly.GetExecutingAssembly(); - - if (assembly == null) - return null; - - string fileName; - -#if PLATFORM_COMPACTFRAMEWORK - AssemblyName assemblyName = assembly.GetName(); - - if (assemblyName == null) - return null; - - fileName = assemblyName.CodeBase; -#else - fileName = assembly.Location; -#endif - - if (String.IsNullOrEmpty(fileName)) - return null; - - string directory = Path.GetDirectoryName(fileName); - - if (String.IsNullOrEmpty(directory)) - return null; - - return directory; - } -#if !NET_COMPACT_20 && TRACE_SHARED - catch (Exception e) -#else - catch (Exception) -#endif - { -#if !NET_COMPACT_20 && TRACE_SHARED - try - { - Trace.WriteLine(String.Format( - CultureInfo.CurrentCulture, - "Native library pre-loader failed to get directory " + - "for currently executing assembly: {0}", e)); /* throw */ - } - catch - { - // do nothing. - } -#endif - } - - return null; - } - #endregion - - ///////////////////////////////////////////////////////////////////////// - #region Optional Native SQLite Library Pre-Loading Code // // NOTE: If we are looking for the standard SQLite DLL ("sqlite3.dll"), // the interop DLL ("SQLite.Interop.dll"), or we are running on the // .NET Compact Framework, we should include this code (only if the @@ -290,16 +68,22 @@ // // NOTE: Only compile in the native library pre-load code if the feature // has been enabled for this build. // #if PRELOAD_NATIVE_LIBRARY +#if !PLATFORM_COMPACTFRAMEWORK /// /// The name of the environment variable containing the processor /// architecture of the current process. /// private static readonly string PROCESSOR_ARCHITECTURE = "PROCESSOR_ARCHITECTURE"; +#endif + + ///////////////////////////////////////////////////////////////////////// + + private static readonly string DllFileExtension = ".dll"; ///////////////////////////////////////////////////////////////////////// /// /// This is the P/Invoke method that wraps the native Win32 LoadLibrary /// function. See the MSDN documentation for full details on what it @@ -394,20 +178,14 @@ /// private static Dictionary processorArchitecturePlatforms; ///////////////////////////////////////////////////////////////////////// /// - /// The native module file name for the native SQLite library or null. - /// - private static string _SQLiteNativeModuleFileName = null; - - ///////////////////////////////////////////////////////////////////////// - /// /// The native module handle for the native SQLite library or the value /// IntPtr.Zero. /// - private static IntPtr _SQLiteNativeModuleHandle = IntPtr.Zero; + private static IntPtr _SQLiteModule = IntPtr.Zero; ///////////////////////////////////////////////////////////////////////// /// /// For now, this method simply calls the Initialize method. /// @@ -421,16 +199,18 @@ /// Attempts to initialize this class by pre-loading the native SQLite /// library for the processor architecture of the current process. /// internal static void Initialize() { +#if !PLATFORM_COMPACTFRAMEWORK // // NOTE: If the "No_PreLoadSQLite" environment variable is set (to // anything), skip all our special code and simply return. // - if (GetSettingValue("No_PreLoadSQLite", null) != null) + if (Environment.GetEnvironmentVariable("No_PreLoadSQLite") != null) return; +#endif lock (staticSyncRoot) { // // TODO: Make sure this list is updated if the supported @@ -459,109 +239,13 @@ } // // BUGBUG: What about other application domains? // - if (_SQLiteNativeModuleHandle == IntPtr.Zero) - { - string baseDirectory = null; - string processorArchitecture = null; - - /* IGNORED */ - SearchForDirectory( - ref baseDirectory, ref processorArchitecture); - - // - // NOTE: Attempt to pre-load the SQLite core library (or - // interop assembly) and store both the file name - // and native module handle for later usage. - // - /* IGNORED */ - PreLoadSQLiteDll( - baseDirectory, processorArchitecture, - ref _SQLiteNativeModuleFileName, - ref _SQLiteNativeModuleHandle); - } - } - } - - ///////////////////////////////////////////////////////////////////////// - /// - /// Searches for the native SQLite library in the directory containing - /// the assembly currently being executed as well as the base directory - /// for the current application domain. - /// - /// - /// Upon success, this parameter will be modified to refer to the base - /// directory containing the native SQLite library. - /// - /// - /// Upon success, this parameter will be modified to refer to the name - /// of the immediate directory (i.e. the offset from the base directory) - /// containing the native SQLite library. - /// - /// - /// Non-zero (success) if the native SQLite library was found; otherwise, - /// zero (failure). - /// - private static bool SearchForDirectory( - ref string baseDirectory, /* out */ - ref string processorArchitecture /* out */ - ) - { - if (GetSettingValue( - "PreLoadSQLite_NoSearchForDirectory", null) != null) - { - return false; /* DISABLED */ - } - - // - // NOTE: Build the list of base directories and processor/platform - // names. These lists will be used to help locate the native - // SQLite core library (or interop assembly) to pre-load into - // this process. - // - string[] directories = { - GetAssemblyDirectory(), -#if !PLATFORM_COMPACTFRAMEWORK - AppDomain.CurrentDomain.BaseDirectory, -#endif - }; - - string[] subDirectories = { - GetProcessorArchitecture(), GetPlatformName(null) - }; - - foreach (string directory in directories) - { - if (directory == null) - continue; - - foreach (string subDirectory in subDirectories) - { - if (subDirectory == null) - continue; - - string fileName = FixUpDllFileName(Path.Combine( - Path.Combine(directory, subDirectory), SQLITE_DLL)); - - // - // NOTE: If the SQLite DLL file exists, return success. - // Prior to returning, set the base directory and - // processor architecture to reflect the location - // where it was found. - // - if (File.Exists(fileName)) - { - baseDirectory = directory; - processorArchitecture = subDirectory; - return true; /* FOUND */ - } - } - } - - return false; /* NOT FOUND */ + if (_SQLiteModule == IntPtr.Zero) + _SQLiteModule = PreLoadSQLiteDll(null, null); + } } ///////////////////////////////////////////////////////////////////////// /// /// Queries and returns the base directory of the current application @@ -571,48 +255,75 @@ /// The base directory for the current application domain -OR- null if it /// cannot be determined. /// private static string GetBaseDirectory() { +#if !PLATFORM_COMPACTFRAMEWORK // // NOTE: If the "PreLoadSQLite_BaseDirectory" environment variable // is set, use it verbatim for the base directory. // - string directory = GetSettingValue("PreLoadSQLite_BaseDirectory", - null); + string directory = Environment.GetEnvironmentVariable( + "PreLoadSQLite_BaseDirectory"); if (directory != null) return directory; -#if !PLATFORM_COMPACTFRAMEWORK // // NOTE: If the "PreLoadSQLite_UseAssemblyDirectory" environment - // variable is set (to anything), then attempt to use the - // directory containing the currently executing assembly - // (i.e. System.Data.SQLite) intsead of the application - // domain base directory. - // - if (GetSettingValue( - "PreLoadSQLite_UseAssemblyDirectory", null) != null) - { - directory = GetAssemblyDirectory(); - - if (directory != null) - return directory; + // variable is set (to anything), attempt to use the directory + // containing the currently executing assembly (i.e. + // System.Data.SQLite) intsead of the application domain base + // directory. + // + if (Environment.GetEnvironmentVariable( + "PreLoadSQLite_UseAssemblyDirectory") != null) + { + try + { + Assembly assembly = Assembly.GetExecutingAssembly(); + + if (assembly != null) + { + directory = Path.GetDirectoryName(assembly.Location); + + if (!String.IsNullOrEmpty(directory)) + return directory; + } + } + catch + { + // do nothing. + } } // // NOTE: Otherwise, fallback on using the base directory of the // current application domain. // return AppDomain.CurrentDomain.BaseDirectory; #else - // - // NOTE: Otherwise, fallback on using the directory containing - // the currently executing assembly. - // - return GetAssemblyDirectory(); + Assembly assembly = Assembly.GetExecutingAssembly(); + + if (assembly == null) + return null; + + AssemblyName assemblyName = assembly.GetName(); + + if (assemblyName == null) + return null; + + try + { + return Path.GetDirectoryName(assemblyName.CodeBase); + } + catch + { + // do nothing. + } + + return null; #endif } ///////////////////////////////////////////////////////////////////////// /// @@ -625,11 +336,11 @@ /// /// The dynamic link library file name, possibly modified to include an /// extension. /// private static string FixUpDllFileName( - string fileName /* in */ + string fileName ) { if (!String.IsNullOrEmpty(fileName)) { PlatformID platformId = Environment.OSVersion.Platform; @@ -659,29 +370,28 @@ /// The processor architecture of the current process -OR- null if it /// cannot be determined. /// private static string GetProcessorArchitecture() { +#if !PLATFORM_COMPACTFRAMEWORK // // NOTE: If the "PreLoadSQLite_ProcessorArchitecture" environment // variable is set, use it verbatim for the current processor // architecture. // - string processorArchitecture = GetSettingValue( - "PreLoadSQLite_ProcessorArchitecture", null); + string processorArchitecture = Environment.GetEnvironmentVariable( + "PreLoadSQLite_ProcessorArchitecture"); if (processorArchitecture != null) return processorArchitecture; // // BUGBUG: Will this always be reliable? // - processorArchitecture = GetSettingValue(PROCESSOR_ARCHITECTURE, null); + processorArchitecture = Environment.GetEnvironmentVariable( + PROCESSOR_ARCHITECTURE); - ///////////////////////////////////////////////////////////////////// - -#if !PLATFORM_COMPACTFRAMEWORK // // HACK: Check for an "impossible" situation. If the pointer size // is 32-bits, the processor architecture cannot be "AMD64". // In that case, we are almost certainly hitting a bug in the // operating system and/or Visual Studio that causes the @@ -707,77 +417,61 @@ // the "x86" processor architecture; therefore, return // "x86" when the pointer size is 32-bits. // processorArchitecture = "x86"; + // + // NOTE: Show that we hit a fairly unusual situation (i.e. the + // "wrong" processor architecture was detected). + // #if !NET_COMPACT_20 && TRACE_PRELOAD - try - { - // - // NOTE: Show that we hit a fairly unusual situation (i.e. - // the "wrong" processor architecture was detected). - // - Trace.WriteLine(String.Format( - CultureInfo.CurrentCulture, - "Native library pre-loader detected {0}-bit pointer " + - "size with processor architecture \"{1}\", using " + - "processor architecture \"{2}\" instead...", - IntPtr.Size * 8 /* bits */, savedProcessorArchitecture, - processorArchitecture)); /* throw */ - } - catch - { - // do nothing. - } -#endif - } -#else - if (processorArchitecture == null) - { - // - // NOTE: On the .NET Compact Framework, attempt to use the native - // Win32 API function (via P/Invoke) that can provide us - // with the processor architecture. - // - try - { - // - // NOTE: The output of the GetSystemInfo function will be - // placed here. Only the processor architecture field - // is used by this method. - // - SYSTEM_INFO systemInfo; - - // - // NOTE: Query the system information via P/Invoke, thus - // filling the structure. - // - GetSystemInfo(out systemInfo); - - // - // NOTE: Return the processor architecture value as a string. - // - processorArchitecture = - systemInfo.wProcessorArchitecture.ToString(); - } - catch - { - // do nothing. - } - - // - // NOTE: Upon failure, return an empty string. This will prevent - // the calling method from considering this method call a - // "failure". - // - processorArchitecture = String.Empty; - } -#endif - - ///////////////////////////////////////////////////////////////////// + Trace.WriteLine(String.Format( + CultureInfo.CurrentCulture, + "Detected {0}-bit pointer size with processor architecture " + + "\"{1}\", using processor architecture \"{2}\" instead...", + IntPtr.Size * 8 /* bits */, savedProcessorArchitecture, + processorArchitecture)); +#endif + } return processorArchitecture; +#else + // + // NOTE: On the .NET Compact Framework, attempt to use the native + // Win32 API function (via P/Invoke) that can provide us with + // the processor architecture. + // + try + { + // + // NOTE: The output of the GetSystemInfo function will be placed + // here. Only the processor architecture field is used by + // this method. + // + SYSTEM_INFO systemInfo; + + // + // NOTE: Query the system information via P/Invoke, thus filling + // the structure. + // + GetSystemInfo(out systemInfo); + + // + // NOTE: Return the processor architecture value as a string. + // + return systemInfo.wProcessorArchitecture.ToString(); + } + catch + { + // do nothing. + } + + // + // NOTE: Upon failure, return an empty string. + // + return String.Empty; +#endif } ///////////////////////////////////////////////////////////////////////// /// /// Given the processor architecture, returns the name of the platform. @@ -788,16 +482,13 @@ /// /// The platform name for the specified processor architecture -OR- null /// if it cannot be determined. /// private static string GetPlatformName( - string processorArchitecture /* in */ + string processorArchitecture ) { - if (processorArchitecture == null) - processorArchitecture = GetProcessorArchitecture(); - if (String.IsNullOrEmpty(processorArchitecture)) return null; lock (staticSyncRoot) { @@ -819,62 +510,50 @@ ///////////////////////////////////////////////////////////////////////// /// /// Attempts to load the native SQLite library based on the specified /// directory and processor architecture. /// - /// + /// /// The base directory to use, null for default (the base directory of /// the current application domain). This directory should contain the /// processor architecture specific sub-directories. /// /// /// The requested processor architecture, null for default (the /// processor architecture of the current process). This caller should /// almost always specify null for this parameter. /// - /// - /// The candidate native module file name to load will be stored here, - /// if necessary. - /// - /// - /// The native module handle as returned by LoadLibrary will be stored - /// here, if necessary. This value will be IntPtr.Zero if the call to - /// LoadLibrary fails. - /// - /// - /// Non-zero if the native module was loaded successfully; otherwise, - /// zero. - /// - private static bool PreLoadSQLiteDll( - string baseDirectory, /* in */ - string processorArchitecture, /* in */ - ref string nativeModuleFileName, /* out */ - ref IntPtr nativeModuleHandle /* out */ - ) - { - // - // NOTE: If the specified base directory is null, use the default - // (i.e. attempt to automatically detect it). - // - if (baseDirectory == null) - baseDirectory = GetBaseDirectory(); + /// + /// The native module handle as returned by LoadLibrary -OR- IntPtr.Zero + /// if the loading fails for any reason. + /// + private static IntPtr PreLoadSQLiteDll( + string directory, + string processorArchitecture + ) + { + // + // NOTE: If the specified base directory is null, use the default. + // + if (directory == null) + directory = GetBaseDirectory(); // // NOTE: If we failed to query the base directory, stop now. // - if (baseDirectory == null) - return false; + if (directory == null) + return IntPtr.Zero; // // NOTE: If the native SQLite library exists in the base directory // itself, stop now. // - string fileName = FixUpDllFileName(Path.Combine(baseDirectory, + string fileName = FixUpDllFileName(Path.Combine(directory, SQLITE_DLL)); if (File.Exists(fileName)) - return false; + return IntPtr.Zero; // // NOTE: If the specified processor architecture is null, use the // default. // @@ -883,17 +562,17 @@ // // NOTE: If we failed to query the processor architecture, stop now. // if (processorArchitecture == null) - return false; + return IntPtr.Zero; // // NOTE: Build the full path and file name for the native SQLite // library using the processor architecture name. // - fileName = FixUpDllFileName(Path.Combine(Path.Combine(baseDirectory, + fileName = FixUpDllFileName(Path.Combine(Path.Combine(directory, processorArchitecture), SQLITE_DLL)); // // NOTE: If the file name based on the processor architecture name // is not found, try using the associated platform name. @@ -908,55 +587,45 @@ // // NOTE: If we failed to translate the platform name, stop now. // if (platformName == null) - return false; + return IntPtr.Zero; // // NOTE: Build the full path and file name for the native SQLite // library using the platform name. // - fileName = FixUpDllFileName(Path.Combine(Path.Combine( - baseDirectory, platformName), SQLITE_DLL)); + fileName = FixUpDllFileName(Path.Combine(Path.Combine(directory, + platformName), SQLITE_DLL)); // // NOTE: If the file does not exist, skip trying to load it. // if (!File.Exists(fileName)) - return false; + return IntPtr.Zero; } try { + // + // NOTE: Show exactly where we are trying to load the native + // SQLite library from. + // #if !NET_COMPACT_20 && TRACE_PRELOAD - try - { - // - // NOTE: Show exactly where we are trying to load the native - // SQLite library from. - // - Trace.WriteLine(String.Format( - CultureInfo.CurrentCulture, - "Native library pre-loader is trying to load native " + - "SQLite library \"{0}\"...", fileName)); /* throw */ - } - catch - { - // do nothing. - } + Trace.WriteLine(String.Format( + CultureInfo.CurrentCulture, + "Trying to load native SQLite library \"{0}\"...", + fileName)); #endif // // NOTE: Attempt to load the native library. This will either // return a valid native module handle, return IntPtr.Zero, // or throw an exception. // - nativeModuleFileName = fileName; - nativeModuleHandle = LoadLibrary(fileName); - - return (nativeModuleHandle != IntPtr.Zero); + return LoadLibrary(fileName); } #if !NET_COMPACT_20 && TRACE_PRELOAD catch (Exception e) #else catch (Exception) @@ -966,31 +635,31 @@ try { // // NOTE: First, grab the last Win32 error number. // - int lastError = Marshal.GetLastWin32Error(); /* throw */ + int lastError = Marshal.GetLastWin32Error(); // // NOTE: Show where we failed to load the native SQLite // library from along with the Win32 error code and // exception information. // Trace.WriteLine(String.Format( CultureInfo.CurrentCulture, - "Native library pre-loader failed to load native " + - "SQLite library \"{0}\" (getLastError = {1}): {2}", + "Failed to load native SQLite library \"{0}\" " + + "(getLastError = {1}): {2}", fileName, lastError, e)); /* throw */ } catch { // do nothing. } #endif } - return false; + return IntPtr.Zero; } #endif #endif #endregion @@ -1002,11 +671,11 @@ // be used because it provides several workarounds to .NET Compact // Framework limitations important for proper operation of the core // System.Data.SQLite functionality (e.g. being able to bind // parameters and handle column values of types Int64 and Double). // - internal const string SQLITE_DLL = "SQLite.Interop.091.dll"; + internal const string SQLITE_DLL = "SQLite.Interop.090.dll"; #elif SQLITE_STANDARD // // NOTE: Otherwise, if the standard SQLite library is enabled, use it. // internal const string SQLITE_DLL = "sqlite3"; @@ -1101,20 +770,14 @@ #region interop added functionality #if !SQLITE_STANDARD [DllImport(SQLITE_DLL)] - internal static extern IntPtr interop_libversion(); + internal static extern IntPtr sqlite3_libversion_interop(); [DllImport(SQLITE_DLL)] - internal static extern IntPtr interop_sourceid(); - - [DllImport(SQLITE_DLL)] - internal static extern int interop_compileoption_used(IntPtr zOptName); - - [DllImport(SQLITE_DLL)] - internal static extern IntPtr interop_compileoption_get(int N); + internal static extern IntPtr sqlite3_sourceid_interop(); [DllImport(SQLITE_DLL)] internal static extern SQLiteErrorCode sqlite3_close_interop(IntPtr db); [DllImport(SQLITE_DLL)] @@ -1361,46 +1024,10 @@ #endregion // Standard API calls global across versions. There are a few instances of interop calls // scattered in here, but they are only active when PLATFORM_COMPACTFRAMEWORK is declared. #region standard sqlite api calls - -#if !PLATFORM_COMPACTFRAMEWORK - [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] -#else - [DllImport(SQLITE_DLL)] -#endif - internal static extern IntPtr sqlite3_libversion(); - -#if !PLATFORM_COMPACTFRAMEWORK - [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] -#else - [DllImport(SQLITE_DLL)] -#endif - internal static extern int sqlite3_libversion_number(); - -#if !PLATFORM_COMPACTFRAMEWORK - [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] -#else - [DllImport(SQLITE_DLL)] -#endif - internal static extern IntPtr sqlite3_sourceid(); - -#if !PLATFORM_COMPACTFRAMEWORK - [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] -#else - [DllImport(SQLITE_DLL)] -#endif - internal static extern int sqlite3_compileoption_used(IntPtr zOptName); - -#if !PLATFORM_COMPACTFRAMEWORK - [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] -#else - [DllImport(SQLITE_DLL)] -#endif - internal static extern IntPtr sqlite3_compileoption_get(int N); - #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif @@ -1463,10 +1090,31 @@ // internal static extern SQLiteErrorCode sqlite3_win32_compact_heap(ref uint largest); #endif #endif +#if !PLATFORM_COMPACTFRAMEWORK + [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] +#else + [DllImport(SQLITE_DLL)] +#endif + internal static extern IntPtr sqlite3_libversion(); + +#if !PLATFORM_COMPACTFRAMEWORK + [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] +#else + [DllImport(SQLITE_DLL)] +#endif + internal static extern int sqlite3_libversion_number(); + +#if !PLATFORM_COMPACTFRAMEWORK + [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] +#else + [DllImport(SQLITE_DLL)] +#endif + internal static extern IntPtr sqlite3_sourceid(); + #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif @@ -2679,11 +2327,11 @@ #if !NET_COMPACT_20 && TRACE_HANDLE try { Trace.WriteLine(String.Format( - "CloseConnection: {0}", localHandle)); /* throw */ + "CloseConnection: {0}", localHandle)); } catch { } #endif @@ -2714,11 +2362,11 @@ #if !NET_COMPACT_20 && TRACE_HANDLE try { Trace.WriteLine(String.Format( "CloseConnection: {0}, exception: {1}", - handle, e)); /* throw */ + handle, e)); } catch { } #endif @@ -2865,11 +2513,11 @@ #if !NET_COMPACT_20 && TRACE_HANDLE try { Trace.WriteLine(String.Format( - "FinalizeStatement: {0}", localHandle)); /* throw */ + "FinalizeStatement: {0}", localHandle)); } catch { } #endif @@ -2900,11 +2548,11 @@ #if !NET_COMPACT_20 && TRACE_HANDLE try { Trace.WriteLine(String.Format( "FinalizeStatement: {0}, exception: {1}", - handle, e)); /* throw */ + handle, e)); } catch { } #endif @@ -3036,11 +2684,11 @@ #if !NET_COMPACT_20 && TRACE_HANDLE try { Trace.WriteLine(String.Format( - "FinishBackup: {0}", localHandle)); /* throw */ + "FinishBackup: {0}", localHandle)); } catch { } #endif @@ -3071,11 +2719,11 @@ #if !NET_COMPACT_20 && TRACE_HANDLE try { Trace.WriteLine(String.Format( "FinishBackup: {0}, exception: {1}", - handle, e)); /* throw */ + handle, e)); } catch { } #endif Index: Tests/Installer_Test_Vs2005.log ================================================================== --- Tests/Installer_Test_Vs2005.log +++ Tests/Installer_Test_Vs2005.log @@ -8,60 +8,59 @@ Installer.exe: #8: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" Installer.exe: #9: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\System.Data.SQLite", name = , value = "[file nativename [getBuildDirectory]]" Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False Installer.exe: #12: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = -Installer.exe: #13: Installer.RemoveDbProviderFactory: addElement = , removeElement = -Installer.exe: #14: Installer.AddDbProviderFactory: addElement = -Installer.exe: #15: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #16: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #13: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #14: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = +Installer.exe: #15: Installer.RemoveDbProviderFactory: addElement = , removeElement = +Installer.exe: #16: Installer.AddDbProviderFactory: addElement = Installer.exe: #17: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #18: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Packages", writable = True -Installer.exe: #19: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" -Installer.exe: #20: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = , value = "System.Data.SQLite Designer Package" -Installer.exe: #21: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage" -Installer.exe: #22: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" -Installer.exe: #23: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400 -Installer.exe: #24: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "[file nativename [file join $::env(windir) [expr {$is64 ? "SysWOW64" : "system32"}] mscoree.dll]]" -Installer.exe: #25: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "http://system.data.sqlite.org/" -Installer.exe: #26: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard" -Installer.exe: #27: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package" -Installer.exe: #28: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0" -Installer.exe: #29: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox" -Installer.exe: #30: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\Toolbox", name = "Default Items", value = 3 -Installer.exe: #31: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Menus", writable = True -Installer.exe: #32: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Menus", name = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", value = ", 1000, 3" -Installer.exe: #33: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Services", writable = True -Installer.exe: #34: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Services", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" -Installer.exe: #35: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = , value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" -Installer.exe: #36: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = "Name", value = "System.Data.SQLite Designer Service" -Installer.exe: #37: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #38: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #18: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #19: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False +Installer.exe: #20: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Packages", writable = True +Installer.exe: #21: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" +Installer.exe: #22: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = , value = "System.Data.SQLite Designer Package" +Installer.exe: #23: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage" +Installer.exe: #24: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" +Installer.exe: #25: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400 +Installer.exe: #26: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "[file nativename [file join $::env(windir) [expr {$is64 ? "SysWOW64" : "system32"}] mscoree.dll]]" +Installer.exe: #27: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "http://system.data.sqlite.org/" +Installer.exe: #28: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard" +Installer.exe: #29: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package" +Installer.exe: #30: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0" +Installer.exe: #31: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox" +Installer.exe: #32: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages\Toolbox", name = "Default Items", value = 3 +Installer.exe: #33: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Menus", writable = True +Installer.exe: #34: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Menus", name = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", value = ", 1000, 3" +Installer.exe: #35: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Services", writable = True +Installer.exe: #36: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Services", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" +Installer.exe: #37: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = , value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" +Installer.exe: #38: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = "Name", value = "System.Data.SQLite Designer Service" Installer.exe: #39: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #40: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "DataSources", writable = True -Installer.exe: #41: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataSources", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" -Installer.exe: #42: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", name = , value = "System.Data.SQLite Database File" -Installer.exe: #43: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", name = "DefaultProvider", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" -Installer.exe: #44: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", subKeyName = "SupportingProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" -Installer.exe: #45: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #46: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #40: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #41: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False +Installer.exe: #42: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "DataSources", writable = True +Installer.exe: #43: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataSources", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" +Installer.exe: #44: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", name = , value = "System.Data.SQLite Database File" +Installer.exe: #45: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", name = "DefaultProvider", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" +Installer.exe: #46: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", subKeyName = "SupportingProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" Installer.exe: #47: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #48: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "DataProviders", writable = True -Installer.exe: #49: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" -Installer.exe: #50: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = , value = ".NET Framework Data Provider for SQLite" -Installer.exe: #51: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Assembly", value = "SQLite.Designer, Version=[file version $sqliteDesignerDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139" -Installer.exe: #52: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "AssociatedSource", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" -Installer.exe: #53: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite" -Installer.exe: #54: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}" -Installer.exe: #55: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" -Installer.exe: #56: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" -Installer.exe: #57: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl" -Installer.exe: #58: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties" -Installer.exe: #59: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport" -Installer.exe: #60: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport" -Installer.exe: #61: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport" -Installer.exe: #62: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #63: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = -Installer.exe: #64: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 8} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 8} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True -Installer.exe: #65: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesSet = 23, keyValuesDeleted = 0 -Installer.exe: #66: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0 -Installer.exe: #67: Installer.Main: Success. +Installer.exe: #48: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #49: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False +Installer.exe: #50: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "DataProviders", writable = True +Installer.exe: #51: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" +Installer.exe: #52: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = , value = ".NET Framework Data Provider for SQLite" +Installer.exe: #53: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Assembly", value = "SQLite.Designer, Version=[file version $sqliteDesignerDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139" +Installer.exe: #54: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "AssociatedSource", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" +Installer.exe: #55: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite" +Installer.exe: #56: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}" +Installer.exe: #57: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" +Installer.exe: #58: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" +Installer.exe: #59: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl" +Installer.exe: #60: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties" +Installer.exe: #61: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport" +Installer.exe: #62: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport" +Installer.exe: #63: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport" +Installer.exe: #64: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesSet = 23, keyValuesDeleted = 0 +Installer.exe: #65: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0 +Installer.exe: #66: Installer.Main: Success. Index: Tests/Installer_Test_Vs2008.log ================================================================== --- Tests/Installer_Test_Vs2008.log +++ Tests/Installer_Test_Vs2008.log @@ -6,72 +6,62 @@ Installer.exe: #6: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True Installer.exe: #7: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "SQLite" Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True Installer.exe: #9: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" Installer.exe: #10: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\System.Data.SQLite", name = , value = "[file nativename [getBuildDirectory]]" -Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5", writable = False -Installer.exe: #12: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", writable = True -Installer.exe: #13: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", subKeyName = "SQLite" -Installer.exe: #14: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", writable = True -Installer.exe: #15: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" -Installer.exe: #16: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx\System.Data.SQLite", name = , value = "[file nativename [getBuildDirectory]]" -Installer.exe: #17: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False -Installer.exe: #18: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False -Installer.exe: #19: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = -Installer.exe: #20: Installer.RemoveDbProviderFactory: addElement = , removeElement = -Installer.exe: #21: Installer.AddDbProviderFactory: addElement = -Installer.exe: #22: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5", writable = False -Installer.exe: #23: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False -Installer.exe: #24: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = -Installer.exe: #25: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #26: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = -Installer.exe: #27: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #28: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Packages", writable = True -Installer.exe: #29: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" -Installer.exe: #30: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = , value = "System.Data.SQLite Designer Package" -Installer.exe: #31: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage" -Installer.exe: #32: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" -Installer.exe: #33: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400 -Installer.exe: #34: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "[file nativename [file join $::env(windir) [expr {$is64 ? "SysWOW64" : "system32"}] mscoree.dll]]" -Installer.exe: #35: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "http://system.data.sqlite.org/" -Installer.exe: #36: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard" -Installer.exe: #37: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package" -Installer.exe: #38: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0" -Installer.exe: #39: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox" -Installer.exe: #40: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\Toolbox", name = "Default Items", value = 3 -Installer.exe: #41: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Menus", writable = True -Installer.exe: #42: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Menus", name = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", value = ", 1000, 3" -Installer.exe: #43: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Services", writable = True -Installer.exe: #44: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Services", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" -Installer.exe: #45: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = , value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" -Installer.exe: #46: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = "Name", value = "System.Data.SQLite Designer Service" -Installer.exe: #47: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #48: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = -Installer.exe: #49: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #50: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "DataSources", writable = True -Installer.exe: #51: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataSources", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" -Installer.exe: #52: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", name = , value = "System.Data.SQLite Database File" -Installer.exe: #53: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", name = "DefaultProvider", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" -Installer.exe: #54: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", subKeyName = "SupportingProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" -Installer.exe: #55: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #56: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = -Installer.exe: #57: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #58: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "DataProviders", writable = True -Installer.exe: #59: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" -Installer.exe: #60: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = , value = ".NET Framework Data Provider for SQLite" -Installer.exe: #61: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Assembly", value = "SQLite.Designer, Version=[file version $sqliteDesignerDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139" -Installer.exe: #62: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "AssociatedSource", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" -Installer.exe: #63: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite" -Installer.exe: #64: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}" -Installer.exe: #65: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" -Installer.exe: #66: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" -Installer.exe: #67: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl" -Installer.exe: #68: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties" -Installer.exe: #69: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport" -Installer.exe: #70: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport" -Installer.exe: #71: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport" -Installer.exe: #72: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #73: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = -Installer.exe: #74: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 9.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 9.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True -Installer.exe: #75: Installer.Main: subKeysCreated = 13, subKeysDeleted = 2, keyValuesSet = 24, keyValuesDeleted = 0 -Installer.exe: #76: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0 -Installer.exe: #77: Installer.Main: Success. +Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False +Installer.exe: #12: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #13: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = +Installer.exe: #14: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #15: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = +Installer.exe: #16: Installer.RemoveDbProviderFactory: addElement = , removeElement = +Installer.exe: #17: Installer.AddDbProviderFactory: addElement = +Installer.exe: #18: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #19: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = +Installer.exe: #20: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #21: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Packages", writable = True +Installer.exe: #22: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" +Installer.exe: #23: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = , value = "System.Data.SQLite Designer Package" +Installer.exe: #24: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "Class", value = "SQLite.Designer.SQLitePackage" +Installer.exe: #25: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" +Installer.exe: #26: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ID", value = 400 +Installer.exe: #27: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "InprocServer32", value = "[file nativename [file join $::env(windir) [expr {$is64 ? "SysWOW64" : "system32"}] mscoree.dll]]" +Installer.exe: #28: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "CompanyName", value = "http://system.data.sqlite.org/" +Installer.exe: #29: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "MinEdition", value = "standard" +Installer.exe: #30: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductName", value = "System.Data.SQLite Designer Package" +Installer.exe: #31: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", name = "ProductVersion", value = "1.0" +Installer.exe: #32: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", subKeyName = "Toolbox" +Installer.exe: #33: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages\Toolbox", name = "Default Items", value = 3 +Installer.exe: #34: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Menus", writable = True +Installer.exe: #35: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Menus", name = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}", value = ", 1000, 3" +Installer.exe: #36: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Services", writable = True +Installer.exe: #37: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Services", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" +Installer.exe: #38: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = , value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" +Installer.exe: #39: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Services\{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}", name = "Name", value = "System.Data.SQLite Designer Service" +Installer.exe: #40: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #41: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = +Installer.exe: #42: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #43: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "DataSources", writable = True +Installer.exe: #44: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataSources", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" +Installer.exe: #45: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", name = , value = "System.Data.SQLite Database File" +Installer.exe: #46: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", name = "DefaultProvider", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" +Installer.exe: #47: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataSources\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}", subKeyName = "SupportingProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" +Installer.exe: #48: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #49: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = +Installer.exe: #50: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #51: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "DataProviders", writable = True +Installer.exe: #52: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" +Installer.exe: #53: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = , value = ".NET Framework Data Provider for SQLite" +Installer.exe: #54: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Assembly", value = "SQLite.Designer, Version=[file version $sqliteDesignerDllFile], Culture=neutral, PublicKeyToken=db937bc2d44ff139" +Installer.exe: #55: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "AssociatedSource", value = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" +Installer.exe: #56: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "InvariantName", value = "System.Data.SQLite" +Installer.exe: #57: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "Technology", value = "{77ab9a9d-78b9-4ba7-91ac-873f5338f1d2}" +Installer.exe: #58: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "CodeBase", value = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" +Installer.exe: #59: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", name = "FactoryService", value = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" +Installer.exe: #60: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl" +Installer.exe: #61: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties" +Installer.exe: #62: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport" +Installer.exe: #63: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport" +Installer.exe: #64: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport" +Installer.exe: #65: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesSet = 23, keyValuesDeleted = 0 +Installer.exe: #66: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0 +Installer.exe: #67: Installer.Main: Success. Index: Tests/Installer_Test_Vs2010.log ================================================================== --- Tests/Installer_Test_Vs2010.log +++ Tests/Installer_Test_Vs2010.log @@ -1,18 +1,18 @@ Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" Installer.exe: #3: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" -Installer.exe: #4: Configuration.IsEf6AssemblyAvailable: Entity Framework 6 assembly was resolved. -Installer.exe: #5: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]" -Installer.exe: #6: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" -Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #4: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" +Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #6: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = True +Installer.exe: #7: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "SQLite" Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = True -Installer.exe: #9: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "SQLite" -Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = True -Installer.exe: #11: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" -Installer.exe: #12: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\System.Data.SQLite", name = , value = "[file nativename [getBuildDirectory]]" -Installer.exe: #13: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #9: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" +Installer.exe: #10: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\System.Data.SQLite", name = , value = "[file nativename [getBuildDirectory]]" +Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #12: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #13: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #14: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False Installer.exe: #15: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #16: Installer.RemoveDbProviderFactory: addElement = , removeElement = Installer.exe: #17: Installer.AddDbProviderFactory: addElement = Installer.exe: #18: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\10.0", writable = False @@ -60,11 +60,8 @@ Installer.exe: #60: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl" Installer.exe: #61: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties" Installer.exe: #62: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport" Installer.exe: #63: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport" Installer.exe: #64: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport" -Installer.exe: #65: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\10.0", writable = False -Installer.exe: #66: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0", name = "InstallDir", defaultValue = -Installer.exe: #67: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 10.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 10.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True -Installer.exe: #68: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesSet = 23, keyValuesDeleted = 0 -Installer.exe: #69: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0 -Installer.exe: #70: Installer.Main: Success. +Installer.exe: #65: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesSet = 23, keyValuesDeleted = 0 +Installer.exe: #66: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0 +Installer.exe: #67: Installer.Main: Success. Index: Tests/Installer_Test_Vs2012.log ================================================================== --- Tests/Installer_Test_Vs2012.log +++ Tests/Installer_Test_Vs2012.log @@ -1,18 +1,18 @@ Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" Installer.exe: #3: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" -Installer.exe: #4: Configuration.IsEf6AssemblyAvailable: Entity Framework 6 assembly was resolved. -Installer.exe: #5: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]" -Installer.exe: #6: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" -Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709", writable = False +Installer.exe: #4: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" +Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709", writable = False +Installer.exe: #6: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", writable = True +Installer.exe: #7: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "SQLite" Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", writable = True -Installer.exe: #9: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "SQLite" -Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", writable = True -Installer.exe: #11: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" -Installer.exe: #12: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx\System.Data.SQLite", name = , value = "[file nativename [getBuildDirectory]]" -Installer.exe: #13: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #9: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" +Installer.exe: #10: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx\System.Data.SQLite", name = , value = "[file nativename [getBuildDirectory]]" +Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #12: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #13: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #14: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False Installer.exe: #15: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #16: Installer.RemoveDbProviderFactory: addElement = , removeElement = Installer.exe: #17: Installer.AddDbProviderFactory: addElement = Installer.exe: #18: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\11.0", writable = False @@ -60,11 +60,8 @@ Installer.exe: #60: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl" Installer.exe: #61: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties" Installer.exe: #62: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport" Installer.exe: #63: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport" Installer.exe: #64: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport" -Installer.exe: #65: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\11.0", writable = False -Installer.exe: #66: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0", name = "InstallDir", defaultValue = -Installer.exe: #67: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 11.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 11.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True -Installer.exe: #68: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesSet = 23, keyValuesDeleted = 0 -Installer.exe: #69: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0 -Installer.exe: #70: Installer.Main: Success. +Installer.exe: #65: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesSet = 23, keyValuesDeleted = 0 +Installer.exe: #66: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0 +Installer.exe: #67: Installer.Main: Success. Index: Tests/Installer_Test_Vs2013.log ================================================================== --- Tests/Installer_Test_Vs2013.log +++ Tests/Installer_Test_Vs2013.log @@ -1,18 +1,18 @@ Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" Installer.exe: #3: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" -Installer.exe: #4: Configuration.IsEf6AssemblyAvailable: Entity Framework 6 assembly was resolved. -Installer.exe: #5: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]" -Installer.exe: #6: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" -Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.1", writable = False -Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", writable = True -Installer.exe: #9: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", subKeyName = "SQLite" -Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", writable = True -Installer.exe: #11: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" -Installer.exe: #12: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx\System.Data.SQLite", name = , value = "[file nativename [getBuildDirectory]]" -Installer.exe: #13: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #4: Installer.Main: GacInstall: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" +Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709", writable = False +Installer.exe: #6: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", writable = True +Installer.exe: #7: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "SQLite" +Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", writable = True +Installer.exe: #9: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" +Installer.exe: #10: RegistryHelper.SetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx\System.Data.SQLite", name = , value = "[file nativename [getBuildDirectory]]" +Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #12: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #13: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #14: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False Installer.exe: #15: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #16: Installer.RemoveDbProviderFactory: addElement = , removeElement = Installer.exe: #17: Installer.AddDbProviderFactory: addElement = Installer.exe: #18: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\12.0", writable = False @@ -60,11 +60,8 @@ Installer.exe: #60: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionUIControl" Installer.exe: #61: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionProperties" Installer.exe: #62: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataConnectionSupport" Installer.exe: #63: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataObjectSupport" Installer.exe: #64: RegistryHelper.CreateSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}", subKeyName = "SupportedObjects\DataViewSupport" -Installer.exe: #65: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\12.0", writable = False -Installer.exe: #66: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0", name = "InstallDir", defaultValue = -Installer.exe: #67: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 12.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 12.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True -Installer.exe: #68: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesSet = 23, keyValuesDeleted = 0 -Installer.exe: #69: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0 -Installer.exe: #70: Installer.Main: Success. +Installer.exe: #65: Installer.Main: subKeysCreated = 12, subKeysDeleted = 1, keyValuesSet = 23, keyValuesDeleted = 0 +Installer.exe: #66: Installer.Main: filesCreated = 1, filesModified = 2, filesDeleted = 0 +Installer.exe: #67: Installer.Main: Success. Index: Tests/Uninstaller_Test_Vs2005.log ================================================================== --- Tests/Uninstaller_Test_Vs2005.log +++ Tests/Uninstaller_Test_Vs2005.log @@ -5,32 +5,30 @@ Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True Installer.exe: #6: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False Installer.exe: #9: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = -Installer.exe: #10: Installer.RemoveDbProviderFactory: addElement = , removeElement = -Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #12: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #11: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = +Installer.exe: #12: Installer.RemoveDbProviderFactory: addElement = , removeElement = Installer.exe: #13: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #14: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Packages", writable = True -Installer.exe: #15: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" -Installer.exe: #16: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Menus", writable = True -Installer.exe: #17: RegistryHelper.DeleteValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Menus", name = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" -Installer.exe: #18: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Services", writable = True -Installer.exe: #19: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Services", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" -Installer.exe: #20: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #21: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #14: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #15: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False +Installer.exe: #16: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Packages", writable = True +Installer.exe: #17: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" +Installer.exe: #18: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Menus", writable = True +Installer.exe: #19: RegistryHelper.DeleteValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Menus", name = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" +Installer.exe: #20: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "Services", writable = True +Installer.exe: #21: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\Services", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" Installer.exe: #22: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #23: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "DataSources", writable = True -Installer.exe: #24: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataSources", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" -Installer.exe: #25: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #26: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #23: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #24: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False +Installer.exe: #25: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "DataSources", writable = True +Installer.exe: #26: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataSources", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" Installer.exe: #27: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #28: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "DataProviders", writable = True -Installer.exe: #29: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" -Installer.exe: #30: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False -Installer.exe: #31: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = -Installer.exe: #32: Installer.RemoveVsDevEnvSetup: Preparing to run Visual Studio v8.0 'setup' mode to refresh its configuration. -Installer.exe: #33: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 8} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 8} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True -Installer.exe: #34: Installer.Main: subKeysCreated = 0, subKeysDeleted = 5, keyValuesSet = 0, keyValuesDeleted = 1 -Installer.exe: #35: Installer.Main: filesCreated = 1, filesModified = 1, filesDeleted = 0 -Installer.exe: #36: Installer.Main: Success. +Installer.exe: #28: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", name = "InstallDir", defaultValue = +Installer.exe: #29: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\8.0", writable = False +Installer.exe: #30: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0", subKeyName = "DataProviders", writable = True +Installer.exe: #31: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\8.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" +Installer.exe: #32: Installer.Main: subKeysCreated = 0, subKeysDeleted = 5, keyValuesSet = 0, keyValuesDeleted = 1 +Installer.exe: #33: Installer.Main: filesCreated = 1, filesModified = 1, filesDeleted = 0 +Installer.exe: #34: Installer.Main: Success. Index: Tests/Uninstaller_Test_Vs2008.log ================================================================== --- Tests/Uninstaller_Test_Vs2008.log +++ Tests/Uninstaller_Test_Vs2008.log @@ -3,41 +3,33 @@ Installer.exe: #3: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" Installer.exe: #4: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False Installer.exe: #6: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", writable = True Installer.exe: #7: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" -Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5", writable = False -Installer.exe: #9: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", writable = True -Installer.exe: #10: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v3.5\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" -Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False -Installer.exe: #12: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False -Installer.exe: #13: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = -Installer.exe: #14: Installer.RemoveDbProviderFactory: addElement = , removeElement = -Installer.exe: #15: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v3.5", writable = False -Installer.exe: #16: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False -Installer.exe: #17: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = -Installer.exe: #18: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #19: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = -Installer.exe: #20: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #21: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Packages", writable = True -Installer.exe: #22: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" -Installer.exe: #23: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Menus", writable = True -Installer.exe: #24: RegistryHelper.DeleteValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Menus", name = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" -Installer.exe: #25: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Services", writable = True -Installer.exe: #26: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Services", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" -Installer.exe: #27: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #28: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = -Installer.exe: #29: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #30: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "DataSources", writable = True -Installer.exe: #31: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataSources", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" -Installer.exe: #32: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #33: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = -Installer.exe: #34: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #35: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "DataProviders", writable = True -Installer.exe: #36: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" -Installer.exe: #37: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False -Installer.exe: #38: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = -Installer.exe: #39: Installer.RemoveVsDevEnvSetup: Preparing to run Visual Studio v9.0 'setup' mode to refresh its configuration. -Installer.exe: #40: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 9.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 9.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True -Installer.exe: #41: Installer.Main: subKeysCreated = 0, subKeysDeleted = 6, keyValuesSet = 0, keyValuesDeleted = 1 -Installer.exe: #42: Installer.Main: filesCreated = 1, filesModified = 1, filesDeleted = 0 -Installer.exe: #43: Installer.Main: Success. +Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v2.0.50727", writable = False +Installer.exe: #9: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #10: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = +Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #12: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = +Installer.exe: #13: Installer.RemoveDbProviderFactory: addElement = , removeElement = +Installer.exe: #14: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #15: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = +Installer.exe: #16: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #17: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Packages", writable = True +Installer.exe: #18: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Packages", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" +Installer.exe: #19: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Menus", writable = True +Installer.exe: #20: RegistryHelper.DeleteValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Menus", name = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9c}" +Installer.exe: #21: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "Services", writable = True +Installer.exe: #22: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\Services", subKeyName = "{dcbe6c8d-0e57-4099-a183-98ff74c64d9d}" +Installer.exe: #23: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #24: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = +Installer.exe: #25: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #26: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "DataSources", writable = True +Installer.exe: #27: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataSources", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c71}" +Installer.exe: #28: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #29: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", name = "InstallDir", defaultValue = +Installer.exe: #30: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\9.0", writable = False +Installer.exe: #31: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0", subKeyName = "DataProviders", writable = True +Installer.exe: #32: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\9.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" +Installer.exe: #33: Installer.Main: subKeysCreated = 0, subKeysDeleted = 5, keyValuesSet = 0, keyValuesDeleted = 1 +Installer.exe: #34: Installer.Main: filesCreated = 1, filesModified = 1, filesDeleted = 0 +Installer.exe: #35: Installer.Main: Success. Index: Tests/Uninstaller_Test_Vs2010.log ================================================================== --- Tests/Uninstaller_Test_Vs2010.log +++ Tests/Uninstaller_Test_Vs2010.log @@ -1,15 +1,15 @@ Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" -Installer.exe: #3: Configuration.IsEf6AssemblyAvailable: Entity Framework 6 assembly was resolved. -Installer.exe: #4: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]" -Installer.exe: #5: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" -Installer.exe: #6: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" -Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False -Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = True -Installer.exe: #9: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" -Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #3: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" +Installer.exe: #4: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" +Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #6: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", writable = True +Installer.exe: #7: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" +Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #9: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #10: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False Installer.exe: #12: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #13: Installer.RemoveDbProviderFactory: addElement = , removeElement = Installer.exe: #14: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\10.0", writable = False Installer.exe: #15: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0", name = "InstallDir", defaultValue = @@ -28,12 +28,8 @@ Installer.exe: #28: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\10.0", writable = False Installer.exe: #29: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0", name = "InstallDir", defaultValue = Installer.exe: #30: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\10.0", writable = False Installer.exe: #31: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0", subKeyName = "DataProviders", writable = True Installer.exe: #32: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" -Installer.exe: #33: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\10.0", writable = False -Installer.exe: #34: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\10.0", name = "InstallDir", defaultValue = -Installer.exe: #35: Installer.RemoveVsDevEnvSetup: Preparing to run Visual Studio v10.0 'setup' mode to refresh its configuration. -Installer.exe: #36: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 10.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 10.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True -Installer.exe: #37: Installer.Main: subKeysCreated = 0, subKeysDeleted = 5, keyValuesSet = 0, keyValuesDeleted = 1 -Installer.exe: #38: Installer.Main: filesCreated = 1, filesModified = 1, filesDeleted = 0 -Installer.exe: #39: Installer.Main: Success. +Installer.exe: #33: Installer.Main: subKeysCreated = 0, subKeysDeleted = 5, keyValuesSet = 0, keyValuesDeleted = 1 +Installer.exe: #34: Installer.Main: filesCreated = 1, filesModified = 1, filesDeleted = 0 +Installer.exe: #35: Installer.Main: Success. Index: Tests/Uninstaller_Test_Vs2012.log ================================================================== --- Tests/Uninstaller_Test_Vs2012.log +++ Tests/Uninstaller_Test_Vs2012.log @@ -1,15 +1,15 @@ Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" -Installer.exe: #3: Configuration.IsEf6AssemblyAvailable: Entity Framework 6 assembly was resolved. -Installer.exe: #4: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]" -Installer.exe: #5: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" -Installer.exe: #6: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" -Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709", writable = False -Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", writable = True -Installer.exe: #9: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" -Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #3: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" +Installer.exe: #4: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" +Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709", writable = False +Installer.exe: #6: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", writable = True +Installer.exe: #7: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" +Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #9: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #10: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False Installer.exe: #12: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #13: Installer.RemoveDbProviderFactory: addElement = , removeElement = Installer.exe: #14: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\11.0", writable = False Installer.exe: #15: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0", name = "InstallDir", defaultValue = @@ -28,12 +28,8 @@ Installer.exe: #28: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\11.0", writable = False Installer.exe: #29: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0", name = "InstallDir", defaultValue = Installer.exe: #30: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\11.0", writable = False Installer.exe: #31: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0", subKeyName = "DataProviders", writable = True Installer.exe: #32: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" -Installer.exe: #33: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\11.0", writable = False -Installer.exe: #34: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\11.0", name = "InstallDir", defaultValue = -Installer.exe: #35: Installer.RemoveVsDevEnvSetup: Preparing to run Visual Studio v11.0 'setup' mode to refresh its configuration. -Installer.exe: #36: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 11.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 11.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True -Installer.exe: #37: Installer.Main: subKeysCreated = 0, subKeysDeleted = 5, keyValuesSet = 0, keyValuesDeleted = 1 -Installer.exe: #38: Installer.Main: filesCreated = 1, filesModified = 1, filesDeleted = 0 -Installer.exe: #39: Installer.Main: Success. +Installer.exe: #33: Installer.Main: subKeysCreated = 0, subKeysDeleted = 5, keyValuesSet = 0, keyValuesDeleted = 1 +Installer.exe: #34: Installer.Main: filesCreated = 1, filesModified = 1, filesDeleted = 0 +Installer.exe: #35: Installer.Main: Success. Index: Tests/Uninstaller_Test_Vs2013.log ================================================================== --- Tests/Uninstaller_Test_Vs2013.log +++ Tests/Uninstaller_Test_Vs2013.log @@ -1,15 +1,15 @@ Installer.exe: #1: Configuration.Process: No actual changes will be made to this system because "what-if" mode is enabled. Installer.exe: #2: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] SQLite.Designer.dll]]" -Installer.exe: #3: Configuration.IsEf6AssemblyAvailable: Entity Framework 6 assembly was resolved. -Installer.exe: #4: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.EF6.dll]]" -Installer.exe: #5: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" -Installer.exe: #6: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" -Installer.exe: #7: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.1", writable = False -Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", writable = True -Installer.exe: #9: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.1\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" -Installer.exe: #10: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #3: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.Linq.dll]]" +Installer.exe: #4: Installer.Main: GacRemove: assemblyPath = "[file nativename [file join [getBuildDirectory] System.Data.SQLite.dll]]" +Installer.exe: #5: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709", writable = False +Installer.exe: #6: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", writable = True +Installer.exe: #7: RegistryHelper.DeleteSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework\v4.5.50709\AssemblyFoldersEx", subKeyName = "System.Data.SQLite" +Installer.exe: #8: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework\v4.0.30319", writable = False +Installer.exe: #9: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False +Installer.exe: #10: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #11: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\.NETFramework", writable = False Installer.exe: #12: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\.NETFramework", name = "InstallRoot", defaultValue = Installer.exe: #13: Installer.RemoveDbProviderFactory: addElement = , removeElement = Installer.exe: #14: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\12.0", writable = False Installer.exe: #15: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0", name = "InstallDir", defaultValue = @@ -28,12 +28,8 @@ Installer.exe: #28: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\12.0", writable = False Installer.exe: #29: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0", name = "InstallDir", defaultValue = Installer.exe: #30: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\12.0", writable = False Installer.exe: #31: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0", subKeyName = "DataProviders", writable = True Installer.exe: #32: RegistryHelper.DeleteSubKeyTree: rootKey = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0\DataProviders", subKeyName = "{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}" -Installer.exe: #33: RegistryHelper.OpenSubKey: rootKey = "HKEY_LOCAL_MACHINE", subKeyName = "Software${wow64}\Microsoft\VisualStudio\12.0", writable = False -Installer.exe: #34: RegistryHelper.GetValue: key = "HKEY_LOCAL_MACHINE\Software${wow64}\Microsoft\VisualStudio\12.0", name = "InstallDir", defaultValue = -Installer.exe: #35: Installer.RemoveVsDevEnvSetup: Preparing to run Visual Studio v12.0 'setup' mode to refresh its configuration. -Installer.exe: #36: Installer.AddVsDevEnvSetup: fileName = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 12.0} Common7 IDE devenv.exe]]", arguments = "/setup", workingDirectory = "[file nativename [file join [expr {$is64 ? ${::env(ProgramFiles(x86))} : $::env(ProgramFiles)}] {Microsoft Visual Studio 12.0} Common7 IDE]]\", useShellExecute = False, redirectStandardOutput = True, redirectStandardError = True -Installer.exe: #37: Installer.Main: subKeysCreated = 0, subKeysDeleted = 5, keyValuesSet = 0, keyValuesDeleted = 1 -Installer.exe: #38: Installer.Main: filesCreated = 1, filesModified = 1, filesDeleted = 0 -Installer.exe: #39: Installer.Main: Success. +Installer.exe: #33: Installer.Main: subKeysCreated = 0, subKeysDeleted = 5, keyValuesSet = 0, keyValuesDeleted = 1 +Installer.exe: #34: Installer.Main: filesCreated = 1, filesModified = 1, filesDeleted = 0 +Installer.exe: #35: Installer.Main: Success. Index: Tests/authorizer.eagle ================================================================== --- Tests/authorizer.eagle +++ Tests/authorizer.eagle @@ -28,11 +28,11 @@ # set noiseActionCodes [list \ CreateTable CreateIndex Read Insert Update Delete] if {[$e ActionCode] in $noiseActionCodes && \ - [string match sqlite_* [$e Argument1]]} then { + [string match "sqlite_*" [$e Argument1]]} then { return } # # NOTE: Filter out all "non-primary" events to make the test @@ -99,16 +99,10 @@ DropTempIndex {DROP INDEX i2;} \ DropTempTable {DROP TABLE t2;} \ DropView {DROP VIEW v1;} \ DropTrigger {DROP TRIGGER tr1;} \ DropIndex {DROP INDEX i1;} \ - Recursive {WITH t4(x) AS ( - VALUES(1) - UNION ALL - SELECT t1.x FROM t1, t4 WHERE t1.x = t4.x - ) - SELECT x FROM t4;} \ DropTable {DROP TABLE t1;} \ Transaction {BEGIN; SELECT 0; COMMIT;} \ Savepoint {SAVEPOINT s1; RELEASE SAVEPOINT s1;} \ Attach {ATTACH DATABASE ':memory:' AS d1;} \ Detach {DETACH DATABASE d1;} \ @@ -153,18 +147,17 @@ main {}}} 0 0} {DropTempView {{0 DropTempView v2 {} temp {}}} 0 0}\ {DropTempTrigger {{0 DropTempTrigger tr2 t2 temp {}}} 0 0} {DropTempIndex {{0\ DropTempIndex i2 t2 temp {}}} 0 0} {DropTempTable {{0 DropTempTable t2 {} temp\ {}}} 0 0} {DropView {{0 DropView v1 {} main {}}} 0 0} {DropTrigger {{0\ DropTrigger tr1 t1 main {}}} 0 0} {DropIndex {{0 DropIndex i1 t1 main {}}} 0 0}\ -{Recursive {{0 Recursive {} {} {} {}}} 0 0} {DropTable {{0 DropTable t1 {} main\ -{}}} 0 0} {Transaction {{0 Transaction BEGIN {} {} {}} {0 Transaction COMMIT {}\ -{} {}}} 0 0} {Savepoint {{0 Savepoint BEGIN s1 {} {}} {0 Savepoint RELEASE s1\ -{} {}}} 0 0} {Attach {{0 Attach :memory: {} {} {}}} 0 0} {Detach {{0 Detach d1\ -{} {} {}}} 0 0} {CreateVtable {{0 CreateVtable t3 fts4 main {}}} 0 0}\ -{DropVtable {{0 DropVtable t3 fts4 main {}}} 0 0} {CreateTable {{0 CreateTable\ -tDeny {} main {}}} 1 {System.Data.SQLite.SQLiteException (0x80004005):\ -authorization denied}} False}} +{DropTable {{0 DropTable t1 {} main {}}} 0 0} {Transaction {{0 Transaction\ +BEGIN {} {} {}} {0 Transaction COMMIT {} {} {}}} 0 0} {Savepoint {{0 Savepoint\ +BEGIN s1 {} {}} {0 Savepoint RELEASE s1 {} {}}} 0 0} {Attach {{0 Attach\ +:memory: {} {} {}}} 0 0} {Detach {{0 Detach d1 {} {} {}}} 0 0} {CreateVtable\ +{{0 CreateVtable t3 fts4 main {}}} 0 0} {DropVtable {{0 DropVtable t3 fts4 main\ +{}}} 0 0} {CreateTable {{0 CreateTable tDeny {} main {}}} 1\ +{System.Data.SQLite.SQLiteException (0x80004005): authorization denied}} False}} ############################################################################### runSQLiteTestEpilogue runTestEpilogue Index: Tests/backup.eagle ================================================================== --- Tests/backup.eagle +++ Tests/backup.eagle @@ -150,11 +150,11 @@ Interpreter interpreter, SQLiteConnection source ) { using (SQLiteConnection destination = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { destination.Open(); int pages = ${pages}; Index: Tests/basic.eagle ================================================================== --- Tests/basic.eagle +++ Tests/basic.eagle @@ -22,29 +22,21 @@ # # NOTE: Setup the variables that refer to the various files required by the # tests in this file. # -set entityFrameworkDllFile [getBuildFileName EntityFramework.dll] set systemDataSQLiteDllFile [getBuildFileName System.Data.SQLite.dll] set systemDataSQLiteLinqDllFile [getBuildFileName System.Data.SQLite.Linq.dll] -set systemDataSQLiteEf6DllFile [getBuildFileName System.Data.SQLite.EF6.dll] set testExeFile [getBuildFileName test.exe] set testLinqExeFile [getBuildFileName testlinq.exe] -set testEf6ExeFile [getBuildFileName testef6.exe] set testLinqOutFile [file nativename [file join $path testlinq.out]] set northwindEfDbFile [file nativename [file join [file dirname $path] \ testlinq northwindEF.db]] # # NOTE: Setup the test constraints specific to the tests in this file. # -if {![haveConstraint [appendArgs file_ \ - [file tail $entityFrameworkDllFile]]]} then { - checkForFile $test_channel $entityFrameworkDllFile -} - if {![haveConstraint [appendArgs file_ \ [file tail $systemDataSQLiteDllFile]]]} then { checkForFile $test_channel $systemDataSQLiteDllFile } @@ -51,25 +43,16 @@ if {![haveConstraint [appendArgs file_ \ [file tail $systemDataSQLiteLinqDllFile]]]} then { checkForFile $test_channel $systemDataSQLiteLinqDllFile } -if {![haveConstraint [appendArgs file_ \ - [file tail $systemDataSQLiteEf6DllFile]]]} then { - checkForFile $test_channel $systemDataSQLiteEf6DllFile -} - if {![haveConstraint [appendArgs file_ [file tail $testExeFile]]]} then { - checkForFile $test_channel $testExeFile test.exe + checkForFile $test_channel $testExeFile } if {![haveConstraint [appendArgs file_ [file tail $testLinqExeFile]]]} then { - checkForFile $test_channel $testLinqExeFile testlinq.exe -} - -if {![haveConstraint [appendArgs file_ [file tail $testEf6ExeFile]]]} then { - checkForFile $test_channel $testEf6ExeFile testef6.exe + checkForFile $test_channel $testLinqExeFile } if {![haveConstraint [appendArgs file_ [file tail $northwindEfDbFile]]]} then { checkForFile $test_channel $northwindEfDbFile } @@ -159,53 +142,12 @@ file_System.Data.SQLite.Linq.dll file_testlinq.exe file_northwindEF.db\ file_testlinq.out testExec} -result {0 True {}}} ############################################################################### -runTest {test data-1.3 {unit tests from the 'testef6' project} -setup { - # - # NOTE: Re-copy the reference database file used for this unit test to the - # build directory in case it has been changed by a previous test run. - # - file copy -force $northwindEfDbFile \ - [file join [getBuildDirectory] [file tail $northwindEfDbFile]] - - # - # NOTE: We need to make 100% sure that the console output encoding is the - # same as when the 'testlinq.out' file was created. - # - set savedEncoding [object invoke Console OutputEncoding] - set encoding [object invoke System.Text.Encoding GetEncoding Windows-1252] - - object invoke Console OutputEncoding $encoding -} -body { - set output "" - - set code [catch { - testClrExec $testEf6ExeFile [list -eventflags Wait -directory \ - [file dirname $testEf6ExeFile] -stdout output -success 0] - } error] - - tlog "---- BEGIN STDOUT OUTPUT\n" - tlog $output - tlog "\n---- END STDOUT OUTPUT\n" - - list $code [string equal $output [readFile $testLinqOutFile]] \ - [expr {$code == 0 ? "" : $error}] -} -cleanup { - catch {object invoke Console OutputEncoding $savedEncoding} - - unset -nocomplain code output error savedEncoding encoding -} -constraints \ -{eagle monoToDo SQLite file_EntityFramework.dll file_System.Data.SQLite.dll\ -file_System.Data.SQLite.EF6.dll file_testef6.exe file_northwindEF.db\ -file_testlinq.out testExec} -result {0 True {}}} - -############################################################################### - -runTest {test data-1.4 {SELECT scalar/reader, CREATE, INSERT} -setup { - setupDb [set fileName data-1.4.db] +runTest {test data-1.3 {SELECT scalar/reader, CREATE, INSERT} -setup { + setupDb [set fileName data-1.3.db] } -body { set result [list] lappend result [sql execute -execute scalar $db \ "SELECT sqlite_source_id();"] @@ -229,12 +171,12 @@ -match regexp -result {^\{\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} [0-9a-f]{40}\}\ \{1 \{\{x 1\} \{y foo\} \{z 1234\}\}\} \{count 1\} \{names \{x y z\}\}$}} ############################################################################### -runTest {test data-1.5 {GetSchema with ReservedWords} -setup { - setupDb [set fileName data-1.5.db] +runTest {test data-1.4 {GetSchema with ReservedWords} -setup { + setupDb [set fileName data-1.4.db] } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getDatabaseDirectory] $fileName] unset -nocomplain results errors @@ -248,11 +190,11 @@ public static class Test${id} { public static DataTable GetReservedWords() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); return connection.GetSchema("ReservedWords"); } @@ -281,12 +223,12 @@ System.Data.SQLite compileCSharp} -match regexp -result {^Ok\ System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 System#Data#DataTable#\d+$}} ############################################################################### -runTest {test data-1.6 {GetSchema with ForeignKeys} -setup { - setupDb [set fileName data-1.6.db] +runTest {test data-1.5 {GetSchema with ForeignKeys} -setup { + setupDb [set fileName data-1.5.db] } -body { sql execute $db { CREATE TABLE t1( x INTEGER REFERENCES t2 MATCH FULL ON UPDATE SET DEFAULT ON DELETE CASCADE @@ -310,11 +252,11 @@ public static class Test${id} { public static DataRowCollection GetForeignKeys() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); return connection.GetSchema("ForeignKeys").Rows; } @@ -370,12 +312,12 @@ \{main FK_t2_0_0 main t2 \{FOREIGN KEY\} False False 0 x main t3 \{\} 0 \{NO\ ACTION\} \{NO ACTION\} NONE\}\}$}} ############################################################################### -runTest {test data-1.7 {SQLITE_FCNTL_WIN32_AV_RETRY} -setup { - setupDb [set fileName data-1.7.db] +runTest {test data-1.6 {SQLITE_FCNTL_WIN32_AV_RETRY} -setup { + setupDb [set fileName data-1.6.db] } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getDatabaseDirectory] $fileName] unset -nocomplain results errors @@ -391,11 +333,11 @@ ref int count, ref int interval ) { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); // // NOTE: Set the requested retry parameter values. @@ -470,12 +412,12 @@ System.Data.SQLite compileCSharp} -match regexp -result {^Ok\ System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 True$}} ############################################################################### -runTest {test data-1.8 {properly closed database file (non-query)} -setup { - set fileName data-1.8.db +runTest {test data-1.7 {properly closed database file (non-query)} -setup { + set fileName data-1.7.db } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getDatabaseDirectory] $fileName] set sql { \ @@ -495,11 +437,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("${sql}", connection)) @@ -526,12 +468,12 @@ System.Data.SQLite compileCSharp} -match regexp -result {^Ok\ System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 \{\} \{\}$}} ############################################################################### -runTest {test data-1.9 {properly closed database file (reader #1)} -setup { - set fileName data-1.9.db +runTest {test data-1.8 {properly closed database file (reader #1)} -setup { + set fileName data-1.8.db } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getDatabaseDirectory] $fileName] set sql { \ @@ -551,11 +493,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("${sql}", connection)) @@ -585,12 +527,12 @@ System.Data.SQLite compileCSharp} -match regexp -result {^Ok\ System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 \{\} \{\}$}} ############################################################################### -runTest {test data-1.10 {properly closed database file (reader #2)} -setup { - set fileName data-1.10.db +runTest {test data-1.9 {properly closed database file (reader #2)} -setup { + set fileName data-1.9.db } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getDatabaseDirectory] $fileName] set sql { \ @@ -611,11 +553,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("${sql}", connection)) @@ -646,12 +588,12 @@ System.Data.SQLite compileCSharp} -match regexp -result {^Ok\ System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 \{\} \{\}$}} ############################################################################### -runTest {test data-1.11 {Changes property} -setup { - setupDb [set fileName data-1.11.db] +runTest {test data-1.10 {Changes property} -setup { + setupDb [set fileName data-1.10.db] } -body { set connection [getDbConnection] set result [list] @@ -682,12 +624,12 @@ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} \ -result {1 2 2 {1 {{x 1} {y foobar} {z 1234}}} {2 {{x 2} {y foobar} {z 5678}}}}} ############################################################################### -runTest {test data-1.12 {LastInsertRowId property} -setup { - setupDb [set fileName data-1.12.db] +runTest {test data-1.11 {LastInsertRowId property} -setup { + setupDb [set fileName data-1.11.db] } -body { set connection [getDbConnection] set result [list] @@ -740,12 +682,12 @@ -result {0 1 2 2 1 2 2 2 {1 {{x 1} {y foobar} {z 1234}}} {2 {{x 2} {y foobar}\ {z 5678}}} 2 {1 {{x 1} {y foobar} {z 1234}}} {2 {{x 2} {y foobar} {z 5678}}}}} ############################################################################### -runTest {test data-1.13 {DateTime using Unix epoch} -setup { - setupDb [set fileName data-1.13.db] "" UnixEpoch Utc +runTest {test data-1.12 {DateTime using Unix epoch} -setup { + setupDb [set fileName data-1.12.db] "" UnixEpoch Utc } -body { set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y DATETIME);" sql execute $db "INSERT INTO t1 (x, y) VALUES(1, 1302825600);" @@ -794,12 +736,12 @@ set date [clock format [clock seconds] -format yyyy-MM-dd] ############################################################################### -runTest {test data-1.14 {DateTime using invariant culture} -setup { - setupDb [set fileName data-1.14.db] "" InvariantCulture Utc +runTest {test data-1.13 {DateTime using invariant culture} -setup { + setupDb [set fileName data-1.13.db] "" InvariantCulture Utc } -body { set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y DATETIME);" @@ -855,12 +797,12 @@ {10 {{x 10} {y2 2009-12-16T00:00:00.0000000Z}}} {11 {{x 11} {y2\ ${date}T12:00:00.0000000Z}}} {12 {{x 12} {y2 2009-12-16T12:00:00.0000000Z}}}}]} ############################################################################### -runTest {test data-1.15 {DateTime using current culture} -setup { - setupDb [set fileName data-1.15.db] "" CurrentCulture Utc +runTest {test data-1.14 {DateTime using current culture} -setup { + setupDb [set fileName data-1.14.db] "" CurrentCulture Utc } -body { set result [list] sql execute $db "CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y DATETIME);" @@ -920,11 +862,11 @@ unset -nocomplain date ############################################################################### -runTest {test data-1.16 {SQLiteConnectionStringBuilder DateTime} -body { +runTest {test data-1.15 {SQLiteConnectionStringBuilder DateTime} -body { set id [object invoke Interpreter.GetActive NextId] unset -nocomplain results errors set code [compileCSharpWith [subst { @@ -993,11 +935,11 @@ Source=test\.db;DateTimeFormat=(?:Default|ISO8601);DateTimeKind=Utc\} 0 \{Data\ Source=test\.db;DateTimeFormat=Ticks;DateTimeKind=Local;DateTimeFormatString=yyyy-MM-dd\}$}} ############################################################################### -runTest {test data-1.17 {SQLiteConnectionStringBuilder properties} -body { +runTest {test data-1.16 {SQLiteConnectionStringBuilder properties} -body { set id [object invoke Interpreter.GetActive NextId] unset -nocomplain results errors set code [compileCSharpWith [subst { @@ -1124,11 +1066,11 @@ Flags=(?:Default|LogCallbackException)\} 0 \{False, SetDefaults=False\} 0\ \{False, ToFullPath=False\} 0 {736563726574, HexPassword=736563726574}$}} ############################################################################### -runTest {test data-1.18 {SQLiteConvert ToDateTime (Julian Day)} -body { +runTest {test data-1.17 {SQLiteConvert ToDateTime (Julian Day)} -body { set dateTime [object invoke -create System.Data.SQLite.SQLiteConvert \ ToDateTime 2455928.0 Utc] object invoke $dateTime ToString [getDateTimeFormat] } -cleanup { @@ -1135,18 +1077,18 @@ unset -nocomplain dateTime } -constraints {eagle System.Data.SQLite} -result {2012-01-01 12:00:00Z}} ############################################################################### -runTest {test data-1.19 {SQLiteConvert ToJulianDay} -body { +runTest {test data-1.18 {SQLiteConvert ToJulianDay} -body { expr {round([object invoke System.Data.SQLite.SQLiteConvert ToJulianDay \ "2012-01-01 12:00:00Z"])} } -constraints {eagle System.Data.SQLite} -result {2455928}} ############################################################################### -runTest {test data-1.20 {SQLiteConvert ToUnixEpoch (Utc)} -body { +runTest {test data-1.19 {SQLiteConvert ToUnixEpoch (Utc)} -body { # # NOTE: At first, the test result here may not seem correct; however, the # same result can be seen by compiling and running the following C# # code fragment together with the ToUnixEpoch method: # @@ -1164,11 +1106,11 @@ "2012-01-01 12:00:00Z"])} } -constraints {eagle System.Data.SQLite} -result {1325390400}} ############################################################################### -runTest {test data-1.21 {SQLiteConvert ToUnixEpoch (Local)} -body { +runTest {test data-1.20 {SQLiteConvert ToUnixEpoch (Local)} -body { # # NOTE: At first, the test result here may not seem correct; however, the # same result can be seen by compiling and running the following C# # code fragment together with the ToUnixEpoch method: # @@ -1186,12 +1128,12 @@ "2012-01-01 12:00:00"])} } -constraints {eagle System.Data.SQLite} -result {1325419200}} ############################################################################### -runTest {test data-1.22 {SQLiteTransaction disposal behavior} -setup { - setupDb [set fileName data-1.22.db] +runTest {test data-1.21 {SQLiteTransaction disposal behavior} -setup { + setupDb [set fileName data-1.21.db] } -body { sql execute $db "CREATE TABLE t1(x TEXT);" sql execute $db { INSERT INTO t1 (x) VALUES('test1'); @@ -1228,11 +1170,11 @@ public static void Main() { SQLiteFunction.RegisterFunction(typeof(Test${id})); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteTransaction transaction = connection.BeginTransaction()) @@ -1268,12 +1210,12 @@ System.Data.SQLite compileCSharp} -match regexp -result {^Ok\ System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 \{\}$}} ############################################################################### -runTest {test data-1.23 {SQLiteFunction collation exception} -setup { - setupDb [set fileName data-1.23.db] +runTest {test data-1.22 {SQLiteFunction collation exception} -setup { + setupDb [set fileName data-1.22.db] } -body { sql execute $db "CREATE TABLE t1(x TEXT);" sql execute $db { INSERT INTO t1 (x) VALUES('test1'); @@ -1310,11 +1252,11 @@ public static int Main() { SQLiteFunction.RegisterFunction(typeof(Test${id})); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteTransaction transaction = connection.BeginTransaction()) @@ -1355,13 +1297,13 @@ the target of an invocation\. ---> System\.Data\.SQLite\.SQLiteException:\ interrupted.*$}} ############################################################################### -runTest {test data-1.24 {LINQ SQL_CONSTRAINTCOLUMNS resource} -body { - object invoke -flags +NonPublic \ - System.Data.SQLite.Linq.Properties.Resources SQL_CONSTRAINTCOLUMNS +runTest {test data-1.23 {LINQ SQL_CONSTRAINTCOLUMNS resource} -body { + object invoke -flags +NonPublic System.Data.SQLite.Properties.Resources \ + SQL_CONSTRAINTCOLUMNS } -constraints {eagle System.Data.SQLite System.Data.SQLite.Linq} -result { CREATE TEMP VIEW SCHEMACONSTRAINTCOLUMNS AS SELECT CONSTRAINT_CATALOG, NULL AS CONSTRAINT_SCHEMA, CONSTRAINT_NAME, @@ -1381,39 +1323,13 @@ FROM TEMP.SCHEMAFOREIGNKEYS; }} ############################################################################### -runTest {test data-1.25 {EF6 SQL_CONSTRAINTCOLUMNS resource} -body { - object invoke -flags +NonPublic \ - System.Data.SQLite.EF6.Properties.Resources SQL_CONSTRAINTCOLUMNS -} -constraints {eagle System.Data.SQLite System.Data.SQLite.EF6} -result { - CREATE TEMP VIEW SCHEMACONSTRAINTCOLUMNS AS - SELECT CONSTRAINT_CATALOG, - NULL AS CONSTRAINT_SCHEMA, - CONSTRAINT_NAME, - TABLE_CATALOG, - NULL AS TABLE_SCHEMA, - TABLE_NAME, - COLUMN_NAME - FROM TEMP.SCHEMAINDEXCOLUMNS - UNION - SELECT CONSTRAINT_CATALOG, - NULL, - CONSTRAINT_NAME, - TABLE_CATALOG, - NULL, - TABLE_NAME, - FKEY_FROM_COLUMN - FROM TEMP.SCHEMAFOREIGNKEYS; - }} - -############################################################################### - -runTest {test data-1.26 {LINQ SQL_CONSTRAINTS resource} -body { - object invoke -flags +NonPublic \ - System.Data.SQLite.Linq.Properties.Resources SQL_CONSTRAINTS +runTest {test data-1.24 {LINQ SQL_CONSTRAINTS resource} -body { + object invoke -flags +NonPublic System.Data.SQLite.Properties.Resources \ + SQL_CONSTRAINTS } -constraints {eagle System.Data.SQLite System.Data.SQLite.Linq} -result { CREATE TEMP VIEW SCHEMACONSTRAINTS AS SELECT INDEX_CATALOG AS CONSTRAINT_CATALOG, NULL AS CONSTRAINT_SCHEMA, INDEX_NAME AS CONSTRAINT_NAME, @@ -1453,58 +1369,12 @@ FROM TEMP.SCHEMAFOREIGNKEYS; }} ############################################################################### -runTest {test data-1.27 {EF6 SQL_CONSTRAINTS resource} -body { - object invoke -flags +NonPublic \ - System.Data.SQLite.EF6.Properties.Resources SQL_CONSTRAINTS -} -constraints {eagle System.Data.SQLite System.Data.SQLite.EF6} -result { - CREATE TEMP VIEW SCHEMACONSTRAINTS AS - SELECT INDEX_CATALOG AS CONSTRAINT_CATALOG, - NULL AS CONSTRAINT_SCHEMA, - INDEX_NAME AS CONSTRAINT_NAME, - TABLE_CATALOG, - NULL AS TABLE_SCHEMA, - TABLE_NAME, - 'PRIMARY KEY' AS CONSTRAINT_TYPE, - 0 AS IS_DEFERRABLE, - 0 AS INITIALLY_DEFERRED, - NULL AS CHECK_CLAUSE - FROM TEMP.SCHEMAINDEXES - WHERE PRIMARY_KEY = 1 - UNION - SELECT INDEX_CATALOG, - NULL, - INDEX_NAME, - TABLE_CATALOG, - NULL, - TABLE_NAME, - 'UNIQUE', - 0, - 0, - NULL - FROM TEMP.SCHEMAINDEXES - WHERE PRIMARY_KEY = 0 AND [UNIQUE] = 1 - UNION - SELECT CONSTRAINT_CATALOG, - NULL, - CONSTRAINT_NAME, - TABLE_CATALOG, - NULL, - TABLE_NAME, - CONSTRAINT_TYPE, - IS_DEFERRABLE, - INITIALLY_DEFERRED, - NULL - FROM TEMP.SCHEMAFOREIGNKEYS; - }} - -############################################################################### - -runTest {test data-1.28 {SQLiteDataReader GetValues w/collection} -setup { - setupDb [set fileName data-1.28.db] +runTest {test data-1.25 {SQLiteDataReader GetValues w/collection} -setup { + setupDb [set fileName data-1.25.db] } -body { sql execute $db { CREATE TABLE t1(x INTEGER PRIMARY KEY ASC, y TEXT); INSERT INTO t1 (x, y) VALUES(1, 'aardvark'); INSERT INTO t1 (x, y) VALUES(2, 'bear'); @@ -1560,17 +1430,17 @@ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {{26 26} {zebra zebra}}} ############################################################################### -runTest {test data-1.29 {LINQ ISQLiteSchemaExtensions.BuildTempSchema} -setup { - setupDb [set fileName data-1.29.db] +runTest {test data-1.26 {LINQ ISQLiteSchemaExtensions.BuildTempSchema} -setup { + setupDb [set fileName data-1.26.db] } -body { set connection [getDbConnection] set providerServices [object invoke -flags +NonPublic \ - System.Data.SQLite.Linq.SQLiteProviderServices Instance] + System.Data.SQLite.SQLiteProviderServices Instance] object invoke -flags +NonPublic -type \ System.Data.SQLite.ISQLiteSchemaExtensions $providerServices \ BuildTempSchema $connection } -cleanup { @@ -1582,33 +1452,11 @@ } -constraints {eagle SQLite System.Data.SQLite System.Data.SQLite.Linq} \ -result {}} ############################################################################### -runTest {test data-1.30 {EF6 ISQLiteSchemaExtensions.BuildTempSchema} -setup { - setupDb [set fileName data-1.30.db] -} -body { - set connection [getDbConnection] - - set providerServices [object invoke -flags +NonPublic \ - System.Data.SQLite.EF6.SQLiteProviderServices Instance] - - object invoke -flags +NonPublic -type \ - System.Data.SQLite.ISQLiteSchemaExtensions $providerServices \ - BuildTempSchema $connection -} -cleanup { - cleanupDb $fileName - - freeDbConnection - - unset -nocomplain providerServices connection db fileName -} -constraints {eagle SQLite System.Data.SQLite System.Data.SQLite.EF6} \ --result {}} - -############################################################################### - -runTest {test data-1.31 {VARCHAR / NVARCHAR types with spaces} -body { +runTest {test data-1.27 {VARCHAR / NVARCHAR types with spaces} -body { list [object invoke -flags +NonPublic System.Data.SQLite.SQLiteConvert \ TypeNameToDbType VARCHAR None] \ [object invoke -flags +NonPublic System.Data.SQLite.SQLiteConvert \ TypeNameToDbType NVARCHAR None] \ [object invoke -flags +NonPublic System.Data.SQLite.SQLiteConvert \ @@ -1622,11 +1470,11 @@ } -constraints {eagle System.Data.SQLite} -result \ {AnsiString String AnsiString String AnsiString String}} ############################################################################### -runTest {test data-1.32 {SetMemoryStatus method} -setup { +runTest {test data-1.28 {SetMemoryStatus method} -setup { # # NOTE: Make sure that SQLite core library is completely shutdown prior to # starting this test. # shutdownSQLite $test_channel @@ -1710,12 +1558,12 @@ regexp -result {^Ok Misuse Ok Ok System#IntPtr#\d+ System#IntPtr#\d+ \d+ \d+\ \d+ \d+ \d+ True True True True True True$}} ############################################################################### -runTest {test data-1.33 {SQLiteConnection.Open with SetDefaults=False} -setup { - setupDb [set fileName data-1.33.db] "" "" "" "" SetDefaults=False +runTest {test data-1.29 {SQLiteConnection.Open with SetDefaults=False} -setup { + setupDb [set fileName data-1.29.db] "" "" "" "" SetDefaults=False } -body { set result [list] lappend result [sql execute -execute scalar $db "PRAGMA page_size;"] lappend result [sql execute -execute scalar $db "PRAGMA max_page_count;"] @@ -1734,12 +1582,12 @@ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {1024 1073741823 0 2 2000 delete 0}} ############################################################################### -runTest {test data-1.34 {SQLiteConnection.Open with SetDefaults=True} -setup { - setupDb [set fileName data-1.34.db] "" "" "" "" SetDefaults=True +runTest {test data-1.30 {SQLiteConnection.Open with SetDefaults=True} -setup { + setupDb [set fileName data-1.30.db] "" "" "" "" SetDefaults=True } -body { set result [list] lappend result [sql execute -execute scalar $db "PRAGMA page_size;"] lappend result [sql execute -execute scalar $db "PRAGMA max_page_count;"] @@ -1758,12 +1606,12 @@ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {1024 1073741823 0 2 2000 delete 0}} ############################################################################### -runTest {test data-1.35 {SQLiteConnection.Open without SetDefaults} -setup { - setupDb [set fileName data-1.35.db] +runTest {test data-1.31 {SQLiteConnection.Open without SetDefaults} -setup { + setupDb [set fileName data-1.31.db] } -body { set result [list] lappend result [sql execute -execute scalar $db "PRAGMA page_size;"] lappend result [sql execute -execute scalar $db "PRAGMA max_page_count;"] @@ -1782,16 +1630,16 @@ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {1024 1073741823 0 2 2000 delete 0}} ############################################################################### -runTest {test data-1.36 {SQLiteConnection.Open with PRAGMA overrides} -setup { +runTest {test data-1.32 {SQLiteConnection.Open with PRAGMA overrides} -setup { # # NOTE: Attempt to open a connection with all available PRAGMA settings # set to non-default values in the connection string. # - setupDb [set fileName data-1.36.db] "" "" "" "" [join [list \ + setupDb [set fileName data-1.32.db] "" "" "" "" [join [list \ "Page Size=4096" "Max Page Count=2048" "Legacy Format=True" \ Synchronous=Normal "Cache Size=4096" "Journal Mode=Wal" \ "Foreign Keys=True"] \;] } -body { set result [list] @@ -1813,11 +1661,11 @@ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {4096 2048 1 1 4096 wal 1}} ############################################################################### -runTest {test data-1.37 {sqlite3_win32_set_directory function} -setup { +runTest {test data-1.33 {sqlite3_win32_set_directory function} -setup { set directory(base) [getDatabaseDirectory] if {[string length $directory(base)] == 0 || \ ![file exists $directory(base)] || \ ![file isdirectory $directory(base)]} then { @@ -1865,11 +1713,11 @@ lappend result [object invoke -flags +NonPublic \ System.Data.SQLite.UnsafeNativeMethods sqlite3_win32_set_directory 2 \ $directory(temp)] - setupDb [set fileName data-1.37.db] "" "" "" "" "" false false false false + setupDb [set fileName data-1.33.db] "" "" "" "" "" false false false false sql execute $db "CREATE TABLE t1(x NOT NULL);" for {set i 1} {$i < 100} {incr i} { sql execute $db "INSERT INTO t1 (x) VALUES(?);" [list param1 String $i] @@ -1954,11 +1802,11 @@ } -constraints {eagle windows monoBug28 command.sql compile.DATA SQLite\ System.Data.SQLite sqlite3_win32_set_directory} -result {Ok Ok True True}} ############################################################################### -runTest {test data-1.38 {serialization of SQLiteException} -body { +runTest {test data-1.34 {serialization of SQLiteException} -body { set serializer [object create -alias \ System.Runtime.Serialization.Formatters.Binary.BinaryFormatter] set stream [object create -alias System.IO.MemoryStream] @@ -1982,12 +1830,12 @@ this is a test} CantOpen {unable to open database file this is a test} True True}]} ############################################################################### -runTest {test data-1.39 {unencrypted database, with password} -setup { - setupDb [set fileName data-1.39.db] +runTest {test data-1.35 {unencrypted database, with password} -setup { + setupDb [set fileName data-1.35.db] } -body { sql execute $db "CREATE TABLE t1(x);" sql execute $db "INSERT INTO t1 (x) VALUES(1);" cleanupDb $fileName db true false false @@ -2021,12 +1869,12 @@ not a database.*?\} 1 \{System\.Data\.SQLite\.SQLiteException \(0x80004005\):\ file is encrypted or is not a database.*?\} 0 1 0 2$}} ############################################################################### -runTest {test data-1.40 {encrypted database, wrong password} -setup { - setupDb [set fileName data-1.40.db] "" "" "" "" "Password=12345;" +runTest {test data-1.36 {encrypted database, wrong password} -setup { + setupDb [set fileName data-1.36.db] "" "" "" "" "Password=12345;" } -body { sql execute $db "CREATE TABLE t1(x);" sql execute $db "INSERT INTO t1 (x) VALUES(1);" cleanupDb $fileName db true false false @@ -2060,12 +1908,12 @@ not a database.*?\} 1 \{System\.Data\.SQLite\.SQLiteException \(0x80004005\):\ file is encrypted or is not a database.*?\} 0 1 0 2$}} ############################################################################### -runTest {test data-1.41 {encrypted database, password w/start-space} -setup { - setupDb [set fileName data-1.41.db] "" "" "" "" "Password= 1234;" +runTest {test data-1.37 {encrypted database, password w/start-space} -setup { + setupDb [set fileName data-1.37.db] "" "" "" "" "Password= 1234;" } -body { sql execute $db "CREATE TABLE t1(x);" sql execute $db "INSERT INTO t1 (x) VALUES(1);" cleanupDb $fileName db true false false @@ -2096,12 +1944,12 @@ } -constraints {eagle defineConstant.System.Data.SQLite.INTEROP_CODEC monoBug28\ command.sql compile.DATA SQLite System.Data.SQLite} -result {0 1 0 1 0 1 0 3}} ############################################################################### -runTest {test data-1.42 {encrypted database, w/quoted-start-space} -setup { - setupDb [set fileName data-1.42.db] "" "" "" "" "Password=\" 1234\";" +runTest {test data-1.38 {encrypted database, w/quoted-start-space} -setup { + setupDb [set fileName data-1.38.db] "" "" "" "" "Password=\" 1234\";" } -body { sql execute $db "CREATE TABLE t1(x);" sql execute $db "INSERT INTO t1 (x) VALUES(1);" cleanupDb $fileName db true false false @@ -2135,12 +1983,12 @@ not a database.*?\} 1 \{System\.Data\.SQLite\.SQLiteException \(0x80004005\):\ file is encrypted or is not a database.*?\} 0 1 0 2$}} ############################################################################### -runTest {test data-1.43 {encrypted database, password w/mid-space} -setup { - setupDb [set fileName data-1.43.db] "" "" "" "" "Password=12 45;" +runTest {test data-1.39 {encrypted database, password w/mid-space} -setup { + setupDb [set fileName data-1.39.db] "" "" "" "" "Password=12 45;" } -body { sql execute $db "CREATE TABLE t1(x);" sql execute $db "INSERT INTO t1 (x) VALUES(1);" cleanupDb $fileName db true false false @@ -2174,12 +2022,12 @@ not a database.*?\} 1 \{System\.Data\.SQLite\.SQLiteException \(0x80004005\):\ file is encrypted or is not a database.*?\} 0 1 0 2$}} ############################################################################### -runTest {test data-1.44 {encrypted database, password w/end-space} -setup { - setupDb [set fileName data-1.44.db] "" "" "" "" "Password=1234 ;" +runTest {test data-1.40 {encrypted database, password w/end-space} -setup { + setupDb [set fileName data-1.40.db] "" "" "" "" "Password=1234 ;" } -body { sql execute $db "CREATE TABLE t1(x);" sql execute $db "INSERT INTO t1 (x) VALUES(1);" cleanupDb $fileName db true false false @@ -2210,12 +2058,12 @@ } -constraints {eagle defineConstant.System.Data.SQLite.INTEROP_CODEC monoBug28\ command.sql compile.DATA SQLite System.Data.SQLite} -result {0 1 0 1 0 1 0 3}} ############################################################################### -runTest {test data-1.45 {encrypted database, w/quoted-end-space} -setup { - setupDb [set fileName data-1.45.db] "" "" "" "" "Password=\"1234 \";" +runTest {test data-1.41 {encrypted database, w/quoted-end-space} -setup { + setupDb [set fileName data-1.41.db] "" "" "" "" "Password=\"1234 \";" } -body { sql execute $db "CREATE TABLE t1(x);" sql execute $db "INSERT INTO t1 (x) VALUES(1);" cleanupDb $fileName db true false false @@ -2249,12 +2097,12 @@ not a database.*?\} 1 \{System\.Data\.SQLite\.SQLiteException \(0x80004005\):\ file is encrypted or is not a database.*?\} 0 1 0 2$}} ############################################################################### -runTest {test data-1.46 {encrypted database, password via builder} -setup { - setupDb [set fileName data-1.46.db] "" "" "" "" "Password=67 89;" +runTest {test data-1.42 {encrypted database, password via builder} -setup { + setupDb [set fileName data-1.42.db] "" "" "" "" "Password=67 89;" } -body { sql execute $db "CREATE TABLE t1(x);" sql execute $db "INSERT INTO t1 (x) VALUES(1);" cleanupDb $fileName db true false false @@ -2300,11 +2148,11 @@ } -constraints {eagle defineConstant.System.Data.SQLite.INTEROP_CODEC monoBug28\ command.sql compile.DATA SQLite System.Data.SQLite} -result {0 1 0 1 0 1 0 3}} ############################################################################### -runTest {test data-1.47 {quoted connection string properties} -setup { +runTest {test data-1.43 {quoted connection string properties} -setup { unset -nocomplain result list pair strings string } -body { set result [list] set strings [list \ @@ -2329,12 +2177,12 @@ ThreeFour} {{One Two} {Three Four}} {{One Two} {Three Four}} {OneTwo ThreeFour}\ {OneTwo ThreeFour} {{One Two} {Three Four}} {{One Two} {Three Four}}}} ############################################################################### -runTest {test data-1.48 {rollback to nested savepoint} -setup { - setupDb [set fileName data-1.48.db] +runTest {test data-1.44 {rollback to nested savepoint} -setup { + setupDb [set fileName data-1.44.db] } -body { sql execute $db "BEGIN IMMEDIATE TRANSACTION;" sql execute $db "SAVEPOINT one;" sql execute $db "CREATE TABLE t1(x);" @@ -2359,12 +2207,12 @@ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {1 2 1}} ############################################################################### -runTest {test data-1.49 {NoExtensionFunctions connection flag} -setup { - setupDb [set fileName data-1.49.db] +runTest {test data-1.45 {NoExtensionFunctions connection flag} -setup { + setupDb [set fileName data-1.45.db] } -body { set result [list] lappend result [catch {sql execute -execute scalar $db \ "SELECT replicate('1234', 2);"} output] $output @@ -2391,12 +2239,12 @@ regexp -result {^0 12341234 1 \{System\.Data\.SQLite\.SQLiteException\ \(0x80004005\): SQL logic error or missing database.*?\} 0 1234123412341234$}} ############################################################################### -runTest {test data-1.50 {column name and index lookup} -setup { - setupDb [set fileName data-1.50.db] +runTest {test data-1.46 {column name and index lookup} -setup { + setupDb [set fileName data-1.46.db] } -body { sql execute $db { CREATE TABLE t1(x, y, z); INSERT INTO t1 (x, y, z) VALUES(1, 'foo', 1234); } @@ -2427,12 +2275,12 @@ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {{x 0 1} {y 1 foo} {z 2 1234}}} ############################################################################### -runTest {test data-1.51 {nullable value types} -setup { - setupDb [set fileName data-1.51.db] +runTest {test data-1.47 {nullable value types} -setup { + setupDb [set fileName data-1.47.db] } -body { sql execute $db { CREATE TABLE t1(x INTEGER); INSERT INTO t1 (x) VALUES(NULL); INSERT INTO t1 (x) VALUES(1); @@ -2469,11 +2317,11 @@ the target of an invocation\. ---> System\.InvalidCastException:.*\}\ System#DBNull#\d+\} \{0 x 1 0 1 1\}$}} ############################################################################### -runTest {test data-1.52 {static SQLiteCommand.Execute method} -setup { +runTest {test data-1.48 {static SQLiteCommand.Execute method} -setup { unset -nocomplain result sql } -body { set sql(1) { \ CREATE TABLE t1(x); \ INSERT INTO t1 (x) VALUES (NULL); \ @@ -2518,12 +2366,12 @@ -result {^\{\} 1 System#DBNull#\d+ System#Data#SQLite#SQLiteDataReader#\d+ \{\}\ 1 1 System#Data#SQLite#SQLiteDataReader#\d+$}} ############################################################################### -runTest {test data-1.53 {BindAllAsText w/DateTime} -setup { - setupDb [set fileName data-1.53.db] "" Ticks Utc BindAllAsText +runTest {test data-1.49 {BindAllAsText w/DateTime} -setup { + setupDb [set fileName data-1.49.db] "" Ticks Utc BindAllAsText } -body { sql execute $db "CREATE TABLE t1(x);" list [sql execute $db "INSERT INTO t1 (x) VALUES(?);" \ [list param1 DateTime [set dateTime [object invoke DateTime Parse \ @@ -2537,12 +2385,12 @@ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {1 630874007980000000}} ############################################################################### -runTest {test data-1.54 {bind SQLiteFunction to one SQLiteConnection} -setup { - set fileName data-1.54.db +runTest {test data-1.50 {bind SQLiteFunction to one SQLiteConnection} -setup { + set fileName data-1.50.db } -body { set id [object invoke Interpreter.GetActive NextId] set dataSource [file join [getDatabaseDirectory] $fileName] set sql { \ @@ -2580,11 +2428,11 @@ /////////////////////////////////////////////////////////////////////// public static object DoTest(bool bindFunction) { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); if (bindFunction) { @@ -2637,11 +2485,11 @@ logic error or missing database no such function: MyRandom.*\}$}]} ############################################################################### -runTest {test data-1.55 {SQLiteConvert TypeNameToDbType} -setup { +runTest {test data-1.51 {SQLiteConvert TypeNameToDbType} -setup { unset -nocomplain result typeName } -body { foreach typeName [list \ BIGINT BIGUINT BINARY BIT BLOB BOOL BOOLEAN CHAR CLOB COUNTER CURRENCY \ DATE DATETIME DECIMAL DOUBLE FLOAT GENERAL GUID IDENTITY IMAGE INT INT8 \ @@ -2677,12 +2525,12 @@ UInt64} {VARBINARY Binary} {VARCHAR AnsiString} {VARCHAR2 AnsiString} {YESNO\ Boolean}}} ############################################################################### -runTest {test data-1.56 {totype extension} -setup { - setupDb [set fileName data-1.56.db] +runTest {test data-1.52 {totype extension} -setup { + setupDb [set fileName data-1.52.db] } -body { set connection [getDbConnection] set result [list] $connection EnableExtensions true @@ -2706,12 +2554,12 @@ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {1 {} 1.01 {}}} ############################################################################### -runTest {test data-1.57 {regexp extension} -setup { - setupDb [set fileName data-1.57.db] +runTest {test data-1.53 {regexp extension} -setup { + setupDb [set fileName data-1.53.db] } -body { unset -nocomplain pattern result set connection [getDbConnection] set result(1) [list] @@ -2772,12 +2620,12 @@ reportSQLiteResources $test_channel ############################################################################### -runTest {test data-1.58 {SQLiteConnection.ReleaseMemory method} -setup { - setupDb [set fileName data-1.58.db] +runTest {test data-1.54 {SQLiteConnection.ReleaseMemory method} -setup { + setupDb [set fileName data-1.54.db] } -body { set result [list] set nFree 0; set resetOk false; set nLargest 0 set code [object invoke \ @@ -2819,12 +2667,12 @@ SQLite System.Data.SQLite} -match regexp -result {^\{Busy 0 False 0\} \{Busy\ \d+ False 0\} \{Ok 0 True \d+\}$}} ############################################################################### -runTest {test data-1.59 {percentile extension} -setup { - setupDb [set fileName data-1.59.db] +runTest {test data-1.54 {percentile extension} -setup { + setupDb [set fileName data-1.54.db] } -body { set connection [getDbConnection] set result [list] $connection EnableExtensions true @@ -2854,14 +2702,12 @@ reportSQLiteResources $test_channel ############################################################################### -unset -nocomplain northwindEfDbFile testLinqOutFile testEf6ExeFile \ - testLinqExeFile testExeFile sqliteDesignerDllFile \ - systemDataSQLiteEf6DllFile systemDataSQLiteLinqDllFile \ - systemDataSQLiteDllFile entityFrameworkDllFile +unset -nocomplain systemDataSQLiteDllFile systemDataSQLiteLinqDllFile \ + testExeFile testLinqExeFile northwindEfDbFile testLinqOutFile ############################################################################### runSQLiteTestEpilogue runTestEpilogue Index: Tests/common.eagle ================================================================== --- Tests/common.eagle +++ Tests/common.eagle @@ -104,78 +104,16 @@ # NOTE: Use the specified list of test years. # return $::test_years } else { # - # NOTE: Use the default list of test years (i.e. all). + # NOTE: Use the default list of test years. # return [list 2005 2008 2010 2012 2013] } } - proc getBuildNetFx {} { - # - # NOTE: See if the test .NET Framework setting has been overridden by - # the user (e.g. on the command line). - # - if {[info exists ::test_net_fx] && \ - [string length $::test_net_fx] > 0} then { - # - # NOTE: Use the specified test .NET Framework. - # - return $::test_net_fx - } else { - set year [getBuildYear] - - switch -exact -- $year { - 2005 { - return netFx20 - } - 2008 { - return netFx35 - } - 2010 { - return netFx40 - } - 2012 { - return netFx45 - } - 2013 { - return netFx451 - } - default { - return netFx35; # TODO: Good "fallback" default? - } - } - } - } - - # - # NOTE: This procedure should return non-zero if the configured test - # platform is most likely the default for this machine. - # - proc isDefaultBuildPlatform { {verbose false} } { - # - # NOTE: Running on WoW64 is never the default platform. - # - if {[isRunningWoW64]} then { - if {$verbose} then { - tputs $::test_channel \ - "---- detected non-default platform (WoW64)\n" - } - return false - } - - # - # NOTE: This has a good chance of being the default platform. - # - if {$verbose} then { - tputs $::test_channel "---- detected default platform\n" - } - return true - } - proc getBuildPlatform { native } { if {[info exists ::test_platform] && \ [string length $::test_platform] > 0} then { # # NOTE: Use the specified test platform. If this variable is not set, @@ -187,26 +125,21 @@ # # NOTE: For native builds, return the platform name corresponding to # the test machine architecture; otherwise, return an empty # string. # - return [expr { - $native ? [machineToPlatform $::test_machine] : "" - }] + return [expr {$native ? [machineToPlatform $::test_machine] : ""}] } elseif {[info exists ::tcl_platform(machine)]} then { # # NOTE: For native builds, return the platform name corresponding to # the machine architecture; otherwise, return an empty string. # - return [expr { - $native ? [machineToPlatform $::tcl_platform(machine)] : "" - }] + return [expr {$native ? \ + [machineToPlatform $::tcl_platform(machine)] : ""}] } else { # # NOTE: No machine architecture is available, return an empty string. - # It is important to return an empty string here because the - # result of this procedure may be used with [file join]. # return "" } } @@ -302,18 +235,10 @@ # return "" } } - proc isRunningWoW64 {} { - # - # NOTE: For now, just use the existing test constraint for detecting - # a WoW64 process. - # - return [haveConstraint wow64] - } - proc isMixedModeAssembly { fileName {varName ""} } { # # NOTE: First, make sure the test suite infrastructure is allowed to # use the [exec] command. # @@ -569,43 +494,23 @@ # return $::release_version } else { # # NOTE: No release version is available, return an empty string. - # It is important to return an empty string here because the - # result of this procedure may be used with [file join]. # return "" } } - proc getBuildFileName { fileName {platform ""} } { + proc getBuildFileName { fileName } { # # NOTE: Returns the specified file name as if it were located in the # build directory, discarding any directory information present # in the file name as provided by our caller. # - set result [file nativename \ - [file join [getBuildDirectory] $platform [file tail $fileName]]] - - # - # HACK: When running on WoW64, assume the test executables are present - # with the "32" suffix on them. - # - if {[isRunningWoW64] && [file extension $result] eq ".exe"} then { - set result [appendArgs [file rootname $result] 32.exe] - } - - return $result - } - - proc getExternalDirectory {} { - # - # NOTE: This procedure returns the directory where the external binary - # files are located. - # - return [file nativename [file dirname [file dirname [info binary]]]] + return [file nativename \ + [file join [getBuildDirectory] [file tail $fileName]]] } proc getBinaryDirectory {} { # # NOTE: This procedure returns the directory where the test application @@ -624,66 +529,43 @@ } else { return [info binary] } } - proc getExternalFileName { fileName } { - # - # NOTE: Returns the specified file name as if it were located in the - # directory containing the external binaries. - # - return [file nativename [file join [getExternalDirectory] $fileName]] - } - - proc getBinaryFileName { fileName {platform ""} } { + proc getBinaryFileName { fileName } { # # NOTE: Returns the specified file name as if it were located in the # binary directory, discarding any directory information present # in the file name as provided by our caller. # return [file nativename \ - [file join [getBinaryDirectory] $platform [file tail $fileName]]] - } - - proc getCoreBinaryFileName { {platform ""} {standard false} } { - # - # NOTE: Returns the full path for the file containing the SQLite core - # native library code for this platform. First, check and see if - # the SQLite core native library has already been loaded. Next, - # fallback to what the full path should be, based on whether the - # mixed-mode assembly is being used and the name of the current - # platform. - # - if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.UnsafeNativeMethods _SQLiteNativeModuleFileName - } fileName] == 0 && [string length $fileName] > 0} then { - # - # NOTE: The SQLite core native library has already been loaded via - # the native library pre-loader. Return that file name now. - # - return $fileName - } - + [file join [getBinaryDirectory] [file tail $fileName]]] + } + + proc getCoreBinaryFileName { {standard false} } { + # + # NOTE: Returns the full path for the file containing the core SQLite + # library code for this platform. + # if {[hasRuntimeOption native]} then { # # NOTE: Return the mixed-mode assembly file name. # return [file nativename \ - [file join [getBinaryDirectory] $platform System.Data.SQLite.dll]] + [file join [getBinaryDirectory] System.Data.SQLite.dll]] } elseif {$standard} then { # # NOTE: Return the native-only standard SQLite library file name. # return [file nativename \ - [file join [getBinaryDirectory] $platform sqlite3.dll]] + [file join [getBinaryDirectory] sqlite3.dll]] } else { # # NOTE: Return the native-only interop assembly file name. # return [file nativename \ - [file join [getBinaryDirectory] $platform SQLite.Interop.dll]] + [file join [getBinaryDirectory] SQLite.Interop.dll]] } } proc getCommonDirectory {} { # @@ -859,74 +741,29 @@ object invoke Interpreter.GetActive AddRuntimeOption native } } [getTestOverridesPreamble [list path test_channel]] $suffix]]] } - proc tryCopyExternalFile { - fileName {platform ""} {newFileName ""} {verbose false} } { - set sourceFileName [getExternalFileName $fileName] - - if {![file exists $sourceFileName]} then { - if {$verbose} then { - tputs $::test_channel [appendArgs \ - "---- skipped copying external file \"" $sourceFileName \ - "\", it does not exist\n"] - } - return - } - - if {[string length $newFileName] > 0} then { - set targetFileName [getBinaryFileName $newFileName $platform] - } else { - set targetFileName [getBinaryFileName $fileName $platform] - } - - set targetDirectory [file dirname $targetFileName] - - if {[catch { - if {![file exists $targetDirectory]} then { - file mkdir $targetDirectory - } - file copy -force $sourceFileName $targetFileName - }] == 0} then { - tputs $::test_channel [appendArgs \ - "---- copied external file from \"" $sourceFileName "\" to \"" \ - $targetFileName \"\n] - } else { - tputs $::test_channel [appendArgs \ - "---- failed to copy external file from \"" $sourceFileName \ - "\" to \"" $targetFileName \"\n] - } - } - - proc tryCopyBinaryFile { - fileName {platform ""} {newFileName ""} {verbose false} } { - set sourceFileName [getBinaryFileName $fileName $platform] - - if {![file exists $sourceFileName]} then { - if {$verbose} then { - tputs $::test_channel [appendArgs \ - "---- skipped copying binary file \"" $sourceFileName \ - "\", it does not exist\n"] - } - return - } - - if {[string length $newFileName] > 0} then { - set targetFileName [getBuildFileName $newFileName $platform] - } else { - set targetFileName [getBuildFileName $fileName $platform] - } - - set targetDirectory [file dirname $targetFileName] - - if {[catch { - if {![file exists $targetDirectory]} then { - file mkdir $targetDirectory - } - file copy -force $sourceFileName $targetFileName - }] == 0} then { + proc tryCopyBinaryFile { fileName {newFileName ""} } { + set sourceFileName [getBinaryFileName $fileName] + + if {![file exists $sourceFileName]} then { + tputs $::test_channel [appendArgs \ + "---- skipped copying binary file \"" $sourceFileName \ + "\", it does not exist\n"] + + return + } + + if {[string length $newFileName] > 0} then { + set targetFileName [getBuildFileName $newFileName] + } else { + set targetFileName [getBuildFileName $fileName] + } + + if {[catch { + file copy -force $sourceFileName $targetFileName}] == 0} then { tputs $::test_channel [appendArgs \ "---- copied binary file from \"" $sourceFileName "\" to \"" \ $targetFileName \"\n] } else { tputs $::test_channel [appendArgs \ @@ -933,37 +770,29 @@ "---- failed to copy binary file from \"" $sourceFileName \ "\" to \"" $targetFileName \"\n] } } - proc tryCopyBuildFile { - fileName {platform ""} {newFileName ""} {verbose false} } { - set sourceFileName [getBuildFileName $fileName $platform] + proc tryCopyBuildFile { fileName {newFileName ""} } { + set sourceFileName [getBuildFileName $fileName] if {![file exists $sourceFileName]} then { - if {$verbose} then { - tputs $::test_channel [appendArgs \ - "---- skipped copying build file \"" $sourceFileName \ - "\", it does not exist\n"] - } + tputs $::test_channel [appendArgs \ + "---- skipped copying build file \"" $sourceFileName \ + "\", it does not exist\n"] + return } if {[string length $newFileName] > 0} then { - set targetFileName [getBinaryFileName $newFileName $platform] + set targetFileName [getBinaryFileName $newFileName] } else { - set targetFileName [getBinaryFileName $fileName $platform] + set targetFileName [getBinaryFileName $fileName] } - set targetDirectory [file dirname $targetFileName] - if {[catch { - if {![file exists $targetDirectory]} then { - file mkdir $targetDirectory - } - file copy -force $sourceFileName $targetFileName - }] == 0} then { + file copy -force $sourceFileName $targetFileName}] == 0} then { tputs $::test_channel [appendArgs \ "---- copied build file from \"" $sourceFileName "\" to \"" \ $targetFileName \"\n] } else { tputs $::test_channel [appendArgs \ @@ -970,19 +799,18 @@ "---- failed to copy build file from \"" $sourceFileName \ "\" to \"" $targetFileName \"\n] } } - proc tryDeleteBinaryFile { fileName {platform ""} {verbose false} } { - set fileName [getBinaryFileName $fileName $platform] + proc tryDeleteBinaryFile { fileName } { + set fileName [getBinaryFileName $fileName] if {![file exists $fileName]} then { - if {$verbose} then { - tputs $::test_channel [appendArgs \ - "---- skipped deleting binary file \"" $fileName \ - "\", it does not exist\n"] - } + tputs $::test_channel [appendArgs \ + "---- skipped deleting binary file \"" $fileName \ + "\", it does not exist\n"] + return } if {[catch {file delete $fileName}] == 0} then { tputs $::test_channel [appendArgs \ @@ -991,19 +819,18 @@ tputs $::test_channel [appendArgs \ "---- failed to delete binary file \"" $fileName \"\n] } } - proc tryDeleteBuildFile { fileName {platform ""} {verbose false} } { - set fileName [getBuildFileName $fileName $platform] + proc tryDeleteBuildFile { fileName } { + set fileName [getBuildFileName $fileName] if {![file exists $fileName]} then { - if {$verbose} then { - tputs $::test_channel [appendArgs \ - "---- skipped deleting build file \"" $fileName \ - "\", it does not exist\n"] - } + tputs $::test_channel [appendArgs \ + "---- skipped deleting build file \"" $fileName \ + "\", it does not exist\n"] + return } if {[catch {file delete $fileName}] == 0} then { tputs $::test_channel [appendArgs \ @@ -1012,36 +839,31 @@ tputs $::test_channel [appendArgs \ "---- failed to delete build file \"" $fileName \"\n] } } - proc tryCopyAssembly { - fileName {platform ""} {pdb true} {verbose false} } { - tryCopyBuildFile $fileName $platform "" $verbose - - if {$pdb} then { - tryCopyBuildFile [appendArgs \ - [file rootname $fileName] .pdb] $platform "" $verbose - } - } - - proc tryDeleteAssembly { - fileName {platform ""} {pdb true} {verbose false} } { - tryDeleteBinaryFile $fileName $platform $verbose - - if {$pdb} then { - tryDeleteBinaryFile [appendArgs \ - [file rootname $fileName] .pdb] $platform $verbose - } - } - - proc tryLoadAssembly { fileName {platform ""} } { - set fileName [getBinaryFileName $fileName $platform] - - if {[catch { - set assembly [object load -loadtype File -alias $fileName] - }] == 0} then { + proc tryCopyAssembly { fileName {pdb true} } { + tryCopyBuildFile $fileName + + if {$pdb} then { + tryCopyBuildFile [appendArgs [file rootname $fileName] .pdb] + } + } + + proc tryDeleteAssembly { fileName {pdb true} } { + tryDeleteBinaryFile $fileName + + if {$pdb} then { + tryDeleteBinaryFile [appendArgs [file rootname $fileName] .pdb] + } + } + + proc tryLoadAssembly { fileName } { + set fileName [getBinaryFileName $fileName] + + if {[catch {set assembly \ + [object load -loadtype File -alias $fileName]}] == 0} then { # # NOTE: Now, add the necessary test constraint. # addConstraint [file rootname [file tail $fileName]] @@ -1070,13 +892,12 @@ # been called to probe for the System.Data.SQLite managed assembly # and the [checkForSQLite] procedure has been called to probe for # the SQLite native library; otherwise, this procedure will simply # always return zero. # - return [expr { - [haveConstraint System.Data.SQLite] && [haveConstraint SQLite] - }] + return [expr {[haveConstraint System.Data.SQLite] && \ + [haveConstraint SQLite]}] } proc matchMachine { platform } { # # NOTE: An empty string for the platform means that the build is not @@ -1245,13 +1066,12 @@ proc checkForSQLiteLibrary { channel } { tputs $channel "---- checking for SQLite core library... " if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLite3 SQLiteVersion - } version] == 0} then { + object invoke -flags +NonPublic System.Data.SQLite.SQLite3 \ + SQLiteVersion} version] == 0} then { # # NOTE: Check if the returned version was null. If so, make it easy # to spot. # if {[string length $version] == 0} then { @@ -1261,13 +1081,12 @@ # # NOTE: Attempt to query the Fossil source identifier for the SQLite # core library. # if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLite3 SQLiteSourceId - } sourceId]} then { + object invoke -flags +NonPublic System.Data.SQLite.SQLite3 \ + SQLiteSourceId} sourceId]} then { # # NOTE: We failed to query the Fossil source identifier. # set sourceId unknown } @@ -1293,13 +1112,12 @@ proc checkForSQLiteInterop { channel } { tputs $channel "---- checking for SQLite interop assembly... " if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLite3 InteropVersion - } version] == 0} then { + object invoke -flags +NonPublic System.Data.SQLite.SQLite3 \ + InteropVersion} version] == 0} then { # # NOTE: Check if the returned version was null. If so, make it easy # to spot. # if {[string length $version] == 0} then { @@ -1309,13 +1127,12 @@ # # NOTE: Attempt to query the Fossil source identifier for the SQLite # core library. # if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLite3 InteropSourceId - } sourceId]} then { + object invoke -flags +NonPublic System.Data.SQLite.SQLite3 \ + InteropSourceId} sourceId]} then { # # NOTE: We failed to query the Fossil source identifier. # set sourceId unknown } @@ -1343,13 +1160,12 @@ tputs $channel [appendArgs \ "---- checking for System.Data.SQLite define constant \"" $name \ "\"... "] if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLite3 DefineConstants - } defineConstants] == 0} then { + object invoke -flags +NonPublic System.Data.SQLite.SQLite3 \ + DefineConstants} defineConstants] == 0} then { if {[lsearch -exact -nocase $defineConstants $name] != -1} then { # # NOTE: Yes, this define constant was enabled when the managed # assembly was compiled. # @@ -1498,159 +1314,37 @@ # present in that database. # upvar 1 $varName db # - # NOTE: Use the sqlite_master table to determine if the named table is - # present in the database. - # - set sql { - SELECT COUNT(*) FROM sqlite_master WHERE type = 'table' AND name = ?; - } - - # - # NOTE: Return non-zero if the named table is present. - # - return [expr { - [sql execute -execute scalar $db $sql [list param1 String $name]] > 0 - }] + # NOTE: Execute the SQL query against the sqlite_master table to check if + # the named table is present and return non-zero if it is. + # + return [expr {[sql execute -execute scalar $db \ + "SELECT COUNT(*) FROM sqlite_master WHERE type = 'table' AND name = ?;" \ + [list param1 String $name]] > 0}] } proc trimSql { sql } { return [regsub -all -- {\s+} [string trim $sql] " "] } - proc executeSql { sql {execute none} {format none} {fileName ""} } { + proc executeSql { sql {execute none} {fileName ""} } { if {[string length $fileName] == 0} then {set fileName :memory:} - setupDb $fileName "" "" "" "" "" false false false false db true + setupDb $fileName "" "" "" "" "" false false false false memDb try { - return [uplevel 1 [list \ - sql execute -execute $execute -format $format $db $sql]] + return [sql execute -execute $execute $memDb $sql] } finally { - cleanupDb $fileName db false false false - } - } - - proc getConnectionFlags { fileName flags {quiet false} } { - # - # NOTE: Figure out which database file name or connection string these - # connection flags will actually apply to. This is not necessary - # in quiet mode because this information is only used for logging - # and reporting purposes. - # - if {!$quiet} then { - if {[string length $fileName] > 0} then { - set database [appendArgs "file name \"" $fileName \"] - } elseif {[info exists ::dataSource] && \ - ![array exists ::dataSource]} then { - set database [appendArgs "data source \"" $::dataSource \"] - } else { - set database - } - } - - # - # NOTE: Show (and log) the local connection flags and the associated - # data source or file name. - # - if {!$quiet} then { - tputs $::test_channel [appendArgs \ - "---- local connection flags for " $database \ - " are: " [expr {[string length $flags] > 0 ? \ - [appendArgs \" $flags \"] : ""}] \n] - } - - # - # NOTE: If there are any global (per test run) connection flags currently - # set, use them now (i.e. by combining them with the ones for this - # connection). - # - if {[info exists ::connection_flags] && \ - [string length $::connection_flags] > 0} then { - # - # NOTE: Show (and log) the detected global connection flags. - # - if {!$quiet} then { - tputs $::test_channel [appendArgs \ - "---- global connection flags detected: " \ - [expr {[info exists ::connection_flags] && \ - [string length $::connection_flags] > 0 ? \ - [appendArgs \" $::connection_flags \"] : ""}] \n] - } - - # - # NOTE: Combine and/or replace the connection flags and then show the - # new value. - # - set flags [combineFlags $flags $::connection_flags] - - # - # NOTE: Show (and log) the new effective connection flags. - # - if {!$quiet} then { - tputs $::test_channel [appendArgs \ - "---- combined connection flags for " $database \ - " are: " [expr {[string length $flags] > 0 ? \ - [appendArgs \" $flags \"] : ""}] \n] - } - } - - return $flags - } - - proc getFlagsProperty { {flags ""} {quiet false} } { - # - # NOTE: Determine what the combined (global and local) connection - # flags should be, possibly quietly. - # - set flags [getConnectionFlags "" $flags $quiet] - - # - # NOTE: If no global or local connection flags were specified, the - # default connection flags should be used; therefore, return - # an empty string in that case. - # - if {[string length $flags] == 0} then { - return "" - } - - # - # NOTE: In order to check if the default connection flags are being used - # it is necessary to attempt a conversion to the actual enumerated - # type. Failing that, the check against the default value will be - # skipped. - # - set error null; # IGNORED - set value [object invoke Utility TryParseFlagsEnum "" \ - System.Data.SQLite.SQLiteConnectionFlags "" $flags null true \ - error] - - # - # NOTE: If the combined flags string could not actually be converted - # to the enumerated type it is the default value, then just use - # it verbatim; otherwise, just return an empty string. In that - # case, the default connection flags will be used. - # - if {[string length $value] == 0 || $value ne "Default"} then { - # - # WARNING: This returns the string value of the combined flags, not - # the enumerated value. This is by design and should not - # be changed without careful consideration (e.g. it would - # prevent the SQLiteConnection class from allowing invalid - # ["magical"] meta-flags). - # - return [appendArgs "Flags=" $flags \;] - } - - return "" + cleanupDb $fileName memDb false false + } } proc setupDb { fileName {mode ""} {dateTimeFormat ""} {dateTimeKind ""} {flags ""} {extra ""} {qualify true} {delete true} {uri false} - {temporary true} {varName db} {quiet false} } { + {temporary true} {varName db} } { # # NOTE: First, see if our caller has requested an in-memory database. # set isMemory [isMemoryDb $fileName] @@ -1675,15 +1369,13 @@ # if {[catch {file delete $fileName} error]} then { # # NOTE: We somehow failed to delete the file, report why. # - if {!$quiet} then { - tputs $::test_channel [appendArgs \ - "==== WARNING: failed to delete database file \"" $fileName \ - "\" during setup, error: " \n\t $error \n] - } + tputs $::test_channel [appendArgs \ + "==== WARNING: failed to delete database file \"" $fileName \ + "\" during setup, error: " \n\t $error \n] } } # # NOTE: Refer to the specified variable (e.g. "db") in the context of our @@ -1734,13 +1426,31 @@ if {[string length $dateTimeKind] > 0} then { append connection {;DateTimeKind=${dateTimeKind}} } # - # NOTE: Figure out what the final flags for this connection need to be. + # NOTE: If there are any global (per test run) connection flags currently + # set, use them now (i.e. by combining them with the ones for this + # connection). # - set flags [getConnectionFlags $fileName $flags $quiet] + if {[info exists ::connection_flags] && \ + [string length $::connection_flags] > 0} then { + # + # NOTE: Show (and log) that we detected some global connection flags. + # + tputs $::test_channel [appendArgs \ + "---- global connection flags detected: " $::connection_flags \n] + + # + # NOTE: Combine and/or replace the connection flags and then show the + # new value. + # + set flags [combineFlags $flags $::connection_flags] + + tputs $::test_channel [appendArgs \ + "---- combined connection flags are: " $flags \n] + } # # NOTE: If our caller specified some SQLiteConnectionFlags, add the # necessary portion of the connection string now. # @@ -1791,13 +1501,13 @@ # Eagle internals, great care should be taken to avoid disposing of # this object or otherwise putting it into an invalid state. # if {[info exists db]} then { if {[catch { - object invoke -flags +NonPublic -objectflags +NoDispose -alias \ - Interpreter.GetActive.connections Item $db - } result] == 0} then { + object invoke -flags +NonPublic -objectflags +NoDispose \ + -alias Interpreter.GetActive.connections Item $db} \ + result] == 0} then { # # NOTE: Success, return the opaque object handle. # return $result } else { @@ -2153,14 +1863,13 @@ # BUGFIX: Before calling the native shutdown function, make sure both # of the PRAGMA related directory names are freed. # checkForSQLiteDirectories $channel true - if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.UnsafeNativeMethods sqlite3_shutdown - } result] == 0} then { + if {[catch {object invoke -flags +NonPublic \ + System.Data.SQLite.UnsafeNativeMethods \ + sqlite3_shutdown} result] == 0} then { if {!$quiet} then { tputs $channel [appendArgs \ "---- call sqlite3_shutdown()... ok: " $result \n] } } else { @@ -2182,14 +1891,13 @@ defineConstant.System.Data.SQLite.TRACK_MEMORY_BYTES]} then { if {!$quiet} then { tputs $channel "---- current memory in use by SQLiteMemory... " } - if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLiteMemory bytesAllocated - } memory] == 0} then { + if {[catch {object invoke -flags +NonPublic \ + System.Data.SQLite.SQLiteMemory \ + bytesAllocated} memory] == 0} then { if {!$quiet} then { tputs $channel [appendArgs $memory " bytes\n"] } } else { set memory unknown @@ -2201,14 +1909,13 @@ if {!$quiet} then { tputs $channel "---- maximum memory in use by SQLiteMemory... " } - if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLiteMemory maximumBytesAllocated - } memory] == 0} then { + if {[catch {object invoke -flags +NonPublic \ + System.Data.SQLite.SQLiteMemory \ + maximumBytesAllocated} memory] == 0} then { if {!$quiet} then { tputs $channel [appendArgs $memory " bytes\n"] } } else { set memory unknown @@ -2221,14 +1928,13 @@ if {!$quiet} then { tputs $channel "---- current memory in use by SQLite... " } - if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.UnsafeNativeMethods sqlite3_memory_used - } memory] == 0} then { + if {[catch {object invoke -flags +NonPublic \ + System.Data.SQLite.UnsafeNativeMethods \ + sqlite3_memory_used} memory] == 0} then { if {!$quiet} then { tputs $channel [appendArgs $memory " bytes\n"] } } else { # @@ -2245,14 +1951,13 @@ if {!$quiet} then { tputs $channel "---- maximum memory in use by SQLite... " } - if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.UnsafeNativeMethods sqlite3_memory_highwater 0 - } memory] == 0} then { + if {[catch {object invoke -flags +NonPublic \ + System.Data.SQLite.UnsafeNativeMethods \ + sqlite3_memory_highwater 0} memory] == 0} then { if {!$quiet} then { tputs $channel [appendArgs $memory " bytes\n"] } } else { # @@ -2309,14 +2014,13 @@ # to check if calling the function will raise an exception (i.e. # the actual result of the function does not matter as long as no # directory is changed). # if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.UnsafeNativeMethods \ - sqlite3_win32_set_directory 0 null - }] == 0} then { + object invoke -flags +NonPublic \ + System.Data.SQLite.UnsafeNativeMethods \ + sqlite3_win32_set_directory 0 null}] == 0} then { # # NOTE: Calling the sqlite3_win32_set_directory function does not # cause an exception; therefore, it must be available (i.e. # even though it should return a failure return code in this # case). @@ -2335,14 +2039,14 @@ # Since the sqlite3_win32_set_directory function is available, # use it. # for {set index 1} {$index < 3} {incr index} { if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.UnsafeNativeMethods \ - sqlite3_win32_set_directory $index null - } result] == 0} then { + object invoke -flags +NonPublic \ + System.Data.SQLite.UnsafeNativeMethods \ + sqlite3_win32_set_directory $index null} \ + result] == 0} then { tputs $channel [appendArgs \ "---- call sqlite3_win32_set_directory(" $index \ ", null)... ok: " $result \n] } else { tputs $channel [appendArgs \ @@ -2420,13 +2124,12 @@ tputs $channel [appendArgs \ "---- loading per-user test settings file \"" \ $userSettingsFileName \"...\n] } - if {[catch { - uplevel 1 [list source $userSettingsFileName] - } error]} then { + if {[catch {uplevel 1 [list source $userSettingsFileName]} \ + error]} then { if {!$quiet} then { tputs $channel [appendArgs \ "==== WARNING: failed to load per-user settings file \"" \ $userSettingsFileName "\", error: " \n\t $error \n] } @@ -2451,13 +2154,12 @@ tputs $channel [appendArgs \ "---- loading per-host test settings file \"" \ $hostSettingsFileName \"...\n] } - if {[catch { - uplevel 1 [list source $hostSettingsFileName] - } error]} then { + if {[catch {uplevel 1 [list source $hostSettingsFileName]} \ + error]} then { if {!$quiet} then { tputs $channel [appendArgs \ "==== WARNING: failed to load per-host settings file \"" \ $hostSettingsFileName "\", error: " \n\t $error \n] } @@ -2483,148 +2185,30 @@ # NOTE: Load the "before-constraints" custom per-user and/or per-host # test settings now. # uplevel 1 [list loadSQLiteTestSettings $::test_channel .before] - # - # NOTE: Determine the names of the native platform and architecture. - # - set platform [getBuildPlatform true] - set architecture [architectureForPlatform $platform] - - # - # NOTE: Show the platform and architecture used to help locate the - # native build files. - # - tputs $::test_channel [appendArgs \ - "---- platform for locating native build files is \"" \ - $platform \"\n] - - tputs $::test_channel [appendArgs \ - "---- architecture for locating native build files is \"" \ - $architecture \"\n] - - # - # NOTE: Build a list of configuration files that we handle. - # - set configFileNames [list \ - System.Data.SQLite.dll.config] - - # - # NOTE: Build a list of auxiliary Managed Debugging Assistants (MDA) - # configuration files that we handle. - # - set mdaConfigFileNames [list \ - EagleShell32.exe.mda.config Installer.exe.mda.config \ - test.exe.mda.config testlinq.exe.mda.config \ - testef6.exe.mda.config] - - # - # NOTE: Build the list of external files that we handle. Some of - # these files may be native and/or managed assemblies that are - # required to perform various tests. - # - set externalFileNames [list \ - [file join EntityFramework lib [string map [list Fx ""] [string \ - map [list netFx451 netFx45] [getBuildNetFx]]] EntityFramework.dll]] - - # - # NOTE: Build the list of native assembly files that we handle. The - # reason the "System.Data.SQLite.dll" file is included here is - # because it could be the mixed-mode assembly. - # - set nativeFileNames [list \ - sqlite3.dll SQLite.Interop.dll System.Data.SQLite.dll] - - # - # NOTE: Build the list of managed assembly files that we handle. - # - set managedFileNames [list \ - System.Data.SQLite.dll System.Data.SQLite.Linq.dll \ - System.Data.SQLite.EF6.dll] - - # - # NOTE: Remove any test constraints that refer to the native and/or - # managed assembly files that we handle unless forbidden from - # doing so. - # - if {![info exists ::no(sqliteRemoveConstraints)]} then { - foreach fileName $configFileNames { - removeConstraint [appendArgs file_ $fileName] - } - - foreach fileName $mdaConfigFileNames { - removeConstraint [appendArgs file_ $fileName] - } - - foreach fileName $externalFileNames { - removeConstraint [appendArgs file_ [file tail $fileName]] - } - - foreach fileName $nativeFileNames { - removeConstraint [appendArgs file_ $fileName] - } - - foreach fileName $managedFileNames { - removeConstraint [appendArgs file_ $fileName] - } - } - # # NOTE: Skip all System.Data.SQLite related file handling (deleting, - # copying, and loading) if instructed. + # copying, and loading) if we are so instructed. # if {![info exists ::no(sqliteFiles)]} then { # - # NOTE: Skip trying to delete any files if instructed. + # NOTE: Skip trying to delete any files if we are so instructed. # if {![info exists ::no(deleteSqliteFiles)]} then { - if {![info exists ::no(deleteSqliteConfigFiles)]} then { - foreach fileName $configFileNames { - tryDeleteBinaryFile $fileName - } - } - - if {![info exists ::no(deleteSqliteExternalFiles)]} then { - foreach fileName $mdaConfigFileNames { - tryDeleteBuildFile $fileName - } - - foreach fileName $externalFileNames { - tryDeleteBinaryFile $fileName - } - } - - if {![info exists ::no(deleteSqliteNativeFiles)]} then { - if {![info exists ::no(deleteSqliteImplicitFiles)]} then { - foreach fileName $nativeFileNames { - tryDeleteAssembly $fileName - } - } - - if {![info exists ::no(deleteSqliteNonImplicitFiles)]} then { - if {![info exists ::no(deleteSqlitePlatformFiles)] && \ - [string length $platform] > 0} then { - foreach fileName $nativeFileNames { - tryDeleteAssembly $fileName $platform - } - } - - if {![info exists ::no(deleteSqliteArchitectureFiles)] && \ - [string length $architecture] > 0} then { - foreach fileName $nativeFileNames { - tryDeleteAssembly $fileName $architecture - } - } - } - } - - if {![info exists ::no(deleteSqliteManagedFiles)]} then { - foreach fileName $managedFileNames { - tryDeleteAssembly $fileName - } - } + tryDeleteAssembly sqlite3.dll + removeConstraint file_sqlite3.dll + + tryDeleteAssembly SQLite.Interop.dll + removeConstraint file_SQLite.Interop.dll + + tryDeleteAssembly System.Data.SQLite.dll + removeConstraint file_System.Data.SQLite.dll + + tryDeleteAssembly System.Data.SQLite.Linq.dll + removeConstraint file_System.Data.SQLite.Linq.dll } # # NOTE: Check for the "autoSelect" runtime option. If present, # attempt to automatically select the first available @@ -2636,13 +2220,13 @@ checkForSQLiteReleases $::test_channel true } } # - # NOTE: Skip trying to verify the build directory if instructed; - # otherwise, make sure it actually exists or halt the entire - # testing process if it does not exist. + # NOTE: Skip trying to verify the build directory if we are so + # instructed; otherwise, make sure it actually exists or + # halt the entire testing process if it does not exist. # if {![info exists ::no(verifyBuildDirectory)]} then { # # NOTE: At this point, the build directory MUST exist as a # valid directory for the testing process to continue. @@ -2668,107 +2252,49 @@ "\", all testing halted"] } } # - # NOTE: Skip trying to copy any files if instructed. - # - if {![info exists ::no(copySqliteFiles)]} then { - if {![info exists ::no(copySqliteConfigFiles)]} then { - foreach fileName $configFileNames { - tryCopyBuildFile $fileName - } - } - - if {![info exists ::no(copySqliteExternalFiles)]} then { - # - # NOTE: Copy the Managed Debugging Assistants (MDA) configuration - # file for the Eagle shell to the build output directory, - # while using each of the names of the various legacy test - # executables. This will help to make sure that all the - # legacy tests run with exactly the same set of Managed - # Debugging Assistants configured. - # - foreach fileName $mdaConfigFileNames { - tryCopyBinaryFile EagleShell.exe.mda.config "" $fileName - } - - # - # NOTE: Copy the external binaries, if any, to the directory that - # contains the Eagle shell. This is typically used to make - # sure assemblies referenced by the ones being tested are - # available during the testing process. - # - foreach fileName $externalFileNames { - tryCopyExternalFile $fileName - } - } - - if {![info exists ::no(copySqliteNativeFiles)]} then { - # - # NOTE: If the test platform is likely the default for this - # machine, also try to copy the native files to the - # binary location. - # - if {![info exists ::no(copySqliteImplicitFiles)] && \ - [isDefaultBuildPlatform true]} then { - foreach fileName $nativeFileNames { - tryCopyAssembly $fileName - } - } - - if {![info exists ::no(copySqliteNonImplicitFiles)]} then { - if {![info exists ::no(copySqlitePlatformFiles)] && \ - [string length $platform] > 0} then { - foreach fileName $nativeFileNames { - tryCopyAssembly $fileName $platform - } - } - - if {![info exists ::no(copySqliteArchitectureFiles)] && \ - [string length $architecture] > 0} then { - foreach fileName $nativeFileNames { - tryCopyAssembly $fileName $architecture - } - } - } - } - - if {![info exists ::no(copySqliteManagedFiles)]} then { - foreach fileName $managedFileNames { - tryCopyAssembly $fileName - } - } - } - - # - # NOTE: Skip trying to load any files if instructed. - # - if {![info exists ::no(loadSqliteFiles)]} then { - if {![info exists ::no(loadSqliteImplicitFiles)]} then { - tryLoadAssembly System.Data.SQLite.dll - } - - if {![info exists ::no(loadSqliteLinqFiles)]} then { - tryLoadAssembly System.Data.SQLite.Linq.dll - } - - if {![info exists ::no(loadSqliteEf6Files)]} then { - tryLoadAssembly System.Data.SQLite.EF6.dll - } - - if {![info exists ::no(loadSqliteNonImplicitFiles)]} then { - if {![info exists ::no(loadSqlitePlatformFiles)] && \ - [string length $platform] > 0} then { - tryLoadAssembly System.Data.SQLite.dll $platform - } - - if {![info exists ::no(loadSqliteArchitectureFiles)] && \ - [string length $architecture] > 0} then { - tryLoadAssembly System.Data.SQLite.dll $architecture - } - } + # NOTE: Skip trying to copy any files if we are so instructed. + # + if {![info exists ::no(copySqliteFiles)]} then { + tryCopyAssembly sqlite3.dll + tryCopyAssembly SQLite.Interop.dll + tryCopyAssembly System.Data.SQLite.dll + tryCopyAssembly System.Data.SQLite.Linq.dll + } + + # + # NOTE: Skip trying to load any files if we are so instructed. + # + if {![info exists ::no(loadSqliteFiles)]} then { + tryLoadAssembly System.Data.SQLite.dll + tryLoadAssembly System.Data.SQLite.Linq.dll + } + + # + # NOTE: Skip trying to delete external files if we are so instructed. + # + if {![info exists ::no(deleteSqliteExternalFiles)]} then { + tryDeleteBuildFile Installer.exe.mda.config + tryDeleteBuildFile test.exe.mda.config + tryDeleteBuildFile testlinq.exe.mda.config + } + + # + # NOTE: Skip trying to copy external files if we are so instructed. + # + if {![info exists ::no(copySqliteExternalFiles)]} then { + # + # NOTE: Copy the MDA configuration file for the Eagle shell to the + # build output directory; however, use the name of the legacy + # test executable. This will make sure that the legacy tests + # run with the same set of MDAs configured. + # + tryCopyBinaryFile EagleShell.exe.mda.config Installer.exe.mda.config + tryCopyBinaryFile EagleShell.exe.mda.config test.exe.mda.config + tryCopyBinaryFile EagleShell.exe.mda.config testlinq.exe.mda.config } } catch { tputs $::test_channel [appendArgs \ @@ -2792,83 +2318,26 @@ tputs $::test_channel [appendArgs \ "---- file version of \"System.Data.SQLite.Linq.dll\"... " \ [file version [getBinaryFileName System.Data.SQLite.Linq.dll]] \n] } - catch { - tputs $::test_channel [appendArgs \ - "---- file version of \"System.Data.SQLite.EF6.dll\"... " \ - [file version [getBinaryFileName System.Data.SQLite.EF6.dll]] \n] - } - - if {[string length $platform] > 0} then { - catch { - tputs $::test_channel [appendArgs \ - "---- file version of \"" $platform \ - "/sqlite3.dll\"... " [file version \ - [getBinaryFileName sqlite3.dll $platform]] \n] - } - - catch { - tputs $::test_channel [appendArgs \ - "---- file version of \"" $platform \ - "/SQLite.Interop.dll\"... " [file version \ - [getBinaryFileName SQLite.Interop.dll $platform]] \n] - } - - catch { - tputs $::test_channel [appendArgs \ - "---- file version of \"" $platform \ - "/System.Data.SQLite.dll\"... " [file version \ - [getBinaryFileName System.Data.SQLite.dll $platform]] \n] - } - } - - if {[string length $architecture] > 0} then { - catch { - tputs $::test_channel [appendArgs \ - "---- file version of \"" $architecture \ - "/sqlite3.dll\"... " [file version \ - [getBinaryFileName sqlite3.dll $architecture]] \n] - } - - catch { - tputs $::test_channel [appendArgs \ - "---- file version of \"" $architecture \ - "/SQLite.Interop.dll\"... " [file version \ - [getBinaryFileName SQLite.Interop.dll $architecture]] \n] - } - - catch { - tputs $::test_channel [appendArgs \ - "---- file version of \"" $architecture \ - "/System.Data.SQLite.dll\"... " [file version \ - [getBinaryFileName System.Data.SQLite.dll $architecture]] \n] - } - } - - # - # NOTE: Grab the list of managed assemblies for the current process - # and report on the System.Data.SQLite related ones. - # set assemblies [object invoke AppDomain.CurrentDomain GetAssemblies] object foreach assembly $assemblies { if {[string match \{System.Data.SQLite* $assembly]} then { tputs $::test_channel [appendArgs \ - "---- found loaded assembly: " $assembly \n] + "---- found assembly: " $assembly \n] } } catch { tputs $::test_channel \ "---- define constants for \"System.Data.SQLite\"... " - if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLite3 DefineConstants - } defineConstants] == 0} then { + if {[catch {object invoke -flags +NonPublic \ + System.Data.SQLite.SQLite3 DefineConstants} \ + defineConstants] == 0} then { tputs $::test_channel [appendArgs [formatList [lsort \ $defineConstants] ] \n] } else { tputs $::test_channel unknown\n } @@ -2876,14 +2345,13 @@ catch { tputs $::test_channel \ "---- source version of \"System.Data.SQLite.dll\"... " - if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLiteConnection ProviderVersion - } version] == 0} then { + if {[catch {object invoke -flags +NonPublic \ + System.Data.SQLite.SQLiteConnection ProviderVersion} \ + version] == 0} then { if {[string length $version] == 0} then { set version null } tputs $::test_channel [appendArgs $version \n] } else { @@ -2893,14 +2361,13 @@ catch { tputs $::test_channel \ "---- source checkout of \"System.Data.SQLite.dll\"... " - if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLiteConnection ProviderSourceId - } sourceId] == 0} then { + if {[catch {object invoke -flags +NonPublic \ + System.Data.SQLite.SQLiteConnection ProviderSourceId} \ + sourceId] == 0} then { if {[string length $sourceId] == 0} then { set sourceId null } tputs $::test_channel [appendArgs $sourceId \n] } else { @@ -2947,13 +2414,12 @@ INTEROP_EXTENSION_FUNCTIONS INTEROP_LEGACY_CLOSE INTEROP_LOG \ INTEROP_TEST_EXTENSION INTEROP_VIRTUAL_TABLE NET_20 NET_35 \ NET_40 NET_45 NET_451 NET_COMPACT_20 PLATFORM_COMPACTFRAMEWORK \ PRELOAD_NATIVE_LIBRARY RETARGETABLE SQLITE_STANDARD \ THROW_ON_DISPOSED TRACE TRACE_CONNECTION TRACE_HANDLE \ - TRACE_PRELOAD TRACE_SHARED TRACE_STATEMENT TRACE_WARNING \ - TRACK_MEMORY_BYTES USE_ENTITY_FRAMEWORK_6 USE_INTEROP_DLL \ - USE_PREPARE_V2 WINDOWS] { + TRACE_PRELOAD TRACE_STATEMENT TRACE_WARNING TRACK_MEMORY_BYTES \ + USE_INTEROP_DLL USE_PREPARE_V2 WINDOWS] { # # NOTE: Check if the compile-time option is listed in the list of # "define constants" kept track of by the managed assembly. # checkForSQLiteDefineConstant $::test_channel $defineConstant @@ -2969,22 +2435,10 @@ set year [getBuildYear] addConstraint [appendArgs buildYear. $year] tputs $::test_channel [appendArgs \" $year \"\n] - # - # NOTE: Check the current build .NET Framework. Basically, this - # indicates which version of the .NET Framework is being - # used by the assembly binaries under test. - # - tputs $::test_channel \ - "---- checking for System.Data.SQLite build .NET Framework... " - - set netFx [getBuildNetFx] - addConstraint [appendArgs buildFramework. $netFx] - tputs $::test_channel [appendArgs \" $netFx \"\n] - # # NOTE: Check the current build configuration. This should normally # be either "Debug" or "Release". # tputs $::test_channel \ @@ -3024,65 +2478,10 @@ # # NOTE: Report the resource usage prior to running any tests. # reportSQLiteResources $::test_channel - # - # NOTE: Grab the list of native modules for the current process and - # report on the System.Data.SQLite related ones. - # - set modules [object invoke \ - System.Diagnostics.Process.GetCurrentProcess Modules] - - object foreach -alias module $modules { - # - # NOTE: The module file name here must be normalized. - # - set fileName [file normalize [$module FileName]] - - if {[string match -nocase */sqlite3.dll $fileName]} then { - tputs $::test_channel [appendArgs \ - "---- found loaded SQLite native library module: " \ - $fileName \n] - } elseif {[string match \ - -nocase */SQLite.Interop.dll $fileName]} then { - tputs $::test_channel [appendArgs \ - "---- found loaded SQLite interop assembly module: " \ - $fileName \n] - } - } - - catch { - tputs $::test_channel \ - "---- compile-time options for SQLite core library... " - - if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLite3 SQLiteCompileOptions - } compileOptions] == 0} then { - tputs $::test_channel [appendArgs [formatList [lsort \ - $compileOptions] ] \n] - } else { - tputs $::test_channel unknown\n - } - } - - catch { - tputs $::test_channel \ - "---- compile-time options for SQLite interop assembly... " - - if {[catch { - object invoke -flags +NonPublic \ - System.Data.SQLite.SQLite3 InteropCompileOptions - } compileOptions] == 0} then { - tputs $::test_channel [appendArgs [formatList [lsort \ - $compileOptions] ] \n] - } else { - tputs $::test_channel unknown\n - } - } - # # NOTE: Show the active test constraints. # tputs $::test_channel [appendArgs "---- constraints: " \ [formatList [lsort [getConstraints]] ] \n] Index: Tests/installer.eagle ================================================================== --- Tests/installer.eagle +++ Tests/installer.eagle @@ -24,11 +24,10 @@ # NOTE: Setup the variables that refer to the various files required by the # tests in this file. # set systemDataSQLiteDllFile [getBuildFileName System.Data.SQLite.dll] set systemDataSQLiteLinqDllFile [getBuildFileName System.Data.SQLite.Linq.dll] -set systemDataSQLiteEf6DllFile [getBuildFileName System.Data.SQLite.EF6.dll] set sqliteDesignerDllFile [getBuildFileName SQLite.Designer.dll] set installerExeFile [getBuildFileName Installer.exe] # # NOTE: The various install/uninstall log files used to test the design-time @@ -75,23 +74,18 @@ if {![haveConstraint [appendArgs file_ \ [file tail $systemDataSQLiteLinqDllFile]]]} then { checkForFile $test_channel $systemDataSQLiteLinqDllFile } -if {![haveConstraint [appendArgs file_ \ - [file tail $systemDataSQLiteEf6DllFile]]]} then { - checkForFile $test_channel $systemDataSQLiteEf6DllFile -} - if {![haveConstraint [appendArgs file_ \ [file tail $sqliteDesignerDllFile]]]} then { checkForFile $test_channel $sqliteDesignerDllFile } if {![haveConstraint [appendArgs file_ \ [file tail $installerExeFile]]]} then { - checkForFile $test_channel $installerExeFile Installer.exe + checkForFile $test_channel $installerExeFile } if {![haveConstraint [appendArgs file_ \ [file tail $testInstallVs2005LogFile]]]} then { checkForFile $test_channel $testInstallVs2005LogFile @@ -154,13 +148,13 @@ set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -debugPriority Lowest -tracePriority MediumHigh \ -noRuntimeVersion true -noCompact true -noNetFx35 true \ - -noNetFx40 true -noNetFx45 true -noNetFx451 true -noVs2008 true \ - -noVs2010 true -noVs2012 true -noVs2013 true -whatIf true \ - -verbose true -confirm true -install true -debug true -wow64 true \ + -noNetFx40 true -noNetFx45 true -noVs2008 true -noVs2010 true \ + -noVs2012 true -noVs2013 true -whatIf true -verbose true \ + -confirm true -install true -debug true -wow64 true \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] } error] tlog "---- BEGIN STDOUT OUTPUT\n" @@ -168,20 +162,20 @@ tlog "\n---- END STDOUT OUTPUT\n" set is64 [haveConstraint amd64.64bit] set wow64 [expr {$is64 ? "\\Wow6432Node" : ""}] - list $code [expr {$code == 0 ? [string equal -nocase [readFile $fileName] \ + list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testInstallVs2005LogFile]]] : $error}] } -cleanup { cleanupFile $fileName unset -nocomplain wow64 is64 code output error fileName -} -constraints [fixConstraints {eagle administrator !wow64 buildYear.2005\ -visualStudio2005 System.Data.SQLite.dll_v2.0.50727 file_Installer.exe testExec\ +} -constraints {eagle administrator buildYear.2005 visualStudio2005\ +System.Data.SQLite.dll_v2.0.50727 file_Installer.exe testExec\ file_System.Data.SQLite.dll file_SQLite.Designer.dll\ -file_Installer_Test_Vs2005.log}] -result {0 True}} +file_Installer_Test_Vs2005.log} -result {0 True}} ############################################################################### runTest {test installer-1.2 {uninstaller tool / Visual Studio 2005} -setup { set fileName [file join [getTemporaryPath] [file tail [string map [list \ @@ -193,13 +187,13 @@ set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -debugPriority Lowest -tracePriority MediumHigh \ -noRuntimeVersion true -noCompact true -noNetFx35 true \ - -noNetFx40 true -noNetFx45 true -noNetFx451 true -noVs2008 true \ - -noVs2010 true -noVs2012 true -noVs2013 true -whatIf true \ - -verbose true -confirm true -install false -debug true -wow64 true \ + -noNetFx40 true -noNetFx45 true -noVs2008 true -noVs2010 true \ + -noVs2012 true -noVs2013 true -whatIf true -verbose true \ + -confirm true -install false -debug true -wow64 true \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] } error] tlog "---- BEGIN STDOUT OUTPUT\n" @@ -207,20 +201,20 @@ tlog "\n---- END STDOUT OUTPUT\n" set is64 [haveConstraint amd64.64bit] set wow64 [expr {$is64 ? "\\Wow6432Node" : ""}] - list $code [expr {$code == 0 ? [string equal -nocase [readFile $fileName] \ + list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testUninstallVs2005LogFile]]] : $error}] } -cleanup { cleanupFile $fileName unset -nocomplain wow64 is64 code output error fileName -} -constraints [fixConstraints {eagle administrator !wow64 buildYear.2005\ -visualStudio2005 System.Data.SQLite.dll_v2.0.50727 file_Installer.exe testExec\ +} -constraints {eagle administrator buildYear.2005 visualStudio2005\ +System.Data.SQLite.dll_v2.0.50727 file_Installer.exe testExec\ file_System.Data.SQLite.dll file_SQLite.Designer.dll\ -file_Uninstaller_Test_Vs2005.log}] -result {0 True}} +file_Uninstaller_Test_Vs2005.log} -result {0 True}} ############################################################################### runTest {test installer-1.3 {installer tool / Visual Studio 2008} -setup { set fileName [file join [getTemporaryPath] [file tail [string map [list \ @@ -232,13 +226,13 @@ set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -debugPriority Lowest -tracePriority MediumHigh \ -noRuntimeVersion true -noCompact true -noNetFx40 true \ - -noNetFx45 true -noNetFx451 true -noVs2005 true -noVs2010 true \ - -noVs2012 true -noVs2013 true -whatIf true -verbose true \ - -confirm true -install true -debug true -wow64 true \ + -noNetFx45 true -noVs2005 true -noVs2010 true -noVs2012 true \ + -noVs2013 true -whatIf true -verbose true -confirm true \ + -install true -debug true -wow64 true \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] } error] tlog "---- BEGIN STDOUT OUTPUT\n" @@ -246,20 +240,20 @@ tlog "\n---- END STDOUT OUTPUT\n" set is64 [haveConstraint amd64.64bit] set wow64 [expr {$is64 ? "\\Wow6432Node" : ""}] - list $code [expr {$code == 0 ? [string equal -nocase [readFile $fileName] \ + list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testInstallVs2008LogFile]]] : $error}] } -cleanup { cleanupFile $fileName unset -nocomplain wow64 is64 code output error fileName -} -constraints [fixConstraints {eagle administrator !wow64 buildYear.2008\ -visualStudio2008 System.Data.SQLite.dll_v2.0.50727 file_Installer.exe testExec\ +} -constraints {eagle administrator buildYear.2008 visualStudio2008\ +System.Data.SQLite.dll_v2.0.50727 file_Installer.exe testExec\ file_System.Data.SQLite.dll file_System.Data.SQLite.Linq.dll\ -file_SQLite.Designer.dll file_Installer_Test_Vs2008.log}] -result {0 True}} +file_SQLite.Designer.dll file_Installer_Test_Vs2008.log} -result {0 True}} ############################################################################### runTest {test installer-1.4 {uninstaller tool / Visual Studio 2008} -setup { set fileName [file join [getTemporaryPath] [file tail [string map [list \ @@ -271,13 +265,13 @@ set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -debugPriority Lowest -tracePriority MediumHigh \ -noRuntimeVersion true -noCompact true -noNetFx40 true \ - -noNetFx45 true -noNetFx451 true -noVs2005 true -noVs2010 true \ - -noVs2012 true -noVs2013 true -whatIf true -verbose true \ - -confirm true -install false -debug true -wow64 true \ + -noNetFx45 true -noVs2005 true -noVs2010 true -noVs2012 true \ + -noVs2013 true -whatIf true -verbose true -confirm true \ + -install false -debug true -wow64 true \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] } error] tlog "---- BEGIN STDOUT OUTPUT\n" @@ -285,20 +279,20 @@ tlog "\n---- END STDOUT OUTPUT\n" set is64 [haveConstraint amd64.64bit] set wow64 [expr {$is64 ? "\\Wow6432Node" : ""}] - list $code [expr {$code == 0 ? [string equal -nocase [readFile $fileName] \ + list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testUninstallVs2008LogFile]]] : $error}] } -cleanup { cleanupFile $fileName unset -nocomplain wow64 is64 code output error fileName -} -constraints [fixConstraints {eagle administrator !wow64 buildYear.2008\ -visualStudio2008 System.Data.SQLite.dll_v2.0.50727 file_Installer.exe testExec\ +} -constraints {eagle administrator buildYear.2008 visualStudio2008\ +System.Data.SQLite.dll_v2.0.50727 file_Installer.exe testExec\ file_System.Data.SQLite.dll file_System.Data.SQLite.Linq.dll\ -file_SQLite.Designer.dll file_Uninstaller_Test_Vs2008.log}] -result {0 True}} +file_SQLite.Designer.dll file_Uninstaller_Test_Vs2008.log} -result {0 True}} ############################################################################### runTest {test installer-1.5 {installer tool / Visual Studio 2010} -setup { set fileName [file join [getTemporaryPath] [file tail [string map [list \ @@ -310,13 +304,13 @@ set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -debugPriority Lowest -tracePriority MediumHigh \ -noRuntimeVersion true -noCompact true -noNetFx20 true \ - -noNetFx35 true -noNetFx45 true -noNetFx451 true -noVs2005 true \ - -noVs2008 true -noVs2012 true -noVs2013 true -whatIf true \ - -verbose true -confirm true -install true -debug true -wow64 true \ + -noNetFx45 true -noVs2005 true -noVs2008 true -noVs2012 true \ + -noVs2013 true -whatIf true -verbose true -confirm true \ + -install true -debug true -wow64 true \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] } error] tlog "---- BEGIN STDOUT OUTPUT\n" @@ -324,21 +318,20 @@ tlog "\n---- END STDOUT OUTPUT\n" set is64 [haveConstraint amd64.64bit] set wow64 [expr {$is64 ? "\\Wow6432Node" : ""}] - list $code [expr {$code == 0 ? [string equal -nocase [readFile $fileName] \ + list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testInstallVs2010LogFile]]] : $error}] } -cleanup { cleanupFile $fileName unset -nocomplain wow64 is64 code output error fileName -} -constraints [fixConstraints {eagle administrator !wow64 buildYear.2010\ -visualStudio2010 System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ +} -constraints {eagle administrator buildYear.2010 visualStudio2010\ +System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ file_System.Data.SQLite.dll file_System.Data.SQLite.Linq.dll\ -file_System.Data.SQLite.EF6.dll file_SQLite.Designer.dll\ -file_Installer_Test_Vs2010.log}] -result {0 True}} +file_SQLite.Designer.dll file_Installer_Test_Vs2010.log} -result {0 True}} ############################################################################### runTest {test installer-1.6 {uninstaller tool / Visual Studio 2010} -setup { set fileName [file join [getTemporaryPath] [file tail [string map [list \ @@ -350,13 +343,13 @@ set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -debugPriority Lowest -tracePriority MediumHigh \ -noRuntimeVersion true -noCompact true -noNetFx20 true \ - -noNetFx35 true -noNetFx45 true -noNetFx451 true -noVs2005 true \ - -noVs2008 true -noVs2012 true -noVs2013 true -whatIf true \ - -verbose true -confirm true -install false -debug true -wow64 true \ + -noNetFx45 true -noVs2005 true -noVs2008 true -noVs2012 true \ + -noVs2013 true -whatIf true -verbose true -confirm true \ + -install false -debug true -wow64 true \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] } error] tlog "---- BEGIN STDOUT OUTPUT\n" @@ -364,21 +357,20 @@ tlog "\n---- END STDOUT OUTPUT\n" set is64 [haveConstraint amd64.64bit] set wow64 [expr {$is64 ? "\\Wow6432Node" : ""}] - list $code [expr {$code == 0 ? [string equal -nocase [readFile $fileName] \ + list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testUninstallVs2010LogFile]]] : $error}] } -cleanup { cleanupFile $fileName unset -nocomplain wow64 is64 code output error fileName -} -constraints [fixConstraints {eagle administrator !wow64 buildYear.2010\ -visualStudio2010 System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ +} -constraints {eagle administrator buildYear.2010 visualStudio2010\ +System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ file_System.Data.SQLite.dll file_System.Data.SQLite.Linq.dll\ -file_System.Data.SQLite.EF6.dll file_SQLite.Designer.dll\ -file_Uninstaller_Test_Vs2010.log}] -result {0 True}} +file_SQLite.Designer.dll file_Uninstaller_Test_Vs2010.log} -result {0 True}} ############################################################################### runTest {test installer-1.7 {installer tool / Visual Studio 2012} -setup { set fileName [file join [getTemporaryPath] [file tail [string map [list \ @@ -390,14 +382,13 @@ set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -debugPriority Lowest -tracePriority MediumHigh \ -noRuntimeVersion true -noCompact true -noNetFx20 true \ - -noNetFx35 true -noNetFx40 true -noNetFx451 true -noVs2005 true \ - -noVs2008 true -noVs2010 true -noVs2013 true -whatIf true \ - -verbose true -confirm true -install true -debug true -wow64 true \ - -configVersion 4.0.30319 \ + -noNetFx40 true -noVs2005 true -noVs2008 true -noVs2010 true \ + -noVs2013 true -whatIf true -verbose true -confirm true \ + -install true -debug true -wow64 true -configVersion 4.0.30319 \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] } error] tlog "---- BEGIN STDOUT OUTPUT\n" @@ -405,21 +396,20 @@ tlog "\n---- END STDOUT OUTPUT\n" set is64 [haveConstraint amd64.64bit] set wow64 [expr {$is64 ? "\\Wow6432Node" : ""}] - list $code [expr {$code == 0 ? [string equal -nocase [readFile $fileName] \ + list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testInstallVs2012LogFile]]] : $error}] } -cleanup { cleanupFile $fileName unset -nocomplain wow64 is64 code output error fileName -} -constraints [fixConstraints {eagle administrator !wow64 buildYear.2012\ -visualStudio2012 System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ +} -constraints {eagle administrator buildYear.2012 visualStudio2012\ +System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ file_System.Data.SQLite.dll file_System.Data.SQLite.Linq.dll\ -file_System.Data.SQLite.EF6.dll file_SQLite.Designer.dll\ -file_Installer_Test_Vs2012.log}] -result {0 True}} +file_SQLite.Designer.dll file_Installer_Test_Vs2012.log} -result {0 True}} ############################################################################### runTest {test installer-1.8 {uninstaller tool / Visual Studio 2012} -setup { set fileName [file join [getTemporaryPath] [file tail [string map [list \ @@ -431,14 +421,13 @@ set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -debugPriority Lowest -tracePriority MediumHigh \ -noRuntimeVersion true -noCompact true -noNetFx20 true \ - -noNetFx35 true -noNetFx40 true -noNetFx451 true -noVs2005 true \ - -noVs2008 true -noVs2010 true -noVs2013 true -whatIf true \ - -verbose true -confirm true -install false -debug true -wow64 true \ - -configVersion 4.0.30319 \ + -noNetFx40 true -noVs2005 true -noVs2008 true -noVs2010 true \ + -noVs2013 true -whatIf true -verbose true -confirm true \ + -install false -debug true -wow64 true -configVersion 4.0.30319 \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] } error] tlog "---- BEGIN STDOUT OUTPUT\n" @@ -446,21 +435,20 @@ tlog "\n---- END STDOUT OUTPUT\n" set is64 [haveConstraint amd64.64bit] set wow64 [expr {$is64 ? "\\Wow6432Node" : ""}] - list $code [expr {$code == 0 ? [string equal -nocase [readFile $fileName] \ + list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testUninstallVs2012LogFile]]] : $error}] } -cleanup { cleanupFile $fileName unset -nocomplain wow64 is64 code output error fileName -} -constraints [fixConstraints {eagle administrator !wow64 buildYear.2012\ -visualStudio2012 System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ +} -constraints {eagle administrator buildYear.2012 visualStudio2012\ +System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ file_System.Data.SQLite.dll file_System.Data.SQLite.Linq.dll\ -file_System.Data.SQLite.EF6.dll file_SQLite.Designer.dll\ -file_Uninstaller_Test_Vs2012.log}] -result {0 True}} +file_SQLite.Designer.dll file_Uninstaller_Test_Vs2012.log} -result {0 True}} ############################################################################### runTest {test installer-1.9 {installer tool / Visual Studio 2013} -setup { set fileName [file join [getTemporaryPath] [file tail [string map [list \ @@ -472,14 +460,13 @@ set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -debugPriority Lowest -tracePriority MediumHigh \ -noRuntimeVersion true -noCompact true -noNetFx20 true \ - -noNetFx35 true -noNetFx40 true -noNetFx45 true -noVs2005 true \ - -noVs2008 true -noVs2010 true -noVs2012 true -whatIf true \ - -verbose true -confirm true -install true -debug true -wow64 true \ - -configVersion 4.0.30319 \ + -noNetFx40 true -noVs2005 true -noVs2008 true -noVs2010 true \ + -noVs2012 true -whatIf true -verbose true -confirm true \ + -install true -debug true -wow64 true -configVersion 4.0.30319 \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] } error] tlog "---- BEGIN STDOUT OUTPUT\n" @@ -487,21 +474,20 @@ tlog "\n---- END STDOUT OUTPUT\n" set is64 [haveConstraint amd64.64bit] set wow64 [expr {$is64 ? "\\Wow6432Node" : ""}] - list $code [expr {$code == 0 ? [string equal -nocase [readFile $fileName] \ + list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testInstallVs2013LogFile]]] : $error}] } -cleanup { cleanupFile $fileName unset -nocomplain wow64 is64 code output error fileName -} -constraints [fixConstraints {eagle administrator !wow64 buildYear.2013\ -visualStudio2013 System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ +} -constraints {eagle administrator buildYear.2013 visualStudio2013\ +System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ file_System.Data.SQLite.dll file_System.Data.SQLite.Linq.dll\ -file_System.Data.SQLite.EF6.dll file_SQLite.Designer.dll\ -file_Installer_Test_Vs2013.log}] -result {0 True}} +file_SQLite.Designer.dll file_Installer_Test_Vs2013.log} -result {0 True}} ############################################################################### runTest {test installer-1.10 {uninstaller tool / Visual Studio 2013} -setup { set fileName [file join [getTemporaryPath] [file tail [string map [list \ @@ -513,14 +499,13 @@ set code [catch { testClrExec $installerExeFile [list -eventflags Wait -stdout output \ -success 0] -debugPriority Lowest -tracePriority MediumHigh \ -noRuntimeVersion true -noCompact true -noNetFx20 true \ - -noNetFx35 true -noNetFx40 true -noNetFx45 true -noVs2005 true \ - -noVs2008 true -noVs2010 true -noVs2012 true -whatIf true \ - -verbose true -confirm true -install false -debug true -wow64 true \ - -configVersion 4.0.30319 \ + -noNetFx40 true -noVs2005 true -noVs2008 true -noVs2010 true \ + -noVs2012 true -whatIf true -verbose true -confirm true \ + -install false -debug true -wow64 true -configVersion 4.0.30319 \ -logFileName [appendArgs \" [file nativename $fileName] \"] \ -traceFormat [appendArgs \" "#{0}: {2}" \"] } error] tlog "---- BEGIN STDOUT OUTPUT\n" @@ -528,31 +513,29 @@ tlog "\n---- END STDOUT OUTPUT\n" set is64 [haveConstraint amd64.64bit] set wow64 [expr {$is64 ? "\\Wow6432Node" : ""}] - list $code [expr {$code == 0 ? [string equal -nocase [readFile $fileName] \ + list $code [expr {$code == 0 ? [string equal [readFile $fileName] \ [subst -nobackslashes [readFile $testUninstallVs2013LogFile]]] : $error}] } -cleanup { cleanupFile $fileName unset -nocomplain wow64 is64 code output error fileName -} -constraints [fixConstraints {eagle administrator !wow64 buildYear.2013\ -visualStudio2013 System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ +} -constraints {eagle administrator buildYear.2013 visualStudio2013\ +System.Data.SQLite.dll_v4.0.30319 file_Installer.exe testExec\ file_System.Data.SQLite.dll file_System.Data.SQLite.Linq.dll\ -file_System.Data.SQLite.EF6.dll file_SQLite.Designer.dll\ -file_Uninstaller_Test_Vs2013.log}] -result {0 True}} +file_SQLite.Designer.dll file_Uninstaller_Test_Vs2013.log} -result {0 True}} ############################################################################### unset -nocomplain testUninstallVs2013LogFile testUninstallVs2012LogFile \ testUninstallVs2010LogFile testUninstallVs2008LogFile \ testUninstallVs2005LogFile testInstallVs2013LogFile \ testInstallVs2012LogFile testInstallVs2010LogFile \ testInstallVs2008LogFile testInstallVs2005LogFile sqliteDesignerDllFile \ - installerExeFile systemDataSQLiteEf6DllFile systemDataSQLiteLinqDllFile \ - systemDataSQLiteDllFile + installerExeFile systemDataSQLiteLinqDllFile systemDataSQLiteDllFile ############################################################################### runSQLiteTestEpilogue runTestEpilogue Index: Tests/settings.stress.mistachkin.eagle ================================================================== --- Tests/settings.stress.mistachkin.eagle +++ Tests/settings.stress.mistachkin.eagle @@ -11,6 +11,5 @@ # set count(2) 200; # Workload iteration delay, in milliseconds. # set count(3) 10000; # Workload "small" data chunk size, in bytes. # set count(5) 209715200; # Maximum heap memory to exclude at one time. # set exitOnFail true; # Halt testing and exit process on test failure? # set noTrace true; # Disable SQLite trace logging to a file? -# set noWorkload [list]; # Workloads to be omitted from the run, by index. Index: Tests/stress.eagle ================================================================== --- Tests/stress.eagle +++ Tests/stress.eagle @@ -48,35 +48,35 @@ runTest {test stress-1.1 {multithreaded stress testing} -setup { unset -nocomplain result thread index workload priority noWorkload \ priorities srcDb db fileName compiled options count times logFileName \ logListener event timeout connection indicators iterations exitOnFail \ - coTaskMem noTrace failures status workloadNames workloadCallbacks + coTaskMem noTrace failures status ############################################################################# - proc setupWorkloadMemDb { fileName varName } { + proc setupWorkloadMemDb { fileName {varName db} } { # # NOTE: This should be an in-memory database; therefore, skip attempting # to delete the underlying database file as that would not make any # sense. Also, disable use of "PRAGMA temp_store_directory" when # setting up the new connection because it is not thread-safe. # uplevel 1 [list setupDb $fileName "" "" "" "" "" false false true false \ - $varName true] + $varName] } ############################################################################# - proc setupWorkloadFileDb { fileName varName } { + proc setupWorkloadFileDb { fileName {varName db} } { # # NOTE: Skip attempting to delete the underlying database file. Also, # disable use of "PRAGMA temp_store_directory" when setting up # the new connection because it is not thread-safe. # uplevel 1 [list setupDb $fileName "" "" "" "" "" true false false false \ - $varName true] + $varName] } ############################################################################# proc formatWorkloadResult { index } { @@ -383,17 +383,10 @@ setupLogging $logFileName } ############################################################################# - # - # HACK: Make sure the effective connection flags for this test are logged. - # - getConnectionFlags "stress test" "" false; # IGNORED - - ############################################################################# - tputs $test_channel [appendArgs \ "---- workloads will repeat " $count(0) " time(s)\n"] tputs $test_channel [appendArgs \ "---- workloads will have " $count(1) " iteration(s)\n"] @@ -470,11 +463,11 @@ stress- [pid] - [string trim [clock seconds] -] .db]] ############################################################################# setupWorkloadMemDb $fileName(1) srcDb - setupWorkloadFileDb $fileName(2) db + setupWorkloadFileDb $fileName(2) ############################################################################# # # NOTE: This serves two purposes. First, it allows us to verify the trace @@ -510,11 +503,11 @@ # NOTE: Workload #1, CREATE TABLE statements. # waitTest A lappend ::times(1) [lindex [time { initTest A - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 2} {$index <= $count1} {incr index} { if {[catch { sql execute $db [appendArgs \ "CREATE TABLE IF NOT EXISTS t" \ $index "(x PRIMARY KEY, y, z);"] @@ -542,11 +535,11 @@ # NOTE: Workload #2, DROP TABLE statements. # waitTest B lappend ::times(2) [lindex [time { initTest B - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 2} {$index <= $count1} {incr index} { if {[catch { sql execute $db [appendArgs \ "DROP TABLE IF EXISTS t" $index \;] showTest B @@ -573,11 +566,11 @@ # NOTE: Workload #3, "small" SELECT statements. # waitTest C lappend ::times(3) [lindex [time { initTest C - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { set reader [sql execute -execute reader \ -format dataReader -alias $db [appendArgs \ "SELECT x, y FROM " $table " WHERE z = 'small';"]] @@ -611,11 +604,11 @@ # NOTE: Workload #4, "big" SELECT statements. # waitTest D lappend ::times(4) [lindex [time { initTest D - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { set reader [sql execute -execute reader \ -format dataReader -alias $db [appendArgs \ "SELECT x, y FROM " $table " WHERE z = 'big';"]] @@ -649,11 +642,11 @@ # NOTE: Workload #5, "small" INSERT statements. # waitTest E lappend ::times(5) [lindex [time { initTest E - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { sql execute $db [appendArgs "INSERT INTO " $table \ "(x, y, z) VALUES('" [format %lX [expr {random()}]] \ "', '" [base64 encode -- [expr {randstr($count2)}]] \ @@ -682,11 +675,11 @@ # NOTE: Workload #6, "big" INSERT statements. # waitTest F lappend ::times(6) [lindex [time { initTest F - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { sql execute $db [appendArgs "INSERT INTO " $table \ "(x, y, z) VALUES('" [format %lX [expr {random()}]] \ "', RANDOMBLOB(" $count3 "), 'big');"] @@ -714,11 +707,11 @@ # NOTE: Workload #7, "small" UPDATE statements. # waitTest G lappend ::times(7) [lindex [time { initTest G - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { sql execute $db [appendArgs "UPDATE " $table \ " SET y = '" [base64 encode -- [expr {randstr($count2)}]] \ "' WHERE x LIKE '" [format %X $index] "%' AND z = 'small';"] @@ -746,11 +739,11 @@ # NOTE: Workload #8, "big" UPDATE statements. # waitTest H lappend ::times(8) [lindex [time { initTest H - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { sql execute $db [appendArgs "UPDATE " $table \ " SET y = RANDOMBLOB(" $count3 ") WHERE x LIKE '" \ [format %X $index] "%' AND z = 'big';"] @@ -778,11 +771,11 @@ # NOTE: Workload #9, "small" DELETE statements. # waitTest I lappend ::times(9) [lindex [time { initTest I - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { sql execute $db [appendArgs "DELETE FROM " $table \ " WHERE x LIKE '" [format %X $index] "%' AND z = 'small';"] showTest I @@ -809,11 +802,11 @@ # NOTE: Workload #10, "big" DELETE statements. # waitTest J lappend ::times(10) [lindex [time { initTest J - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { sql execute $db [appendArgs "DELETE FROM " $table \ " WHERE x LIKE '" [format %X $index] "%' AND z = 'big';"] showTest J @@ -840,11 +833,11 @@ # NOTE: Workload #11, VACUUM statement. # waitTest K lappend ::times(11) [lindex [time { initTest K - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { sql execute $db "VACUUM;" showTest K } error]} then { @@ -895,16 +888,16 @@ public static class Test${id} { public static void BackupAndGetData() { using (SQLiteConnection source = new SQLiteConnection( - "FullUri=${dstFileName};[getFlagsProperty {} true]")) + "FullUri=${dstFileName};")) { source.Open(); using (SQLiteConnection destination = new SQLiteConnection( - "FullUri=${srcFileName};[getFlagsProperty {} true]")) + "FullUri=${srcFileName};")) { destination.Open(); source.BackupDatabase( destination, "main", "main", -1, null, 0); @@ -977,16 +970,16 @@ public static class Test${id} { public static void BackupAndGetData() { using (SQLiteConnection source = new SQLiteConnection( - "FullUri=${srcFileName};[getFlagsProperty {} true]")) + "FullUri=${srcFileName};")) { source.Open(); using (SQLiteConnection destination = new SQLiteConnection( - "FullUri=${dstFileName};[getFlagsProperty {} true]")) + "FullUri=${dstFileName};")) { destination.Open(); source.BackupDatabase( destination, "main", "main", -1, null, 0); @@ -1034,11 +1027,11 @@ # NOTE: Workload #14, PRAGMA integrity check statement. # waitTest N lappend ::times(14) [lindex [time { initTest N - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { set result [sql execute -execute scalar $db \ "PRAGMA integrity_check;"] if {$result ne "ok"} then { @@ -1136,11 +1129,11 @@ # NOTE: Workload #17, change the database journal mode # waitTest Q lappend ::times(17) [lindex [time { initTest Q - setupWorkloadFileDb $dstFileName db + setupWorkloadFileDb $dstFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { sql execute $db [appendArgs "PRAGMA journal_mode = \"" \ [expr {$index % 2 == 0 ? "delete" : "wal"}] \"\;] showTest Q @@ -1167,11 +1160,11 @@ # NOTE: Workload #18, execute queries against the in-memory database # waitTest R lappend ::times(18) [lindex [time { initTest R - setupWorkloadMemDb $srcFileName db + setupWorkloadMemDb $srcFileName for {set index 1} {$index <= $count1} {incr index} { if {[catch { # # NOTE: Workload #18.3, "small" SELECT statements. # @@ -1254,87 +1247,11 @@ } cleanupDb $srcFileName db false true false doneTest R }] 0] }] - - ############################################################################# - # WORKLOAD #19 (S) # - ############################################################################# - - set workload(19) [list \ - [list srcFileName dstFileName table count1 count2 count3] { - # - # NOTE: Workload #19, rapidly open/close connections, thread #1. - # - waitTest S - lappend ::times(19) [lindex [time { - initTest S - for {set index 1} {$index <= $count1} {incr index} { - if {[catch { - setupWorkloadFileDb $dstFileName db - cleanupDb $dstFileName db false true false - showTest S - } error]} then { - if {[isExpectedError $error]} then { - showTest s - } else { - failTest s $error - } - } - } - doneTest S - }] 0] - }] - - ############################################################################# - # WORKLOAD #20 (T) # - ############################################################################# - - set workload(20) [list \ - [list srcFileName dstFileName table count1 count2 count3] { - # - # NOTE: Workload #20, rapidly open/close connections, thread #2. - # - waitTest T - lappend ::times(20) [lindex [time { - initTest T - for {set index 1} {$index <= $count1} {incr index} { - if {[catch { - setupWorkloadFileDb $dstFileName db - cleanupDb $dstFileName db false true false - showTest T - } error]} then { - if {[isExpectedError $error]} then { - showTest t - } else { - failTest t $error - } - } - } - doneTest T - }] 0] - }] } -body { - set workloadNames(all) [array names workload] - - tputs $test_channel [appendArgs \ - "---- there are " [llength $workloadNames(all)] \ - " total workloads, their names are: " $workloadNames(all) \n] - - set workloadNames(enabled) [list] - - foreach index(0) [lsort -integer $workloadNames(all)] { - if {[lsearch -exact $noWorkload $index(0)] == -1} then { - lappend workloadNames(enabled) $index(0) - } - } - - tputs $test_channel [appendArgs \ - "---- there are " [llength $workloadNames(enabled)] \ - " enabled workloads, their names are: " $workloadNames(enabled) \n] - tputs $test_channel [appendArgs \ "==== WARNING: this stress test may take several minutes...\n"] for {set index(0) 1} {$index(0) <= $count(0)} {incr index(0)} { if {$index(0) > 1} then { @@ -1351,23 +1268,22 @@ unset -nocomplain thread status; doneTest sql execute $srcDb "CREATE TABLE IF NOT EXISTS t1(x PRIMARY KEY, y, z);" sql execute $db "CREATE TABLE IF NOT EXISTS t1(x PRIMARY KEY, y, z);" - foreach index(1) [lsort -integer $workloadNames(enabled)] { - set workloadCallbacks($index(1)) [list \ - apply $workload($index(1)) $fileName(1) $fileName(2) t1 $count(1) \ - $count(3) $count(4)] - - set thread($index(1)) [object create -alias System.Threading.Thread \ - $workloadCallbacks($index(1)) 1048576] - - $thread($index(1)) Name [appendArgs \ - [file rootname [file tail $fileName(2)]] " #" $index(1)] - - if {[info exists priority($index(1))]} then { - $thread($index(1)) Priority $priority($index(1)) + foreach index(1) [lsort -integer [array names workload]] { + if {[lsearch -exact $noWorkload $index(1)] == -1} then { + set thread($index(1)) [object create -alias System.Threading.Thread \ + [list apply $workload($index(1)) $fileName(1) $fileName(2) t1 \ + $count(1) $count(3) $count(4)] 1048576] + + $thread($index(1)) Name [appendArgs \ + [file rootname [file tail $fileName(2)]] " #" $index(1)] + + if {[info exists priority($index(1))]} then { + $thread($index(1)) Priority $priority($index(1)) + } } } foreach index(1) [array names thread] { $thread($index(1)) Start @@ -1424,12 +1340,14 @@ # tputs $test_channel \n ############################################################################# - foreach index(0) [lsort -integer $workloadNames(enabled)] { - tputs $test_channel [formatWorkloadResult $index(0)] + foreach index(0) [lsort -integer [array names workload]] { + if {[lsearch -exact $noWorkload $index(0)] == -1} then { + tputs $test_channel [formatWorkloadResult $index(0)] + } } ############################################################################# foreach index(0) [lsort -integer [array names times]] { @@ -1485,24 +1403,17 @@ rename formatWorkloadTime "" rename formatWorkloadResult "" rename setupWorkloadFileDb "" rename setupWorkloadMemDb "" - catch { - # - # NOTE: We must clear the connection pool now because we intend - # to delete the databases for this test. - # - object invoke System.Data.SQLite.SQLiteConnection ClearAllPools - } - cleanupDb $fileName(2) cleanupDb $fileName(1) srcDb - foreach index(0) [array names workloadCallbacks] { + foreach index(0) [array names workload] { catch { - object removecallback $workloadCallbacks($index(0)) + object removecallback [list apply $workload($index(0)) $fileName(1) \ + $fileName(2) t1 $count(1) $count(3) $count(4)] } } freeDbConnection @@ -1514,11 +1425,11 @@ rename setupLogging "" unset -nocomplain result thread index workload priority noWorkload \ priorities srcDb db fileName compiled options count times logFileName \ logListener event timeout connection indicators iterations exitOnFail \ - coTaskMem noTrace failures status workloadNames workloadCallbacks + coTaskMem noTrace failures status } -time true -constraints {eagle monoBug28 command.sql compile.DATA SQLite\ System.Data.SQLite compileCSharp} -result {0}} ############################################################################### Index: Tests/thread.eagle ================================================================== --- Tests/thread.eagle +++ Tests/thread.eagle @@ -205,11 +205,11 @@ // NOTE: Create a new connection object. We purposely avoid // putting this inside a "using" block to help test our // cleanup via the garbage collector. // SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]"); + "Data Source=${dataSource};"); // // NOTE: Open the connection. After this point, native memory // and resources have been allocated by this thread. // Index: Tests/tkt-00f86f9739.eagle ================================================================== --- Tests/tkt-00f86f9739.eagle +++ Tests/tkt-00f86f9739.eagle @@ -22,27 +22,19 @@ # # NOTE: Setup the variables that refer to the various files required by the # tests in this file. # -set entityFrameworkDllFile [getBuildFileName EntityFramework.dll] set systemDataSQLiteDllFile [getBuildFileName System.Data.SQLite.dll] set systemDataSQLiteLinqDllFile [getBuildFileName System.Data.SQLite.Linq.dll] -set systemDataSQLiteEf6DllFile [getBuildFileName System.Data.SQLite.EF6.dll] set testLinqExeFile [getBuildFileName testlinq.exe] -set testEf6ExeFile [getBuildFileName testef6.exe] set northwindEfDbFile [file nativename [file join [file dirname $path] \ testlinq northwindEF.db]] # # NOTE: Setup the test constraints specific to the tests in this file. # -if {![haveConstraint [appendArgs file_ \ - [file tail $entityFrameworkDllFile]]]} then { - checkForFile $test_channel $entityFrameworkDllFile -} - if {![haveConstraint [appendArgs file_ \ [file tail $systemDataSQLiteDllFile]]]} then { checkForFile $test_channel $systemDataSQLiteDllFile } @@ -49,37 +41,21 @@ if {![haveConstraint [appendArgs file_ \ [file tail $systemDataSQLiteLinqDllFile]]]} then { checkForFile $test_channel $systemDataSQLiteLinqDllFile } -if {![haveConstraint [appendArgs file_ \ - [file tail $systemDataSQLiteEf6DllFile]]]} then { - checkForFile $test_channel $systemDataSQLiteEf6DllFile -} - if {![haveConstraint [appendArgs file_ [file tail $testLinqExeFile]]]} then { - checkForFile $test_channel $testLinqExeFile testlinq.exe -} - -if {![haveConstraint [appendArgs file_ [file tail $testEf6ExeFile]]]} then { - checkForFile $test_channel $testEf6ExeFile testef6.exe + checkForFile $test_channel $testLinqExeFile } if {![haveConstraint [appendArgs file_ [file tail $northwindEfDbFile]]]} then { checkForFile $test_channel $northwindEfDbFile } ############################################################################### runTest {test tkt-00f86f9739-1.1 {LINQ with StartsWith} -body { - # - # NOTE: Re-copy the reference database file used for this unit test to the - # build directory in case it has been changed by a previous test run. - # - file copy -force $northwindEfDbFile \ - [file join [getBuildDirectory] [file tail $northwindEfDbFile]] - set result [list] foreach value [list "" a b z 1+1 don notthere] { set output "" @@ -113,58 +89,12 @@ FOLKO GALED KOENE LILAS MAGAA MAISD OCEAN RANCH SAVEA THECR} 0 {} 0 {} 0 {} 0\ {}}} ############################################################################### -runTest {test tkt-00f86f9739-1.2 {EF6 with StartsWith} -body { - # - # NOTE: Re-copy the reference database file used for this unit test to the - # build directory in case it has been changed by a previous test run. - # - file copy -force $northwindEfDbFile \ - [file join [getBuildDirectory] [file tail $northwindEfDbFile]] - - set result [list] - - foreach value [list "" a b z 1+1 don notthere] { - set output "" - - set code [catch { - testClrExec $testEf6ExeFile [list -eventflags Wait -directory \ - [file dirname $testEf6ExeFile] -nocarriagereturns -stdout output \ - -success 0] -startsWith $value - } error] - - tlog "---- BEGIN STDOUT OUTPUT\n" - tlog $output - tlog "\n---- END STDOUT OUTPUT\n" - - lappend result $code - - if {$code == 0} then { - lappend result [string trim $output] - } else { - lappend result [string trim $error] - } - } - - set result -} -cleanup { - unset -nocomplain code output error result value -} -constraints \ -{eagle monoToDo defineConstant.System.Data.SQLite.USE_INTEROP_DLL\ -defineConstant.System.Data.SQLite.INTEROP_EXTENSION_FUNCTIONS SQLite testExec\ -file_EntityFramework.dll file_System.Data.SQLite.dll\ -file_System.Data.SQLite.EF6.dll file_testef6.exe file_northwindEF.db} -result \ -{0 {} 0 {DRACD OLDWO RATTC} 0 {ALFKI CACTU CHOPS FOLKO GALED KOENE LILAS MAGAA\ -MAISD OCEAN RANCH SAVEA THECR} 0 {} 0 {} 0 {} 0 {}}} - -############################################################################### - -unset -nocomplain northwindEfDbFile testEf6ExeFile testLinqExeFile \ - systemDataSQLiteEf6DllFile systemDataSQLiteLinqDllFile \ - systemDataSQLiteDllFile entityFrameworkDllFile +unset -nocomplain systemDataSQLiteDllFile systemDataSQLiteLinqDllFile \ + testLinqExeFile northwindEfDbFile ############################################################################### runSQLiteTestEpilogue runTestEpilogue Index: Tests/tkt-343d392b51.eagle ================================================================== --- Tests/tkt-343d392b51.eagle +++ Tests/tkt-343d392b51.eagle @@ -127,11 +127,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteCommand command = connection.CreateCommand()) { @@ -233,12 +233,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};DateTimeFormat=JulianDay;" + - "[getFlagsProperty]")) + "Data Source=${dataSource};DateTimeFormat=JulianDay;")) { connection.Open(); using (SQLiteCommand command = connection.CreateCommand()) { @@ -379,11 +378,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteCommand command = connection.CreateCommand()) { Index: Tests/tkt-3aa50d8413.eagle ================================================================== --- Tests/tkt-3aa50d8413.eagle +++ Tests/tkt-3aa50d8413.eagle @@ -47,11 +47,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter( "${sql}", connection)) Index: Tests/tkt-48a6b8e4ca.eagle ================================================================== --- Tests/tkt-48a6b8e4ca.eagle +++ Tests/tkt-48a6b8e4ca.eagle @@ -45,11 +45,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("${sql}", connection)) Index: Tests/tkt-4a791e70ab.eagle ================================================================== --- Tests/tkt-4a791e70ab.eagle +++ Tests/tkt-4a791e70ab.eagle @@ -38,11 +38,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteCommand command = connection.CreateCommand()) { Index: Tests/tkt-56b42d99c1.eagle ================================================================== --- Tests/tkt-56b42d99c1.eagle +++ Tests/tkt-56b42d99c1.eagle @@ -44,16 +44,16 @@ using (TransactionScope transactionScope = new TransactionScope( TransactionScopeOption.Required, transactionOptions)) { using (SQLiteConnection connection1 = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection1.Open(); using (SQLiteConnection connection2 = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection2.Open(); BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.GetField; @@ -101,317 +101,9 @@ unset -nocomplain result results errors code dataSource id db fileName } -constraints {eagle monoBug28 command.sql compile.DATA SQLite\ System.Data.SQLite compileCSharp} -match regexp -result {^Ok\ System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 True$}} -############################################################################### - -runTest {test tkt-56b42d99c1-1.2 {enlisted transaction isolation} -setup { - setupDb [set fileName tkt-56b42d99c1-1.2.db] -} -body { - set id [object invoke Interpreter.GetActive NextId] - set dataSource [file join [getDatabaseDirectory] $fileName] - - unset -nocomplain results errors - - set sql(1) { \ - CREATE TABLE t1(x); \ - INSERT INTO t1 (x) VALUES(1); \ - } - - set sql(2) { \ - SELECT COUNT(*) FROM sqlite_master WHERE type = 'table'; \ - } - - set code [compileCSharpWith [subst { - using System.Data.SQLite; - using System.Transactions; - - namespace _Dynamic${id} - { - public static class Test${id} - { - public static int Main() - { - TransactionOptions transactionOptions = new TransactionOptions(); - transactionOptions.IsolationLevel = IsolationLevel.ReadCommitted; - - using (TransactionScope transactionScope = new TransactionScope( - TransactionScopeOption.Required, transactionOptions)) - { - using (SQLiteConnection connection1 = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) - { - connection1.Open(); - - using (SQLiteConnection connection2 = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) - { - connection2.Open(); - - using (SQLiteCommand command1 = connection1.CreateCommand()) - { - command1.CommandText = "${sql(1)}"; - command1.ExecuteNonQuery(); - - using (SQLiteCommand command2 = connection2.CreateCommand()) - { - command2.CommandText = "${sql(2)}"; - return (int)(long)command2.ExecuteScalar(); - } - } - } - } - } - } - } - } - }] true true true results errors System.Data.SQLite.dll] - - list $code $results \ - [expr {[info exists errors] ? $errors : ""}] \ - [expr {$code eq "Ok" ? [catch { - object invoke _Dynamic${id}.Test${id} Main - } result] : [set result ""]}] $result -} -cleanup { - cleanupDb $fileName - - unset -nocomplain result results errors code dataSource id db fileName -} -constraints {eagle monoBug28 command.sql compile.DATA SQLite\ -System.Data.SQLite compileCSharp} -match regexp -result {^Ok\ -System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 0$}} - -############################################################################### - -runTest {test tkt-56b42d99c1-1.3 {enlisted transaction isolation} -setup { - setupDb [set fileName tkt-56b42d99c1-1.3.db] -} -body { - set id [object invoke Interpreter.GetActive NextId] - set dataSource [file join [getDatabaseDirectory] $fileName] - - unset -nocomplain results errors - - set sql(1) { \ - CREATE TABLE t1(x); \ - INSERT INTO t1 (x) VALUES(1); \ - } - - set sql(2) { \ - SELECT COUNT(*) FROM sqlite_master WHERE type = 'table'; \ - } - - set code [compileCSharpWith [subst { - using System.Data.SQLite; - using System.Transactions; - - namespace _Dynamic${id} - { - public static class Test${id} - { - public static int Main() - { - TransactionOptions transactionOptions = new TransactionOptions(); - transactionOptions.IsolationLevel = IsolationLevel.ReadCommitted; - - using (TransactionScope transactionScope = new TransactionScope( - TransactionScopeOption.Required, transactionOptions)) - { - using (SQLiteConnection connection1 = new SQLiteConnection( - "Data Source=${dataSource};Enlist=False;[getFlagsProperty]")) - { - connection1.Open(); - - using (SQLiteConnection connection2 = new SQLiteConnection( - "Data Source=${dataSource};Enlist=False;[getFlagsProperty]")) - { - connection2.Open(); - - using (SQLiteCommand command1 = connection1.CreateCommand()) - { - command1.CommandText = "${sql(1)}"; - command1.ExecuteNonQuery(); - - using (SQLiteCommand command2 = connection2.CreateCommand()) - { - command2.CommandText = "${sql(2)}"; - return (int)(long)command2.ExecuteScalar(); - } - } - } - } - } - } - } - } - }] true true true results errors System.Data.SQLite.dll] - - list $code $results \ - [expr {[info exists errors] ? $errors : ""}] \ - [expr {$code eq "Ok" ? [catch { - object invoke _Dynamic${id}.Test${id} Main - } result] : [set result ""]}] $result -} -cleanup { - cleanupDb $fileName - - unset -nocomplain result results errors code dataSource id db fileName -} -constraints {eagle monoBug28 command.sql compile.DATA SQLite\ -System.Data.SQLite compileCSharp} -match regexp -result {^Ok\ -System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 1$}} - -############################################################################### - -runTest {test tkt-56b42d99c1-1.4 {enlisted transaction isolation} -setup { - setupDb [set fileName tkt-56b42d99c1-1.4.db] -} -body { - set id [object invoke Interpreter.GetActive NextId] - set dataSource [file join [getDatabaseDirectory] $fileName] - - unset -nocomplain results errors - - set sql(1) { \ - CREATE TABLE t1(x); \ - INSERT INTO t1 (x) VALUES(1); \ - } - - set sql(2) { \ - SELECT COUNT(*) FROM sqlite_master WHERE type = 'table'; \ - } - - set code [compileCSharpWith [subst { - using System.Data.SQLite; - using System.Transactions; - - namespace _Dynamic${id} - { - public static class Test${id} - { - public static int Main() - { - TransactionOptions transactionOptions = new TransactionOptions(); - transactionOptions.IsolationLevel = IsolationLevel.ReadCommitted; - - using (TransactionScope transactionScope = new TransactionScope( - TransactionScopeOption.Required, transactionOptions)) - { - using (SQLiteConnection connection1 = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) - { - connection1.Open(); - - using (SQLiteConnection connection2 = new SQLiteConnection( - "Data Source=${dataSource};Enlist=False;[getFlagsProperty]")) - { - connection2.Open(); - - using (SQLiteCommand command1 = connection1.CreateCommand()) - { - command1.CommandText = "${sql(1)}"; - command1.ExecuteNonQuery(); - - using (SQLiteCommand command2 = connection2.CreateCommand()) - { - command2.CommandText = "${sql(2)}"; - return (int)(long)command2.ExecuteScalar(); - } - } - } - } - } - } - } - } - }] true true true results errors System.Data.SQLite.dll] - - list $code $results \ - [expr {[info exists errors] ? $errors : ""}] \ - [expr {$code eq "Ok" ? [catch { - object invoke _Dynamic${id}.Test${id} Main - } result] : [set result ""]}] $result -} -cleanup { - cleanupDb $fileName - - unset -nocomplain result results errors code dataSource id db fileName -} -constraints {eagle monoBug28 command.sql compile.DATA SQLite\ -System.Data.SQLite compileCSharp} -match regexp -result {^Ok\ -System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 0$}} - -############################################################################### - -runTest {test tkt-56b42d99c1-1.5 {enlisted transaction isolation} -setup { - setupDb [set fileName tkt-56b42d99c1-1.5.db] -} -body { - set id [object invoke Interpreter.GetActive NextId] - set dataSource [file join [getDatabaseDirectory] $fileName] - - unset -nocomplain results errors - - set sql(1) { \ - CREATE TABLE t1(x); \ - INSERT INTO t1 (x) VALUES(1); \ - } - - set sql(2) { \ - SELECT COUNT(*) FROM sqlite_master WHERE type = 'table'; \ - } - - set code [compileCSharpWith [subst { - using System.Data.SQLite; - using System.Transactions; - - namespace _Dynamic${id} - { - public static class Test${id} - { - public static int Main() - { - TransactionOptions transactionOptions = new TransactionOptions(); - transactionOptions.IsolationLevel = IsolationLevel.ReadCommitted; - - using (TransactionScope transactionScope = new TransactionScope( - TransactionScopeOption.Required, transactionOptions)) - { - using (SQLiteConnection connection1 = new SQLiteConnection( - "Data Source=${dataSource};Enlist=False;[getFlagsProperty]")) - { - connection1.Open(); - - using (SQLiteConnection connection2 = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) - { - connection2.Open(); - - using (SQLiteCommand command1 = connection1.CreateCommand()) - { - command1.CommandText = "${sql(1)}"; - command1.ExecuteNonQuery(); - - using (SQLiteCommand command2 = connection2.CreateCommand()) - { - command2.CommandText = "${sql(2)}"; - return (int)(long)command2.ExecuteScalar(); - } - } - } - } - } - } - } - } - }] true true true results errors System.Data.SQLite.dll] - - list $code $results \ - [expr {[info exists errors] ? $errors : ""}] \ - [expr {$code eq "Ok" ? [catch { - object invoke _Dynamic${id}.Test${id} Main - } result] : [set result ""]}] $result -} -cleanup { - cleanupDb $fileName - - unset -nocomplain result results errors code dataSource id db fileName -} -constraints {eagle monoBug28 command.sql compile.DATA SQLite\ -System.Data.SQLite compileCSharp} -match regexp -result {^Ok\ -System#CodeDom#Compiler#CompilerResults#\d+ \{\} 0 1$}} - ############################################################################### runSQLiteTestEpilogue runTestEpilogue Index: Tests/tkt-59edc1018b.eagle ================================================================== --- Tests/tkt-59edc1018b.eagle +++ Tests/tkt-59edc1018b.eagle @@ -24,13 +24,11 @@ # NOTE: Setup the variables that refer to the various files required by the # tests in this file. # set systemDataSQLiteDllFile [getBuildFileName System.Data.SQLite.dll] set systemDataSQLiteLinqDllFile [getBuildFileName System.Data.SQLite.Linq.dll] -set systemDataSQLiteEf6DllFile [getBuildFileName System.Data.SQLite.EF6.dll] set testLinqExeFile [getBuildFileName testlinq.exe] -set testEf6ExeFile [getBuildFileName testef6.exe] set northwindEfDbFile [file nativename [file join [file dirname $path] \ testlinq northwindEF.db]] # # NOTE: Setup the test constraints specific to the tests in this file. @@ -43,37 +41,21 @@ if {![haveConstraint [appendArgs file_ \ [file tail $systemDataSQLiteLinqDllFile]]]} then { checkForFile $test_channel $systemDataSQLiteLinqDllFile } -if {![haveConstraint [appendArgs file_ \ - [file tail $systemDataSQLiteEf6DllFile]]]} then { - checkForFile $test_channel $systemDataSQLiteEf6DllFile -} - if {![haveConstraint [appendArgs file_ [file tail $testLinqExeFile]]]} then { - checkForFile $test_channel $testLinqExeFile testlinq.exe -} - -if {![haveConstraint [appendArgs file_ [file tail $testEf6ExeFile]]]} then { - checkForFile $test_channel $testEf6ExeFile testef6.exe + checkForFile $test_channel $testLinqExeFile } if {![haveConstraint [appendArgs file_ [file tail $northwindEfDbFile]]]} then { checkForFile $test_channel $northwindEfDbFile } ############################################################################### runTest {test tkt-59edc1018b-1.1 {LINQ with EndsWith} -body { - # - # NOTE: Re-copy the reference database file used for this unit test to the - # build directory in case it has been changed by a previous test run. - # - file copy -force $northwindEfDbFile \ - [file join [getBuildDirectory] [file tail $northwindEfDbFile]] - set result [list] foreach value [list "" a b z 1+1 don notthere] { set output "" @@ -106,57 +88,12 @@ file_northwindEF.db} -result {0 {} 0 {FURIB GALED GODOS LAZYK LINOD PRINI REGGC\ WOLZA} 0 {} 0 ERNSH 0 {} 0 {AROUT BSBEV CONSH EASTC NORTS SEVES} 0 {}}} ############################################################################### -runTest {test tkt-59edc1018b-1.2 {EF6 with EndsWith} -body { - # - # NOTE: Re-copy the reference database file used for this unit test to the - # build directory in case it has been changed by a previous test run. - # - file copy -force $northwindEfDbFile \ - [file join [getBuildDirectory] [file tail $northwindEfDbFile]] - - set result [list] - - foreach value [list "" a b z 1+1 don notthere] { - set output "" - - set code [catch { - testClrExec $testEf6ExeFile [list -eventflags Wait -directory \ - [file dirname $testEf6ExeFile] -nocarriagereturns -stdout output \ - -success 0] -endsWith $value - } error] - - tlog "---- BEGIN STDOUT OUTPUT\n" - tlog $output - tlog "\n---- END STDOUT OUTPUT\n" - - lappend result $code - - if {$code == 0} then { - lappend result [string trim $output] - } else { - lappend result [string trim $error] - } - } - - set result -} -cleanup { - unset -nocomplain code output error result value -} -constraints \ -{eagle monoToDo defineConstant.System.Data.SQLite.USE_INTEROP_DLL\ -defineConstant.System.Data.SQLite.INTEROP_EXTENSION_FUNCTIONS SQLite testExec\ -file_System.Data.SQLite.dll file_System.Data.SQLite.EF6.dll file_testef6.exe\ -file_northwindEF.db} -result {0 {} 0 {FURIB GALED GODOS LAZYK LINOD PRINI REGGC\ -WOLZA} 0 {} 0 ERNSH 0 {} 0 {AROUT BSBEV CONSH EASTC NORTS SEVES} 0 {}}} - -############################################################################### - -unset -nocomplain northwindEfDbFile testEf6ExeFile testLinqExeFile \ - systemDataSQLiteEf6DllFile systemDataSQLiteLinqDllFile \ - systemDataSQLiteDllFile +unset -nocomplain systemDataSQLiteDllFile systemDataSQLiteLinqDllFile \ + testLinqExeFile northwindEfDbFile ############################################################################### runSQLiteTestEpilogue runTestEpilogue Index: Tests/tkt-6434e23a0f.eagle ================================================================== --- Tests/tkt-6434e23a0f.eagle +++ Tests/tkt-6434e23a0f.eagle @@ -48,11 +48,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter( "${sql}", connection)) Index: Tests/tkt-6c6ecccc5f.eagle ================================================================== --- Tests/tkt-6c6ecccc5f.eagle +++ Tests/tkt-6c6ecccc5f.eagle @@ -44,11 +44,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("${sql}", connection)) Index: Tests/tkt-72905c9a77.eagle ================================================================== --- Tests/tkt-72905c9a77.eagle +++ Tests/tkt-72905c9a77.eagle @@ -118,15 +118,12 @@ { // // NOTE: Create 4 threads for each processor on the machine. // Under normal circumstances, this should give us a good // chance of triggering the race condition being tested. - // However, since this test was originally designed on a - // machine with 4 processors, limit the total number of - // threads to 16. // - int count = Math.Min(4 * Environment.ProcessorCount, 16); + int count = 4 * Environment.ProcessorCount; // // NOTE: Create a random number generator suitable for waiting a // random number of milliseconds between each attempt to // cause the race condition on a given thread. @@ -164,11 +161,11 @@ // NOTE: Create and open a connection and use it to log a // test message just to make sure that the logging // system is initialized and in working order. // using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); connection.LogMessage(0, "TEST ${id}"); } } Index: Tests/tkt-7e3fa93744.eagle ================================================================== --- Tests/tkt-7e3fa93744.eagle +++ Tests/tkt-7e3fa93744.eagle @@ -95,11 +95,11 @@ public static class Test${id} { public static int Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteCommand command = connection.CreateCommand()) { Index: Tests/tkt-8b7d179c3c.eagle ================================================================== --- Tests/tkt-8b7d179c3c.eagle +++ Tests/tkt-8b7d179c3c.eagle @@ -24,13 +24,11 @@ # NOTE: Setup the variables that refer to the various files required by the # tests in this file. # set systemDataSQLiteDllFile [getBuildFileName System.Data.SQLite.dll] set systemDataSQLiteLinqDllFile [getBuildFileName System.Data.SQLite.Linq.dll] -set systemDataSQLiteEf6DllFile [getBuildFileName System.Data.SQLite.EF6.dll] set testLinqExeFile [getBuildFileName testlinq.exe] -set testEf6ExeFile [getBuildFileName testef6.exe] set northwindEfDbFile [file nativename [file join [file dirname $path] \ testlinq northwindEF.db]] # # NOTE: Setup the test constraints specific to the tests in this file. @@ -43,37 +41,21 @@ if {![haveConstraint [appendArgs file_ \ [file tail $systemDataSQLiteLinqDllFile]]]} then { checkForFile $test_channel $systemDataSQLiteLinqDllFile } -if {![haveConstraint [appendArgs file_ \ - [file tail $systemDataSQLiteEf6DllFile]]]} then { - checkForFile $test_channel $systemDataSQLiteEf6DllFile -} - if {![haveConstraint [appendArgs file_ [file tail $testLinqExeFile]]]} then { - checkForFile $test_channel $testLinqExeFile testlinq.exe -} - -if {![haveConstraint [appendArgs file_ [file tail $testEf6ExeFile]]]} then { - checkForFile $test_channel $testEf6ExeFile testef6.exe + checkForFile $test_channel $testLinqExeFile } if {![haveConstraint [appendArgs file_ [file tail $northwindEfDbFile]]]} then { checkForFile $test_channel $northwindEfDbFile } ############################################################################### runTest {test tkt-8b7d179c3c-1.1 {LINQ with Skip and Take} -body { - # - # NOTE: Re-copy the reference database file used for this unit test to the - # build directory in case it has been changed by a previous test run. - # - file copy -force $northwindEfDbFile \ - [file join [getBuildDirectory] [file tail $northwindEfDbFile]] - set result [list] for {set pageSize 0} {$pageSize <= 2} {incr pageSize} { set output "" @@ -117,68 +99,12 @@ COMMI FAMIA QUEEN TRADH WHITC GODOS SANTG BLONP WANDK FRANS LAMAI BOTTM LAUGB\ LACOR LAZYK WOLZA VAFFE}}} ############################################################################### -runTest {test tkt-8b7d179c3c-1.2 {EF6 with Skip and Take} -body { - # - # NOTE: Re-copy the reference database file used for this unit test to the - # build directory in case it has been changed by a previous test run. - # - file copy -force $northwindEfDbFile \ - [file join [getBuildDirectory] [file tail $northwindEfDbFile]] - - set result [list] - - for {set pageSize 0} {$pageSize <= 2} {incr pageSize} { - set output "" - - set code [catch { - testClrExec $testEf6ExeFile [list -eventflags Wait -directory \ - [file dirname $testEf6ExeFile] -nocarriagereturns -stdout output \ - -success 0] -skip $pageSize - } error] - - tlog "---- BEGIN STDOUT OUTPUT\n" - tlog $output - tlog "\n---- END STDOUT OUTPUT\n" - - lappend result $code - - if {$code == 0} then { - lappend result [string trim $output] - } else { - lappend result [string trim $error] - } - } - - set result -} -cleanup { - unset -nocomplain code output error result pageSize -} -constraints {eagle monoToDo SQLite file_System.Data.SQLite.dll testExec\ -file_System.Data.SQLite.EF6.dll file_testef6.exe file_northwindEF.db} \ --result {0 {} 0 {DRACD RATTC OLDWO GALED LILAS MAGAA ALFKI CHOPS SAVEA KOENE\ -MAISD FOLKO CACTU OCEAN RANCH THECR GOURL GROSR SUPRD HUNGO ISLAT QUICK HUNGC\ -GREAL LEHMS RICSU ERNSH WILMK LINOD TRAIH SIMOB OTTIK SPLIR MORGK FOLIG FURIB\ -PRINI AROUT BSBEV CONSH EASTC NORTS SEVES BERGS VICTE BOLID FISSA ROMEY BLAUS\ -BONAP MEREP ANATR ANTON CENTC PERIC TORTU FRANK TOMSP DUMON FRANR WARTH PARIS\ -SPECD LONEP THEBI REGGC VINET WELLI HANAR QUEDE RICAR PICCO HILAA LETSS COMMI\ -FAMIA QUEEN TRADH WHITC GODOS SANTG BLONP WANDK FRANS LAMAI BOTTM LAUGB LACOR\ -LAZYK WOLZA VAFFE} 0 {DRACD RATTC OLDWO GALED LILAS MAGAA ALFKI CHOPS SAVEA\ -KOENE MAISD FOLKO CACTU OCEAN RANCH THECR GOURL GROSR SUPRD HUNGO ISLAT QUICK\ -HUNGC GREAL LEHMS RICSU ERNSH WILMK LINOD TRAIH SIMOB OTTIK SPLIR MORGK FOLIG\ -FURIB PRINI AROUT BSBEV CONSH EASTC NORTS SEVES BERGS VICTE BOLID FISSA ROMEY\ -BLAUS BONAP MEREP ANATR ANTON CENTC PERIC TORTU FRANK TOMSP DUMON FRANR WARTH\ -PARIS SPECD LONEP THEBI REGGC VINET WELLI HANAR QUEDE RICAR PICCO HILAA LETSS\ -COMMI FAMIA QUEEN TRADH WHITC GODOS SANTG BLONP WANDK FRANS LAMAI BOTTM LAUGB\ -LACOR LAZYK WOLZA VAFFE}}} - -############################################################################### - -unset -nocomplain northwindEfDbFile testEf6ExeFile testLinqExeFile \ - systemDataSQLiteEf6DllFile systemDataSQLiteLinqDllFile \ - systemDataSQLiteDllFile +unset -nocomplain systemDataSQLiteDllFile systemDataSQLiteLinqDllFile \ + testLinqExeFile northwindEfDbFile ############################################################################### runSQLiteTestEpilogue runTestEpilogue Index: Tests/tkt-996d13cd87.eagle ================================================================== --- Tests/tkt-996d13cd87.eagle +++ Tests/tkt-996d13cd87.eagle @@ -147,12 +147,11 @@ // doing it again. // Thread.Sleep(random.Next(0, 500)); SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};Pooling=${pooling};" + - "[getFlagsProperty]"); + "Data Source=${dataSource};Pooling=${pooling};"); connection.Open(); using (SQLiteCommand command = new SQLiteCommand("${sql}", connection)) Index: Tests/tkt-ae5267b863.eagle ================================================================== --- Tests/tkt-ae5267b863.eagle +++ Tests/tkt-ae5267b863.eagle @@ -69,11 +69,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteCommand command = connection.CreateCommand()) { Index: Tests/tkt-ccfa69fc32.eagle ================================================================== --- Tests/tkt-ccfa69fc32.eagle +++ Tests/tkt-ccfa69fc32.eagle @@ -24,13 +24,11 @@ # NOTE: Setup the variables that refer to the various files required by the # tests in this file. # set systemDataSQLiteDllFile [getBuildFileName System.Data.SQLite.dll] set systemDataSQLiteLinqDllFile [getBuildFileName System.Data.SQLite.Linq.dll] -set systemDataSQLiteEf6DllFile [getBuildFileName System.Data.SQLite.EF6.dll] set testLinqExeFile [getBuildFileName testlinq.exe] -set testEf6ExeFile [getBuildFileName testef6.exe] set northwindEfDbFile [file nativename [file join [file dirname $path] \ testlinq northwindEF.db]] # # NOTE: Setup the test constraints specific to the tests in this file. @@ -43,37 +41,21 @@ if {![haveConstraint [appendArgs file_ \ [file tail $systemDataSQLiteLinqDllFile]]]} then { checkForFile $test_channel $systemDataSQLiteLinqDllFile } -if {![haveConstraint [appendArgs file_ \ - [file tail $systemDataSQLiteEf6DllFile]]]} then { - checkForFile $test_channel $systemDataSQLiteEf6DllFile -} - if {![haveConstraint [appendArgs file_ [file tail $testLinqExeFile]]]} then { - checkForFile $test_channel $testLinqExeFile testlinq.exe -} - -if {![haveConstraint [appendArgs file_ [file tail $testEf6ExeFile]]]} then { - checkForFile $test_channel $testEf6ExeFile testef6.exe + checkForFile $test_channel $testLinqExeFile } if {![haveConstraint [appendArgs file_ [file tail $northwindEfDbFile]]]} then { checkForFile $test_channel $northwindEfDbFile } ############################################################################### -runTest {test tkt-ccfa69fc32-1.1 {LINQ Transaction Scope} -body { - # - # NOTE: Re-copy the reference database file used for this unit test to the - # build directory in case it has been changed by a previous test run. - # - file copy -force $northwindEfDbFile \ - [file join [getBuildDirectory] [file tail $northwindEfDbFile]] - +runTest {test tkt-ccfa69fc32-1.1 {Entity Framework / Transaction Scope} -body { set result [list] foreach add [list false true false] { set output "" @@ -99,66 +81,19 @@ set result } -cleanup { unset -nocomplain code output error result add } -constraints {eagle monoToDo SQLite file_System.Data.SQLite.dll testExec\ file_System.Data.SQLite.Linq.dll file_testlinq.exe file_northwindEF.db} -match \ -glob -result {0 {1581 1730 1833 2116 2139} 0\ -{System.Data.UpdateException: * --->\ -System.Data.SQLite.SQLiteException: constraint failed -UNIQUE constraint failed: Territories.TerritoryID -*} 0 {1 2 3 4 5 6 7 8 9 10 1576 1577 1578 1579 1580 1581 1730 1833 2116 2139}}} - -############################################################################### - -runTest {test tkt-ccfa69fc32-1.2 {EF6 Transaction Scope} -body { - # - # NOTE: Re-copy the reference database file used for this unit test to the - # build directory in case it has been changed by a previous test run. - # - file copy -force $northwindEfDbFile \ - [file join [getBuildDirectory] [file tail $northwindEfDbFile]] - - set result [list] - - foreach add [list false true false] { - set output "" - - set code [catch { - testClrExec $testEf6ExeFile [list -eventflags Wait -directory \ - [file dirname $testEf6ExeFile] -nocarriagereturns -stdout output \ - -success 0] -efTransaction $add - } error] - - tlog "---- BEGIN STDOUT OUTPUT\n" - tlog $output - tlog "\n---- END STDOUT OUTPUT\n" - - lappend result $code - - if {$code == 0} then { - lappend result [string trim $output] - } else { - lappend result [string trim $error] - } - } - - set result -} -cleanup { - unset -nocomplain code output error result add -} -constraints {eagle monoToDo SQLite file_System.Data.SQLite.dll testExec\ -file_System.Data.SQLite.EF6.dll file_testef6.exe file_northwindEF.db} -match \ -glob -result {0 {1581 1730 1833 2116 2139} 0\ -{System.Data.Entity.Core.UpdateException: * --->\ -System.Data.SQLite.SQLiteException: constraint failed -UNIQUE constraint failed: Territories.TerritoryID -*} 0 {1 2 3 4 5 6 7 8 9 10 1576 1577 1578 1579 1580 1581 1730 1833 2116 2139}}} - -############################################################################### - -unset -nocomplain northwindEfDbFile testEf6ExeFile testLinqExeFile \ - systemDataSQLiteEf6DllFile systemDataSQLiteLinqDllFile \ - systemDataSQLiteDllFile +glob -result {0 {1581 1730 1833 2116 2139} 0 {System.Data.UpdateException: *\ +---> System.Data.SQLite.SQLiteException: constraint failed +UNIQUE constraint failed: Territories.TerritoryID +*} 0 {1 2 3 4 5 6 7 8 9 10 1576 1577 1578 1579 1580 1581 1730 1833 2116 2139}}} + +############################################################################### + +unset -nocomplain systemDataSQLiteDllFile systemDataSQLiteLinqDllFile \ + testLinqExeFile northwindEfDbFile ############################################################################### runSQLiteTestEpilogue runTestEpilogue Index: Tests/tkt-e1b2e0f769.eagle ================================================================== --- Tests/tkt-e1b2e0f769.eagle +++ Tests/tkt-e1b2e0f769.eagle @@ -97,11 +97,11 @@ ///////////////////////////////////////////////////////////////////// public static int Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); return Tkt_e1b2e0f769(connection).Count; } Index: Tests/tkt-e30b820248.eagle ================================================================== --- Tests/tkt-e30b820248.eagle +++ Tests/tkt-e30b820248.eagle @@ -60,11 +60,11 @@ { Trace.Listeners.Add(listener); Trace.WriteLine("---- START TRACE \\"${name}\\""); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); connection.LogMessage(0, "Connection opened."); using (SQLiteTransaction transaction = @@ -155,13 +155,11 @@ ///////////////////////////////////////////////////////////////////// #region Public Static Methods public static void OpenConnection() { - connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]"); - + connection = new SQLiteConnection("Data Source=${dataSource};"); connection.Open(); connection.LogMessage(0, "Connection opened."); } ///////////////////////////////////////////////////////////////////// Index: Tests/tkt-ef2216192d.eagle ================================================================== --- Tests/tkt-ef2216192d.eagle +++ Tests/tkt-ef2216192d.eagle @@ -42,11 +42,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); using (SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter( "${sql}", connection)) Index: Tests/version.eagle ================================================================== --- Tests/version.eagle +++ Tests/version.eagle @@ -27,11 +27,11 @@ # numbers must be manually kept synchronized with the version numbers for # the source code files, the built binaries, and the release packages. # set version(major) 1 set version(minor) 0 -set version(build) 91; # NOTE: Incremented with each release. +set version(build) 90; # NOTE: Incremented with each release. set version(revision) 0 ############################################################################### # ********************* END VOLATILE VERSION INFORMATION ********************** ############################################################################### @@ -49,15 +49,13 @@ # NOTE: Setup the variables that refer to the various files required by the # tests in this file. # set systemDataSQLiteDllFile [getBuildFileName System.Data.SQLite.dll] set systemDataSQLiteLinqDllFile [getBuildFileName System.Data.SQLite.Linq.dll] -set systemDataSQLiteEf6DllFile [getBuildFileName System.Data.SQLite.EF6.dll] set sqliteDesignerDllFile [getBuildFileName SQLite.Designer.dll] set testExeFile [getBuildFileName test.exe] set testLinqExeFile [getBuildFileName testlinq.exe] -set testEf6ExeFile [getBuildFileName testef6.exe] # # NOTE: Setup the test constraints specific to the tests in this file. # if {![haveConstraint [appendArgs file_ \ @@ -68,30 +66,21 @@ if {![haveConstraint [appendArgs file_ \ [file tail $systemDataSQLiteLinqDllFile]]]} then { checkForFile $test_channel $systemDataSQLiteLinqDllFile } -if {![haveConstraint [appendArgs file_ \ - [file tail $systemDataSQLiteEf6DllFile]]]} then { - checkForFile $test_channel $systemDataSQLiteEf6DllFile -} - if {![haveConstraint [appendArgs file_ \ [file tail $sqliteDesignerDllFile]]]} then { checkForFile $test_channel $sqliteDesignerDllFile } if {![haveConstraint [appendArgs file_ [file tail $testExeFile]]]} then { - checkForFile $test_channel $testExeFile test.exe + checkForFile $test_channel $testExeFile } if {![haveConstraint [appendArgs file_ [file tail $testLinqExeFile]]]} then { - checkForFile $test_channel $testLinqExeFile testlinq.exe -} - -if {![haveConstraint [appendArgs file_ [file tail $testEf6ExeFile]]]} then { - checkForFile $test_channel $testEf6ExeFile testef6.exe + checkForFile $test_channel $testLinqExeFile } ############################################################################### runTest {test version-1.1 {'System.Data.SQLite' binary version} -body { @@ -126,34 +115,17 @@ unset -nocomplain assemblyName } -constraints {eagle file_System.Data.SQLite.Linq.dll} -result $version(full)} ############################################################################### -runTest {test version-1.5 {'System.Data.SQLite.EF6' binary version} -body { - file version $systemDataSQLiteEf6DllFile -} -constraints {eagle file_System.Data.SQLite.EF6.dll} -result $version(full)} - -############################################################################### - -runTest {test version-1.6 {'System.Data.SQLite.EF6' assembly version} -body { - set assemblyName [object invoke -alias System.Reflection.AssemblyName \ - GetAssemblyName $systemDataSQLiteEf6DllFile] - - $assemblyName Version.ToString -} -cleanup { - unset -nocomplain assemblyName -} -constraints {eagle file_System.Data.SQLite.EF6.dll} -result $version(full)} - -############################################################################### - -runTest {test version-1.7 {'SQLite.Designer' binary version} -body { +runTest {test version-1.5 {'SQLite.Designer' binary version} -body { file version $sqliteDesignerDllFile } -constraints {eagle file_SQLite.Designer.dll} -result $version(full)} ############################################################################### -runTest {test version-1.8 {'SQLite.Designer' assembly version} -body { +runTest {test version-1.6 {'SQLite.Designer' assembly version} -body { set assemblyName [object invoke -alias System.Reflection.AssemblyName \ GetAssemblyName $sqliteDesignerDllFile] $assemblyName Version.ToString } -cleanup { @@ -160,17 +132,17 @@ unset -nocomplain assemblyName } -constraints {eagle file_SQLite.Designer.dll} -result $version(full)} ############################################################################### -runTest {test version-1.9 {'test' binary version} -body { +runTest {test version-1.7 {'test' binary version} -body { file version $testExeFile } -constraints {eagle file_test.exe} -result $version(full)} ############################################################################### -runTest {test version-1.10 {'test' assembly version} -body { +runTest {test version-1.8 {'test' assembly version} -body { set assemblyName [object invoke -alias System.Reflection.AssemblyName \ GetAssemblyName $testExeFile] $assemblyName Version.ToString } -cleanup { @@ -177,17 +149,17 @@ unset -nocomplain assemblyName } -constraints {eagle file_test.exe} -result $version(full)} ############################################################################### -runTest {test version-1.11 {'testlinq' binary version} -body { +runTest {test version-1.9 {'testlinq' binary version} -body { file version $testLinqExeFile } -constraints {eagle file_testlinq.exe} -result $version(full)} ############################################################################### -runTest {test version-1.12 {'testlinq' assembly version} -body { +runTest {test version-1.10 {'testlinq' assembly version} -body { set assemblyName [object invoke -alias System.Reflection.AssemblyName \ GetAssemblyName $testLinqExeFile] $assemblyName Version.ToString } -cleanup { @@ -194,61 +166,44 @@ unset -nocomplain assemblyName } -constraints {eagle file_testlinq.exe} -result $version(full)} ############################################################################### -runTest {test version-1.13 {'testef6' binary version} -body { - file version $testEf6ExeFile -} -constraints {eagle file_testef6.exe} -result $version(full)} - -############################################################################### - -runTest {test version-1.14 {'testef6' assembly version} -body { - set assemblyName [object invoke -alias System.Reflection.AssemblyName \ - GetAssemblyName $testEf6ExeFile] - - $assemblyName Version.ToString -} -cleanup { - unset -nocomplain assemblyName -} -constraints {eagle file_testef6.exe} -result $version(full)} - -############################################################################### - -runTest {test version-1.15 {SQLiteVersion} -body { +runTest {test version-1.11 {SQLiteVersion} -body { object invoke System.Data.SQLite.SQLiteConnection SQLiteVersion } -constraints {eagle SQLite System.Data.SQLite} -match regexp -result \ {^\d+\.\d+\.\d+(?:\.\d+)?$}} ############################################################################### -runTest {test version-1.16 {SQLiteSourceId} -body { +runTest {test version-1.12 {SQLiteSourceId} -body { object invoke System.Data.SQLite.SQLiteConnection SQLiteSourceId } -constraints {eagle SQLite System.Data.SQLite} -match regexp -result \ {^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} [0-9a-f]{40}$}} ############################################################################### -runTest {test version-1.17 {InteropVersion} -body { +runTest {test version-1.13 {InteropVersion} -body { object invoke System.Data.SQLite.SQLiteConnection InteropVersion } -constraints {eagle SQLiteInterop System.Data.SQLite} -result $version(full)} ############################################################################### -runTest {test version-1.18 {InteropSourceId} -body { +runTest {test version-1.14 {InteropSourceId} -body { object invoke System.Data.SQLite.SQLiteConnection InteropSourceId } -constraints {eagle SQLiteInterop System.Data.SQLite} -match regexp -result \ {^[0-9a-f]{40} \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} UTC$}} ############################################################################### -runTest {test version-1.19 {ProviderVersion} -body { +runTest {test version-1.15 {ProviderVersion} -body { object invoke System.Data.SQLite.SQLiteConnection ProviderVersion } -constraints {eagle System.Data.SQLite} -result $version(full)} ############################################################################### -runTest {test version-1.20 {ProviderSourceId} -body { +runTest {test version-1.16 {ProviderSourceId} -body { # # NOTE: The ProviderSourceId property value may be null, which # would result in an empty string being returned here. # object invoke System.Data.SQLite.SQLiteConnection ProviderSourceId @@ -257,12 +212,10 @@ ############################################################################### set patterns [list \ [appendArgs Version= [string map [list . \\.] $version(full)] ,] \ - [appendArgs Version= [string map [list . \\.] $version(full)] ,] \ - [appendArgs "\; [format %03d $version(build)] "\;] \ [appendArgs [string map [list . \\.] $version(full)] \ ] \ [appendArgs [string map [list . \\.] $version(full)] \ ] \ [appendArgs [string map [list . \\.] $version(full)] \ @@ -269,10 +222,12 @@ ] \ [appendArgs [string map [list . \\.] $version(full)] \ ] \ [appendArgs [string map [list . \\.] $version(full)] \ ] \ + [appendArgs Version= [string map [list . \\.] $version(full)] ,] \ + [appendArgs "\; [format %03d $version(build)] "\;] \ [appendArgs AssemblyVersion\\(\" [string map [list . \\.] \ $version(full)] \"\\)] \ [appendArgs AssemblyFileVersion\\(\" [string map [list . \\.] \ $version(full)] \"\\)] \ [appendArgs [string map [list . \\.] \ @@ -313,52 +268,13 @@ [appendArgs Version= [string map [list . \\.] $version(full)] ,] \ [appendArgs AssemblyVersion\\(\" [string map [list . \\.] \ $version(full)] \"\\)] \ [appendArgs AssemblyFileVersion\\(\" [string map [list . \\.] \ $version(full)] \"\\)] \ - [appendArgs \ - "SQLiteFactory, System\\.Data\\.SQLite, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteProviderFactory, System\\.Data\\.SQLite\\.Linq, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteProviderFactory, System\\.Data\\.SQLite\\.EF6, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteProviderServices, System\\.Data\\.SQLite\\.EF6, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteFactory, System\\.Data\\.SQLite, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteProviderFactory, System\\.Data\\.SQLite\\.Linq, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteProviderFactory, System\\.Data\\.SQLite\\.EF6, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteProviderServices, System\\.Data\\.SQLite\\.EF6, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteFactory, System\\.Data\\.SQLite, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteProviderFactory, System\\.Data\\.SQLite\\.Linq, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteProviderFactory, System\\.Data\\.SQLite\\.EF6, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteProviderServices, System\\.Data\\.SQLite\\.EF6, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteFactory, System\\.Data\\.SQLite, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ - [appendArgs \ - "SQLiteProviderFactory, System\\.Data\\.SQLite\\.Linq, " \ - "Version=" [string map [list . \\.] $version(full)] ,] \ + [appendArgs Version= [string map [list . \\.] $version(full)] ,] \ + [appendArgs Version= [string map [list . \\.] $version(full)] ,] \ + [appendArgs Version= [string map [list . \\.] $version(full)] ,] \ [appendArgs AssemblyVersion\\(\" [string map [list . \\.] \ $version(full)] \"\\)] \ [appendArgs AssemblyFileVersion\\(\" [string map [list . \\.] \ $version(full)] \"\\)] \ [appendArgs AssemblyVersion\\(\" [string map [list . \\.] \ @@ -366,17 +282,17 @@ [appendArgs AssemblyFileVersion\\(\" [string map [list . \\.] \ $version(full)] \"\\)]] set fileNames [list \ readme.htm \ + SQLite.nuspec \ + SQLite.Beta.nuspec \ + SQLite.MSIL.nuspec \ + SQLite.x64.nuspec \ + SQLite.x86.nuspec \ [file join Doc Extra dbfactorysupport.html] \ [file join Doc Extra welcome.html] \ - [file join NuGet SQLite.nuspec] \ - [file join NuGet SQLite.Beta.nuspec] \ - [file join NuGet SQLite.MSIL.nuspec] \ - [file join NuGet SQLite.x64.nuspec] \ - [file join NuGet SQLite.x86.nuspec] \ [file join SQLite.Designer AssemblyInfo.cs] \ [file join SQLite.Designer AssemblyInfo.cs] \ [file join SQLite.Designer source.extension.vsixmanifest] \ [file join SQLite.Interop props SQLite.Interop.2005.vsprops] \ [file join SQLite.Interop props SQLite.Interop.2005.vsprops] \ @@ -400,24 +316,13 @@ [file join test AssemblyInfo.cs] \ [file join test AssemblyInfo.cs] \ [file join test app.config] \ [file join testce AssemblyInfo.cs] \ [file join testce AssemblyInfo.cs] \ - [file join testlinq 2008 LINQ App.config] \ - [file join testlinq 2008 LINQ App.config] \ - [file join testlinq 2010 EF6 App.config] \ - [file join testlinq 2010 EF6 App.config] \ - [file join testlinq 2010 LINQ App.config] \ - [file join testlinq 2010 LINQ App.config] \ - [file join testlinq 2012 EF6 App.config] \ - [file join testlinq 2012 EF6 App.config] \ - [file join testlinq 2012 LINQ App.config] \ - [file join testlinq 2012 LINQ App.config] \ - [file join testlinq 2013 EF6 App.config] \ - [file join testlinq 2013 EF6 App.config] \ - [file join testlinq 2013 LINQ App.config] \ - [file join testlinq 2013 LINQ App.config] \ + [file join testlinq 2008 App.config] \ + [file join testlinq 2010 App.config] \ + [file join testlinq 2012 App.config] \ [file join testlinq Properties AssemblyInfo.cs] \ [file join testlinq Properties AssemblyInfo.cs] \ [file join tools install Properties AssemblyInfo.cs] \ [file join tools install Properties AssemblyInfo.cs]] @@ -429,11 +334,11 @@ if {![haveConstraint [appendArgs file_ $constraint]]} then { checkForFile $test_channel $fileName $constraint } - runTest {test [appendArgs version-1.21. $i] \ + runTest {test [appendArgs version-1.17. $i] \ [appendArgs "pattern {" $pattern "} in file \"" $fileName \"] -body { regexp -- $pattern [readFile $fileName] } -constraints [list eagle [appendArgs file_ $constraint]] -result {1}} } @@ -441,13 +346,12 @@ unset -nocomplain constraint fileName pattern fileNames patterns i version ############################################################################### -unset -nocomplain testEf6ExeFile testLinqExeFile testExeFile \ - sqliteDesignerDllFile systemDataSQLiteEf6DllFile \ +unset -nocomplain testLinqExeFile testExeFile sqliteDesignerDllFile \ systemDataSQLiteLinqDllFile systemDataSQLiteDllFile ############################################################################### runSQLiteTestEpilogue runTestEpilogue Index: Tests/vtab.eagle ================================================================== --- Tests/vtab.eagle +++ Tests/vtab.eagle @@ -72,11 +72,11 @@ public static class Test${id} { public static void Main() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); connection.CreateModule(new SQLiteModuleTest${id}("mod${id}")); using (SQLiteCommand command = connection.CreateCommand()) @@ -140,11 +140,11 @@ public static StringList GetList(params string\[\] strings) { StringList result = new StringList(); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); connection.CreateModule(new SQLiteModuleEnumerable( "mod${id}", strings)); @@ -248,11 +248,11 @@ public static StringList GetList(params string\[\] strings) { StringList result = new StringList(); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); SQLiteModule module = new SQLiteModuleEnumerable( "mod${id}", strings); @@ -360,11 +360,11 @@ public static StringList GetList(params int\[\] integers) { StringList result = new StringList(); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); connection.CreateModule(new SQLiteModuleEnumerable( "mod${id}", integers)); @@ -469,11 +469,11 @@ public static StringList GetList(params int\[\] integers) { StringList result = new StringList(); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); SQLiteModule module = new SQLiteModuleEnumerable( "mod${id}", integers); @@ -706,11 +706,11 @@ public static StringList GetList() { StringList result = new StringList(); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty NoBindFunctions]")) + "Data Source=${dataSource};Flags=NoBindFunctions;")) { connection.Open(); connection.CreateModule(new SQLiteModuleTest${id}("mod${id}")); try @@ -960,11 +960,11 @@ public static StringList GetList() { StringList result = new StringList(); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); connection.CreateModule(new SQLiteModuleTest${id}("mod${id}")); try @@ -1130,11 +1130,11 @@ public static StringList GetList() { StringList result = new StringList(); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); connection.CreateModule(new SQLiteModuleTest${id}("mod${id}")); try @@ -1267,11 +1267,11 @@ public static StringList GetList(params string\[\] strings) { StringList result = new StringList(); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); connection.CreateModule(new SQLiteModuleEnumerable( "mod${id}", strings)); @@ -1369,11 +1369,11 @@ public static StringList GetList(params string\[\] strings) { StringList result = new StringList(); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); connection.CreateModule(new SQLiteModuleEnumerable( "mod${id}", strings)); @@ -1459,11 +1459,11 @@ public static class Test${id} { public static object GetSum() { using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); byte\[\] bytes = new byte\[1048576\]; new Random().NextBytes(bytes); @@ -1541,11 +1541,11 @@ public static StringList GetList(params string\[\] strings) { StringList result = new StringList(); using (SQLiteConnection connection = new SQLiteConnection( - "Data Source=${dataSource};[getFlagsProperty]")) + "Data Source=${dataSource};")) { connection.Open(); connection.CreateModule(new SQLiteModuleEnumerable( "mod${id}", strings)); Index: exclude_bin.txt ================================================================== --- exclude_bin.txt +++ exclude_bin.txt @@ -3,10 +3,7 @@ *.lib *.manifest *.map *.mda.config *.txt -*32.exe -*32.exe.config -*EntityFramework.* *EnvDTE.* *Microsoft.* Index: exclude_src.txt ================================================================== --- exclude_src.txt +++ exclude_src.txt @@ -13,16 +13,13 @@ _FOSSIL_ bin/* Doc/Output/* Externals/Eagle/bin/Eagle.dll Externals/Eagle/bin/EagleShell.exe -Externals/Eagle/bin/EagleShell32.exe -Externals/Eagle/bin/EntityFramework.* Externals/Eagle/bin/SQLite.Interop.* Externals/Eagle/bin/sqlite3.* Externals/Eagle/bin/System.* -Externals/Eagle/bin/Win32/* Externals/Eagle/bin/x64/* Externals/Eagle/bin/x86/* Externals/Eagle/lib/Eagle1.0/embed.eagle Externals/Eagle/lib/Eagle1.0/init.eagle Externals/Eagle/lib/Eagle1.0/pkgIndex.eagle @@ -29,17 +26,15 @@ Externals/Eagle/lib/Eagle1.0/pkgIndex.tcl Externals/Eagle/lib/Eagle1.0/safe.eagle Externals/Eagle/lib/Eagle1.0/shell.eagle Externals/Eagle/lib/Eagle1.0/test.eagle Externals/Eagle/lib/Eagle1.0/word.tcl -Externals/Eagle/lib/Test1.0/all.eagle Externals/Eagle/lib/Test1.0/constraints.eagle Externals/Eagle/lib/Test1.0/epilogue.eagle Externals/Eagle/lib/Test1.0/pkgIndex.eagle Externals/Eagle/lib/Test1.0/pkgIndex.tcl Externals/Eagle/lib/Test1.0/prologue.eagle -Externals/EntityFramework/* Externals/HtmlHelp/* Externals/MSVCPP/* Externals/NDoc3/* obj/* Setup/Output/* ADDED install.ps1 Index: install.ps1 ================================================================== --- /dev/null +++ install.ps1 @@ -0,0 +1,36 @@ +############################################################################### +# +# install.ps1 -- +# +# Written by Joe Mistachkin. +# Released to the public domain, use at your own risk! +# +############################################################################### + +param($installPath, $toolsPath, $package, $project) + +$platformNames = "x86", "x64" +$fileName = "SQLite.Interop.dll" +$propertyName = "CopyToOutputDirectory" + +foreach($platformName in $platformNames) { + $folder = $project.ProjectItems.Item($platformName) + + if ($folder -eq $null) { + continue + } + + $item = $folder.ProjectItems.Item($fileName) + + if ($item -eq $null) { + continue + } + + $property = $item.Properties.Item($propertyName) + + if ($property -eq $null) { + continue + } + + $property.Value = 1 +} Index: readme.htm ================================================================== --- readme.htm +++ readme.htm @@ -3,12 +3,12 @@ ADO.NET SQLite Data Provider
    -Version 1.0.91.0 February XX, 2014 (release scheduled)
    -Using SQLite 3.8.3
    +Version 1.0.90.0 December 23, 2013
    +Using SQLite 3.8.2
    Originally written by Robert Simpson
    Released to the public domain, use at your own risk!
    Official provider website: http://system.data.sqlite.org/
    Legacy versions: http://sqlite.phxsoftware.com/

    @@ -134,97 +134,61 @@ Download and run one of the setup packages and then select the "Install the designer components for Visual Studio 20XX." option when prompted.

    -DbFactory Support (Desktop Framework)

    +DbFactory Support (Non-Compact Framework) In order to use the SQLiteFactory and have the SQLite data provider enumerated in the DbProviderFactories methods, you must add the following segment into your application's app.config file:
     <configuration>
         <system.data>
             <DbProviderFactories>
                 <remove invariant="System.Data.SQLite" />
                 <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite"
    -                 type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.91.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    +                 type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.90.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
             </DbProviderFactories>
         </system.data>
     </configuration>
     

    See the help documentation for further details on implementing both version-specific (GAC enabled) and version independent DBProviderFactories support.

    -

    Compiling for the .NET Compact Framework

    +

    Compiling for the Compact Framework

    Just change the target platform from Win32 to Compact Framework and recompile.  The Compact Framework has no support for enumerating attributes in an assembly, therefore all user-defined collating sequences and functions must be explicitly registered.  See the testce sample application for an example of how to explicitly register user-defined collating sequences and functions.

    -

    Distributing or Deploying System.Data.SQLite

    - -

    -On the desktop, when using the statically linked mixed-mode assembly, only the -System.Data.SQLite.dll file needs to be distributed with your -application(s). This dynamic link library contains both the managed provider -and the SQLite native library. For other build configurations, including those -for the .NET Compact Framework, you will need to distribute both the managed -provider System.Data.SQLite.dll, as well as the associated -native library SQLite.Interop.dll (or -SQLite.Interop.XXX.dll for the .NET Compact Framework). For -the .NET Compact Framework edition, this is a breaking change as of 1.0.59.0. -The recent versions of the .NET Compact Framework do not appear to properly -support mixed-mode assemblies. All builds of System.Data.SQLite, except those -explicitly marked as "static" in their package name, will also require -the associated Microsoft -Visual C++ Runtime Library to be installed on the target machine. For -further details on distributing and/or deploying System.Data.SQLite, please -refer to the -System.Data.SQLite Downloads -web page. -

    - -

    Development Notes Regarding the SQLite Native Library Source Code

    - -

    -The included SQLite native library is compiled directly from the official source -code releases available from the sqlite.org -website. -

    - -

    -In addition, there are several relatively small extensions included within the -System.Data.SQLite "interop assembly" and some of these extensions are -specific to the System.Data.SQLite project itself; however, the included SQLite -native library source code itself is compiled verbatim, using a set of fully -supported compile-time options -designed for robustness and maximum backward compatibility with previously -released versions of System.Data.SQLite. +

    Distributing The SQLite Engine and ADO.NET Assembly

    + +

    +On the desktop, only the System.Data.SQLite.DLL file needs to be +distributed with your application(s).  This DLL contains both the managed wrapper +and the native SQLite3 codebase.  For the Compact Framework, you will have +to distribute both the CF version of System.Data.SQLite.DLL, as well as the SQLite.Interop.XXX.DLL.  +This is a breaking change as of 1.0.59.0.  Recent Windows Mobile frameworks +are not supporting the mixed CF assembly I was building prior to this version.

    + +

    Development Notes Regarding the SQLite 3 Source Code

    + +

    +The core SQLite engine is compiled directly from the unmodified source code available +at the sqlite.org website.  Several additional pieces are compiled on top of +it to extend its functionality, but the core engine's source is not changed.

    +

    Version History

    - 1.0.91.0 - February XX, 2014 (release scheduled) -

    -
      -
    • Updated to SQLite 3.8.3.
    • -
    • Add support for Entity Framework 6.
    • -
    • Modify the namespace used for all internal classes in the System.Data.SQLite.Linq assembly. ** Potentially Incompatible Change **
    • -
    • Add SQLiteCompileOptions and InteropCompileOptions properties to the SQLiteConnection class to return the compile-time options for the SQLite core library and interop assembly, respectively.
    • -
    • Add BindInvariantText and ConvertInvariantText connection flags to force the invariant culture to be used when converting parameter values to/from strings.
    • -
    • Add NoConnectionPool and UseConnectionPool connection flags to disable or enable connection pooling by default.
    • -
    • Modify handling of the design-time components installer to run Visual Studio devenv.exe /setup after installing the package. This appears to be necessary in some circumstances for Visual Studio 2013. Pursuant to [a47eff2c71].
    • -
    • Modify the native library pre-loader to support reading settings from an XML configuration file and to be capable of checking more than one directory. Persuant to [f0246d1817].
    • -
    • Change the default behavior for the native library pre-loader so it first searches the executing (i.e. System.Data.SQLite) assembly directory and then the application domain directory. Pursuant to [f0246d1817]. ** Potentially Incompatible Change **
    • -
    -

    1.0.90.0 - December 23, 2013

    • Updated to SQLite 3.8.2.
    • Add Visual Studio 2013 support to all the applicable solution/project files, their associated supporting files, and the test suite.
    • @@ -1301,11 +1265,11 @@ related to construction of named parameters.
    • Retooled the GetSchema() method of SQLiteDataReader to use the new 3.3.4 API functions, and made several enhancements and fixes to schemas. 
    • Implemented the SourceColumnNullMapping property of SQLiteParameter to fix a DbCommandBuilder code generation bug. 
    • Removed the runtime dependency -on msvcr80.dll.  File size is somewhat larger for the varying desktop versions.
    • +on MSVCR80.DLL.  File size is somewhat larger for the varying desktop versions.
    • Created an install program to manage installation and uninstallation of the SQLite design-time support.
    • Designer support now works for all Visual Studio editions, including all Express Editions.
    • Design-time installer will now remove (if present) the machine.config SQLite @@ -1342,11 +1306,11 @@
      • This beta is built from sqlite.org's 3.3.1 alpha and contains development-in-progress code.  Therefore no guarantees can be made regarding its suitability for production use.
      • You no longer need to distribute 2 files on the CompactFramework.  -You can delete SQLite.Interop.dll entirely.  I wrote a custom tool +You can delete SQLite.Interop.DLL entirely.  I wrote a custom tool called "mergebin" (available in the source zip file) which combines the two libraries and gets around a glaring defect in the VS2005 linker for ARM processors which doesn't allow you to link netmodules.
      • x64 and ia64 builds now use the same strong name as the x86 build.  This means breaking backward compatibility, but it was necessary in order to allow @@ -1554,11 +1518,11 @@
  • 1.0.11 - August 1, 2005

      -
    • For everything except the Compact Framework, System.Data.SQLite.dll +
    • For everything except the Compact Framework, System.Data.SQLite.DLL is now the only DLL required to use this provider!  The assembly is now a multi-module assembly, containing both the native SQLite3 codebase and the C# classes built on top of it.  The Compact Framework version (when completed) will not be able to support this feature, so backwards compatibility with the Compact Framework has been preserved for the future. @@ -1581,11 +1545,11 @@

      1.0.09a - May 25, 2005

      • Fixed a broken helpfile and corrected some obsolete help remarks in SQLiteFunction.cs -
      • Added a version resource to the SQLite.Interop.dll. 
      +
    • Added a version resource to the SQLite.Interop.DLL. 

    1.0.09 - May 24, 2005

    • Code merge with the latest 3.21 version of SQLite. @@ -1643,11 +1607,11 @@
    • Moved all native DLL declarations to an UnsafeNativeMethods class.
    • Split several classes into their own modules for readability.
    • Renamed many internal variables, reviewed access to variables marked as internal and altered their protection levels accordingly.
    • Due to the presence of the altered sqlite3 codebase and so many added interop -functions, I decided to rename the sqlite3 C project and the DLL to SQLite.Interop.dll.  +functions, I decided to rename the sqlite3 C project and the DLL to SQLite.Interop.DLL.  This is the same core sqlite3 codebase but designed specifically for this ADO.NET provider.  This eliminates any possibility of someone dropping another build of sqlite3.dll into the system and rendering the provider inoperable.  In the future if the folks at sqlite.org finally introduce a method of retrieving column usage for an arbitrary prepared statement, I'll retool this library to be a lightweight Index: test/AssemblyInfo.cs ================================================================== --- test/AssemblyInfo.cs +++ test/AssemblyInfo.cs @@ -36,7 +36,7 @@ // Major Version // Minor Version // Build Number // Revision // -[assembly: AssemblyVersion("1.0.91.0")] -[assembly: AssemblyFileVersion("1.0.91.0")] +[assembly: AssemblyVersion("1.0.90.0")] +[assembly: AssemblyFileVersion("1.0.90.0")] Index: test/app.config ================================================================== --- test/app.config +++ test/app.config @@ -1,8 +1,8 @@ - + Index: test/test.2005.csproj ================================================================== --- test/test.2005.csproj +++ test/test.2005.csproj @@ -21,11 +21,10 @@ $(MSBuildProjectDirectory)\.. true 2005 - $(BinaryOutputPath) true @@ -83,19 +82,13 @@ - - - $(BuildDependsOn); - CloneAndMark32BitOnlyFrameworkTargetName32; - - Index: test/test.2008.csproj ================================================================== --- test/test.2008.csproj +++ test/test.2008.csproj @@ -22,11 +22,10 @@ $(MSBuildProjectDirectory)\.. true 2008 - $(BinaryOutputPath) true @@ -84,19 +83,13 @@ - - - $(BuildDependsOn); - CloneAndMark32BitOnlyFrameworkTargetName32; - - Index: test/test.2010.csproj ================================================================== --- test/test.2010.csproj +++ test/test.2010.csproj @@ -23,11 +23,10 @@ $(MSBuildProjectDirectory)\.. true 2010 - $(BinaryOutputPath) true @@ -85,20 +84,13 @@ - - - $(BuildDependsOn); - CloneAndMark32BitOnlyFrameworkTargetName32; - CloneAndMark32BitOnlySdkToolsTargetName32; - - Index: test/test.2012.csproj ================================================================== --- test/test.2012.csproj +++ test/test.2012.csproj @@ -22,11 +22,10 @@ 2012 v4.5 false - $(BinaryOutputPath) true @@ -84,20 +83,13 @@ - - - $(BuildDependsOn); - CloneAndMark32BitOnlyFrameworkTargetName32; - CloneAndMark32BitOnlySdkToolsTargetName32; - - Index: test/test.2013.csproj ================================================================== --- test/test.2013.csproj +++ test/test.2013.csproj @@ -22,11 +22,10 @@ 2013 v4.5.1 false - $(BinaryOutputPath) true @@ -84,20 +83,13 @@ - - - $(BuildDependsOn); - CloneAndMark32BitOnlyFrameworkTargetName32; - CloneAndMark32BitOnlySdkToolsTargetName32; - - Index: testce/AssemblyInfo.cs ================================================================== --- testce/AssemblyInfo.cs +++ testce/AssemblyInfo.cs @@ -36,8 +36,8 @@ // Major Version // Minor Version // Build Number // Revision // -[assembly: AssemblyVersion("1.0.91.0")] -// [assembly: AssemblyFileVersion("1.0.91.0")] +[assembly: AssemblyVersion("1.0.90.0")] +// [assembly: AssemblyFileVersion("1.0.90.0")] ADDED testlinq/2008/App.config Index: testlinq/2008/App.config ================================================================== --- /dev/null +++ testlinq/2008/App.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + DELETED testlinq/2008/LINQ/App.config Index: testlinq/2008/LINQ/App.config ================================================================== --- testlinq/2008/LINQ/App.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - ADDED testlinq/2010/App.config Index: testlinq/2010/App.config ================================================================== --- /dev/null +++ testlinq/2010/App.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + DELETED testlinq/2010/EF6/App.config Index: testlinq/2010/EF6/App.config ================================================================== --- testlinq/2010/EF6/App.config +++ /dev/null @@ -1,22 +0,0 @@ - - - -
      - - - - - - - - - - - - - - - - - - DELETED testlinq/2010/LINQ/App.config Index: testlinq/2010/LINQ/App.config ================================================================== --- testlinq/2010/LINQ/App.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - ADDED testlinq/2012/App.config Index: testlinq/2012/App.config ================================================================== --- /dev/null +++ testlinq/2012/App.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + DELETED testlinq/2012/EF6/App.config Index: testlinq/2012/EF6/App.config ================================================================== --- testlinq/2012/EF6/App.config +++ /dev/null @@ -1,22 +0,0 @@ - - - -
      - - - - - - - - - - - - - - - - - - DELETED testlinq/2012/LINQ/App.config Index: testlinq/2012/LINQ/App.config ================================================================== --- testlinq/2012/LINQ/App.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - ADDED testlinq/2013/App.config Index: testlinq/2013/App.config ================================================================== --- /dev/null +++ testlinq/2013/App.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + DELETED testlinq/2013/EF6/App.config Index: testlinq/2013/EF6/App.config ================================================================== --- testlinq/2013/EF6/App.config +++ /dev/null @@ -1,22 +0,0 @@ - - - -
      - - - - - - - - - - - - - - - - - - DELETED testlinq/2013/LINQ/App.config Index: testlinq/2013/LINQ/App.config ================================================================== --- testlinq/2013/LINQ/App.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - DELETED testlinq/NorthwindModel.EF6.2010.Designer.cs Index: testlinq/NorthwindModel.EF6.2010.Designer.cs ================================================================== --- testlinq/NorthwindModel.EF6.2010.Designer.cs +++ /dev/null @@ -1,3506 +0,0 @@ -/******************************************************** - * ADO.NET 2.0 Data Provider for SQLite Version 3.X - * Written by Robert Simpson (robert@blackcastlesoft.com) - * - * Released to the public domain, use at your own risk! - ********************************************************/ - -//------------------------------------------------------------------------------ -// -// This code was generated from a template. -// -// Manual changes to this file may cause unexpected behavior in your application. -// Manual changes to this file will be overwritten if the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.ComponentModel; -using System.Data.Entity.Core.EntityClient; -using System.Data.Entity.Core.Metadata.Edm; -using System.Data.Entity.Core.Objects; -using System.Data.Entity.Core.Objects.DataClasses; -using System.Runtime.Serialization; -using System.Xml.Serialization; - -[assembly: EdmSchemaAttribute()] -#region EDM Relationship Metadata - -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Categories), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Customers), "Orders", RelationshipMultiplicity.Many, typeof(testlinq.Orders))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "InternationalOrders", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.InternationalOrders), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products", RelationshipMultiplicity.One, typeof(testlinq.Products), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Suppliers), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions", RelationshipMultiplicity.One, typeof(testlinq.Regions), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "EmployeesTerritories", "Employees", RelationshipMultiplicity.Many, typeof(testlinq.Employees), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] - -#endregion - -namespace testlinq -{ - #region Contexts - - /// - /// No Metadata Documentation available. - /// - public partial class northwindEFEntities : ObjectContext - { - #region Constructors - - /// - /// Initializes a new northwindEFEntities object using the connection string found in the 'northwindEFEntities' section of the application configuration file. - /// - public northwindEFEntities() : base("name=northwindEFEntities", "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(string connectionString) : base(connectionString, "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(EntityConnection connection) : base(connection, "northwindEFEntities") - { - OnContextCreated(); - } - - #endregion - - #region Partial Methods - - partial void OnContextCreated(); - - #endregion - - #region ObjectSet Properties - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Categories - { - get - { - if ((_Categories == null)) - { - _Categories = base.CreateObjectSet("Categories"); - } - return _Categories; - } - } - private ObjectSet _Categories; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Customers - { - get - { - if ((_Customers == null)) - { - _Customers = base.CreateObjectSet("Customers"); - } - return _Customers; - } - } - private ObjectSet _Customers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Employees - { - get - { - if ((_Employees == null)) - { - _Employees = base.CreateObjectSet("Employees"); - } - return _Employees; - } - } - private ObjectSet _Employees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet InternationalOrders - { - get - { - if ((_InternationalOrders == null)) - { - _InternationalOrders = base.CreateObjectSet("InternationalOrders"); - } - return _InternationalOrders; - } - } - private ObjectSet _InternationalOrders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet OrderDetails - { - get - { - if ((_OrderDetails == null)) - { - _OrderDetails = base.CreateObjectSet("OrderDetails"); - } - return _OrderDetails; - } - } - private ObjectSet _OrderDetails; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Orders - { - get - { - if ((_Orders == null)) - { - _Orders = base.CreateObjectSet("Orders"); - } - return _Orders; - } - } - private ObjectSet _Orders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet PreviousEmployees - { - get - { - if ((_PreviousEmployees == null)) - { - _PreviousEmployees = base.CreateObjectSet("PreviousEmployees"); - } - return _PreviousEmployees; - } - } - private ObjectSet _PreviousEmployees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Products - { - get - { - if ((_Products == null)) - { - _Products = base.CreateObjectSet("Products"); - } - return _Products; - } - } - private ObjectSet _Products; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Regions - { - get - { - if ((_Regions == null)) - { - _Regions = base.CreateObjectSet("Regions"); - } - return _Regions; - } - } - private ObjectSet _Regions; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Suppliers - { - get - { - if ((_Suppliers == null)) - { - _Suppliers = base.CreateObjectSet("Suppliers"); - } - return _Suppliers; - } - } - private ObjectSet _Suppliers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Territories - { - get - { - if ((_Territories == null)) - { - _Territories = base.CreateObjectSet("Territories"); - } - return _Territories; - } - } - private ObjectSet _Territories; - - #endregion - #region AddTo Methods - - /// - /// Deprecated Method for adding a new object to the Categories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCategories(Categories categories) - { - base.AddObject("Categories", categories); - } - - /// - /// Deprecated Method for adding a new object to the Customers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCustomers(Customers customers) - { - base.AddObject("Customers", customers); - } - - /// - /// Deprecated Method for adding a new object to the Employees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToEmployees(Employees employees) - { - base.AddObject("Employees", employees); - } - - /// - /// Deprecated Method for adding a new object to the InternationalOrders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToInternationalOrders(InternationalOrders internationalOrders) - { - base.AddObject("InternationalOrders", internationalOrders); - } - - /// - /// Deprecated Method for adding a new object to the OrderDetails EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrderDetails(OrderDetails orderDetails) - { - base.AddObject("OrderDetails", orderDetails); - } - - /// - /// Deprecated Method for adding a new object to the Orders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrders(Orders orders) - { - base.AddObject("Orders", orders); - } - - /// - /// Deprecated Method for adding a new object to the PreviousEmployees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToPreviousEmployees(PreviousEmployees previousEmployees) - { - base.AddObject("PreviousEmployees", previousEmployees); - } - - /// - /// Deprecated Method for adding a new object to the Products EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToProducts(Products products) - { - base.AddObject("Products", products); - } - - /// - /// Deprecated Method for adding a new object to the Regions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToRegions(Regions regions) - { - base.AddObject("Regions", regions); - } - - /// - /// Deprecated Method for adding a new object to the Suppliers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToSuppliers(Suppliers suppliers) - { - base.AddObject("Suppliers", suppliers); - } - - /// - /// Deprecated Method for adding a new object to the Territories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToTerritories(Territories territories) - { - base.AddObject("Territories", territories); - } - - #endregion - } - - - #endregion - - #region Entities - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Categories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Categories : EntityObject - { - #region Factory Method - - /// - /// Create a new Categories object. - /// - /// Initial value of the CategoryID property. - /// Initial value of the CategoryName property. - public static Categories CreateCategories(global::System.Int64 categoryID, global::System.String categoryName) - { - Categories categories = new Categories(); - categories.CategoryID = categoryID; - categories.CategoryName = categoryName; - return categories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 CategoryID - { - get - { - return _CategoryID; - } - set - { - if (_CategoryID != value) - { - OnCategoryIDChanging(value); - ReportPropertyChanging("CategoryID"); - _CategoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("CategoryID"); - OnCategoryIDChanged(); - } - } - } - private global::System.Int64 _CategoryID; - partial void OnCategoryIDChanging(global::System.Int64 value); - partial void OnCategoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CategoryName - { - get - { - return _CategoryName; - } - set - { - OnCategoryNameChanging(value); - ReportPropertyChanging("CategoryName"); - _CategoryName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CategoryName"); - OnCategoryNameChanged(); - } - } - private global::System.String _CategoryName; - partial void OnCategoryNameChanging(global::System.String value); - partial void OnCategoryNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Description - { - get - { - return _Description; - } - set - { - OnDescriptionChanging(value); - ReportPropertyChanging("Description"); - _Description = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Description"); - OnDescriptionChanged(); - } - } - private global::System.String _Description; - partial void OnDescriptionChanging(global::System.String value); - partial void OnDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Picture - { - get - { - return StructuralObject.GetValidValue(_Picture); - } - set - { - OnPictureChanging(value); - ReportPropertyChanging("Picture"); - _Picture = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Picture"); - OnPictureChanged(); - } - } - private global::System.Byte[] _Picture; - partial void OnPictureChanging(global::System.Byte[] value); - partial void OnPictureChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Customers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Customers : EntityObject - { - #region Factory Method - - /// - /// Create a new Customers object. - /// - /// Initial value of the CustomerID property. - /// Initial value of the CompanyName property. - public static Customers CreateCustomers(global::System.String customerID, global::System.String companyName) - { - Customers customers = new Customers(); - customers.CustomerID = customerID; - customers.CompanyName = companyName; - return customers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomerID - { - get - { - return _CustomerID; - } - set - { - if (_CustomerID != value) - { - OnCustomerIDChanging(value); - ReportPropertyChanging("CustomerID"); - _CustomerID = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomerID"); - OnCustomerIDChanged(); - } - } - } - private global::System.String _CustomerID; - partial void OnCustomerIDChanging(global::System.String value); - partial void OnCustomerIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Orders")] - public EntityCollection Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Employees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Employees : EntityObject - { - #region Factory Method - - /// - /// Create a new Employees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static Employees CreateEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - Employees employees = new Employees(); - employees.EmployeeID = employeeID; - employees.LastName = lastName; - employees.FirstName = firstName; - return employees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="InternationalOrders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class InternationalOrders : EntityObject - { - #region Factory Method - - /// - /// Create a new InternationalOrders object. - /// - /// Initial value of the OrderID property. - /// Initial value of the CustomsDescription property. - /// Initial value of the ExciseTax property. - public static InternationalOrders CreateInternationalOrders(global::System.Int64 orderID, global::System.String customsDescription, global::System.Decimal exciseTax) - { - InternationalOrders internationalOrders = new InternationalOrders(); - internationalOrders.OrderID = orderID; - internationalOrders.CustomsDescription = customsDescription; - internationalOrders.ExciseTax = exciseTax; - return internationalOrders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomsDescription - { - get - { - return _CustomsDescription; - } - set - { - OnCustomsDescriptionChanging(value); - ReportPropertyChanging("CustomsDescription"); - _CustomsDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomsDescription"); - OnCustomsDescriptionChanged(); - } - } - private global::System.String _CustomsDescription; - partial void OnCustomsDescriptionChanging(global::System.String value); - partial void OnCustomsDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal ExciseTax - { - get - { - return _ExciseTax; - } - set - { - OnExciseTaxChanging(value); - ReportPropertyChanging("ExciseTax"); - _ExciseTax = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ExciseTax"); - OnExciseTaxChanged(); - } - } - private global::System.Decimal _ExciseTax; - partial void OnExciseTaxChanging(global::System.Decimal value); - partial void OnExciseTaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="OrderDetails")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class OrderDetails : EntityObject - { - #region Factory Method - - /// - /// Create a new OrderDetails object. - /// - /// Initial value of the OrderID property. - /// Initial value of the ProductID property. - /// Initial value of the UnitPrice property. - /// Initial value of the Quantity property. - /// Initial value of the Discount property. - public static OrderDetails CreateOrderDetails(global::System.Int64 orderID, global::System.Int64 productID, global::System.Decimal unitPrice, global::System.Int16 quantity, global::System.Single discount) - { - OrderDetails orderDetails = new OrderDetails(); - orderDetails.OrderID = orderID; - orderDetails.ProductID = productID; - orderDetails.UnitPrice = unitPrice; - orderDetails.Quantity = quantity; - orderDetails.Discount = discount; - return orderDetails; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private global::System.Decimal _UnitPrice; - partial void OnUnitPriceChanging(global::System.Decimal value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int16 Quantity - { - get - { - return _Quantity; - } - set - { - OnQuantityChanging(value); - ReportPropertyChanging("Quantity"); - _Quantity = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Quantity"); - OnQuantityChanged(); - } - } - private global::System.Int16 _Quantity; - partial void OnQuantityChanging(global::System.Int16 value); - partial void OnQuantityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Single Discount - { - get - { - return _Discount; - } - set - { - OnDiscountChanging(value); - ReportPropertyChanging("Discount"); - _Discount = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discount"); - OnDiscountChanged(); - } - } - private global::System.Single _Discount; - partial void OnDiscountChanging(global::System.Single value); - partial void OnDiscountChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products")] - public Products Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference ProductsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Orders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Orders : EntityObject - { - #region Factory Method - - /// - /// Create a new Orders object. - /// - /// Initial value of the OrderID property. - public static Orders CreateOrders(global::System.Int64 orderID) - { - Orders orders = new Orders(); - orders.OrderID = orderID; - return orders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable EmployeeID - { - get - { - return _EmployeeID; - } - set - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - private Nullable _EmployeeID; - partial void OnEmployeeIDChanging(Nullable value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable OrderDate - { - get - { - return _OrderDate; - } - set - { - OnOrderDateChanging(value); - ReportPropertyChanging("OrderDate"); - _OrderDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderDate"); - OnOrderDateChanged(); - } - } - private Nullable _OrderDate; - partial void OnOrderDateChanging(Nullable value); - partial void OnOrderDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable RequiredDate - { - get - { - return _RequiredDate; - } - set - { - OnRequiredDateChanging(value); - ReportPropertyChanging("RequiredDate"); - _RequiredDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RequiredDate"); - OnRequiredDateChanged(); - } - } - private Nullable _RequiredDate; - partial void OnRequiredDateChanging(Nullable value); - partial void OnRequiredDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ShippedDate - { - get - { - return _ShippedDate; - } - set - { - OnShippedDateChanging(value); - ReportPropertyChanging("ShippedDate"); - _ShippedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ShippedDate"); - OnShippedDateChanged(); - } - } - private Nullable _ShippedDate; - partial void OnShippedDateChanging(Nullable value); - partial void OnShippedDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable Freight - { - get - { - return _Freight; - } - set - { - OnFreightChanging(value); - ReportPropertyChanging("Freight"); - _Freight = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Freight"); - OnFreightChanged(); - } - } - private Nullable _Freight; - partial void OnFreightChanging(Nullable value); - partial void OnFreightChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipName - { - get - { - return _ShipName; - } - set - { - OnShipNameChanging(value); - ReportPropertyChanging("ShipName"); - _ShipName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipName"); - OnShipNameChanged(); - } - } - private global::System.String _ShipName; - partial void OnShipNameChanging(global::System.String value); - partial void OnShipNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipAddress - { - get - { - return _ShipAddress; - } - set - { - OnShipAddressChanging(value); - ReportPropertyChanging("ShipAddress"); - _ShipAddress = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipAddress"); - OnShipAddressChanged(); - } - } - private global::System.String _ShipAddress; - partial void OnShipAddressChanging(global::System.String value); - partial void OnShipAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCity - { - get - { - return _ShipCity; - } - set - { - OnShipCityChanging(value); - ReportPropertyChanging("ShipCity"); - _ShipCity = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCity"); - OnShipCityChanged(); - } - } - private global::System.String _ShipCity; - partial void OnShipCityChanging(global::System.String value); - partial void OnShipCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipRegion - { - get - { - return _ShipRegion; - } - set - { - OnShipRegionChanging(value); - ReportPropertyChanging("ShipRegion"); - _ShipRegion = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipRegion"); - OnShipRegionChanged(); - } - } - private global::System.String _ShipRegion; - partial void OnShipRegionChanging(global::System.String value); - partial void OnShipRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipPostalCode - { - get - { - return _ShipPostalCode; - } - set - { - OnShipPostalCodeChanging(value); - ReportPropertyChanging("ShipPostalCode"); - _ShipPostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipPostalCode"); - OnShipPostalCodeChanged(); - } - } - private global::System.String _ShipPostalCode; - partial void OnShipPostalCodeChanging(global::System.String value); - partial void OnShipPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCountry - { - get - { - return _ShipCountry; - } - set - { - OnShipCountryChanging(value); - ReportPropertyChanging("ShipCountry"); - _ShipCountry = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCountry"); - OnShipCountryChanged(); - } - } - private global::System.String _ShipCountry; - partial void OnShipCountryChanging(global::System.String value); - partial void OnShipCountryChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers")] - public Customers Customers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CustomersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "InternationalOrders")] - public InternationalOrders InternationalOrders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference InternationalOrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="PreviousEmployees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class PreviousEmployees : EntityObject - { - #region Factory Method - - /// - /// Create a new PreviousEmployees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static PreviousEmployees CreatePreviousEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - PreviousEmployees previousEmployees = new PreviousEmployees(); - previousEmployees.EmployeeID = employeeID; - previousEmployees.LastName = lastName; - previousEmployees.FirstName = firstName; - return previousEmployees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Products")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Products : EntityObject - { - #region Factory Method - - /// - /// Create a new Products object. - /// - /// Initial value of the ProductID property. - /// Initial value of the ProductName property. - /// Initial value of the Discontinued property. - public static Products CreateProducts(global::System.Int64 productID, global::System.String productName, global::System.Boolean discontinued) - { - Products products = new Products(); - products.ProductID = productID; - products.ProductName = productName; - products.Discontinued = discontinued; - return products; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String ProductName - { - get - { - return _ProductName; - } - set - { - OnProductNameChanging(value); - ReportPropertyChanging("ProductName"); - _ProductName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("ProductName"); - OnProductNameChanged(); - } - } - private global::System.String _ProductName; - partial void OnProductNameChanging(global::System.String value); - partial void OnProductNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String QuantityPerUnit - { - get - { - return _QuantityPerUnit; - } - set - { - OnQuantityPerUnitChanging(value); - ReportPropertyChanging("QuantityPerUnit"); - _QuantityPerUnit = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("QuantityPerUnit"); - OnQuantityPerUnitChanged(); - } - } - private global::System.String _QuantityPerUnit; - partial void OnQuantityPerUnitChanging(global::System.String value); - partial void OnQuantityPerUnitChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private Nullable _UnitPrice; - partial void OnUnitPriceChanging(Nullable value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsInStock - { - get - { - return _UnitsInStock; - } - set - { - OnUnitsInStockChanging(value); - ReportPropertyChanging("UnitsInStock"); - _UnitsInStock = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsInStock"); - OnUnitsInStockChanged(); - } - } - private Nullable _UnitsInStock; - partial void OnUnitsInStockChanging(Nullable value); - partial void OnUnitsInStockChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsOnOrder - { - get - { - return _UnitsOnOrder; - } - set - { - OnUnitsOnOrderChanging(value); - ReportPropertyChanging("UnitsOnOrder"); - _UnitsOnOrder = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsOnOrder"); - OnUnitsOnOrderChanged(); - } - } - private Nullable _UnitsOnOrder; - partial void OnUnitsOnOrderChanging(Nullable value); - partial void OnUnitsOnOrderChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ReorderLevel - { - get - { - return _ReorderLevel; - } - set - { - OnReorderLevelChanging(value); - ReportPropertyChanging("ReorderLevel"); - _ReorderLevel = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ReorderLevel"); - OnReorderLevelChanged(); - } - } - private Nullable _ReorderLevel; - partial void OnReorderLevelChanging(Nullable value); - partial void OnReorderLevelChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Boolean Discontinued - { - get - { - return _Discontinued; - } - set - { - OnDiscontinuedChanging(value); - ReportPropertyChanging("Discontinued"); - _Discontinued = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discontinued"); - OnDiscontinuedChanged(); - } - } - private global::System.Boolean _Discontinued; - partial void OnDiscontinuedChanging(global::System.Boolean value); - partial void OnDiscontinuedChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable DiscontinuedDate - { - get - { - return _DiscontinuedDate; - } - set - { - OnDiscontinuedDateChanging(value); - ReportPropertyChanging("DiscontinuedDate"); - _DiscontinuedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("DiscontinuedDate"); - OnDiscontinuedDateChanged(); - } - } - private Nullable _DiscontinuedDate; - partial void OnDiscontinuedDateChanging(Nullable value); - partial void OnDiscontinuedDateChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories")] - public Categories Categories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CategoriesReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers")] - public Suppliers Suppliers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference SuppliersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Regions")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Regions : EntityObject - { - #region Factory Method - - /// - /// Create a new Regions object. - /// - /// Initial value of the RegionID property. - /// Initial value of the RegionDescription property. - public static Regions CreateRegions(global::System.Int64 regionID, global::System.String regionDescription) - { - Regions regions = new Regions(); - regions.RegionID = regionID; - regions.RegionDescription = regionDescription; - return regions; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 RegionID - { - get - { - return _RegionID; - } - set - { - if (_RegionID != value) - { - OnRegionIDChanging(value); - ReportPropertyChanging("RegionID"); - _RegionID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RegionID"); - OnRegionIDChanged(); - } - } - } - private global::System.Int64 _RegionID; - partial void OnRegionIDChanging(global::System.Int64 value); - partial void OnRegionIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String RegionDescription - { - get - { - return _RegionDescription; - } - set - { - OnRegionDescriptionChanging(value); - ReportPropertyChanging("RegionDescription"); - _RegionDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("RegionDescription"); - OnRegionDescriptionChanged(); - } - } - private global::System.String _RegionDescription; - partial void OnRegionDescriptionChanging(global::System.String value); - partial void OnRegionDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Suppliers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Suppliers : EntityObject - { - #region Factory Method - - /// - /// Create a new Suppliers object. - /// - /// Initial value of the SupplierID property. - /// Initial value of the CompanyName property. - public static Suppliers CreateSuppliers(global::System.Int64 supplierID, global::System.String companyName) - { - Suppliers suppliers = new Suppliers(); - suppliers.SupplierID = supplierID; - suppliers.CompanyName = companyName; - return suppliers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 SupplierID - { - get - { - return _SupplierID; - } - set - { - if (_SupplierID != value) - { - OnSupplierIDChanging(value); - ReportPropertyChanging("SupplierID"); - _SupplierID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("SupplierID"); - OnSupplierIDChanged(); - } - } - } - private global::System.Int64 _SupplierID; - partial void OnSupplierIDChanging(global::System.Int64 value); - partial void OnSupplierIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePage - { - get - { - return _HomePage; - } - set - { - OnHomePageChanging(value); - ReportPropertyChanging("HomePage"); - _HomePage = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePage"); - OnHomePageChanged(); - } - } - private global::System.String _HomePage; - partial void OnHomePageChanging(global::System.String value); - partial void OnHomePageChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Territories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Territories : EntityObject - { - #region Factory Method - - /// - /// Create a new Territories object. - /// - /// Initial value of the TerritoryID property. - /// Initial value of the TerritoryDescription property. - public static Territories CreateTerritories(global::System.Int64 territoryID, global::System.String territoryDescription) - { - Territories territories = new Territories(); - territories.TerritoryID = territoryID; - territories.TerritoryDescription = territoryDescription; - return territories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 TerritoryID - { - get - { - return _TerritoryID; - } - set - { - if (_TerritoryID != value) - { - OnTerritoryIDChanging(value); - ReportPropertyChanging("TerritoryID"); - _TerritoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("TerritoryID"); - OnTerritoryIDChanged(); - } - } - } - private global::System.Int64 _TerritoryID; - partial void OnTerritoryIDChanging(global::System.Int64 value); - partial void OnTerritoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String TerritoryDescription - { - get - { - return _TerritoryDescription; - } - set - { - OnTerritoryDescriptionChanging(value); - ReportPropertyChanging("TerritoryDescription"); - _TerritoryDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("TerritoryDescription"); - OnTerritoryDescriptionChanged(); - } - } - private global::System.String _TerritoryDescription; - partial void OnTerritoryDescriptionChanging(global::System.String value); - partial void OnTerritoryDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions")] - public Regions Regions - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference RegionsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Employees")] - public EntityCollection Employees - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees", value); - } - } - } - - #endregion - } - - #endregion - -} DELETED testlinq/NorthwindModel.EF6.2010.edmx Index: testlinq/NorthwindModel.EF6.2010.edmx ================================================================== --- testlinq/NorthwindModel.EF6.2010.edmx +++ /dev/null @@ -1,909 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DELETED testlinq/NorthwindModel.EF6.2012.Designer.cs Index: testlinq/NorthwindModel.EF6.2012.Designer.cs ================================================================== --- testlinq/NorthwindModel.EF6.2012.Designer.cs +++ /dev/null @@ -1,3506 +0,0 @@ -/******************************************************** - * ADO.NET 2.0 Data Provider for SQLite Version 3.X - * Written by Robert Simpson (robert@blackcastlesoft.com) - * - * Released to the public domain, use at your own risk! - ********************************************************/ - -//------------------------------------------------------------------------------ -// -// This code was generated from a template. -// -// Manual changes to this file may cause unexpected behavior in your application. -// Manual changes to this file will be overwritten if the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.ComponentModel; -using System.Data.Entity.Core.EntityClient; -using System.Data.Entity.Core.Metadata.Edm; -using System.Data.Entity.Core.Objects; -using System.Data.Entity.Core.Objects.DataClasses; -using System.Runtime.Serialization; -using System.Xml.Serialization; - -[assembly: EdmSchemaAttribute()] -#region EDM Relationship Metadata - -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Categories), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Customers), "Orders", RelationshipMultiplicity.Many, typeof(testlinq.Orders))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "InternationalOrders", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.InternationalOrders), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products", RelationshipMultiplicity.One, typeof(testlinq.Products), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Suppliers), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions", RelationshipMultiplicity.One, typeof(testlinq.Regions), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "EmployeesTerritories", "Employees", RelationshipMultiplicity.Many, typeof(testlinq.Employees), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] - -#endregion - -namespace testlinq -{ - #region Contexts - - /// - /// No Metadata Documentation available. - /// - public partial class northwindEFEntities : ObjectContext - { - #region Constructors - - /// - /// Initializes a new northwindEFEntities object using the connection string found in the 'northwindEFEntities' section of the application configuration file. - /// - public northwindEFEntities() : base("name=northwindEFEntities", "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(string connectionString) : base(connectionString, "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(EntityConnection connection) : base(connection, "northwindEFEntities") - { - OnContextCreated(); - } - - #endregion - - #region Partial Methods - - partial void OnContextCreated(); - - #endregion - - #region ObjectSet Properties - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Categories - { - get - { - if ((_Categories == null)) - { - _Categories = base.CreateObjectSet("Categories"); - } - return _Categories; - } - } - private ObjectSet _Categories; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Customers - { - get - { - if ((_Customers == null)) - { - _Customers = base.CreateObjectSet("Customers"); - } - return _Customers; - } - } - private ObjectSet _Customers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Employees - { - get - { - if ((_Employees == null)) - { - _Employees = base.CreateObjectSet("Employees"); - } - return _Employees; - } - } - private ObjectSet _Employees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet InternationalOrders - { - get - { - if ((_InternationalOrders == null)) - { - _InternationalOrders = base.CreateObjectSet("InternationalOrders"); - } - return _InternationalOrders; - } - } - private ObjectSet _InternationalOrders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet OrderDetails - { - get - { - if ((_OrderDetails == null)) - { - _OrderDetails = base.CreateObjectSet("OrderDetails"); - } - return _OrderDetails; - } - } - private ObjectSet _OrderDetails; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Orders - { - get - { - if ((_Orders == null)) - { - _Orders = base.CreateObjectSet("Orders"); - } - return _Orders; - } - } - private ObjectSet _Orders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet PreviousEmployees - { - get - { - if ((_PreviousEmployees == null)) - { - _PreviousEmployees = base.CreateObjectSet("PreviousEmployees"); - } - return _PreviousEmployees; - } - } - private ObjectSet _PreviousEmployees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Products - { - get - { - if ((_Products == null)) - { - _Products = base.CreateObjectSet("Products"); - } - return _Products; - } - } - private ObjectSet _Products; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Regions - { - get - { - if ((_Regions == null)) - { - _Regions = base.CreateObjectSet("Regions"); - } - return _Regions; - } - } - private ObjectSet _Regions; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Suppliers - { - get - { - if ((_Suppliers == null)) - { - _Suppliers = base.CreateObjectSet("Suppliers"); - } - return _Suppliers; - } - } - private ObjectSet _Suppliers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Territories - { - get - { - if ((_Territories == null)) - { - _Territories = base.CreateObjectSet("Territories"); - } - return _Territories; - } - } - private ObjectSet _Territories; - - #endregion - #region AddTo Methods - - /// - /// Deprecated Method for adding a new object to the Categories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCategories(Categories categories) - { - base.AddObject("Categories", categories); - } - - /// - /// Deprecated Method for adding a new object to the Customers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCustomers(Customers customers) - { - base.AddObject("Customers", customers); - } - - /// - /// Deprecated Method for adding a new object to the Employees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToEmployees(Employees employees) - { - base.AddObject("Employees", employees); - } - - /// - /// Deprecated Method for adding a new object to the InternationalOrders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToInternationalOrders(InternationalOrders internationalOrders) - { - base.AddObject("InternationalOrders", internationalOrders); - } - - /// - /// Deprecated Method for adding a new object to the OrderDetails EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrderDetails(OrderDetails orderDetails) - { - base.AddObject("OrderDetails", orderDetails); - } - - /// - /// Deprecated Method for adding a new object to the Orders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrders(Orders orders) - { - base.AddObject("Orders", orders); - } - - /// - /// Deprecated Method for adding a new object to the PreviousEmployees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToPreviousEmployees(PreviousEmployees previousEmployees) - { - base.AddObject("PreviousEmployees", previousEmployees); - } - - /// - /// Deprecated Method for adding a new object to the Products EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToProducts(Products products) - { - base.AddObject("Products", products); - } - - /// - /// Deprecated Method for adding a new object to the Regions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToRegions(Regions regions) - { - base.AddObject("Regions", regions); - } - - /// - /// Deprecated Method for adding a new object to the Suppliers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToSuppliers(Suppliers suppliers) - { - base.AddObject("Suppliers", suppliers); - } - - /// - /// Deprecated Method for adding a new object to the Territories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToTerritories(Territories territories) - { - base.AddObject("Territories", territories); - } - - #endregion - } - - - #endregion - - #region Entities - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Categories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Categories : EntityObject - { - #region Factory Method - - /// - /// Create a new Categories object. - /// - /// Initial value of the CategoryID property. - /// Initial value of the CategoryName property. - public static Categories CreateCategories(global::System.Int64 categoryID, global::System.String categoryName) - { - Categories categories = new Categories(); - categories.CategoryID = categoryID; - categories.CategoryName = categoryName; - return categories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 CategoryID - { - get - { - return _CategoryID; - } - set - { - if (_CategoryID != value) - { - OnCategoryIDChanging(value); - ReportPropertyChanging("CategoryID"); - _CategoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("CategoryID"); - OnCategoryIDChanged(); - } - } - } - private global::System.Int64 _CategoryID; - partial void OnCategoryIDChanging(global::System.Int64 value); - partial void OnCategoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CategoryName - { - get - { - return _CategoryName; - } - set - { - OnCategoryNameChanging(value); - ReportPropertyChanging("CategoryName"); - _CategoryName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CategoryName"); - OnCategoryNameChanged(); - } - } - private global::System.String _CategoryName; - partial void OnCategoryNameChanging(global::System.String value); - partial void OnCategoryNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Description - { - get - { - return _Description; - } - set - { - OnDescriptionChanging(value); - ReportPropertyChanging("Description"); - _Description = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Description"); - OnDescriptionChanged(); - } - } - private global::System.String _Description; - partial void OnDescriptionChanging(global::System.String value); - partial void OnDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Picture - { - get - { - return StructuralObject.GetValidValue(_Picture); - } - set - { - OnPictureChanging(value); - ReportPropertyChanging("Picture"); - _Picture = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Picture"); - OnPictureChanged(); - } - } - private global::System.Byte[] _Picture; - partial void OnPictureChanging(global::System.Byte[] value); - partial void OnPictureChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Customers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Customers : EntityObject - { - #region Factory Method - - /// - /// Create a new Customers object. - /// - /// Initial value of the CustomerID property. - /// Initial value of the CompanyName property. - public static Customers CreateCustomers(global::System.String customerID, global::System.String companyName) - { - Customers customers = new Customers(); - customers.CustomerID = customerID; - customers.CompanyName = companyName; - return customers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomerID - { - get - { - return _CustomerID; - } - set - { - if (_CustomerID != value) - { - OnCustomerIDChanging(value); - ReportPropertyChanging("CustomerID"); - _CustomerID = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomerID"); - OnCustomerIDChanged(); - } - } - } - private global::System.String _CustomerID; - partial void OnCustomerIDChanging(global::System.String value); - partial void OnCustomerIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Orders")] - public EntityCollection Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Employees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Employees : EntityObject - { - #region Factory Method - - /// - /// Create a new Employees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static Employees CreateEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - Employees employees = new Employees(); - employees.EmployeeID = employeeID; - employees.LastName = lastName; - employees.FirstName = firstName; - return employees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="InternationalOrders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class InternationalOrders : EntityObject - { - #region Factory Method - - /// - /// Create a new InternationalOrders object. - /// - /// Initial value of the OrderID property. - /// Initial value of the CustomsDescription property. - /// Initial value of the ExciseTax property. - public static InternationalOrders CreateInternationalOrders(global::System.Int64 orderID, global::System.String customsDescription, global::System.Decimal exciseTax) - { - InternationalOrders internationalOrders = new InternationalOrders(); - internationalOrders.OrderID = orderID; - internationalOrders.CustomsDescription = customsDescription; - internationalOrders.ExciseTax = exciseTax; - return internationalOrders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomsDescription - { - get - { - return _CustomsDescription; - } - set - { - OnCustomsDescriptionChanging(value); - ReportPropertyChanging("CustomsDescription"); - _CustomsDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomsDescription"); - OnCustomsDescriptionChanged(); - } - } - private global::System.String _CustomsDescription; - partial void OnCustomsDescriptionChanging(global::System.String value); - partial void OnCustomsDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal ExciseTax - { - get - { - return _ExciseTax; - } - set - { - OnExciseTaxChanging(value); - ReportPropertyChanging("ExciseTax"); - _ExciseTax = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ExciseTax"); - OnExciseTaxChanged(); - } - } - private global::System.Decimal _ExciseTax; - partial void OnExciseTaxChanging(global::System.Decimal value); - partial void OnExciseTaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="OrderDetails")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class OrderDetails : EntityObject - { - #region Factory Method - - /// - /// Create a new OrderDetails object. - /// - /// Initial value of the OrderID property. - /// Initial value of the ProductID property. - /// Initial value of the UnitPrice property. - /// Initial value of the Quantity property. - /// Initial value of the Discount property. - public static OrderDetails CreateOrderDetails(global::System.Int64 orderID, global::System.Int64 productID, global::System.Decimal unitPrice, global::System.Int16 quantity, global::System.Single discount) - { - OrderDetails orderDetails = new OrderDetails(); - orderDetails.OrderID = orderID; - orderDetails.ProductID = productID; - orderDetails.UnitPrice = unitPrice; - orderDetails.Quantity = quantity; - orderDetails.Discount = discount; - return orderDetails; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private global::System.Decimal _UnitPrice; - partial void OnUnitPriceChanging(global::System.Decimal value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int16 Quantity - { - get - { - return _Quantity; - } - set - { - OnQuantityChanging(value); - ReportPropertyChanging("Quantity"); - _Quantity = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Quantity"); - OnQuantityChanged(); - } - } - private global::System.Int16 _Quantity; - partial void OnQuantityChanging(global::System.Int16 value); - partial void OnQuantityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Single Discount - { - get - { - return _Discount; - } - set - { - OnDiscountChanging(value); - ReportPropertyChanging("Discount"); - _Discount = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discount"); - OnDiscountChanged(); - } - } - private global::System.Single _Discount; - partial void OnDiscountChanging(global::System.Single value); - partial void OnDiscountChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products")] - public Products Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference ProductsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Orders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Orders : EntityObject - { - #region Factory Method - - /// - /// Create a new Orders object. - /// - /// Initial value of the OrderID property. - public static Orders CreateOrders(global::System.Int64 orderID) - { - Orders orders = new Orders(); - orders.OrderID = orderID; - return orders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable EmployeeID - { - get - { - return _EmployeeID; - } - set - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - private Nullable _EmployeeID; - partial void OnEmployeeIDChanging(Nullable value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable OrderDate - { - get - { - return _OrderDate; - } - set - { - OnOrderDateChanging(value); - ReportPropertyChanging("OrderDate"); - _OrderDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderDate"); - OnOrderDateChanged(); - } - } - private Nullable _OrderDate; - partial void OnOrderDateChanging(Nullable value); - partial void OnOrderDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable RequiredDate - { - get - { - return _RequiredDate; - } - set - { - OnRequiredDateChanging(value); - ReportPropertyChanging("RequiredDate"); - _RequiredDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RequiredDate"); - OnRequiredDateChanged(); - } - } - private Nullable _RequiredDate; - partial void OnRequiredDateChanging(Nullable value); - partial void OnRequiredDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ShippedDate - { - get - { - return _ShippedDate; - } - set - { - OnShippedDateChanging(value); - ReportPropertyChanging("ShippedDate"); - _ShippedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ShippedDate"); - OnShippedDateChanged(); - } - } - private Nullable _ShippedDate; - partial void OnShippedDateChanging(Nullable value); - partial void OnShippedDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable Freight - { - get - { - return _Freight; - } - set - { - OnFreightChanging(value); - ReportPropertyChanging("Freight"); - _Freight = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Freight"); - OnFreightChanged(); - } - } - private Nullable _Freight; - partial void OnFreightChanging(Nullable value); - partial void OnFreightChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipName - { - get - { - return _ShipName; - } - set - { - OnShipNameChanging(value); - ReportPropertyChanging("ShipName"); - _ShipName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipName"); - OnShipNameChanged(); - } - } - private global::System.String _ShipName; - partial void OnShipNameChanging(global::System.String value); - partial void OnShipNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipAddress - { - get - { - return _ShipAddress; - } - set - { - OnShipAddressChanging(value); - ReportPropertyChanging("ShipAddress"); - _ShipAddress = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipAddress"); - OnShipAddressChanged(); - } - } - private global::System.String _ShipAddress; - partial void OnShipAddressChanging(global::System.String value); - partial void OnShipAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCity - { - get - { - return _ShipCity; - } - set - { - OnShipCityChanging(value); - ReportPropertyChanging("ShipCity"); - _ShipCity = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCity"); - OnShipCityChanged(); - } - } - private global::System.String _ShipCity; - partial void OnShipCityChanging(global::System.String value); - partial void OnShipCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipRegion - { - get - { - return _ShipRegion; - } - set - { - OnShipRegionChanging(value); - ReportPropertyChanging("ShipRegion"); - _ShipRegion = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipRegion"); - OnShipRegionChanged(); - } - } - private global::System.String _ShipRegion; - partial void OnShipRegionChanging(global::System.String value); - partial void OnShipRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipPostalCode - { - get - { - return _ShipPostalCode; - } - set - { - OnShipPostalCodeChanging(value); - ReportPropertyChanging("ShipPostalCode"); - _ShipPostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipPostalCode"); - OnShipPostalCodeChanged(); - } - } - private global::System.String _ShipPostalCode; - partial void OnShipPostalCodeChanging(global::System.String value); - partial void OnShipPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCountry - { - get - { - return _ShipCountry; - } - set - { - OnShipCountryChanging(value); - ReportPropertyChanging("ShipCountry"); - _ShipCountry = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCountry"); - OnShipCountryChanged(); - } - } - private global::System.String _ShipCountry; - partial void OnShipCountryChanging(global::System.String value); - partial void OnShipCountryChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers")] - public Customers Customers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CustomersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "InternationalOrders")] - public InternationalOrders InternationalOrders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference InternationalOrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="PreviousEmployees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class PreviousEmployees : EntityObject - { - #region Factory Method - - /// - /// Create a new PreviousEmployees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static PreviousEmployees CreatePreviousEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - PreviousEmployees previousEmployees = new PreviousEmployees(); - previousEmployees.EmployeeID = employeeID; - previousEmployees.LastName = lastName; - previousEmployees.FirstName = firstName; - return previousEmployees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Products")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Products : EntityObject - { - #region Factory Method - - /// - /// Create a new Products object. - /// - /// Initial value of the ProductID property. - /// Initial value of the ProductName property. - /// Initial value of the Discontinued property. - public static Products CreateProducts(global::System.Int64 productID, global::System.String productName, global::System.Boolean discontinued) - { - Products products = new Products(); - products.ProductID = productID; - products.ProductName = productName; - products.Discontinued = discontinued; - return products; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String ProductName - { - get - { - return _ProductName; - } - set - { - OnProductNameChanging(value); - ReportPropertyChanging("ProductName"); - _ProductName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("ProductName"); - OnProductNameChanged(); - } - } - private global::System.String _ProductName; - partial void OnProductNameChanging(global::System.String value); - partial void OnProductNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String QuantityPerUnit - { - get - { - return _QuantityPerUnit; - } - set - { - OnQuantityPerUnitChanging(value); - ReportPropertyChanging("QuantityPerUnit"); - _QuantityPerUnit = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("QuantityPerUnit"); - OnQuantityPerUnitChanged(); - } - } - private global::System.String _QuantityPerUnit; - partial void OnQuantityPerUnitChanging(global::System.String value); - partial void OnQuantityPerUnitChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private Nullable _UnitPrice; - partial void OnUnitPriceChanging(Nullable value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsInStock - { - get - { - return _UnitsInStock; - } - set - { - OnUnitsInStockChanging(value); - ReportPropertyChanging("UnitsInStock"); - _UnitsInStock = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsInStock"); - OnUnitsInStockChanged(); - } - } - private Nullable _UnitsInStock; - partial void OnUnitsInStockChanging(Nullable value); - partial void OnUnitsInStockChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsOnOrder - { - get - { - return _UnitsOnOrder; - } - set - { - OnUnitsOnOrderChanging(value); - ReportPropertyChanging("UnitsOnOrder"); - _UnitsOnOrder = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsOnOrder"); - OnUnitsOnOrderChanged(); - } - } - private Nullable _UnitsOnOrder; - partial void OnUnitsOnOrderChanging(Nullable value); - partial void OnUnitsOnOrderChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ReorderLevel - { - get - { - return _ReorderLevel; - } - set - { - OnReorderLevelChanging(value); - ReportPropertyChanging("ReorderLevel"); - _ReorderLevel = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ReorderLevel"); - OnReorderLevelChanged(); - } - } - private Nullable _ReorderLevel; - partial void OnReorderLevelChanging(Nullable value); - partial void OnReorderLevelChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Boolean Discontinued - { - get - { - return _Discontinued; - } - set - { - OnDiscontinuedChanging(value); - ReportPropertyChanging("Discontinued"); - _Discontinued = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discontinued"); - OnDiscontinuedChanged(); - } - } - private global::System.Boolean _Discontinued; - partial void OnDiscontinuedChanging(global::System.Boolean value); - partial void OnDiscontinuedChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable DiscontinuedDate - { - get - { - return _DiscontinuedDate; - } - set - { - OnDiscontinuedDateChanging(value); - ReportPropertyChanging("DiscontinuedDate"); - _DiscontinuedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("DiscontinuedDate"); - OnDiscontinuedDateChanged(); - } - } - private Nullable _DiscontinuedDate; - partial void OnDiscontinuedDateChanging(Nullable value); - partial void OnDiscontinuedDateChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories")] - public Categories Categories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CategoriesReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers")] - public Suppliers Suppliers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference SuppliersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Regions")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Regions : EntityObject - { - #region Factory Method - - /// - /// Create a new Regions object. - /// - /// Initial value of the RegionID property. - /// Initial value of the RegionDescription property. - public static Regions CreateRegions(global::System.Int64 regionID, global::System.String regionDescription) - { - Regions regions = new Regions(); - regions.RegionID = regionID; - regions.RegionDescription = regionDescription; - return regions; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 RegionID - { - get - { - return _RegionID; - } - set - { - if (_RegionID != value) - { - OnRegionIDChanging(value); - ReportPropertyChanging("RegionID"); - _RegionID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RegionID"); - OnRegionIDChanged(); - } - } - } - private global::System.Int64 _RegionID; - partial void OnRegionIDChanging(global::System.Int64 value); - partial void OnRegionIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String RegionDescription - { - get - { - return _RegionDescription; - } - set - { - OnRegionDescriptionChanging(value); - ReportPropertyChanging("RegionDescription"); - _RegionDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("RegionDescription"); - OnRegionDescriptionChanged(); - } - } - private global::System.String _RegionDescription; - partial void OnRegionDescriptionChanging(global::System.String value); - partial void OnRegionDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Suppliers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Suppliers : EntityObject - { - #region Factory Method - - /// - /// Create a new Suppliers object. - /// - /// Initial value of the SupplierID property. - /// Initial value of the CompanyName property. - public static Suppliers CreateSuppliers(global::System.Int64 supplierID, global::System.String companyName) - { - Suppliers suppliers = new Suppliers(); - suppliers.SupplierID = supplierID; - suppliers.CompanyName = companyName; - return suppliers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 SupplierID - { - get - { - return _SupplierID; - } - set - { - if (_SupplierID != value) - { - OnSupplierIDChanging(value); - ReportPropertyChanging("SupplierID"); - _SupplierID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("SupplierID"); - OnSupplierIDChanged(); - } - } - } - private global::System.Int64 _SupplierID; - partial void OnSupplierIDChanging(global::System.Int64 value); - partial void OnSupplierIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePage - { - get - { - return _HomePage; - } - set - { - OnHomePageChanging(value); - ReportPropertyChanging("HomePage"); - _HomePage = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePage"); - OnHomePageChanged(); - } - } - private global::System.String _HomePage; - partial void OnHomePageChanging(global::System.String value); - partial void OnHomePageChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Territories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Territories : EntityObject - { - #region Factory Method - - /// - /// Create a new Territories object. - /// - /// Initial value of the TerritoryID property. - /// Initial value of the TerritoryDescription property. - public static Territories CreateTerritories(global::System.Int64 territoryID, global::System.String territoryDescription) - { - Territories territories = new Territories(); - territories.TerritoryID = territoryID; - territories.TerritoryDescription = territoryDescription; - return territories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 TerritoryID - { - get - { - return _TerritoryID; - } - set - { - if (_TerritoryID != value) - { - OnTerritoryIDChanging(value); - ReportPropertyChanging("TerritoryID"); - _TerritoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("TerritoryID"); - OnTerritoryIDChanged(); - } - } - } - private global::System.Int64 _TerritoryID; - partial void OnTerritoryIDChanging(global::System.Int64 value); - partial void OnTerritoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String TerritoryDescription - { - get - { - return _TerritoryDescription; - } - set - { - OnTerritoryDescriptionChanging(value); - ReportPropertyChanging("TerritoryDescription"); - _TerritoryDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("TerritoryDescription"); - OnTerritoryDescriptionChanged(); - } - } - private global::System.String _TerritoryDescription; - partial void OnTerritoryDescriptionChanging(global::System.String value); - partial void OnTerritoryDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions")] - public Regions Regions - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference RegionsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Employees")] - public EntityCollection Employees - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees", value); - } - } - } - - #endregion - } - - #endregion - -} DELETED testlinq/NorthwindModel.EF6.2012.edmx Index: testlinq/NorthwindModel.EF6.2012.edmx ================================================================== --- testlinq/NorthwindModel.EF6.2012.edmx +++ /dev/null @@ -1,909 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DELETED testlinq/NorthwindModel.EF6.2013.Designer.cs Index: testlinq/NorthwindModel.EF6.2013.Designer.cs ================================================================== --- testlinq/NorthwindModel.EF6.2013.Designer.cs +++ /dev/null @@ -1,3506 +0,0 @@ -/******************************************************** - * ADO.NET 2.0 Data Provider for SQLite Version 3.X - * Written by Robert Simpson (robert@blackcastlesoft.com) - * - * Released to the public domain, use at your own risk! - ********************************************************/ - -//------------------------------------------------------------------------------ -// -// This code was generated from a template. -// -// Manual changes to this file may cause unexpected behavior in your application. -// Manual changes to this file will be overwritten if the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.ComponentModel; -using System.Data.Entity.Core.EntityClient; -using System.Data.Entity.Core.Metadata.Edm; -using System.Data.Entity.Core.Objects; -using System.Data.Entity.Core.Objects.DataClasses; -using System.Runtime.Serialization; -using System.Xml.Serialization; - -[assembly: EdmSchemaAttribute()] -#region EDM Relationship Metadata - -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Categories), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Customers), "Orders", RelationshipMultiplicity.Many, typeof(testlinq.Orders))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "InternationalOrders", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.InternationalOrders), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products", RelationshipMultiplicity.One, typeof(testlinq.Products), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Suppliers), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions", RelationshipMultiplicity.One, typeof(testlinq.Regions), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "EmployeesTerritories", "Employees", RelationshipMultiplicity.Many, typeof(testlinq.Employees), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] - -#endregion - -namespace testlinq -{ - #region Contexts - - /// - /// No Metadata Documentation available. - /// - public partial class northwindEFEntities : ObjectContext - { - #region Constructors - - /// - /// Initializes a new northwindEFEntities object using the connection string found in the 'northwindEFEntities' section of the application configuration file. - /// - public northwindEFEntities() : base("name=northwindEFEntities", "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(string connectionString) : base(connectionString, "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(EntityConnection connection) : base(connection, "northwindEFEntities") - { - OnContextCreated(); - } - - #endregion - - #region Partial Methods - - partial void OnContextCreated(); - - #endregion - - #region ObjectSet Properties - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Categories - { - get - { - if ((_Categories == null)) - { - _Categories = base.CreateObjectSet("Categories"); - } - return _Categories; - } - } - private ObjectSet _Categories; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Customers - { - get - { - if ((_Customers == null)) - { - _Customers = base.CreateObjectSet("Customers"); - } - return _Customers; - } - } - private ObjectSet _Customers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Employees - { - get - { - if ((_Employees == null)) - { - _Employees = base.CreateObjectSet("Employees"); - } - return _Employees; - } - } - private ObjectSet _Employees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet InternationalOrders - { - get - { - if ((_InternationalOrders == null)) - { - _InternationalOrders = base.CreateObjectSet("InternationalOrders"); - } - return _InternationalOrders; - } - } - private ObjectSet _InternationalOrders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet OrderDetails - { - get - { - if ((_OrderDetails == null)) - { - _OrderDetails = base.CreateObjectSet("OrderDetails"); - } - return _OrderDetails; - } - } - private ObjectSet _OrderDetails; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Orders - { - get - { - if ((_Orders == null)) - { - _Orders = base.CreateObjectSet("Orders"); - } - return _Orders; - } - } - private ObjectSet _Orders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet PreviousEmployees - { - get - { - if ((_PreviousEmployees == null)) - { - _PreviousEmployees = base.CreateObjectSet("PreviousEmployees"); - } - return _PreviousEmployees; - } - } - private ObjectSet _PreviousEmployees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Products - { - get - { - if ((_Products == null)) - { - _Products = base.CreateObjectSet("Products"); - } - return _Products; - } - } - private ObjectSet _Products; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Regions - { - get - { - if ((_Regions == null)) - { - _Regions = base.CreateObjectSet("Regions"); - } - return _Regions; - } - } - private ObjectSet _Regions; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Suppliers - { - get - { - if ((_Suppliers == null)) - { - _Suppliers = base.CreateObjectSet("Suppliers"); - } - return _Suppliers; - } - } - private ObjectSet _Suppliers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Territories - { - get - { - if ((_Territories == null)) - { - _Territories = base.CreateObjectSet("Territories"); - } - return _Territories; - } - } - private ObjectSet _Territories; - - #endregion - #region AddTo Methods - - /// - /// Deprecated Method for adding a new object to the Categories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCategories(Categories categories) - { - base.AddObject("Categories", categories); - } - - /// - /// Deprecated Method for adding a new object to the Customers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCustomers(Customers customers) - { - base.AddObject("Customers", customers); - } - - /// - /// Deprecated Method for adding a new object to the Employees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToEmployees(Employees employees) - { - base.AddObject("Employees", employees); - } - - /// - /// Deprecated Method for adding a new object to the InternationalOrders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToInternationalOrders(InternationalOrders internationalOrders) - { - base.AddObject("InternationalOrders", internationalOrders); - } - - /// - /// Deprecated Method for adding a new object to the OrderDetails EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrderDetails(OrderDetails orderDetails) - { - base.AddObject("OrderDetails", orderDetails); - } - - /// - /// Deprecated Method for adding a new object to the Orders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrders(Orders orders) - { - base.AddObject("Orders", orders); - } - - /// - /// Deprecated Method for adding a new object to the PreviousEmployees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToPreviousEmployees(PreviousEmployees previousEmployees) - { - base.AddObject("PreviousEmployees", previousEmployees); - } - - /// - /// Deprecated Method for adding a new object to the Products EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToProducts(Products products) - { - base.AddObject("Products", products); - } - - /// - /// Deprecated Method for adding a new object to the Regions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToRegions(Regions regions) - { - base.AddObject("Regions", regions); - } - - /// - /// Deprecated Method for adding a new object to the Suppliers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToSuppliers(Suppliers suppliers) - { - base.AddObject("Suppliers", suppliers); - } - - /// - /// Deprecated Method for adding a new object to the Territories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToTerritories(Territories territories) - { - base.AddObject("Territories", territories); - } - - #endregion - } - - - #endregion - - #region Entities - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Categories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Categories : EntityObject - { - #region Factory Method - - /// - /// Create a new Categories object. - /// - /// Initial value of the CategoryID property. - /// Initial value of the CategoryName property. - public static Categories CreateCategories(global::System.Int64 categoryID, global::System.String categoryName) - { - Categories categories = new Categories(); - categories.CategoryID = categoryID; - categories.CategoryName = categoryName; - return categories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 CategoryID - { - get - { - return _CategoryID; - } - set - { - if (_CategoryID != value) - { - OnCategoryIDChanging(value); - ReportPropertyChanging("CategoryID"); - _CategoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("CategoryID"); - OnCategoryIDChanged(); - } - } - } - private global::System.Int64 _CategoryID; - partial void OnCategoryIDChanging(global::System.Int64 value); - partial void OnCategoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CategoryName - { - get - { - return _CategoryName; - } - set - { - OnCategoryNameChanging(value); - ReportPropertyChanging("CategoryName"); - _CategoryName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CategoryName"); - OnCategoryNameChanged(); - } - } - private global::System.String _CategoryName; - partial void OnCategoryNameChanging(global::System.String value); - partial void OnCategoryNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Description - { - get - { - return _Description; - } - set - { - OnDescriptionChanging(value); - ReportPropertyChanging("Description"); - _Description = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Description"); - OnDescriptionChanged(); - } - } - private global::System.String _Description; - partial void OnDescriptionChanging(global::System.String value); - partial void OnDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Picture - { - get - { - return StructuralObject.GetValidValue(_Picture); - } - set - { - OnPictureChanging(value); - ReportPropertyChanging("Picture"); - _Picture = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Picture"); - OnPictureChanged(); - } - } - private global::System.Byte[] _Picture; - partial void OnPictureChanging(global::System.Byte[] value); - partial void OnPictureChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Customers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Customers : EntityObject - { - #region Factory Method - - /// - /// Create a new Customers object. - /// - /// Initial value of the CustomerID property. - /// Initial value of the CompanyName property. - public static Customers CreateCustomers(global::System.String customerID, global::System.String companyName) - { - Customers customers = new Customers(); - customers.CustomerID = customerID; - customers.CompanyName = companyName; - return customers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomerID - { - get - { - return _CustomerID; - } - set - { - if (_CustomerID != value) - { - OnCustomerIDChanging(value); - ReportPropertyChanging("CustomerID"); - _CustomerID = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomerID"); - OnCustomerIDChanged(); - } - } - } - private global::System.String _CustomerID; - partial void OnCustomerIDChanging(global::System.String value); - partial void OnCustomerIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Orders")] - public EntityCollection Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Employees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Employees : EntityObject - { - #region Factory Method - - /// - /// Create a new Employees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static Employees CreateEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - Employees employees = new Employees(); - employees.EmployeeID = employeeID; - employees.LastName = lastName; - employees.FirstName = firstName; - return employees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="InternationalOrders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class InternationalOrders : EntityObject - { - #region Factory Method - - /// - /// Create a new InternationalOrders object. - /// - /// Initial value of the OrderID property. - /// Initial value of the CustomsDescription property. - /// Initial value of the ExciseTax property. - public static InternationalOrders CreateInternationalOrders(global::System.Int64 orderID, global::System.String customsDescription, global::System.Decimal exciseTax) - { - InternationalOrders internationalOrders = new InternationalOrders(); - internationalOrders.OrderID = orderID; - internationalOrders.CustomsDescription = customsDescription; - internationalOrders.ExciseTax = exciseTax; - return internationalOrders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomsDescription - { - get - { - return _CustomsDescription; - } - set - { - OnCustomsDescriptionChanging(value); - ReportPropertyChanging("CustomsDescription"); - _CustomsDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomsDescription"); - OnCustomsDescriptionChanged(); - } - } - private global::System.String _CustomsDescription; - partial void OnCustomsDescriptionChanging(global::System.String value); - partial void OnCustomsDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal ExciseTax - { - get - { - return _ExciseTax; - } - set - { - OnExciseTaxChanging(value); - ReportPropertyChanging("ExciseTax"); - _ExciseTax = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ExciseTax"); - OnExciseTaxChanged(); - } - } - private global::System.Decimal _ExciseTax; - partial void OnExciseTaxChanging(global::System.Decimal value); - partial void OnExciseTaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="OrderDetails")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class OrderDetails : EntityObject - { - #region Factory Method - - /// - /// Create a new OrderDetails object. - /// - /// Initial value of the OrderID property. - /// Initial value of the ProductID property. - /// Initial value of the UnitPrice property. - /// Initial value of the Quantity property. - /// Initial value of the Discount property. - public static OrderDetails CreateOrderDetails(global::System.Int64 orderID, global::System.Int64 productID, global::System.Decimal unitPrice, global::System.Int16 quantity, global::System.Single discount) - { - OrderDetails orderDetails = new OrderDetails(); - orderDetails.OrderID = orderID; - orderDetails.ProductID = productID; - orderDetails.UnitPrice = unitPrice; - orderDetails.Quantity = quantity; - orderDetails.Discount = discount; - return orderDetails; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private global::System.Decimal _UnitPrice; - partial void OnUnitPriceChanging(global::System.Decimal value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int16 Quantity - { - get - { - return _Quantity; - } - set - { - OnQuantityChanging(value); - ReportPropertyChanging("Quantity"); - _Quantity = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Quantity"); - OnQuantityChanged(); - } - } - private global::System.Int16 _Quantity; - partial void OnQuantityChanging(global::System.Int16 value); - partial void OnQuantityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Single Discount - { - get - { - return _Discount; - } - set - { - OnDiscountChanging(value); - ReportPropertyChanging("Discount"); - _Discount = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discount"); - OnDiscountChanged(); - } - } - private global::System.Single _Discount; - partial void OnDiscountChanging(global::System.Single value); - partial void OnDiscountChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products")] - public Products Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference ProductsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Orders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Orders : EntityObject - { - #region Factory Method - - /// - /// Create a new Orders object. - /// - /// Initial value of the OrderID property. - public static Orders CreateOrders(global::System.Int64 orderID) - { - Orders orders = new Orders(); - orders.OrderID = orderID; - return orders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable EmployeeID - { - get - { - return _EmployeeID; - } - set - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - private Nullable _EmployeeID; - partial void OnEmployeeIDChanging(Nullable value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable OrderDate - { - get - { - return _OrderDate; - } - set - { - OnOrderDateChanging(value); - ReportPropertyChanging("OrderDate"); - _OrderDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderDate"); - OnOrderDateChanged(); - } - } - private Nullable _OrderDate; - partial void OnOrderDateChanging(Nullable value); - partial void OnOrderDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable RequiredDate - { - get - { - return _RequiredDate; - } - set - { - OnRequiredDateChanging(value); - ReportPropertyChanging("RequiredDate"); - _RequiredDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RequiredDate"); - OnRequiredDateChanged(); - } - } - private Nullable _RequiredDate; - partial void OnRequiredDateChanging(Nullable value); - partial void OnRequiredDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ShippedDate - { - get - { - return _ShippedDate; - } - set - { - OnShippedDateChanging(value); - ReportPropertyChanging("ShippedDate"); - _ShippedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ShippedDate"); - OnShippedDateChanged(); - } - } - private Nullable _ShippedDate; - partial void OnShippedDateChanging(Nullable value); - partial void OnShippedDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable Freight - { - get - { - return _Freight; - } - set - { - OnFreightChanging(value); - ReportPropertyChanging("Freight"); - _Freight = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Freight"); - OnFreightChanged(); - } - } - private Nullable _Freight; - partial void OnFreightChanging(Nullable value); - partial void OnFreightChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipName - { - get - { - return _ShipName; - } - set - { - OnShipNameChanging(value); - ReportPropertyChanging("ShipName"); - _ShipName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipName"); - OnShipNameChanged(); - } - } - private global::System.String _ShipName; - partial void OnShipNameChanging(global::System.String value); - partial void OnShipNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipAddress - { - get - { - return _ShipAddress; - } - set - { - OnShipAddressChanging(value); - ReportPropertyChanging("ShipAddress"); - _ShipAddress = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipAddress"); - OnShipAddressChanged(); - } - } - private global::System.String _ShipAddress; - partial void OnShipAddressChanging(global::System.String value); - partial void OnShipAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCity - { - get - { - return _ShipCity; - } - set - { - OnShipCityChanging(value); - ReportPropertyChanging("ShipCity"); - _ShipCity = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCity"); - OnShipCityChanged(); - } - } - private global::System.String _ShipCity; - partial void OnShipCityChanging(global::System.String value); - partial void OnShipCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipRegion - { - get - { - return _ShipRegion; - } - set - { - OnShipRegionChanging(value); - ReportPropertyChanging("ShipRegion"); - _ShipRegion = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipRegion"); - OnShipRegionChanged(); - } - } - private global::System.String _ShipRegion; - partial void OnShipRegionChanging(global::System.String value); - partial void OnShipRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipPostalCode - { - get - { - return _ShipPostalCode; - } - set - { - OnShipPostalCodeChanging(value); - ReportPropertyChanging("ShipPostalCode"); - _ShipPostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipPostalCode"); - OnShipPostalCodeChanged(); - } - } - private global::System.String _ShipPostalCode; - partial void OnShipPostalCodeChanging(global::System.String value); - partial void OnShipPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCountry - { - get - { - return _ShipCountry; - } - set - { - OnShipCountryChanging(value); - ReportPropertyChanging("ShipCountry"); - _ShipCountry = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCountry"); - OnShipCountryChanged(); - } - } - private global::System.String _ShipCountry; - partial void OnShipCountryChanging(global::System.String value); - partial void OnShipCountryChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers")] - public Customers Customers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CustomersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "InternationalOrders")] - public InternationalOrders InternationalOrders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference InternationalOrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="PreviousEmployees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class PreviousEmployees : EntityObject - { - #region Factory Method - - /// - /// Create a new PreviousEmployees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static PreviousEmployees CreatePreviousEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - PreviousEmployees previousEmployees = new PreviousEmployees(); - previousEmployees.EmployeeID = employeeID; - previousEmployees.LastName = lastName; - previousEmployees.FirstName = firstName; - return previousEmployees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Products")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Products : EntityObject - { - #region Factory Method - - /// - /// Create a new Products object. - /// - /// Initial value of the ProductID property. - /// Initial value of the ProductName property. - /// Initial value of the Discontinued property. - public static Products CreateProducts(global::System.Int64 productID, global::System.String productName, global::System.Boolean discontinued) - { - Products products = new Products(); - products.ProductID = productID; - products.ProductName = productName; - products.Discontinued = discontinued; - return products; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String ProductName - { - get - { - return _ProductName; - } - set - { - OnProductNameChanging(value); - ReportPropertyChanging("ProductName"); - _ProductName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("ProductName"); - OnProductNameChanged(); - } - } - private global::System.String _ProductName; - partial void OnProductNameChanging(global::System.String value); - partial void OnProductNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String QuantityPerUnit - { - get - { - return _QuantityPerUnit; - } - set - { - OnQuantityPerUnitChanging(value); - ReportPropertyChanging("QuantityPerUnit"); - _QuantityPerUnit = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("QuantityPerUnit"); - OnQuantityPerUnitChanged(); - } - } - private global::System.String _QuantityPerUnit; - partial void OnQuantityPerUnitChanging(global::System.String value); - partial void OnQuantityPerUnitChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private Nullable _UnitPrice; - partial void OnUnitPriceChanging(Nullable value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsInStock - { - get - { - return _UnitsInStock; - } - set - { - OnUnitsInStockChanging(value); - ReportPropertyChanging("UnitsInStock"); - _UnitsInStock = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsInStock"); - OnUnitsInStockChanged(); - } - } - private Nullable _UnitsInStock; - partial void OnUnitsInStockChanging(Nullable value); - partial void OnUnitsInStockChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsOnOrder - { - get - { - return _UnitsOnOrder; - } - set - { - OnUnitsOnOrderChanging(value); - ReportPropertyChanging("UnitsOnOrder"); - _UnitsOnOrder = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsOnOrder"); - OnUnitsOnOrderChanged(); - } - } - private Nullable _UnitsOnOrder; - partial void OnUnitsOnOrderChanging(Nullable value); - partial void OnUnitsOnOrderChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ReorderLevel - { - get - { - return _ReorderLevel; - } - set - { - OnReorderLevelChanging(value); - ReportPropertyChanging("ReorderLevel"); - _ReorderLevel = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ReorderLevel"); - OnReorderLevelChanged(); - } - } - private Nullable _ReorderLevel; - partial void OnReorderLevelChanging(Nullable value); - partial void OnReorderLevelChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Boolean Discontinued - { - get - { - return _Discontinued; - } - set - { - OnDiscontinuedChanging(value); - ReportPropertyChanging("Discontinued"); - _Discontinued = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discontinued"); - OnDiscontinuedChanged(); - } - } - private global::System.Boolean _Discontinued; - partial void OnDiscontinuedChanging(global::System.Boolean value); - partial void OnDiscontinuedChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable DiscontinuedDate - { - get - { - return _DiscontinuedDate; - } - set - { - OnDiscontinuedDateChanging(value); - ReportPropertyChanging("DiscontinuedDate"); - _DiscontinuedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("DiscontinuedDate"); - OnDiscontinuedDateChanged(); - } - } - private Nullable _DiscontinuedDate; - partial void OnDiscontinuedDateChanging(Nullable value); - partial void OnDiscontinuedDateChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories")] - public Categories Categories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CategoriesReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers")] - public Suppliers Suppliers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference SuppliersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Regions")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Regions : EntityObject - { - #region Factory Method - - /// - /// Create a new Regions object. - /// - /// Initial value of the RegionID property. - /// Initial value of the RegionDescription property. - public static Regions CreateRegions(global::System.Int64 regionID, global::System.String regionDescription) - { - Regions regions = new Regions(); - regions.RegionID = regionID; - regions.RegionDescription = regionDescription; - return regions; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 RegionID - { - get - { - return _RegionID; - } - set - { - if (_RegionID != value) - { - OnRegionIDChanging(value); - ReportPropertyChanging("RegionID"); - _RegionID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RegionID"); - OnRegionIDChanged(); - } - } - } - private global::System.Int64 _RegionID; - partial void OnRegionIDChanging(global::System.Int64 value); - partial void OnRegionIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String RegionDescription - { - get - { - return _RegionDescription; - } - set - { - OnRegionDescriptionChanging(value); - ReportPropertyChanging("RegionDescription"); - _RegionDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("RegionDescription"); - OnRegionDescriptionChanged(); - } - } - private global::System.String _RegionDescription; - partial void OnRegionDescriptionChanging(global::System.String value); - partial void OnRegionDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Suppliers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Suppliers : EntityObject - { - #region Factory Method - - /// - /// Create a new Suppliers object. - /// - /// Initial value of the SupplierID property. - /// Initial value of the CompanyName property. - public static Suppliers CreateSuppliers(global::System.Int64 supplierID, global::System.String companyName) - { - Suppliers suppliers = new Suppliers(); - suppliers.SupplierID = supplierID; - suppliers.CompanyName = companyName; - return suppliers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 SupplierID - { - get - { - return _SupplierID; - } - set - { - if (_SupplierID != value) - { - OnSupplierIDChanging(value); - ReportPropertyChanging("SupplierID"); - _SupplierID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("SupplierID"); - OnSupplierIDChanged(); - } - } - } - private global::System.Int64 _SupplierID; - partial void OnSupplierIDChanging(global::System.Int64 value); - partial void OnSupplierIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePage - { - get - { - return _HomePage; - } - set - { - OnHomePageChanging(value); - ReportPropertyChanging("HomePage"); - _HomePage = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePage"); - OnHomePageChanged(); - } - } - private global::System.String _HomePage; - partial void OnHomePageChanging(global::System.String value); - partial void OnHomePageChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Territories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Territories : EntityObject - { - #region Factory Method - - /// - /// Create a new Territories object. - /// - /// Initial value of the TerritoryID property. - /// Initial value of the TerritoryDescription property. - public static Territories CreateTerritories(global::System.Int64 territoryID, global::System.String territoryDescription) - { - Territories territories = new Territories(); - territories.TerritoryID = territoryID; - territories.TerritoryDescription = territoryDescription; - return territories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 TerritoryID - { - get - { - return _TerritoryID; - } - set - { - if (_TerritoryID != value) - { - OnTerritoryIDChanging(value); - ReportPropertyChanging("TerritoryID"); - _TerritoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("TerritoryID"); - OnTerritoryIDChanged(); - } - } - } - private global::System.Int64 _TerritoryID; - partial void OnTerritoryIDChanging(global::System.Int64 value); - partial void OnTerritoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String TerritoryDescription - { - get - { - return _TerritoryDescription; - } - set - { - OnTerritoryDescriptionChanging(value); - ReportPropertyChanging("TerritoryDescription"); - _TerritoryDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("TerritoryDescription"); - OnTerritoryDescriptionChanged(); - } - } - private global::System.String _TerritoryDescription; - partial void OnTerritoryDescriptionChanging(global::System.String value); - partial void OnTerritoryDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions")] - public Regions Regions - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference RegionsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Employees")] - public EntityCollection Employees - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees", value); - } - } - } - - #endregion - } - - #endregion - -} DELETED testlinq/NorthwindModel.EF6.2013.edmx Index: testlinq/NorthwindModel.EF6.2013.edmx ================================================================== --- testlinq/NorthwindModel.EF6.2013.edmx +++ /dev/null @@ -1,909 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DELETED testlinq/NorthwindModel.Linq.2008.Designer.cs Index: testlinq/NorthwindModel.Linq.2008.Designer.cs ================================================================== --- testlinq/NorthwindModel.Linq.2008.Designer.cs +++ /dev/null @@ -1,3209 +0,0 @@ -/******************************************************** - * ADO.NET 2.0 Data Provider for SQLite Version 3.X - * Written by Robert Simpson (robert@blackcastlesoft.com) - * - * Released to the public domain, use at your own risk! - ********************************************************/ - -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.3053 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -[assembly: global::System.Data.Objects.DataClasses.EdmSchemaAttribute()] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Categories), "Products", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Customers), "Orders", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Orders))] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Orders), "InternationalOrders", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.InternationalOrders))] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Orders), "OrderDetails", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails))] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Products), "OrderDetails", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails))] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Suppliers), "Products", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Regions), "Territories", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Territories))] -[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "EmployeesTerritories", "Employees", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Employees), "Territories", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Territories))] - -// Original file name: -// Generation date: 8/25/2008 8:54:05 AM -namespace testlinq -{ - - /// - /// There are no comments for northwindEFEntities in the schema. - /// - public partial class northwindEFEntities : global::System.Data.Objects.ObjectContext - { - /// - /// Initializes a new northwindEFEntities object using the connection string found in the 'northwindEFEntities' section of the application configuration file. - /// - public northwindEFEntities() : - base("name=northwindEFEntities", "northwindEFEntities") - { - this.OnContextCreated(); - } - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(string connectionString) : - base(connectionString, "northwindEFEntities") - { - this.OnContextCreated(); - } - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(global::System.Data.EntityClient.EntityConnection connection) : - base(connection, "northwindEFEntities") - { - this.OnContextCreated(); - } - partial void OnContextCreated(); - /// - /// There are no comments for Categories in the schema. - /// - public global::System.Data.Objects.ObjectQuery Categories - { - get - { - if ((this._Categories == null)) - { - this._Categories = base.CreateQuery("[Categories]"); - } - return this._Categories; - } - } - private global::System.Data.Objects.ObjectQuery _Categories; - /// - /// There are no comments for Customers in the schema. - /// - public global::System.Data.Objects.ObjectQuery Customers - { - get - { - if ((this._Customers == null)) - { - this._Customers = base.CreateQuery("[Customers]"); - } - return this._Customers; - } - } - private global::System.Data.Objects.ObjectQuery _Customers; - /// - /// There are no comments for Employees in the schema. - /// - public global::System.Data.Objects.ObjectQuery Employees - { - get - { - if ((this._Employees == null)) - { - this._Employees = base.CreateQuery("[Employees]"); - } - return this._Employees; - } - } - private global::System.Data.Objects.ObjectQuery _Employees; - /// - /// There are no comments for InternationalOrders in the schema. - /// - public global::System.Data.Objects.ObjectQuery InternationalOrders - { - get - { - if ((this._InternationalOrders == null)) - { - this._InternationalOrders = base.CreateQuery("[InternationalOrders]"); - } - return this._InternationalOrders; - } - } - private global::System.Data.Objects.ObjectQuery _InternationalOrders; - /// - /// There are no comments for OrderDetails in the schema. - /// - public global::System.Data.Objects.ObjectQuery OrderDetails - { - get - { - if ((this._OrderDetails == null)) - { - this._OrderDetails = base.CreateQuery("[OrderDetails]"); - } - return this._OrderDetails; - } - } - private global::System.Data.Objects.ObjectQuery _OrderDetails; - /// - /// There are no comments for Orders in the schema. - /// - public global::System.Data.Objects.ObjectQuery Orders - { - get - { - if ((this._Orders == null)) - { - this._Orders = base.CreateQuery("[Orders]"); - } - return this._Orders; - } - } - private global::System.Data.Objects.ObjectQuery _Orders; - /// - /// There are no comments for PreviousEmployees in the schema. - /// - public global::System.Data.Objects.ObjectQuery PreviousEmployees - { - get - { - if ((this._PreviousEmployees == null)) - { - this._PreviousEmployees = base.CreateQuery("[PreviousEmployees]"); - } - return this._PreviousEmployees; - } - } - private global::System.Data.Objects.ObjectQuery _PreviousEmployees; - /// - /// There are no comments for Products in the schema. - /// - public global::System.Data.Objects.ObjectQuery Products - { - get - { - if ((this._Products == null)) - { - this._Products = base.CreateQuery("[Products]"); - } - return this._Products; - } - } - private global::System.Data.Objects.ObjectQuery _Products; - /// - /// There are no comments for Regions in the schema. - /// - public global::System.Data.Objects.ObjectQuery Regions - { - get - { - if ((this._Regions == null)) - { - this._Regions = base.CreateQuery("[Regions]"); - } - return this._Regions; - } - } - private global::System.Data.Objects.ObjectQuery _Regions; - /// - /// There are no comments for Suppliers in the schema. - /// - public global::System.Data.Objects.ObjectQuery Suppliers - { - get - { - if ((this._Suppliers == null)) - { - this._Suppliers = base.CreateQuery("[Suppliers]"); - } - return this._Suppliers; - } - } - private global::System.Data.Objects.ObjectQuery _Suppliers; - /// - /// There are no comments for Territories in the schema. - /// - public global::System.Data.Objects.ObjectQuery Territories - { - get - { - if ((this._Territories == null)) - { - this._Territories = base.CreateQuery("[Territories]"); - } - return this._Territories; - } - } - private global::System.Data.Objects.ObjectQuery _Territories; - /// - /// There are no comments for Categories in the schema. - /// - public void AddToCategories(Categories categories) - { - base.AddObject("Categories", categories); - } - /// - /// There are no comments for Customers in the schema. - /// - public void AddToCustomers(Customers customers) - { - base.AddObject("Customers", customers); - } - /// - /// There are no comments for Employees in the schema. - /// - public void AddToEmployees(Employees employees) - { - base.AddObject("Employees", employees); - } - /// - /// There are no comments for InternationalOrders in the schema. - /// - public void AddToInternationalOrders(InternationalOrders internationalOrders) - { - base.AddObject("InternationalOrders", internationalOrders); - } - /// - /// There are no comments for OrderDetails in the schema. - /// - public void AddToOrderDetails(OrderDetails orderDetails) - { - base.AddObject("OrderDetails", orderDetails); - } - /// - /// There are no comments for Orders in the schema. - /// - public void AddToOrders(Orders orders) - { - base.AddObject("Orders", orders); - } - /// - /// There are no comments for PreviousEmployees in the schema. - /// - public void AddToPreviousEmployees(PreviousEmployees previousEmployees) - { - base.AddObject("PreviousEmployees", previousEmployees); - } - /// - /// There are no comments for Products in the schema. - /// - public void AddToProducts(Products products) - { - base.AddObject("Products", products); - } - /// - /// There are no comments for Regions in the schema. - /// - public void AddToRegions(Regions regions) - { - base.AddObject("Regions", regions); - } - /// - /// There are no comments for Suppliers in the schema. - /// - public void AddToSuppliers(Suppliers suppliers) - { - base.AddObject("Suppliers", suppliers); - } - /// - /// There are no comments for Territories in the schema. - /// - public void AddToTerritories(Territories territories) - { - base.AddObject("Territories", territories); - } - } - /// - /// There are no comments for northwindEFModel.Categories in the schema. - /// - /// - /// CategoryID - /// - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Categories")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class Categories : global::System.Data.Objects.DataClasses.EntityObject - { - /// - /// Create a new Categories object. - /// - /// Initial value of CategoryID. - /// Initial value of CategoryName. - public static Categories CreateCategories(long categoryID, string categoryName) - { - Categories categories = new Categories(); - categories.CategoryID = categoryID; - categories.CategoryName = categoryName; - return categories; - } - /// - /// There are no comments for Property CategoryID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public long CategoryID - { - get - { - return this._CategoryID; - } - set - { - this.OnCategoryIDChanging(value); - this.ReportPropertyChanging("CategoryID"); - this._CategoryID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("CategoryID"); - this.OnCategoryIDChanged(); - } - } - private long _CategoryID; - partial void OnCategoryIDChanging(long value); - partial void OnCategoryIDChanged(); - /// - /// There are no comments for Property CategoryName in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string CategoryName - { - get - { - return this._CategoryName; - } - set - { - this.OnCategoryNameChanging(value); - this.ReportPropertyChanging("CategoryName"); - this._CategoryName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("CategoryName"); - this.OnCategoryNameChanged(); - } - } - private string _CategoryName; - partial void OnCategoryNameChanging(string value); - partial void OnCategoryNameChanged(); - /// - /// There are no comments for Property Description in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Description - { - get - { - return this._Description; - } - set - { - this.OnDescriptionChanging(value); - this.ReportPropertyChanging("Description"); - this._Description = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Description"); - this.OnDescriptionChanged(); - } - } - private string _Description; - partial void OnDescriptionChanging(string value); - partial void OnDescriptionChanged(); - /// - /// There are no comments for Property Picture in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public byte[] Picture - { - get - { - return global::System.Data.Objects.DataClasses.StructuralObject.GetValidValue(this._Picture); - } - set - { - this.OnPictureChanging(value); - this.ReportPropertyChanging("Picture"); - this._Picture = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Picture"); - this.OnPictureChanged(); - } - } - private byte[] _Picture; - partial void OnPictureChanging(byte[] value); - partial void OnPictureChanged(); - /// - /// There are no comments for Products in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Products")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection Products - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products", value); - } - } - } - } - /// - /// There are no comments for northwindEFModel.Customers in the schema. - /// - /// - /// CustomerID - /// - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Customers")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class Customers : global::System.Data.Objects.DataClasses.EntityObject - { - /// - /// Create a new Customers object. - /// - /// Initial value of CustomerID. - /// Initial value of CompanyName. - public static Customers CreateCustomers(string customerID, string companyName) - { - Customers customers = new Customers(); - customers.CustomerID = customerID; - customers.CompanyName = companyName; - return customers; - } - /// - /// There are no comments for Property CustomerID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string CustomerID - { - get - { - return this._CustomerID; - } - set - { - this.OnCustomerIDChanging(value); - this.ReportPropertyChanging("CustomerID"); - this._CustomerID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("CustomerID"); - this.OnCustomerIDChanged(); - } - } - private string _CustomerID; - partial void OnCustomerIDChanging(string value); - partial void OnCustomerIDChanged(); - /// - /// There are no comments for Property CompanyName in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string CompanyName - { - get - { - return this._CompanyName; - } - set - { - this.OnCompanyNameChanging(value); - this.ReportPropertyChanging("CompanyName"); - this._CompanyName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("CompanyName"); - this.OnCompanyNameChanged(); - } - } - private string _CompanyName; - partial void OnCompanyNameChanging(string value); - partial void OnCompanyNameChanged(); - /// - /// There are no comments for Property ContactName in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string ContactName - { - get - { - return this._ContactName; - } - set - { - this.OnContactNameChanging(value); - this.ReportPropertyChanging("ContactName"); - this._ContactName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("ContactName"); - this.OnContactNameChanged(); - } - } - private string _ContactName; - partial void OnContactNameChanging(string value); - partial void OnContactNameChanged(); - /// - /// There are no comments for Property ContactTitle in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string ContactTitle - { - get - { - return this._ContactTitle; - } - set - { - this.OnContactTitleChanging(value); - this.ReportPropertyChanging("ContactTitle"); - this._ContactTitle = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("ContactTitle"); - this.OnContactTitleChanged(); - } - } - private string _ContactTitle; - partial void OnContactTitleChanging(string value); - partial void OnContactTitleChanged(); - /// - /// There are no comments for Property Address in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Address - { - get - { - return this._Address; - } - set - { - this.OnAddressChanging(value); - this.ReportPropertyChanging("Address"); - this._Address = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Address"); - this.OnAddressChanged(); - } - } - private string _Address; - partial void OnAddressChanging(string value); - partial void OnAddressChanged(); - /// - /// There are no comments for Property City in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string City - { - get - { - return this._City; - } - set - { - this.OnCityChanging(value); - this.ReportPropertyChanging("City"); - this._City = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("City"); - this.OnCityChanged(); - } - } - private string _City; - partial void OnCityChanging(string value); - partial void OnCityChanged(); - /// - /// There are no comments for Property Region in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Region - { - get - { - return this._Region; - } - set - { - this.OnRegionChanging(value); - this.ReportPropertyChanging("Region"); - this._Region = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Region"); - this.OnRegionChanged(); - } - } - private string _Region; - partial void OnRegionChanging(string value); - partial void OnRegionChanged(); - /// - /// There are no comments for Property PostalCode in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string PostalCode - { - get - { - return this._PostalCode; - } - set - { - this.OnPostalCodeChanging(value); - this.ReportPropertyChanging("PostalCode"); - this._PostalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("PostalCode"); - this.OnPostalCodeChanged(); - } - } - private string _PostalCode; - partial void OnPostalCodeChanging(string value); - partial void OnPostalCodeChanged(); - /// - /// There are no comments for Property Country in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Country - { - get - { - return this._Country; - } - set - { - this.OnCountryChanging(value); - this.ReportPropertyChanging("Country"); - this._Country = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Country"); - this.OnCountryChanged(); - } - } - private string _Country; - partial void OnCountryChanging(string value); - partial void OnCountryChanged(); - /// - /// There are no comments for Property Phone in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Phone - { - get - { - return this._Phone; - } - set - { - this.OnPhoneChanging(value); - this.ReportPropertyChanging("Phone"); - this._Phone = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Phone"); - this.OnPhoneChanged(); - } - } - private string _Phone; - partial void OnPhoneChanging(string value); - partial void OnPhoneChanged(); - /// - /// There are no comments for Property Fax in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Fax - { - get - { - return this._Fax; - } - set - { - this.OnFaxChanging(value); - this.ReportPropertyChanging("Fax"); - this._Fax = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Fax"); - this.OnFaxChanged(); - } - } - private string _Fax; - partial void OnFaxChanging(string value); - partial void OnFaxChanged(); - /// - /// There are no comments for Orders in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Orders")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection Orders - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders", value); - } - } - } - } - /// - /// There are no comments for northwindEFModel.Employees in the schema. - /// - /// - /// EmployeeID - /// - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Employees")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class Employees : global::System.Data.Objects.DataClasses.EntityObject - { - /// - /// Create a new Employees object. - /// - /// Initial value of EmployeeID. - /// Initial value of LastName. - /// Initial value of FirstName. - public static Employees CreateEmployees(long employeeID, string lastName, string firstName) - { - Employees employees = new Employees(); - employees.EmployeeID = employeeID; - employees.LastName = lastName; - employees.FirstName = firstName; - return employees; - } - /// - /// There are no comments for Property EmployeeID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public long EmployeeID - { - get - { - return this._EmployeeID; - } - set - { - this.OnEmployeeIDChanging(value); - this.ReportPropertyChanging("EmployeeID"); - this._EmployeeID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("EmployeeID"); - this.OnEmployeeIDChanged(); - } - } - private long _EmployeeID; - partial void OnEmployeeIDChanging(long value); - partial void OnEmployeeIDChanged(); - /// - /// There are no comments for Property LastName in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string LastName - { - get - { - return this._LastName; - } - set - { - this.OnLastNameChanging(value); - this.ReportPropertyChanging("LastName"); - this._LastName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("LastName"); - this.OnLastNameChanged(); - } - } - private string _LastName; - partial void OnLastNameChanging(string value); - partial void OnLastNameChanged(); - /// - /// There are no comments for Property FirstName in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string FirstName - { - get - { - return this._FirstName; - } - set - { - this.OnFirstNameChanging(value); - this.ReportPropertyChanging("FirstName"); - this._FirstName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("FirstName"); - this.OnFirstNameChanged(); - } - } - private string _FirstName; - partial void OnFirstNameChanging(string value); - partial void OnFirstNameChanged(); - /// - /// There are no comments for Property Title in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Title - { - get - { - return this._Title; - } - set - { - this.OnTitleChanging(value); - this.ReportPropertyChanging("Title"); - this._Title = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Title"); - this.OnTitleChanged(); - } - } - private string _Title; - partial void OnTitleChanging(string value); - partial void OnTitleChanged(); - /// - /// There are no comments for Property TitleOfCourtesy in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string TitleOfCourtesy - { - get - { - return this._TitleOfCourtesy; - } - set - { - this.OnTitleOfCourtesyChanging(value); - this.ReportPropertyChanging("TitleOfCourtesy"); - this._TitleOfCourtesy = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("TitleOfCourtesy"); - this.OnTitleOfCourtesyChanged(); - } - } - private string _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(string value); - partial void OnTitleOfCourtesyChanged(); - /// - /// There are no comments for Property BirthDate in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable BirthDate - { - get - { - return this._BirthDate; - } - set - { - this.OnBirthDateChanging(value); - this.ReportPropertyChanging("BirthDate"); - this._BirthDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("BirthDate"); - this.OnBirthDateChanged(); - } - } - private global::System.Nullable _BirthDate; - partial void OnBirthDateChanging(global::System.Nullable value); - partial void OnBirthDateChanged(); - /// - /// There are no comments for Property HireDate in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable HireDate - { - get - { - return this._HireDate; - } - set - { - this.OnHireDateChanging(value); - this.ReportPropertyChanging("HireDate"); - this._HireDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("HireDate"); - this.OnHireDateChanged(); - } - } - private global::System.Nullable _HireDate; - partial void OnHireDateChanging(global::System.Nullable value); - partial void OnHireDateChanged(); - /// - /// There are no comments for Property Address in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Address - { - get - { - return this._Address; - } - set - { - this.OnAddressChanging(value); - this.ReportPropertyChanging("Address"); - this._Address = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Address"); - this.OnAddressChanged(); - } - } - private string _Address; - partial void OnAddressChanging(string value); - partial void OnAddressChanged(); - /// - /// There are no comments for Property City in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string City - { - get - { - return this._City; - } - set - { - this.OnCityChanging(value); - this.ReportPropertyChanging("City"); - this._City = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("City"); - this.OnCityChanged(); - } - } - private string _City; - partial void OnCityChanging(string value); - partial void OnCityChanged(); - /// - /// There are no comments for Property Region in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Region - { - get - { - return this._Region; - } - set - { - this.OnRegionChanging(value); - this.ReportPropertyChanging("Region"); - this._Region = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Region"); - this.OnRegionChanged(); - } - } - private string _Region; - partial void OnRegionChanging(string value); - partial void OnRegionChanged(); - /// - /// There are no comments for Property PostalCode in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string PostalCode - { - get - { - return this._PostalCode; - } - set - { - this.OnPostalCodeChanging(value); - this.ReportPropertyChanging("PostalCode"); - this._PostalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("PostalCode"); - this.OnPostalCodeChanged(); - } - } - private string _PostalCode; - partial void OnPostalCodeChanging(string value); - partial void OnPostalCodeChanged(); - /// - /// There are no comments for Property Country in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Country - { - get - { - return this._Country; - } - set - { - this.OnCountryChanging(value); - this.ReportPropertyChanging("Country"); - this._Country = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Country"); - this.OnCountryChanged(); - } - } - private string _Country; - partial void OnCountryChanging(string value); - partial void OnCountryChanged(); - /// - /// There are no comments for Property HomePhone in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string HomePhone - { - get - { - return this._HomePhone; - } - set - { - this.OnHomePhoneChanging(value); - this.ReportPropertyChanging("HomePhone"); - this._HomePhone = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("HomePhone"); - this.OnHomePhoneChanged(); - } - } - private string _HomePhone; - partial void OnHomePhoneChanging(string value); - partial void OnHomePhoneChanged(); - /// - /// There are no comments for Property Extension in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Extension - { - get - { - return this._Extension; - } - set - { - this.OnExtensionChanging(value); - this.ReportPropertyChanging("Extension"); - this._Extension = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Extension"); - this.OnExtensionChanged(); - } - } - private string _Extension; - partial void OnExtensionChanging(string value); - partial void OnExtensionChanged(); - /// - /// There are no comments for Property Photo in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public byte[] Photo - { - get - { - return global::System.Data.Objects.DataClasses.StructuralObject.GetValidValue(this._Photo); - } - set - { - this.OnPhotoChanging(value); - this.ReportPropertyChanging("Photo"); - this._Photo = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Photo"); - this.OnPhotoChanged(); - } - } - private byte[] _Photo; - partial void OnPhotoChanging(byte[] value); - partial void OnPhotoChanged(); - /// - /// There are no comments for Property Notes in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Notes - { - get - { - return this._Notes; - } - set - { - this.OnNotesChanging(value); - this.ReportPropertyChanging("Notes"); - this._Notes = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Notes"); - this.OnNotesChanged(); - } - } - private string _Notes; - partial void OnNotesChanging(string value); - partial void OnNotesChanged(); - /// - /// There are no comments for Property PhotoPath in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string PhotoPath - { - get - { - return this._PhotoPath; - } - set - { - this.OnPhotoPathChanging(value); - this.ReportPropertyChanging("PhotoPath"); - this._PhotoPath = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("PhotoPath"); - this.OnPhotoPathChanged(); - } - } - private string _PhotoPath; - partial void OnPhotoPathChanging(string value); - partial void OnPhotoPathChanged(); - /// - /// There are no comments for Territories in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Territories")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection Territories - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories", value); - } - } - } - } - /// - /// There are no comments for northwindEFModel.InternationalOrders in the schema. - /// - /// - /// OrderID - /// - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="InternationalOrders")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class InternationalOrders : global::System.Data.Objects.DataClasses.EntityObject - { - /// - /// Create a new InternationalOrders object. - /// - /// Initial value of OrderID. - /// Initial value of CustomsDescription. - /// Initial value of ExciseTax. - public static InternationalOrders CreateInternationalOrders(long orderID, string customsDescription, decimal exciseTax) - { - InternationalOrders internationalOrders = new InternationalOrders(); - internationalOrders.OrderID = orderID; - internationalOrders.CustomsDescription = customsDescription; - internationalOrders.ExciseTax = exciseTax; - return internationalOrders; - } - /// - /// There are no comments for Property OrderID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public long OrderID - { - get - { - return this._OrderID; - } - set - { - this.OnOrderIDChanging(value); - this.ReportPropertyChanging("OrderID"); - this._OrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("OrderID"); - this.OnOrderIDChanged(); - } - } - private long _OrderID; - partial void OnOrderIDChanging(long value); - partial void OnOrderIDChanged(); - /// - /// There are no comments for Property CustomsDescription in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string CustomsDescription - { - get - { - return this._CustomsDescription; - } - set - { - this.OnCustomsDescriptionChanging(value); - this.ReportPropertyChanging("CustomsDescription"); - this._CustomsDescription = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("CustomsDescription"); - this.OnCustomsDescriptionChanged(); - } - } - private string _CustomsDescription; - partial void OnCustomsDescriptionChanging(string value); - partial void OnCustomsDescriptionChanged(); - /// - /// There are no comments for Property ExciseTax in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public decimal ExciseTax - { - get - { - return this._ExciseTax; - } - set - { - this.OnExciseTaxChanging(value); - this.ReportPropertyChanging("ExciseTax"); - this._ExciseTax = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("ExciseTax"); - this.OnExciseTaxChanged(); - } - } - private decimal _ExciseTax; - partial void OnExciseTaxChanging(decimal value); - partial void OnExciseTaxChanged(); - /// - /// There are no comments for Orders in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public Orders Orders - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value; - } - set - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// There are no comments for Orders in the schema. - /// - [global::System.ComponentModel.BrowsableAttribute(false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityReference OrdersReference - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders", value); - } - } - } - } - /// - /// There are no comments for northwindEFModel.OrderDetails in the schema. - /// - /// - /// OrderID - /// ProductID - /// - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="OrderDetails")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class OrderDetails : global::System.Data.Objects.DataClasses.EntityObject - { - /// - /// Create a new OrderDetails object. - /// - /// Initial value of OrderID. - /// Initial value of ProductID. - /// Initial value of UnitPrice. - /// Initial value of Quantity. - /// Initial value of Discount. - public static OrderDetails CreateOrderDetails(long orderID, long productID, decimal unitPrice, short quantity, float discount) - { - OrderDetails orderDetails = new OrderDetails(); - orderDetails.OrderID = orderID; - orderDetails.ProductID = productID; - orderDetails.UnitPrice = unitPrice; - orderDetails.Quantity = quantity; - orderDetails.Discount = discount; - return orderDetails; - } - /// - /// There are no comments for Property OrderID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public long OrderID - { - get - { - return this._OrderID; - } - set - { - this.OnOrderIDChanging(value); - this.ReportPropertyChanging("OrderID"); - this._OrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("OrderID"); - this.OnOrderIDChanged(); - } - } - private long _OrderID; - partial void OnOrderIDChanging(long value); - partial void OnOrderIDChanged(); - /// - /// There are no comments for Property ProductID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public long ProductID - { - get - { - return this._ProductID; - } - set - { - this.OnProductIDChanging(value); - this.ReportPropertyChanging("ProductID"); - this._ProductID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("ProductID"); - this.OnProductIDChanged(); - } - } - private long _ProductID; - partial void OnProductIDChanging(long value); - partial void OnProductIDChanged(); - /// - /// There are no comments for Property UnitPrice in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public decimal UnitPrice - { - get - { - return this._UnitPrice; - } - set - { - this.OnUnitPriceChanging(value); - this.ReportPropertyChanging("UnitPrice"); - this._UnitPrice = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("UnitPrice"); - this.OnUnitPriceChanged(); - } - } - private decimal _UnitPrice; - partial void OnUnitPriceChanging(decimal value); - partial void OnUnitPriceChanged(); - /// - /// There are no comments for Property Quantity in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public short Quantity - { - get - { - return this._Quantity; - } - set - { - this.OnQuantityChanging(value); - this.ReportPropertyChanging("Quantity"); - this._Quantity = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("Quantity"); - this.OnQuantityChanged(); - } - } - private short _Quantity; - partial void OnQuantityChanging(short value); - partial void OnQuantityChanged(); - /// - /// There are no comments for Property Discount in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public float Discount - { - get - { - return this._Discount; - } - set - { - this.OnDiscountChanging(value); - this.ReportPropertyChanging("Discount"); - this._Discount = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("Discount"); - this.OnDiscountChanged(); - } - } - private float _Discount; - partial void OnDiscountChanging(float value); - partial void OnDiscountChanged(); - /// - /// There are no comments for Orders in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public Orders Orders - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value; - } - set - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// There are no comments for Orders in the schema. - /// - [global::System.ComponentModel.BrowsableAttribute(false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityReference OrdersReference - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders", value); - } - } - } - /// - /// There are no comments for Products in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public Products Products - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value; - } - set - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value = value; - } - } - /// - /// There are no comments for Products in the schema. - /// - [global::System.ComponentModel.BrowsableAttribute(false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityReference ProductsReference - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products", value); - } - } - } - } - /// - /// There are no comments for northwindEFModel.Orders in the schema. - /// - /// - /// OrderID - /// - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Orders")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class Orders : global::System.Data.Objects.DataClasses.EntityObject - { - /// - /// Create a new Orders object. - /// - /// Initial value of OrderID. - public static Orders CreateOrders(long orderID) - { - Orders orders = new Orders(); - orders.OrderID = orderID; - return orders; - } - /// - /// There are no comments for Property OrderID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public long OrderID - { - get - { - return this._OrderID; - } - set - { - this.OnOrderIDChanging(value); - this.ReportPropertyChanging("OrderID"); - this._OrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("OrderID"); - this.OnOrderIDChanged(); - } - } - private long _OrderID; - partial void OnOrderIDChanging(long value); - partial void OnOrderIDChanged(); - /// - /// There are no comments for Property EmployeeID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable EmployeeID - { - get - { - return this._EmployeeID; - } - set - { - this.OnEmployeeIDChanging(value); - this.ReportPropertyChanging("EmployeeID"); - this._EmployeeID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("EmployeeID"); - this.OnEmployeeIDChanged(); - } - } - private global::System.Nullable _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Nullable value); - partial void OnEmployeeIDChanged(); - /// - /// There are no comments for Property OrderDate in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable OrderDate - { - get - { - return this._OrderDate; - } - set - { - this.OnOrderDateChanging(value); - this.ReportPropertyChanging("OrderDate"); - this._OrderDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("OrderDate"); - this.OnOrderDateChanged(); - } - } - private global::System.Nullable _OrderDate; - partial void OnOrderDateChanging(global::System.Nullable value); - partial void OnOrderDateChanged(); - /// - /// There are no comments for Property RequiredDate in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable RequiredDate - { - get - { - return this._RequiredDate; - } - set - { - this.OnRequiredDateChanging(value); - this.ReportPropertyChanging("RequiredDate"); - this._RequiredDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("RequiredDate"); - this.OnRequiredDateChanged(); - } - } - private global::System.Nullable _RequiredDate; - partial void OnRequiredDateChanging(global::System.Nullable value); - partial void OnRequiredDateChanged(); - /// - /// There are no comments for Property ShippedDate in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable ShippedDate - { - get - { - return this._ShippedDate; - } - set - { - this.OnShippedDateChanging(value); - this.ReportPropertyChanging("ShippedDate"); - this._ShippedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("ShippedDate"); - this.OnShippedDateChanged(); - } - } - private global::System.Nullable _ShippedDate; - partial void OnShippedDateChanging(global::System.Nullable value); - partial void OnShippedDateChanged(); - /// - /// There are no comments for Property Freight in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable Freight - { - get - { - return this._Freight; - } - set - { - this.OnFreightChanging(value); - this.ReportPropertyChanging("Freight"); - this._Freight = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("Freight"); - this.OnFreightChanged(); - } - } - private global::System.Nullable _Freight; - partial void OnFreightChanging(global::System.Nullable value); - partial void OnFreightChanged(); - /// - /// There are no comments for Property ShipName in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string ShipName - { - get - { - return this._ShipName; - } - set - { - this.OnShipNameChanging(value); - this.ReportPropertyChanging("ShipName"); - this._ShipName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("ShipName"); - this.OnShipNameChanged(); - } - } - private string _ShipName; - partial void OnShipNameChanging(string value); - partial void OnShipNameChanged(); - /// - /// There are no comments for Property ShipAddress in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string ShipAddress - { - get - { - return this._ShipAddress; - } - set - { - this.OnShipAddressChanging(value); - this.ReportPropertyChanging("ShipAddress"); - this._ShipAddress = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("ShipAddress"); - this.OnShipAddressChanged(); - } - } - private string _ShipAddress; - partial void OnShipAddressChanging(string value); - partial void OnShipAddressChanged(); - /// - /// There are no comments for Property ShipCity in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string ShipCity - { - get - { - return this._ShipCity; - } - set - { - this.OnShipCityChanging(value); - this.ReportPropertyChanging("ShipCity"); - this._ShipCity = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("ShipCity"); - this.OnShipCityChanged(); - } - } - private string _ShipCity; - partial void OnShipCityChanging(string value); - partial void OnShipCityChanged(); - /// - /// There are no comments for Property ShipRegion in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string ShipRegion - { - get - { - return this._ShipRegion; - } - set - { - this.OnShipRegionChanging(value); - this.ReportPropertyChanging("ShipRegion"); - this._ShipRegion = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("ShipRegion"); - this.OnShipRegionChanged(); - } - } - private string _ShipRegion; - partial void OnShipRegionChanging(string value); - partial void OnShipRegionChanged(); - /// - /// There are no comments for Property ShipPostalCode in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string ShipPostalCode - { - get - { - return this._ShipPostalCode; - } - set - { - this.OnShipPostalCodeChanging(value); - this.ReportPropertyChanging("ShipPostalCode"); - this._ShipPostalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("ShipPostalCode"); - this.OnShipPostalCodeChanged(); - } - } - private string _ShipPostalCode; - partial void OnShipPostalCodeChanging(string value); - partial void OnShipPostalCodeChanged(); - /// - /// There are no comments for Property ShipCountry in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string ShipCountry - { - get - { - return this._ShipCountry; - } - set - { - this.OnShipCountryChanging(value); - this.ReportPropertyChanging("ShipCountry"); - this._ShipCountry = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("ShipCountry"); - this.OnShipCountryChanged(); - } - } - private string _ShipCountry; - partial void OnShipCountryChanging(string value); - partial void OnShipCountryChanged(); - /// - /// There are no comments for Customers in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public Customers Customers - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value; - } - set - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value = value; - } - } - /// - /// There are no comments for Customers in the schema. - /// - [global::System.ComponentModel.BrowsableAttribute(false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityReference CustomersReference - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers", value); - } - } - } - /// - /// There are no comments for InternationalOrders in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "InternationalOrders")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public InternationalOrders InternationalOrders - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value; - } - set - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value = value; - } - } - /// - /// There are no comments for InternationalOrders in the schema. - /// - [global::System.ComponentModel.BrowsableAttribute(false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityReference InternationalOrdersReference - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders", value); - } - } - } - /// - /// There are no comments for OrderDetails in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "OrderDetails")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection OrderDetails - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails", value); - } - } - } - } - /// - /// There are no comments for northwindEFModel.PreviousEmployees in the schema. - /// - /// - /// EmployeeID - /// - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="PreviousEmployees")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class PreviousEmployees : global::System.Data.Objects.DataClasses.EntityObject - { - /// - /// Create a new PreviousEmployees object. - /// - /// Initial value of EmployeeID. - /// Initial value of LastName. - /// Initial value of FirstName. - public static PreviousEmployees CreatePreviousEmployees(long employeeID, string lastName, string firstName) - { - PreviousEmployees previousEmployees = new PreviousEmployees(); - previousEmployees.EmployeeID = employeeID; - previousEmployees.LastName = lastName; - previousEmployees.FirstName = firstName; - return previousEmployees; - } - /// - /// There are no comments for Property EmployeeID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public long EmployeeID - { - get - { - return this._EmployeeID; - } - set - { - this.OnEmployeeIDChanging(value); - this.ReportPropertyChanging("EmployeeID"); - this._EmployeeID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("EmployeeID"); - this.OnEmployeeIDChanged(); - } - } - private long _EmployeeID; - partial void OnEmployeeIDChanging(long value); - partial void OnEmployeeIDChanged(); - /// - /// There are no comments for Property LastName in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string LastName - { - get - { - return this._LastName; - } - set - { - this.OnLastNameChanging(value); - this.ReportPropertyChanging("LastName"); - this._LastName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("LastName"); - this.OnLastNameChanged(); - } - } - private string _LastName; - partial void OnLastNameChanging(string value); - partial void OnLastNameChanged(); - /// - /// There are no comments for Property FirstName in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string FirstName - { - get - { - return this._FirstName; - } - set - { - this.OnFirstNameChanging(value); - this.ReportPropertyChanging("FirstName"); - this._FirstName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("FirstName"); - this.OnFirstNameChanged(); - } - } - private string _FirstName; - partial void OnFirstNameChanging(string value); - partial void OnFirstNameChanged(); - /// - /// There are no comments for Property Title in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Title - { - get - { - return this._Title; - } - set - { - this.OnTitleChanging(value); - this.ReportPropertyChanging("Title"); - this._Title = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Title"); - this.OnTitleChanged(); - } - } - private string _Title; - partial void OnTitleChanging(string value); - partial void OnTitleChanged(); - /// - /// There are no comments for Property TitleOfCourtesy in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string TitleOfCourtesy - { - get - { - return this._TitleOfCourtesy; - } - set - { - this.OnTitleOfCourtesyChanging(value); - this.ReportPropertyChanging("TitleOfCourtesy"); - this._TitleOfCourtesy = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("TitleOfCourtesy"); - this.OnTitleOfCourtesyChanged(); - } - } - private string _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(string value); - partial void OnTitleOfCourtesyChanged(); - /// - /// There are no comments for Property BirthDate in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable BirthDate - { - get - { - return this._BirthDate; - } - set - { - this.OnBirthDateChanging(value); - this.ReportPropertyChanging("BirthDate"); - this._BirthDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("BirthDate"); - this.OnBirthDateChanged(); - } - } - private global::System.Nullable _BirthDate; - partial void OnBirthDateChanging(global::System.Nullable value); - partial void OnBirthDateChanged(); - /// - /// There are no comments for Property HireDate in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable HireDate - { - get - { - return this._HireDate; - } - set - { - this.OnHireDateChanging(value); - this.ReportPropertyChanging("HireDate"); - this._HireDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("HireDate"); - this.OnHireDateChanged(); - } - } - private global::System.Nullable _HireDate; - partial void OnHireDateChanging(global::System.Nullable value); - partial void OnHireDateChanged(); - /// - /// There are no comments for Property Address in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Address - { - get - { - return this._Address; - } - set - { - this.OnAddressChanging(value); - this.ReportPropertyChanging("Address"); - this._Address = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Address"); - this.OnAddressChanged(); - } - } - private string _Address; - partial void OnAddressChanging(string value); - partial void OnAddressChanged(); - /// - /// There are no comments for Property City in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string City - { - get - { - return this._City; - } - set - { - this.OnCityChanging(value); - this.ReportPropertyChanging("City"); - this._City = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("City"); - this.OnCityChanged(); - } - } - private string _City; - partial void OnCityChanging(string value); - partial void OnCityChanged(); - /// - /// There are no comments for Property Region in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Region - { - get - { - return this._Region; - } - set - { - this.OnRegionChanging(value); - this.ReportPropertyChanging("Region"); - this._Region = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Region"); - this.OnRegionChanged(); - } - } - private string _Region; - partial void OnRegionChanging(string value); - partial void OnRegionChanged(); - /// - /// There are no comments for Property PostalCode in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string PostalCode - { - get - { - return this._PostalCode; - } - set - { - this.OnPostalCodeChanging(value); - this.ReportPropertyChanging("PostalCode"); - this._PostalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("PostalCode"); - this.OnPostalCodeChanged(); - } - } - private string _PostalCode; - partial void OnPostalCodeChanging(string value); - partial void OnPostalCodeChanged(); - /// - /// There are no comments for Property Country in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Country - { - get - { - return this._Country; - } - set - { - this.OnCountryChanging(value); - this.ReportPropertyChanging("Country"); - this._Country = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Country"); - this.OnCountryChanged(); - } - } - private string _Country; - partial void OnCountryChanging(string value); - partial void OnCountryChanged(); - /// - /// There are no comments for Property HomePhone in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string HomePhone - { - get - { - return this._HomePhone; - } - set - { - this.OnHomePhoneChanging(value); - this.ReportPropertyChanging("HomePhone"); - this._HomePhone = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("HomePhone"); - this.OnHomePhoneChanged(); - } - } - private string _HomePhone; - partial void OnHomePhoneChanging(string value); - partial void OnHomePhoneChanged(); - /// - /// There are no comments for Property Extension in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Extension - { - get - { - return this._Extension; - } - set - { - this.OnExtensionChanging(value); - this.ReportPropertyChanging("Extension"); - this._Extension = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Extension"); - this.OnExtensionChanged(); - } - } - private string _Extension; - partial void OnExtensionChanging(string value); - partial void OnExtensionChanged(); - /// - /// There are no comments for Property Photo in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public byte[] Photo - { - get - { - return global::System.Data.Objects.DataClasses.StructuralObject.GetValidValue(this._Photo); - } - set - { - this.OnPhotoChanging(value); - this.ReportPropertyChanging("Photo"); - this._Photo = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Photo"); - this.OnPhotoChanged(); - } - } - private byte[] _Photo; - partial void OnPhotoChanging(byte[] value); - partial void OnPhotoChanged(); - /// - /// There are no comments for Property Notes in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Notes - { - get - { - return this._Notes; - } - set - { - this.OnNotesChanging(value); - this.ReportPropertyChanging("Notes"); - this._Notes = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Notes"); - this.OnNotesChanged(); - } - } - private string _Notes; - partial void OnNotesChanging(string value); - partial void OnNotesChanged(); - /// - /// There are no comments for Property PhotoPath in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string PhotoPath - { - get - { - return this._PhotoPath; - } - set - { - this.OnPhotoPathChanging(value); - this.ReportPropertyChanging("PhotoPath"); - this._PhotoPath = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("PhotoPath"); - this.OnPhotoPathChanged(); - } - } - private string _PhotoPath; - partial void OnPhotoPathChanging(string value); - partial void OnPhotoPathChanged(); - } - /// - /// There are no comments for northwindEFModel.Products in the schema. - /// - /// - /// ProductID - /// - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Products")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class Products : global::System.Data.Objects.DataClasses.EntityObject - { - /// - /// Create a new Products object. - /// - /// Initial value of ProductID. - /// Initial value of ProductName. - /// Initial value of Discontinued. - public static Products CreateProducts(long productID, string productName, bool discontinued) - { - Products products = new Products(); - products.ProductID = productID; - products.ProductName = productName; - products.Discontinued = discontinued; - return products; - } - /// - /// There are no comments for Property ProductID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public long ProductID - { - get - { - return this._ProductID; - } - set - { - this.OnProductIDChanging(value); - this.ReportPropertyChanging("ProductID"); - this._ProductID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("ProductID"); - this.OnProductIDChanged(); - } - } - private long _ProductID; - partial void OnProductIDChanging(long value); - partial void OnProductIDChanged(); - /// - /// There are no comments for Property ProductName in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string ProductName - { - get - { - return this._ProductName; - } - set - { - this.OnProductNameChanging(value); - this.ReportPropertyChanging("ProductName"); - this._ProductName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("ProductName"); - this.OnProductNameChanged(); - } - } - private string _ProductName; - partial void OnProductNameChanging(string value); - partial void OnProductNameChanged(); - /// - /// There are no comments for Property QuantityPerUnit in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string QuantityPerUnit - { - get - { - return this._QuantityPerUnit; - } - set - { - this.OnQuantityPerUnitChanging(value); - this.ReportPropertyChanging("QuantityPerUnit"); - this._QuantityPerUnit = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("QuantityPerUnit"); - this.OnQuantityPerUnitChanged(); - } - } - private string _QuantityPerUnit; - partial void OnQuantityPerUnitChanging(string value); - partial void OnQuantityPerUnitChanged(); - /// - /// There are no comments for Property UnitPrice in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable UnitPrice - { - get - { - return this._UnitPrice; - } - set - { - this.OnUnitPriceChanging(value); - this.ReportPropertyChanging("UnitPrice"); - this._UnitPrice = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("UnitPrice"); - this.OnUnitPriceChanged(); - } - } - private global::System.Nullable _UnitPrice; - partial void OnUnitPriceChanging(global::System.Nullable value); - partial void OnUnitPriceChanged(); - /// - /// There are no comments for Property UnitsInStock in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable UnitsInStock - { - get - { - return this._UnitsInStock; - } - set - { - this.OnUnitsInStockChanging(value); - this.ReportPropertyChanging("UnitsInStock"); - this._UnitsInStock = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("UnitsInStock"); - this.OnUnitsInStockChanged(); - } - } - private global::System.Nullable _UnitsInStock; - partial void OnUnitsInStockChanging(global::System.Nullable value); - partial void OnUnitsInStockChanged(); - /// - /// There are no comments for Property UnitsOnOrder in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable UnitsOnOrder - { - get - { - return this._UnitsOnOrder; - } - set - { - this.OnUnitsOnOrderChanging(value); - this.ReportPropertyChanging("UnitsOnOrder"); - this._UnitsOnOrder = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("UnitsOnOrder"); - this.OnUnitsOnOrderChanged(); - } - } - private global::System.Nullable _UnitsOnOrder; - partial void OnUnitsOnOrderChanging(global::System.Nullable value); - partial void OnUnitsOnOrderChanged(); - /// - /// There are no comments for Property ReorderLevel in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable ReorderLevel - { - get - { - return this._ReorderLevel; - } - set - { - this.OnReorderLevelChanging(value); - this.ReportPropertyChanging("ReorderLevel"); - this._ReorderLevel = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("ReorderLevel"); - this.OnReorderLevelChanged(); - } - } - private global::System.Nullable _ReorderLevel; - partial void OnReorderLevelChanging(global::System.Nullable value); - partial void OnReorderLevelChanged(); - /// - /// There are no comments for Property Discontinued in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public bool Discontinued - { - get - { - return this._Discontinued; - } - set - { - this.OnDiscontinuedChanging(value); - this.ReportPropertyChanging("Discontinued"); - this._Discontinued = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("Discontinued"); - this.OnDiscontinuedChanged(); - } - } - private bool _Discontinued; - partial void OnDiscontinuedChanging(bool value); - partial void OnDiscontinuedChanged(); - /// - /// There are no comments for Property DiscontinuedDate in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Nullable DiscontinuedDate - { - get - { - return this._DiscontinuedDate; - } - set - { - this.OnDiscontinuedDateChanging(value); - this.ReportPropertyChanging("DiscontinuedDate"); - this._DiscontinuedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("DiscontinuedDate"); - this.OnDiscontinuedDateChanged(); - } - } - private global::System.Nullable _DiscontinuedDate; - partial void OnDiscontinuedDateChanging(global::System.Nullable value); - partial void OnDiscontinuedDateChanged(); - /// - /// There are no comments for Categories in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public Categories Categories - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value; - } - set - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value = value; - } - } - /// - /// There are no comments for Categories in the schema. - /// - [global::System.ComponentModel.BrowsableAttribute(false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityReference CategoriesReference - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories", value); - } - } - } - /// - /// There are no comments for OrderDetails in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "OrderDetails")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection OrderDetails - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails", value); - } - } - } - /// - /// There are no comments for Suppliers in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public Suppliers Suppliers - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value; - } - set - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value = value; - } - } - /// - /// There are no comments for Suppliers in the schema. - /// - [global::System.ComponentModel.BrowsableAttribute(false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityReference SuppliersReference - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers", value); - } - } - } - } - /// - /// There are no comments for northwindEFModel.Regions in the schema. - /// - /// - /// RegionID - /// - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Regions")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class Regions : global::System.Data.Objects.DataClasses.EntityObject - { - /// - /// Create a new Regions object. - /// - /// Initial value of RegionID. - /// Initial value of RegionDescription. - public static Regions CreateRegions(long regionID, string regionDescription) - { - Regions regions = new Regions(); - regions.RegionID = regionID; - regions.RegionDescription = regionDescription; - return regions; - } - /// - /// There are no comments for Property RegionID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public long RegionID - { - get - { - return this._RegionID; - } - set - { - this.OnRegionIDChanging(value); - this.ReportPropertyChanging("RegionID"); - this._RegionID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("RegionID"); - this.OnRegionIDChanged(); - } - } - private long _RegionID; - partial void OnRegionIDChanging(long value); - partial void OnRegionIDChanged(); - /// - /// There are no comments for Property RegionDescription in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string RegionDescription - { - get - { - return this._RegionDescription; - } - set - { - this.OnRegionDescriptionChanging(value); - this.ReportPropertyChanging("RegionDescription"); - this._RegionDescription = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("RegionDescription"); - this.OnRegionDescriptionChanged(); - } - } - private string _RegionDescription; - partial void OnRegionDescriptionChanging(string value); - partial void OnRegionDescriptionChanged(); - /// - /// There are no comments for Territories in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Territories")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection Territories - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories", value); - } - } - } - } - /// - /// There are no comments for northwindEFModel.Suppliers in the schema. - /// - /// - /// SupplierID - /// - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Suppliers")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class Suppliers : global::System.Data.Objects.DataClasses.EntityObject - { - /// - /// Create a new Suppliers object. - /// - /// Initial value of SupplierID. - /// Initial value of CompanyName. - public static Suppliers CreateSuppliers(long supplierID, string companyName) - { - Suppliers suppliers = new Suppliers(); - suppliers.SupplierID = supplierID; - suppliers.CompanyName = companyName; - return suppliers; - } - /// - /// There are no comments for Property SupplierID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public long SupplierID - { - get - { - return this._SupplierID; - } - set - { - this.OnSupplierIDChanging(value); - this.ReportPropertyChanging("SupplierID"); - this._SupplierID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("SupplierID"); - this.OnSupplierIDChanged(); - } - } - private long _SupplierID; - partial void OnSupplierIDChanging(long value); - partial void OnSupplierIDChanged(); - /// - /// There are no comments for Property CompanyName in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string CompanyName - { - get - { - return this._CompanyName; - } - set - { - this.OnCompanyNameChanging(value); - this.ReportPropertyChanging("CompanyName"); - this._CompanyName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("CompanyName"); - this.OnCompanyNameChanged(); - } - } - private string _CompanyName; - partial void OnCompanyNameChanging(string value); - partial void OnCompanyNameChanged(); - /// - /// There are no comments for Property ContactName in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string ContactName - { - get - { - return this._ContactName; - } - set - { - this.OnContactNameChanging(value); - this.ReportPropertyChanging("ContactName"); - this._ContactName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("ContactName"); - this.OnContactNameChanged(); - } - } - private string _ContactName; - partial void OnContactNameChanging(string value); - partial void OnContactNameChanged(); - /// - /// There are no comments for Property ContactTitle in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string ContactTitle - { - get - { - return this._ContactTitle; - } - set - { - this.OnContactTitleChanging(value); - this.ReportPropertyChanging("ContactTitle"); - this._ContactTitle = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("ContactTitle"); - this.OnContactTitleChanged(); - } - } - private string _ContactTitle; - partial void OnContactTitleChanging(string value); - partial void OnContactTitleChanged(); - /// - /// There are no comments for Property Address in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Address - { - get - { - return this._Address; - } - set - { - this.OnAddressChanging(value); - this.ReportPropertyChanging("Address"); - this._Address = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Address"); - this.OnAddressChanged(); - } - } - private string _Address; - partial void OnAddressChanging(string value); - partial void OnAddressChanged(); - /// - /// There are no comments for Property City in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string City - { - get - { - return this._City; - } - set - { - this.OnCityChanging(value); - this.ReportPropertyChanging("City"); - this._City = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("City"); - this.OnCityChanged(); - } - } - private string _City; - partial void OnCityChanging(string value); - partial void OnCityChanged(); - /// - /// There are no comments for Property Region in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Region - { - get - { - return this._Region; - } - set - { - this.OnRegionChanging(value); - this.ReportPropertyChanging("Region"); - this._Region = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Region"); - this.OnRegionChanged(); - } - } - private string _Region; - partial void OnRegionChanging(string value); - partial void OnRegionChanged(); - /// - /// There are no comments for Property PostalCode in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string PostalCode - { - get - { - return this._PostalCode; - } - set - { - this.OnPostalCodeChanging(value); - this.ReportPropertyChanging("PostalCode"); - this._PostalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("PostalCode"); - this.OnPostalCodeChanged(); - } - } - private string _PostalCode; - partial void OnPostalCodeChanging(string value); - partial void OnPostalCodeChanged(); - /// - /// There are no comments for Property Country in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Country - { - get - { - return this._Country; - } - set - { - this.OnCountryChanging(value); - this.ReportPropertyChanging("Country"); - this._Country = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Country"); - this.OnCountryChanged(); - } - } - private string _Country; - partial void OnCountryChanging(string value); - partial void OnCountryChanged(); - /// - /// There are no comments for Property Phone in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Phone - { - get - { - return this._Phone; - } - set - { - this.OnPhoneChanging(value); - this.ReportPropertyChanging("Phone"); - this._Phone = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Phone"); - this.OnPhoneChanged(); - } - } - private string _Phone; - partial void OnPhoneChanging(string value); - partial void OnPhoneChanged(); - /// - /// There are no comments for Property Fax in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string Fax - { - get - { - return this._Fax; - } - set - { - this.OnFaxChanging(value); - this.ReportPropertyChanging("Fax"); - this._Fax = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("Fax"); - this.OnFaxChanged(); - } - } - private string _Fax; - partial void OnFaxChanging(string value); - partial void OnFaxChanged(); - /// - /// There are no comments for Property HomePage in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string HomePage - { - get - { - return this._HomePage; - } - set - { - this.OnHomePageChanging(value); - this.ReportPropertyChanging("HomePage"); - this._HomePage = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); - this.ReportPropertyChanged("HomePage"); - this.OnHomePageChanged(); - } - } - private string _HomePage; - partial void OnHomePageChanging(string value); - partial void OnHomePageChanged(); - /// - /// There are no comments for Products in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Products")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection Products - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products", value); - } - } - } - } - /// - /// There are no comments for northwindEFModel.Territories in the schema. - /// - /// - /// TerritoryID - /// - [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Territories")] - [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] - [global::System.Serializable()] - public partial class Territories : global::System.Data.Objects.DataClasses.EntityObject - { - /// - /// Create a new Territories object. - /// - /// Initial value of TerritoryID. - /// Initial value of TerritoryDescription. - public static Territories CreateTerritories(long territoryID, string territoryDescription) - { - Territories territories = new Territories(); - territories.TerritoryID = territoryID; - territories.TerritoryDescription = territoryDescription; - return territories; - } - /// - /// There are no comments for Property TerritoryID in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public long TerritoryID - { - get - { - return this._TerritoryID; - } - set - { - this.OnTerritoryIDChanging(value); - this.ReportPropertyChanging("TerritoryID"); - this._TerritoryID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); - this.ReportPropertyChanged("TerritoryID"); - this.OnTerritoryIDChanged(); - } - } - private long _TerritoryID; - partial void OnTerritoryIDChanging(long value); - partial void OnTerritoryIDChanged(); - /// - /// There are no comments for Property TerritoryDescription in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public string TerritoryDescription - { - get - { - return this._TerritoryDescription; - } - set - { - this.OnTerritoryDescriptionChanging(value); - this.ReportPropertyChanging("TerritoryDescription"); - this._TerritoryDescription = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); - this.ReportPropertyChanged("TerritoryDescription"); - this.OnTerritoryDescriptionChanged(); - } - } - private string _TerritoryDescription; - partial void OnTerritoryDescriptionChanging(string value); - partial void OnTerritoryDescriptionChanged(); - /// - /// There are no comments for Regions in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public Regions Regions - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value; - } - set - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value = value; - } - } - /// - /// There are no comments for Regions in the schema. - /// - [global::System.ComponentModel.BrowsableAttribute(false)] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityReference RegionsReference - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions", value); - } - } - } - /// - /// There are no comments for Employees in the schema. - /// - [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Employees")] - [global::System.Xml.Serialization.XmlIgnoreAttribute()] - [global::System.Xml.Serialization.SoapIgnoreAttribute()] - [global::System.Runtime.Serialization.DataMemberAttribute()] - public global::System.Data.Objects.DataClasses.EntityCollection Employees - { - get - { - return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees"); - } - set - { - if ((value != null)) - { - ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees", value); - } - } - } - } -} DELETED testlinq/NorthwindModel.Linq.2008.edmx Index: testlinq/NorthwindModel.Linq.2008.edmx ================================================================== --- testlinq/NorthwindModel.Linq.2008.edmx +++ /dev/null @@ -1,909 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DELETED testlinq/NorthwindModel.Linq.2010.Designer.cs Index: testlinq/NorthwindModel.Linq.2010.Designer.cs ================================================================== --- testlinq/NorthwindModel.Linq.2010.Designer.cs +++ /dev/null @@ -1,3506 +0,0 @@ -/******************************************************** - * ADO.NET 2.0 Data Provider for SQLite Version 3.X - * Written by Robert Simpson (robert@blackcastlesoft.com) - * - * Released to the public domain, use at your own risk! - ********************************************************/ - -//------------------------------------------------------------------------------ -// -// This code was generated from a template. -// -// Manual changes to this file may cause unexpected behavior in your application. -// Manual changes to this file will be overwritten if the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.ComponentModel; -using System.Data.EntityClient; -using System.Data.Metadata.Edm; -using System.Data.Objects; -using System.Data.Objects.DataClasses; -using System.Runtime.Serialization; -using System.Xml.Serialization; - -[assembly: EdmSchemaAttribute()] -#region EDM Relationship Metadata - -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Categories), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Customers), "Orders", RelationshipMultiplicity.Many, typeof(testlinq.Orders))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "InternationalOrders", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.InternationalOrders), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products", RelationshipMultiplicity.One, typeof(testlinq.Products), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Suppliers), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions", RelationshipMultiplicity.One, typeof(testlinq.Regions), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "EmployeesTerritories", "Employees", RelationshipMultiplicity.Many, typeof(testlinq.Employees), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] - -#endregion - -namespace testlinq -{ - #region Contexts - - /// - /// No Metadata Documentation available. - /// - public partial class northwindEFEntities : ObjectContext - { - #region Constructors - - /// - /// Initializes a new northwindEFEntities object using the connection string found in the 'northwindEFEntities' section of the application configuration file. - /// - public northwindEFEntities() : base("name=northwindEFEntities", "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(string connectionString) : base(connectionString, "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(EntityConnection connection) : base(connection, "northwindEFEntities") - { - OnContextCreated(); - } - - #endregion - - #region Partial Methods - - partial void OnContextCreated(); - - #endregion - - #region ObjectSet Properties - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Categories - { - get - { - if ((_Categories == null)) - { - _Categories = base.CreateObjectSet("Categories"); - } - return _Categories; - } - } - private ObjectSet _Categories; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Customers - { - get - { - if ((_Customers == null)) - { - _Customers = base.CreateObjectSet("Customers"); - } - return _Customers; - } - } - private ObjectSet _Customers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Employees - { - get - { - if ((_Employees == null)) - { - _Employees = base.CreateObjectSet("Employees"); - } - return _Employees; - } - } - private ObjectSet _Employees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet InternationalOrders - { - get - { - if ((_InternationalOrders == null)) - { - _InternationalOrders = base.CreateObjectSet("InternationalOrders"); - } - return _InternationalOrders; - } - } - private ObjectSet _InternationalOrders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet OrderDetails - { - get - { - if ((_OrderDetails == null)) - { - _OrderDetails = base.CreateObjectSet("OrderDetails"); - } - return _OrderDetails; - } - } - private ObjectSet _OrderDetails; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Orders - { - get - { - if ((_Orders == null)) - { - _Orders = base.CreateObjectSet("Orders"); - } - return _Orders; - } - } - private ObjectSet _Orders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet PreviousEmployees - { - get - { - if ((_PreviousEmployees == null)) - { - _PreviousEmployees = base.CreateObjectSet("PreviousEmployees"); - } - return _PreviousEmployees; - } - } - private ObjectSet _PreviousEmployees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Products - { - get - { - if ((_Products == null)) - { - _Products = base.CreateObjectSet("Products"); - } - return _Products; - } - } - private ObjectSet _Products; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Regions - { - get - { - if ((_Regions == null)) - { - _Regions = base.CreateObjectSet("Regions"); - } - return _Regions; - } - } - private ObjectSet _Regions; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Suppliers - { - get - { - if ((_Suppliers == null)) - { - _Suppliers = base.CreateObjectSet("Suppliers"); - } - return _Suppliers; - } - } - private ObjectSet _Suppliers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Territories - { - get - { - if ((_Territories == null)) - { - _Territories = base.CreateObjectSet("Territories"); - } - return _Territories; - } - } - private ObjectSet _Territories; - - #endregion - #region AddTo Methods - - /// - /// Deprecated Method for adding a new object to the Categories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCategories(Categories categories) - { - base.AddObject("Categories", categories); - } - - /// - /// Deprecated Method for adding a new object to the Customers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCustomers(Customers customers) - { - base.AddObject("Customers", customers); - } - - /// - /// Deprecated Method for adding a new object to the Employees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToEmployees(Employees employees) - { - base.AddObject("Employees", employees); - } - - /// - /// Deprecated Method for adding a new object to the InternationalOrders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToInternationalOrders(InternationalOrders internationalOrders) - { - base.AddObject("InternationalOrders", internationalOrders); - } - - /// - /// Deprecated Method for adding a new object to the OrderDetails EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrderDetails(OrderDetails orderDetails) - { - base.AddObject("OrderDetails", orderDetails); - } - - /// - /// Deprecated Method for adding a new object to the Orders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrders(Orders orders) - { - base.AddObject("Orders", orders); - } - - /// - /// Deprecated Method for adding a new object to the PreviousEmployees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToPreviousEmployees(PreviousEmployees previousEmployees) - { - base.AddObject("PreviousEmployees", previousEmployees); - } - - /// - /// Deprecated Method for adding a new object to the Products EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToProducts(Products products) - { - base.AddObject("Products", products); - } - - /// - /// Deprecated Method for adding a new object to the Regions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToRegions(Regions regions) - { - base.AddObject("Regions", regions); - } - - /// - /// Deprecated Method for adding a new object to the Suppliers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToSuppliers(Suppliers suppliers) - { - base.AddObject("Suppliers", suppliers); - } - - /// - /// Deprecated Method for adding a new object to the Territories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToTerritories(Territories territories) - { - base.AddObject("Territories", territories); - } - - #endregion - } - - - #endregion - - #region Entities - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Categories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Categories : EntityObject - { - #region Factory Method - - /// - /// Create a new Categories object. - /// - /// Initial value of the CategoryID property. - /// Initial value of the CategoryName property. - public static Categories CreateCategories(global::System.Int64 categoryID, global::System.String categoryName) - { - Categories categories = new Categories(); - categories.CategoryID = categoryID; - categories.CategoryName = categoryName; - return categories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 CategoryID - { - get - { - return _CategoryID; - } - set - { - if (_CategoryID != value) - { - OnCategoryIDChanging(value); - ReportPropertyChanging("CategoryID"); - _CategoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("CategoryID"); - OnCategoryIDChanged(); - } - } - } - private global::System.Int64 _CategoryID; - partial void OnCategoryIDChanging(global::System.Int64 value); - partial void OnCategoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CategoryName - { - get - { - return _CategoryName; - } - set - { - OnCategoryNameChanging(value); - ReportPropertyChanging("CategoryName"); - _CategoryName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CategoryName"); - OnCategoryNameChanged(); - } - } - private global::System.String _CategoryName; - partial void OnCategoryNameChanging(global::System.String value); - partial void OnCategoryNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Description - { - get - { - return _Description; - } - set - { - OnDescriptionChanging(value); - ReportPropertyChanging("Description"); - _Description = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Description"); - OnDescriptionChanged(); - } - } - private global::System.String _Description; - partial void OnDescriptionChanging(global::System.String value); - partial void OnDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Picture - { - get - { - return StructuralObject.GetValidValue(_Picture); - } - set - { - OnPictureChanging(value); - ReportPropertyChanging("Picture"); - _Picture = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Picture"); - OnPictureChanged(); - } - } - private global::System.Byte[] _Picture; - partial void OnPictureChanging(global::System.Byte[] value); - partial void OnPictureChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Customers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Customers : EntityObject - { - #region Factory Method - - /// - /// Create a new Customers object. - /// - /// Initial value of the CustomerID property. - /// Initial value of the CompanyName property. - public static Customers CreateCustomers(global::System.String customerID, global::System.String companyName) - { - Customers customers = new Customers(); - customers.CustomerID = customerID; - customers.CompanyName = companyName; - return customers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomerID - { - get - { - return _CustomerID; - } - set - { - if (_CustomerID != value) - { - OnCustomerIDChanging(value); - ReportPropertyChanging("CustomerID"); - _CustomerID = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomerID"); - OnCustomerIDChanged(); - } - } - } - private global::System.String _CustomerID; - partial void OnCustomerIDChanging(global::System.String value); - partial void OnCustomerIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Orders")] - public EntityCollection Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Employees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Employees : EntityObject - { - #region Factory Method - - /// - /// Create a new Employees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static Employees CreateEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - Employees employees = new Employees(); - employees.EmployeeID = employeeID; - employees.LastName = lastName; - employees.FirstName = firstName; - return employees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="InternationalOrders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class InternationalOrders : EntityObject - { - #region Factory Method - - /// - /// Create a new InternationalOrders object. - /// - /// Initial value of the OrderID property. - /// Initial value of the CustomsDescription property. - /// Initial value of the ExciseTax property. - public static InternationalOrders CreateInternationalOrders(global::System.Int64 orderID, global::System.String customsDescription, global::System.Decimal exciseTax) - { - InternationalOrders internationalOrders = new InternationalOrders(); - internationalOrders.OrderID = orderID; - internationalOrders.CustomsDescription = customsDescription; - internationalOrders.ExciseTax = exciseTax; - return internationalOrders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomsDescription - { - get - { - return _CustomsDescription; - } - set - { - OnCustomsDescriptionChanging(value); - ReportPropertyChanging("CustomsDescription"); - _CustomsDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomsDescription"); - OnCustomsDescriptionChanged(); - } - } - private global::System.String _CustomsDescription; - partial void OnCustomsDescriptionChanging(global::System.String value); - partial void OnCustomsDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal ExciseTax - { - get - { - return _ExciseTax; - } - set - { - OnExciseTaxChanging(value); - ReportPropertyChanging("ExciseTax"); - _ExciseTax = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ExciseTax"); - OnExciseTaxChanged(); - } - } - private global::System.Decimal _ExciseTax; - partial void OnExciseTaxChanging(global::System.Decimal value); - partial void OnExciseTaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="OrderDetails")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class OrderDetails : EntityObject - { - #region Factory Method - - /// - /// Create a new OrderDetails object. - /// - /// Initial value of the OrderID property. - /// Initial value of the ProductID property. - /// Initial value of the UnitPrice property. - /// Initial value of the Quantity property. - /// Initial value of the Discount property. - public static OrderDetails CreateOrderDetails(global::System.Int64 orderID, global::System.Int64 productID, global::System.Decimal unitPrice, global::System.Int16 quantity, global::System.Single discount) - { - OrderDetails orderDetails = new OrderDetails(); - orderDetails.OrderID = orderID; - orderDetails.ProductID = productID; - orderDetails.UnitPrice = unitPrice; - orderDetails.Quantity = quantity; - orderDetails.Discount = discount; - return orderDetails; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private global::System.Decimal _UnitPrice; - partial void OnUnitPriceChanging(global::System.Decimal value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int16 Quantity - { - get - { - return _Quantity; - } - set - { - OnQuantityChanging(value); - ReportPropertyChanging("Quantity"); - _Quantity = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Quantity"); - OnQuantityChanged(); - } - } - private global::System.Int16 _Quantity; - partial void OnQuantityChanging(global::System.Int16 value); - partial void OnQuantityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Single Discount - { - get - { - return _Discount; - } - set - { - OnDiscountChanging(value); - ReportPropertyChanging("Discount"); - _Discount = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discount"); - OnDiscountChanged(); - } - } - private global::System.Single _Discount; - partial void OnDiscountChanging(global::System.Single value); - partial void OnDiscountChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products")] - public Products Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference ProductsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Orders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Orders : EntityObject - { - #region Factory Method - - /// - /// Create a new Orders object. - /// - /// Initial value of the OrderID property. - public static Orders CreateOrders(global::System.Int64 orderID) - { - Orders orders = new Orders(); - orders.OrderID = orderID; - return orders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable EmployeeID - { - get - { - return _EmployeeID; - } - set - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - private Nullable _EmployeeID; - partial void OnEmployeeIDChanging(Nullable value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable OrderDate - { - get - { - return _OrderDate; - } - set - { - OnOrderDateChanging(value); - ReportPropertyChanging("OrderDate"); - _OrderDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderDate"); - OnOrderDateChanged(); - } - } - private Nullable _OrderDate; - partial void OnOrderDateChanging(Nullable value); - partial void OnOrderDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable RequiredDate - { - get - { - return _RequiredDate; - } - set - { - OnRequiredDateChanging(value); - ReportPropertyChanging("RequiredDate"); - _RequiredDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RequiredDate"); - OnRequiredDateChanged(); - } - } - private Nullable _RequiredDate; - partial void OnRequiredDateChanging(Nullable value); - partial void OnRequiredDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ShippedDate - { - get - { - return _ShippedDate; - } - set - { - OnShippedDateChanging(value); - ReportPropertyChanging("ShippedDate"); - _ShippedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ShippedDate"); - OnShippedDateChanged(); - } - } - private Nullable _ShippedDate; - partial void OnShippedDateChanging(Nullable value); - partial void OnShippedDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable Freight - { - get - { - return _Freight; - } - set - { - OnFreightChanging(value); - ReportPropertyChanging("Freight"); - _Freight = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Freight"); - OnFreightChanged(); - } - } - private Nullable _Freight; - partial void OnFreightChanging(Nullable value); - partial void OnFreightChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipName - { - get - { - return _ShipName; - } - set - { - OnShipNameChanging(value); - ReportPropertyChanging("ShipName"); - _ShipName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipName"); - OnShipNameChanged(); - } - } - private global::System.String _ShipName; - partial void OnShipNameChanging(global::System.String value); - partial void OnShipNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipAddress - { - get - { - return _ShipAddress; - } - set - { - OnShipAddressChanging(value); - ReportPropertyChanging("ShipAddress"); - _ShipAddress = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipAddress"); - OnShipAddressChanged(); - } - } - private global::System.String _ShipAddress; - partial void OnShipAddressChanging(global::System.String value); - partial void OnShipAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCity - { - get - { - return _ShipCity; - } - set - { - OnShipCityChanging(value); - ReportPropertyChanging("ShipCity"); - _ShipCity = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCity"); - OnShipCityChanged(); - } - } - private global::System.String _ShipCity; - partial void OnShipCityChanging(global::System.String value); - partial void OnShipCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipRegion - { - get - { - return _ShipRegion; - } - set - { - OnShipRegionChanging(value); - ReportPropertyChanging("ShipRegion"); - _ShipRegion = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipRegion"); - OnShipRegionChanged(); - } - } - private global::System.String _ShipRegion; - partial void OnShipRegionChanging(global::System.String value); - partial void OnShipRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipPostalCode - { - get - { - return _ShipPostalCode; - } - set - { - OnShipPostalCodeChanging(value); - ReportPropertyChanging("ShipPostalCode"); - _ShipPostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipPostalCode"); - OnShipPostalCodeChanged(); - } - } - private global::System.String _ShipPostalCode; - partial void OnShipPostalCodeChanging(global::System.String value); - partial void OnShipPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCountry - { - get - { - return _ShipCountry; - } - set - { - OnShipCountryChanging(value); - ReportPropertyChanging("ShipCountry"); - _ShipCountry = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCountry"); - OnShipCountryChanged(); - } - } - private global::System.String _ShipCountry; - partial void OnShipCountryChanging(global::System.String value); - partial void OnShipCountryChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers")] - public Customers Customers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CustomersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "InternationalOrders")] - public InternationalOrders InternationalOrders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference InternationalOrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="PreviousEmployees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class PreviousEmployees : EntityObject - { - #region Factory Method - - /// - /// Create a new PreviousEmployees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static PreviousEmployees CreatePreviousEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - PreviousEmployees previousEmployees = new PreviousEmployees(); - previousEmployees.EmployeeID = employeeID; - previousEmployees.LastName = lastName; - previousEmployees.FirstName = firstName; - return previousEmployees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Products")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Products : EntityObject - { - #region Factory Method - - /// - /// Create a new Products object. - /// - /// Initial value of the ProductID property. - /// Initial value of the ProductName property. - /// Initial value of the Discontinued property. - public static Products CreateProducts(global::System.Int64 productID, global::System.String productName, global::System.Boolean discontinued) - { - Products products = new Products(); - products.ProductID = productID; - products.ProductName = productName; - products.Discontinued = discontinued; - return products; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String ProductName - { - get - { - return _ProductName; - } - set - { - OnProductNameChanging(value); - ReportPropertyChanging("ProductName"); - _ProductName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("ProductName"); - OnProductNameChanged(); - } - } - private global::System.String _ProductName; - partial void OnProductNameChanging(global::System.String value); - partial void OnProductNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String QuantityPerUnit - { - get - { - return _QuantityPerUnit; - } - set - { - OnQuantityPerUnitChanging(value); - ReportPropertyChanging("QuantityPerUnit"); - _QuantityPerUnit = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("QuantityPerUnit"); - OnQuantityPerUnitChanged(); - } - } - private global::System.String _QuantityPerUnit; - partial void OnQuantityPerUnitChanging(global::System.String value); - partial void OnQuantityPerUnitChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private Nullable _UnitPrice; - partial void OnUnitPriceChanging(Nullable value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsInStock - { - get - { - return _UnitsInStock; - } - set - { - OnUnitsInStockChanging(value); - ReportPropertyChanging("UnitsInStock"); - _UnitsInStock = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsInStock"); - OnUnitsInStockChanged(); - } - } - private Nullable _UnitsInStock; - partial void OnUnitsInStockChanging(Nullable value); - partial void OnUnitsInStockChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsOnOrder - { - get - { - return _UnitsOnOrder; - } - set - { - OnUnitsOnOrderChanging(value); - ReportPropertyChanging("UnitsOnOrder"); - _UnitsOnOrder = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsOnOrder"); - OnUnitsOnOrderChanged(); - } - } - private Nullable _UnitsOnOrder; - partial void OnUnitsOnOrderChanging(Nullable value); - partial void OnUnitsOnOrderChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ReorderLevel - { - get - { - return _ReorderLevel; - } - set - { - OnReorderLevelChanging(value); - ReportPropertyChanging("ReorderLevel"); - _ReorderLevel = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ReorderLevel"); - OnReorderLevelChanged(); - } - } - private Nullable _ReorderLevel; - partial void OnReorderLevelChanging(Nullable value); - partial void OnReorderLevelChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Boolean Discontinued - { - get - { - return _Discontinued; - } - set - { - OnDiscontinuedChanging(value); - ReportPropertyChanging("Discontinued"); - _Discontinued = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discontinued"); - OnDiscontinuedChanged(); - } - } - private global::System.Boolean _Discontinued; - partial void OnDiscontinuedChanging(global::System.Boolean value); - partial void OnDiscontinuedChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable DiscontinuedDate - { - get - { - return _DiscontinuedDate; - } - set - { - OnDiscontinuedDateChanging(value); - ReportPropertyChanging("DiscontinuedDate"); - _DiscontinuedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("DiscontinuedDate"); - OnDiscontinuedDateChanged(); - } - } - private Nullable _DiscontinuedDate; - partial void OnDiscontinuedDateChanging(Nullable value); - partial void OnDiscontinuedDateChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories")] - public Categories Categories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CategoriesReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers")] - public Suppliers Suppliers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference SuppliersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Regions")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Regions : EntityObject - { - #region Factory Method - - /// - /// Create a new Regions object. - /// - /// Initial value of the RegionID property. - /// Initial value of the RegionDescription property. - public static Regions CreateRegions(global::System.Int64 regionID, global::System.String regionDescription) - { - Regions regions = new Regions(); - regions.RegionID = regionID; - regions.RegionDescription = regionDescription; - return regions; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 RegionID - { - get - { - return _RegionID; - } - set - { - if (_RegionID != value) - { - OnRegionIDChanging(value); - ReportPropertyChanging("RegionID"); - _RegionID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RegionID"); - OnRegionIDChanged(); - } - } - } - private global::System.Int64 _RegionID; - partial void OnRegionIDChanging(global::System.Int64 value); - partial void OnRegionIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String RegionDescription - { - get - { - return _RegionDescription; - } - set - { - OnRegionDescriptionChanging(value); - ReportPropertyChanging("RegionDescription"); - _RegionDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("RegionDescription"); - OnRegionDescriptionChanged(); - } - } - private global::System.String _RegionDescription; - partial void OnRegionDescriptionChanging(global::System.String value); - partial void OnRegionDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Suppliers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Suppliers : EntityObject - { - #region Factory Method - - /// - /// Create a new Suppliers object. - /// - /// Initial value of the SupplierID property. - /// Initial value of the CompanyName property. - public static Suppliers CreateSuppliers(global::System.Int64 supplierID, global::System.String companyName) - { - Suppliers suppliers = new Suppliers(); - suppliers.SupplierID = supplierID; - suppliers.CompanyName = companyName; - return suppliers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 SupplierID - { - get - { - return _SupplierID; - } - set - { - if (_SupplierID != value) - { - OnSupplierIDChanging(value); - ReportPropertyChanging("SupplierID"); - _SupplierID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("SupplierID"); - OnSupplierIDChanged(); - } - } - } - private global::System.Int64 _SupplierID; - partial void OnSupplierIDChanging(global::System.Int64 value); - partial void OnSupplierIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePage - { - get - { - return _HomePage; - } - set - { - OnHomePageChanging(value); - ReportPropertyChanging("HomePage"); - _HomePage = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePage"); - OnHomePageChanged(); - } - } - private global::System.String _HomePage; - partial void OnHomePageChanging(global::System.String value); - partial void OnHomePageChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Territories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Territories : EntityObject - { - #region Factory Method - - /// - /// Create a new Territories object. - /// - /// Initial value of the TerritoryID property. - /// Initial value of the TerritoryDescription property. - public static Territories CreateTerritories(global::System.Int64 territoryID, global::System.String territoryDescription) - { - Territories territories = new Territories(); - territories.TerritoryID = territoryID; - territories.TerritoryDescription = territoryDescription; - return territories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 TerritoryID - { - get - { - return _TerritoryID; - } - set - { - if (_TerritoryID != value) - { - OnTerritoryIDChanging(value); - ReportPropertyChanging("TerritoryID"); - _TerritoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("TerritoryID"); - OnTerritoryIDChanged(); - } - } - } - private global::System.Int64 _TerritoryID; - partial void OnTerritoryIDChanging(global::System.Int64 value); - partial void OnTerritoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String TerritoryDescription - { - get - { - return _TerritoryDescription; - } - set - { - OnTerritoryDescriptionChanging(value); - ReportPropertyChanging("TerritoryDescription"); - _TerritoryDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("TerritoryDescription"); - OnTerritoryDescriptionChanged(); - } - } - private global::System.String _TerritoryDescription; - partial void OnTerritoryDescriptionChanging(global::System.String value); - partial void OnTerritoryDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions")] - public Regions Regions - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference RegionsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Employees")] - public EntityCollection Employees - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees", value); - } - } - } - - #endregion - } - - #endregion - -} DELETED testlinq/NorthwindModel.Linq.2010.edmx Index: testlinq/NorthwindModel.Linq.2010.edmx ================================================================== --- testlinq/NorthwindModel.Linq.2010.edmx +++ /dev/null @@ -1,909 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DELETED testlinq/NorthwindModel.Linq.2012.Designer.cs Index: testlinq/NorthwindModel.Linq.2012.Designer.cs ================================================================== --- testlinq/NorthwindModel.Linq.2012.Designer.cs +++ /dev/null @@ -1,3506 +0,0 @@ -/******************************************************** - * ADO.NET 2.0 Data Provider for SQLite Version 3.X - * Written by Robert Simpson (robert@blackcastlesoft.com) - * - * Released to the public domain, use at your own risk! - ********************************************************/ - -//------------------------------------------------------------------------------ -// -// This code was generated from a template. -// -// Manual changes to this file may cause unexpected behavior in your application. -// Manual changes to this file will be overwritten if the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.ComponentModel; -using System.Data.EntityClient; -using System.Data.Metadata.Edm; -using System.Data.Objects; -using System.Data.Objects.DataClasses; -using System.Runtime.Serialization; -using System.Xml.Serialization; - -[assembly: EdmSchemaAttribute()] -#region EDM Relationship Metadata - -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Categories), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Customers), "Orders", RelationshipMultiplicity.Many, typeof(testlinq.Orders))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "InternationalOrders", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.InternationalOrders), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products", RelationshipMultiplicity.One, typeof(testlinq.Products), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Suppliers), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions", RelationshipMultiplicity.One, typeof(testlinq.Regions), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "EmployeesTerritories", "Employees", RelationshipMultiplicity.Many, typeof(testlinq.Employees), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] - -#endregion - -namespace testlinq -{ - #region Contexts - - /// - /// No Metadata Documentation available. - /// - public partial class northwindEFEntities : ObjectContext - { - #region Constructors - - /// - /// Initializes a new northwindEFEntities object using the connection string found in the 'northwindEFEntities' section of the application configuration file. - /// - public northwindEFEntities() : base("name=northwindEFEntities", "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(string connectionString) : base(connectionString, "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(EntityConnection connection) : base(connection, "northwindEFEntities") - { - OnContextCreated(); - } - - #endregion - - #region Partial Methods - - partial void OnContextCreated(); - - #endregion - - #region ObjectSet Properties - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Categories - { - get - { - if ((_Categories == null)) - { - _Categories = base.CreateObjectSet("Categories"); - } - return _Categories; - } - } - private ObjectSet _Categories; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Customers - { - get - { - if ((_Customers == null)) - { - _Customers = base.CreateObjectSet("Customers"); - } - return _Customers; - } - } - private ObjectSet _Customers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Employees - { - get - { - if ((_Employees == null)) - { - _Employees = base.CreateObjectSet("Employees"); - } - return _Employees; - } - } - private ObjectSet _Employees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet InternationalOrders - { - get - { - if ((_InternationalOrders == null)) - { - _InternationalOrders = base.CreateObjectSet("InternationalOrders"); - } - return _InternationalOrders; - } - } - private ObjectSet _InternationalOrders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet OrderDetails - { - get - { - if ((_OrderDetails == null)) - { - _OrderDetails = base.CreateObjectSet("OrderDetails"); - } - return _OrderDetails; - } - } - private ObjectSet _OrderDetails; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Orders - { - get - { - if ((_Orders == null)) - { - _Orders = base.CreateObjectSet("Orders"); - } - return _Orders; - } - } - private ObjectSet _Orders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet PreviousEmployees - { - get - { - if ((_PreviousEmployees == null)) - { - _PreviousEmployees = base.CreateObjectSet("PreviousEmployees"); - } - return _PreviousEmployees; - } - } - private ObjectSet _PreviousEmployees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Products - { - get - { - if ((_Products == null)) - { - _Products = base.CreateObjectSet("Products"); - } - return _Products; - } - } - private ObjectSet _Products; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Regions - { - get - { - if ((_Regions == null)) - { - _Regions = base.CreateObjectSet("Regions"); - } - return _Regions; - } - } - private ObjectSet _Regions; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Suppliers - { - get - { - if ((_Suppliers == null)) - { - _Suppliers = base.CreateObjectSet("Suppliers"); - } - return _Suppliers; - } - } - private ObjectSet _Suppliers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Territories - { - get - { - if ((_Territories == null)) - { - _Territories = base.CreateObjectSet("Territories"); - } - return _Territories; - } - } - private ObjectSet _Territories; - - #endregion - #region AddTo Methods - - /// - /// Deprecated Method for adding a new object to the Categories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCategories(Categories categories) - { - base.AddObject("Categories", categories); - } - - /// - /// Deprecated Method for adding a new object to the Customers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCustomers(Customers customers) - { - base.AddObject("Customers", customers); - } - - /// - /// Deprecated Method for adding a new object to the Employees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToEmployees(Employees employees) - { - base.AddObject("Employees", employees); - } - - /// - /// Deprecated Method for adding a new object to the InternationalOrders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToInternationalOrders(InternationalOrders internationalOrders) - { - base.AddObject("InternationalOrders", internationalOrders); - } - - /// - /// Deprecated Method for adding a new object to the OrderDetails EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrderDetails(OrderDetails orderDetails) - { - base.AddObject("OrderDetails", orderDetails); - } - - /// - /// Deprecated Method for adding a new object to the Orders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrders(Orders orders) - { - base.AddObject("Orders", orders); - } - - /// - /// Deprecated Method for adding a new object to the PreviousEmployees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToPreviousEmployees(PreviousEmployees previousEmployees) - { - base.AddObject("PreviousEmployees", previousEmployees); - } - - /// - /// Deprecated Method for adding a new object to the Products EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToProducts(Products products) - { - base.AddObject("Products", products); - } - - /// - /// Deprecated Method for adding a new object to the Regions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToRegions(Regions regions) - { - base.AddObject("Regions", regions); - } - - /// - /// Deprecated Method for adding a new object to the Suppliers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToSuppliers(Suppliers suppliers) - { - base.AddObject("Suppliers", suppliers); - } - - /// - /// Deprecated Method for adding a new object to the Territories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToTerritories(Territories territories) - { - base.AddObject("Territories", territories); - } - - #endregion - } - - - #endregion - - #region Entities - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Categories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Categories : EntityObject - { - #region Factory Method - - /// - /// Create a new Categories object. - /// - /// Initial value of the CategoryID property. - /// Initial value of the CategoryName property. - public static Categories CreateCategories(global::System.Int64 categoryID, global::System.String categoryName) - { - Categories categories = new Categories(); - categories.CategoryID = categoryID; - categories.CategoryName = categoryName; - return categories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 CategoryID - { - get - { - return _CategoryID; - } - set - { - if (_CategoryID != value) - { - OnCategoryIDChanging(value); - ReportPropertyChanging("CategoryID"); - _CategoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("CategoryID"); - OnCategoryIDChanged(); - } - } - } - private global::System.Int64 _CategoryID; - partial void OnCategoryIDChanging(global::System.Int64 value); - partial void OnCategoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CategoryName - { - get - { - return _CategoryName; - } - set - { - OnCategoryNameChanging(value); - ReportPropertyChanging("CategoryName"); - _CategoryName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CategoryName"); - OnCategoryNameChanged(); - } - } - private global::System.String _CategoryName; - partial void OnCategoryNameChanging(global::System.String value); - partial void OnCategoryNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Description - { - get - { - return _Description; - } - set - { - OnDescriptionChanging(value); - ReportPropertyChanging("Description"); - _Description = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Description"); - OnDescriptionChanged(); - } - } - private global::System.String _Description; - partial void OnDescriptionChanging(global::System.String value); - partial void OnDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Picture - { - get - { - return StructuralObject.GetValidValue(_Picture); - } - set - { - OnPictureChanging(value); - ReportPropertyChanging("Picture"); - _Picture = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Picture"); - OnPictureChanged(); - } - } - private global::System.Byte[] _Picture; - partial void OnPictureChanging(global::System.Byte[] value); - partial void OnPictureChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Customers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Customers : EntityObject - { - #region Factory Method - - /// - /// Create a new Customers object. - /// - /// Initial value of the CustomerID property. - /// Initial value of the CompanyName property. - public static Customers CreateCustomers(global::System.String customerID, global::System.String companyName) - { - Customers customers = new Customers(); - customers.CustomerID = customerID; - customers.CompanyName = companyName; - return customers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomerID - { - get - { - return _CustomerID; - } - set - { - if (_CustomerID != value) - { - OnCustomerIDChanging(value); - ReportPropertyChanging("CustomerID"); - _CustomerID = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomerID"); - OnCustomerIDChanged(); - } - } - } - private global::System.String _CustomerID; - partial void OnCustomerIDChanging(global::System.String value); - partial void OnCustomerIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Orders")] - public EntityCollection Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Employees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Employees : EntityObject - { - #region Factory Method - - /// - /// Create a new Employees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static Employees CreateEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - Employees employees = new Employees(); - employees.EmployeeID = employeeID; - employees.LastName = lastName; - employees.FirstName = firstName; - return employees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="InternationalOrders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class InternationalOrders : EntityObject - { - #region Factory Method - - /// - /// Create a new InternationalOrders object. - /// - /// Initial value of the OrderID property. - /// Initial value of the CustomsDescription property. - /// Initial value of the ExciseTax property. - public static InternationalOrders CreateInternationalOrders(global::System.Int64 orderID, global::System.String customsDescription, global::System.Decimal exciseTax) - { - InternationalOrders internationalOrders = new InternationalOrders(); - internationalOrders.OrderID = orderID; - internationalOrders.CustomsDescription = customsDescription; - internationalOrders.ExciseTax = exciseTax; - return internationalOrders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomsDescription - { - get - { - return _CustomsDescription; - } - set - { - OnCustomsDescriptionChanging(value); - ReportPropertyChanging("CustomsDescription"); - _CustomsDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomsDescription"); - OnCustomsDescriptionChanged(); - } - } - private global::System.String _CustomsDescription; - partial void OnCustomsDescriptionChanging(global::System.String value); - partial void OnCustomsDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal ExciseTax - { - get - { - return _ExciseTax; - } - set - { - OnExciseTaxChanging(value); - ReportPropertyChanging("ExciseTax"); - _ExciseTax = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ExciseTax"); - OnExciseTaxChanged(); - } - } - private global::System.Decimal _ExciseTax; - partial void OnExciseTaxChanging(global::System.Decimal value); - partial void OnExciseTaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="OrderDetails")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class OrderDetails : EntityObject - { - #region Factory Method - - /// - /// Create a new OrderDetails object. - /// - /// Initial value of the OrderID property. - /// Initial value of the ProductID property. - /// Initial value of the UnitPrice property. - /// Initial value of the Quantity property. - /// Initial value of the Discount property. - public static OrderDetails CreateOrderDetails(global::System.Int64 orderID, global::System.Int64 productID, global::System.Decimal unitPrice, global::System.Int16 quantity, global::System.Single discount) - { - OrderDetails orderDetails = new OrderDetails(); - orderDetails.OrderID = orderID; - orderDetails.ProductID = productID; - orderDetails.UnitPrice = unitPrice; - orderDetails.Quantity = quantity; - orderDetails.Discount = discount; - return orderDetails; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private global::System.Decimal _UnitPrice; - partial void OnUnitPriceChanging(global::System.Decimal value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int16 Quantity - { - get - { - return _Quantity; - } - set - { - OnQuantityChanging(value); - ReportPropertyChanging("Quantity"); - _Quantity = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Quantity"); - OnQuantityChanged(); - } - } - private global::System.Int16 _Quantity; - partial void OnQuantityChanging(global::System.Int16 value); - partial void OnQuantityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Single Discount - { - get - { - return _Discount; - } - set - { - OnDiscountChanging(value); - ReportPropertyChanging("Discount"); - _Discount = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discount"); - OnDiscountChanged(); - } - } - private global::System.Single _Discount; - partial void OnDiscountChanging(global::System.Single value); - partial void OnDiscountChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products")] - public Products Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference ProductsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Orders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Orders : EntityObject - { - #region Factory Method - - /// - /// Create a new Orders object. - /// - /// Initial value of the OrderID property. - public static Orders CreateOrders(global::System.Int64 orderID) - { - Orders orders = new Orders(); - orders.OrderID = orderID; - return orders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable EmployeeID - { - get - { - return _EmployeeID; - } - set - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - private Nullable _EmployeeID; - partial void OnEmployeeIDChanging(Nullable value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable OrderDate - { - get - { - return _OrderDate; - } - set - { - OnOrderDateChanging(value); - ReportPropertyChanging("OrderDate"); - _OrderDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderDate"); - OnOrderDateChanged(); - } - } - private Nullable _OrderDate; - partial void OnOrderDateChanging(Nullable value); - partial void OnOrderDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable RequiredDate - { - get - { - return _RequiredDate; - } - set - { - OnRequiredDateChanging(value); - ReportPropertyChanging("RequiredDate"); - _RequiredDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RequiredDate"); - OnRequiredDateChanged(); - } - } - private Nullable _RequiredDate; - partial void OnRequiredDateChanging(Nullable value); - partial void OnRequiredDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ShippedDate - { - get - { - return _ShippedDate; - } - set - { - OnShippedDateChanging(value); - ReportPropertyChanging("ShippedDate"); - _ShippedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ShippedDate"); - OnShippedDateChanged(); - } - } - private Nullable _ShippedDate; - partial void OnShippedDateChanging(Nullable value); - partial void OnShippedDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable Freight - { - get - { - return _Freight; - } - set - { - OnFreightChanging(value); - ReportPropertyChanging("Freight"); - _Freight = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Freight"); - OnFreightChanged(); - } - } - private Nullable _Freight; - partial void OnFreightChanging(Nullable value); - partial void OnFreightChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipName - { - get - { - return _ShipName; - } - set - { - OnShipNameChanging(value); - ReportPropertyChanging("ShipName"); - _ShipName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipName"); - OnShipNameChanged(); - } - } - private global::System.String _ShipName; - partial void OnShipNameChanging(global::System.String value); - partial void OnShipNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipAddress - { - get - { - return _ShipAddress; - } - set - { - OnShipAddressChanging(value); - ReportPropertyChanging("ShipAddress"); - _ShipAddress = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipAddress"); - OnShipAddressChanged(); - } - } - private global::System.String _ShipAddress; - partial void OnShipAddressChanging(global::System.String value); - partial void OnShipAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCity - { - get - { - return _ShipCity; - } - set - { - OnShipCityChanging(value); - ReportPropertyChanging("ShipCity"); - _ShipCity = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCity"); - OnShipCityChanged(); - } - } - private global::System.String _ShipCity; - partial void OnShipCityChanging(global::System.String value); - partial void OnShipCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipRegion - { - get - { - return _ShipRegion; - } - set - { - OnShipRegionChanging(value); - ReportPropertyChanging("ShipRegion"); - _ShipRegion = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipRegion"); - OnShipRegionChanged(); - } - } - private global::System.String _ShipRegion; - partial void OnShipRegionChanging(global::System.String value); - partial void OnShipRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipPostalCode - { - get - { - return _ShipPostalCode; - } - set - { - OnShipPostalCodeChanging(value); - ReportPropertyChanging("ShipPostalCode"); - _ShipPostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipPostalCode"); - OnShipPostalCodeChanged(); - } - } - private global::System.String _ShipPostalCode; - partial void OnShipPostalCodeChanging(global::System.String value); - partial void OnShipPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCountry - { - get - { - return _ShipCountry; - } - set - { - OnShipCountryChanging(value); - ReportPropertyChanging("ShipCountry"); - _ShipCountry = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCountry"); - OnShipCountryChanged(); - } - } - private global::System.String _ShipCountry; - partial void OnShipCountryChanging(global::System.String value); - partial void OnShipCountryChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers")] - public Customers Customers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CustomersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "InternationalOrders")] - public InternationalOrders InternationalOrders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference InternationalOrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="PreviousEmployees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class PreviousEmployees : EntityObject - { - #region Factory Method - - /// - /// Create a new PreviousEmployees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static PreviousEmployees CreatePreviousEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - PreviousEmployees previousEmployees = new PreviousEmployees(); - previousEmployees.EmployeeID = employeeID; - previousEmployees.LastName = lastName; - previousEmployees.FirstName = firstName; - return previousEmployees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Products")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Products : EntityObject - { - #region Factory Method - - /// - /// Create a new Products object. - /// - /// Initial value of the ProductID property. - /// Initial value of the ProductName property. - /// Initial value of the Discontinued property. - public static Products CreateProducts(global::System.Int64 productID, global::System.String productName, global::System.Boolean discontinued) - { - Products products = new Products(); - products.ProductID = productID; - products.ProductName = productName; - products.Discontinued = discontinued; - return products; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String ProductName - { - get - { - return _ProductName; - } - set - { - OnProductNameChanging(value); - ReportPropertyChanging("ProductName"); - _ProductName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("ProductName"); - OnProductNameChanged(); - } - } - private global::System.String _ProductName; - partial void OnProductNameChanging(global::System.String value); - partial void OnProductNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String QuantityPerUnit - { - get - { - return _QuantityPerUnit; - } - set - { - OnQuantityPerUnitChanging(value); - ReportPropertyChanging("QuantityPerUnit"); - _QuantityPerUnit = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("QuantityPerUnit"); - OnQuantityPerUnitChanged(); - } - } - private global::System.String _QuantityPerUnit; - partial void OnQuantityPerUnitChanging(global::System.String value); - partial void OnQuantityPerUnitChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private Nullable _UnitPrice; - partial void OnUnitPriceChanging(Nullable value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsInStock - { - get - { - return _UnitsInStock; - } - set - { - OnUnitsInStockChanging(value); - ReportPropertyChanging("UnitsInStock"); - _UnitsInStock = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsInStock"); - OnUnitsInStockChanged(); - } - } - private Nullable _UnitsInStock; - partial void OnUnitsInStockChanging(Nullable value); - partial void OnUnitsInStockChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsOnOrder - { - get - { - return _UnitsOnOrder; - } - set - { - OnUnitsOnOrderChanging(value); - ReportPropertyChanging("UnitsOnOrder"); - _UnitsOnOrder = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsOnOrder"); - OnUnitsOnOrderChanged(); - } - } - private Nullable _UnitsOnOrder; - partial void OnUnitsOnOrderChanging(Nullable value); - partial void OnUnitsOnOrderChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ReorderLevel - { - get - { - return _ReorderLevel; - } - set - { - OnReorderLevelChanging(value); - ReportPropertyChanging("ReorderLevel"); - _ReorderLevel = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ReorderLevel"); - OnReorderLevelChanged(); - } - } - private Nullable _ReorderLevel; - partial void OnReorderLevelChanging(Nullable value); - partial void OnReorderLevelChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Boolean Discontinued - { - get - { - return _Discontinued; - } - set - { - OnDiscontinuedChanging(value); - ReportPropertyChanging("Discontinued"); - _Discontinued = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discontinued"); - OnDiscontinuedChanged(); - } - } - private global::System.Boolean _Discontinued; - partial void OnDiscontinuedChanging(global::System.Boolean value); - partial void OnDiscontinuedChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable DiscontinuedDate - { - get - { - return _DiscontinuedDate; - } - set - { - OnDiscontinuedDateChanging(value); - ReportPropertyChanging("DiscontinuedDate"); - _DiscontinuedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("DiscontinuedDate"); - OnDiscontinuedDateChanged(); - } - } - private Nullable _DiscontinuedDate; - partial void OnDiscontinuedDateChanging(Nullable value); - partial void OnDiscontinuedDateChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories")] - public Categories Categories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CategoriesReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers")] - public Suppliers Suppliers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference SuppliersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Regions")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Regions : EntityObject - { - #region Factory Method - - /// - /// Create a new Regions object. - /// - /// Initial value of the RegionID property. - /// Initial value of the RegionDescription property. - public static Regions CreateRegions(global::System.Int64 regionID, global::System.String regionDescription) - { - Regions regions = new Regions(); - regions.RegionID = regionID; - regions.RegionDescription = regionDescription; - return regions; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 RegionID - { - get - { - return _RegionID; - } - set - { - if (_RegionID != value) - { - OnRegionIDChanging(value); - ReportPropertyChanging("RegionID"); - _RegionID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RegionID"); - OnRegionIDChanged(); - } - } - } - private global::System.Int64 _RegionID; - partial void OnRegionIDChanging(global::System.Int64 value); - partial void OnRegionIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String RegionDescription - { - get - { - return _RegionDescription; - } - set - { - OnRegionDescriptionChanging(value); - ReportPropertyChanging("RegionDescription"); - _RegionDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("RegionDescription"); - OnRegionDescriptionChanged(); - } - } - private global::System.String _RegionDescription; - partial void OnRegionDescriptionChanging(global::System.String value); - partial void OnRegionDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Suppliers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Suppliers : EntityObject - { - #region Factory Method - - /// - /// Create a new Suppliers object. - /// - /// Initial value of the SupplierID property. - /// Initial value of the CompanyName property. - public static Suppliers CreateSuppliers(global::System.Int64 supplierID, global::System.String companyName) - { - Suppliers suppliers = new Suppliers(); - suppliers.SupplierID = supplierID; - suppliers.CompanyName = companyName; - return suppliers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 SupplierID - { - get - { - return _SupplierID; - } - set - { - if (_SupplierID != value) - { - OnSupplierIDChanging(value); - ReportPropertyChanging("SupplierID"); - _SupplierID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("SupplierID"); - OnSupplierIDChanged(); - } - } - } - private global::System.Int64 _SupplierID; - partial void OnSupplierIDChanging(global::System.Int64 value); - partial void OnSupplierIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePage - { - get - { - return _HomePage; - } - set - { - OnHomePageChanging(value); - ReportPropertyChanging("HomePage"); - _HomePage = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePage"); - OnHomePageChanged(); - } - } - private global::System.String _HomePage; - partial void OnHomePageChanging(global::System.String value); - partial void OnHomePageChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Territories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Territories : EntityObject - { - #region Factory Method - - /// - /// Create a new Territories object. - /// - /// Initial value of the TerritoryID property. - /// Initial value of the TerritoryDescription property. - public static Territories CreateTerritories(global::System.Int64 territoryID, global::System.String territoryDescription) - { - Territories territories = new Territories(); - territories.TerritoryID = territoryID; - territories.TerritoryDescription = territoryDescription; - return territories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 TerritoryID - { - get - { - return _TerritoryID; - } - set - { - if (_TerritoryID != value) - { - OnTerritoryIDChanging(value); - ReportPropertyChanging("TerritoryID"); - _TerritoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("TerritoryID"); - OnTerritoryIDChanged(); - } - } - } - private global::System.Int64 _TerritoryID; - partial void OnTerritoryIDChanging(global::System.Int64 value); - partial void OnTerritoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String TerritoryDescription - { - get - { - return _TerritoryDescription; - } - set - { - OnTerritoryDescriptionChanging(value); - ReportPropertyChanging("TerritoryDescription"); - _TerritoryDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("TerritoryDescription"); - OnTerritoryDescriptionChanged(); - } - } - private global::System.String _TerritoryDescription; - partial void OnTerritoryDescriptionChanging(global::System.String value); - partial void OnTerritoryDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions")] - public Regions Regions - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference RegionsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Employees")] - public EntityCollection Employees - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees", value); - } - } - } - - #endregion - } - - #endregion - -} DELETED testlinq/NorthwindModel.Linq.2012.edmx Index: testlinq/NorthwindModel.Linq.2012.edmx ================================================================== --- testlinq/NorthwindModel.Linq.2012.edmx +++ /dev/null @@ -1,909 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DELETED testlinq/NorthwindModel.Linq.2013.Designer.cs Index: testlinq/NorthwindModel.Linq.2013.Designer.cs ================================================================== --- testlinq/NorthwindModel.Linq.2013.Designer.cs +++ /dev/null @@ -1,3506 +0,0 @@ -/******************************************************** - * ADO.NET 2.0 Data Provider for SQLite Version 3.X - * Written by Robert Simpson (robert@blackcastlesoft.com) - * - * Released to the public domain, use at your own risk! - ********************************************************/ - -//------------------------------------------------------------------------------ -// -// This code was generated from a template. -// -// Manual changes to this file may cause unexpected behavior in your application. -// Manual changes to this file will be overwritten if the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.ComponentModel; -using System.Data.EntityClient; -using System.Data.Metadata.Edm; -using System.Data.Objects; -using System.Data.Objects.DataClasses; -using System.Runtime.Serialization; -using System.Xml.Serialization; - -[assembly: EdmSchemaAttribute()] -#region EDM Relationship Metadata - -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Categories), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Customers), "Orders", RelationshipMultiplicity.Many, typeof(testlinq.Orders))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "InternationalOrders", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.InternationalOrders), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders", RelationshipMultiplicity.One, typeof(testlinq.Orders), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products", RelationshipMultiplicity.One, typeof(testlinq.Products), "OrderDetails", RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers", RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Suppliers), "Products", RelationshipMultiplicity.Many, typeof(testlinq.Products))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions", RelationshipMultiplicity.One, typeof(testlinq.Regions), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] -[assembly: EdmRelationshipAttribute("northwindEFModel", "EmployeesTerritories", "Employees", RelationshipMultiplicity.Many, typeof(testlinq.Employees), "Territories", RelationshipMultiplicity.Many, typeof(testlinq.Territories))] - -#endregion - -namespace testlinq -{ - #region Contexts - - /// - /// No Metadata Documentation available. - /// - public partial class northwindEFEntities : ObjectContext - { - #region Constructors - - /// - /// Initializes a new northwindEFEntities object using the connection string found in the 'northwindEFEntities' section of the application configuration file. - /// - public northwindEFEntities() : base("name=northwindEFEntities", "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(string connectionString) : base(connectionString, "northwindEFEntities") - { - OnContextCreated(); - } - - /// - /// Initialize a new northwindEFEntities object. - /// - public northwindEFEntities(EntityConnection connection) : base(connection, "northwindEFEntities") - { - OnContextCreated(); - } - - #endregion - - #region Partial Methods - - partial void OnContextCreated(); - - #endregion - - #region ObjectSet Properties - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Categories - { - get - { - if ((_Categories == null)) - { - _Categories = base.CreateObjectSet("Categories"); - } - return _Categories; - } - } - private ObjectSet _Categories; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Customers - { - get - { - if ((_Customers == null)) - { - _Customers = base.CreateObjectSet("Customers"); - } - return _Customers; - } - } - private ObjectSet _Customers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Employees - { - get - { - if ((_Employees == null)) - { - _Employees = base.CreateObjectSet("Employees"); - } - return _Employees; - } - } - private ObjectSet _Employees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet InternationalOrders - { - get - { - if ((_InternationalOrders == null)) - { - _InternationalOrders = base.CreateObjectSet("InternationalOrders"); - } - return _InternationalOrders; - } - } - private ObjectSet _InternationalOrders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet OrderDetails - { - get - { - if ((_OrderDetails == null)) - { - _OrderDetails = base.CreateObjectSet("OrderDetails"); - } - return _OrderDetails; - } - } - private ObjectSet _OrderDetails; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Orders - { - get - { - if ((_Orders == null)) - { - _Orders = base.CreateObjectSet("Orders"); - } - return _Orders; - } - } - private ObjectSet _Orders; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet PreviousEmployees - { - get - { - if ((_PreviousEmployees == null)) - { - _PreviousEmployees = base.CreateObjectSet("PreviousEmployees"); - } - return _PreviousEmployees; - } - } - private ObjectSet _PreviousEmployees; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Products - { - get - { - if ((_Products == null)) - { - _Products = base.CreateObjectSet("Products"); - } - return _Products; - } - } - private ObjectSet _Products; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Regions - { - get - { - if ((_Regions == null)) - { - _Regions = base.CreateObjectSet("Regions"); - } - return _Regions; - } - } - private ObjectSet _Regions; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Suppliers - { - get - { - if ((_Suppliers == null)) - { - _Suppliers = base.CreateObjectSet("Suppliers"); - } - return _Suppliers; - } - } - private ObjectSet _Suppliers; - - /// - /// No Metadata Documentation available. - /// - public ObjectSet Territories - { - get - { - if ((_Territories == null)) - { - _Territories = base.CreateObjectSet("Territories"); - } - return _Territories; - } - } - private ObjectSet _Territories; - - #endregion - #region AddTo Methods - - /// - /// Deprecated Method for adding a new object to the Categories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCategories(Categories categories) - { - base.AddObject("Categories", categories); - } - - /// - /// Deprecated Method for adding a new object to the Customers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToCustomers(Customers customers) - { - base.AddObject("Customers", customers); - } - - /// - /// Deprecated Method for adding a new object to the Employees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToEmployees(Employees employees) - { - base.AddObject("Employees", employees); - } - - /// - /// Deprecated Method for adding a new object to the InternationalOrders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToInternationalOrders(InternationalOrders internationalOrders) - { - base.AddObject("InternationalOrders", internationalOrders); - } - - /// - /// Deprecated Method for adding a new object to the OrderDetails EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrderDetails(OrderDetails orderDetails) - { - base.AddObject("OrderDetails", orderDetails); - } - - /// - /// Deprecated Method for adding a new object to the Orders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToOrders(Orders orders) - { - base.AddObject("Orders", orders); - } - - /// - /// Deprecated Method for adding a new object to the PreviousEmployees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToPreviousEmployees(PreviousEmployees previousEmployees) - { - base.AddObject("PreviousEmployees", previousEmployees); - } - - /// - /// Deprecated Method for adding a new object to the Products EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToProducts(Products products) - { - base.AddObject("Products", products); - } - - /// - /// Deprecated Method for adding a new object to the Regions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToRegions(Regions regions) - { - base.AddObject("Regions", regions); - } - - /// - /// Deprecated Method for adding a new object to the Suppliers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToSuppliers(Suppliers suppliers) - { - base.AddObject("Suppliers", suppliers); - } - - /// - /// Deprecated Method for adding a new object to the Territories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. - /// - public void AddToTerritories(Territories territories) - { - base.AddObject("Territories", territories); - } - - #endregion - } - - - #endregion - - #region Entities - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Categories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Categories : EntityObject - { - #region Factory Method - - /// - /// Create a new Categories object. - /// - /// Initial value of the CategoryID property. - /// Initial value of the CategoryName property. - public static Categories CreateCategories(global::System.Int64 categoryID, global::System.String categoryName) - { - Categories categories = new Categories(); - categories.CategoryID = categoryID; - categories.CategoryName = categoryName; - return categories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 CategoryID - { - get - { - return _CategoryID; - } - set - { - if (_CategoryID != value) - { - OnCategoryIDChanging(value); - ReportPropertyChanging("CategoryID"); - _CategoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("CategoryID"); - OnCategoryIDChanged(); - } - } - } - private global::System.Int64 _CategoryID; - partial void OnCategoryIDChanging(global::System.Int64 value); - partial void OnCategoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CategoryName - { - get - { - return _CategoryName; - } - set - { - OnCategoryNameChanging(value); - ReportPropertyChanging("CategoryName"); - _CategoryName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CategoryName"); - OnCategoryNameChanged(); - } - } - private global::System.String _CategoryName; - partial void OnCategoryNameChanging(global::System.String value); - partial void OnCategoryNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Description - { - get - { - return _Description; - } - set - { - OnDescriptionChanging(value); - ReportPropertyChanging("Description"); - _Description = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Description"); - OnDescriptionChanged(); - } - } - private global::System.String _Description; - partial void OnDescriptionChanging(global::System.String value); - partial void OnDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Picture - { - get - { - return StructuralObject.GetValidValue(_Picture); - } - set - { - OnPictureChanging(value); - ReportPropertyChanging("Picture"); - _Picture = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Picture"); - OnPictureChanged(); - } - } - private global::System.Byte[] _Picture; - partial void OnPictureChanging(global::System.Byte[] value); - partial void OnPictureChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Customers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Customers : EntityObject - { - #region Factory Method - - /// - /// Create a new Customers object. - /// - /// Initial value of the CustomerID property. - /// Initial value of the CompanyName property. - public static Customers CreateCustomers(global::System.String customerID, global::System.String companyName) - { - Customers customers = new Customers(); - customers.CustomerID = customerID; - customers.CompanyName = companyName; - return customers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomerID - { - get - { - return _CustomerID; - } - set - { - if (_CustomerID != value) - { - OnCustomerIDChanging(value); - ReportPropertyChanging("CustomerID"); - _CustomerID = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomerID"); - OnCustomerIDChanged(); - } - } - } - private global::System.String _CustomerID; - partial void OnCustomerIDChanging(global::System.String value); - partial void OnCustomerIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Orders")] - public EntityCollection Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Employees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Employees : EntityObject - { - #region Factory Method - - /// - /// Create a new Employees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static Employees CreateEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - Employees employees = new Employees(); - employees.EmployeeID = employeeID; - employees.LastName = lastName; - employees.FirstName = firstName; - return employees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="InternationalOrders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class InternationalOrders : EntityObject - { - #region Factory Method - - /// - /// Create a new InternationalOrders object. - /// - /// Initial value of the OrderID property. - /// Initial value of the CustomsDescription property. - /// Initial value of the ExciseTax property. - public static InternationalOrders CreateInternationalOrders(global::System.Int64 orderID, global::System.String customsDescription, global::System.Decimal exciseTax) - { - InternationalOrders internationalOrders = new InternationalOrders(); - internationalOrders.OrderID = orderID; - internationalOrders.CustomsDescription = customsDescription; - internationalOrders.ExciseTax = exciseTax; - return internationalOrders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CustomsDescription - { - get - { - return _CustomsDescription; - } - set - { - OnCustomsDescriptionChanging(value); - ReportPropertyChanging("CustomsDescription"); - _CustomsDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CustomsDescription"); - OnCustomsDescriptionChanged(); - } - } - private global::System.String _CustomsDescription; - partial void OnCustomsDescriptionChanging(global::System.String value); - partial void OnCustomsDescriptionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal ExciseTax - { - get - { - return _ExciseTax; - } - set - { - OnExciseTaxChanging(value); - ReportPropertyChanging("ExciseTax"); - _ExciseTax = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ExciseTax"); - OnExciseTaxChanged(); - } - } - private global::System.Decimal _ExciseTax; - partial void OnExciseTaxChanging(global::System.Decimal value); - partial void OnExciseTaxChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="OrderDetails")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class OrderDetails : EntityObject - { - #region Factory Method - - /// - /// Create a new OrderDetails object. - /// - /// Initial value of the OrderID property. - /// Initial value of the ProductID property. - /// Initial value of the UnitPrice property. - /// Initial value of the Quantity property. - /// Initial value of the Discount property. - public static OrderDetails CreateOrderDetails(global::System.Int64 orderID, global::System.Int64 productID, global::System.Decimal unitPrice, global::System.Int16 quantity, global::System.Single discount) - { - OrderDetails orderDetails = new OrderDetails(); - orderDetails.OrderID = orderID; - orderDetails.ProductID = productID; - orderDetails.UnitPrice = unitPrice; - orderDetails.Quantity = quantity; - orderDetails.Discount = discount; - return orderDetails; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Decimal UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private global::System.Decimal _UnitPrice; - partial void OnUnitPriceChanging(global::System.Decimal value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int16 Quantity - { - get - { - return _Quantity; - } - set - { - OnQuantityChanging(value); - ReportPropertyChanging("Quantity"); - _Quantity = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Quantity"); - OnQuantityChanged(); - } - } - private global::System.Int16 _Quantity; - partial void OnQuantityChanging(global::System.Int16 value); - partial void OnQuantityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Single Discount - { - get - { - return _Discount; - } - set - { - OnDiscountChanging(value); - ReportPropertyChanging("Discount"); - _Discount = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discount"); - OnDiscountChanged(); - } - } - private global::System.Single _Discount; - partial void OnDiscountChanging(global::System.Single value); - partial void OnDiscountChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders")] - public Orders Orders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference OrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products")] - public Products Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference ProductsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Orders")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Orders : EntityObject - { - #region Factory Method - - /// - /// Create a new Orders object. - /// - /// Initial value of the OrderID property. - public static Orders CreateOrders(global::System.Int64 orderID) - { - Orders orders = new Orders(); - orders.OrderID = orderID; - return orders; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 OrderID - { - get - { - return _OrderID; - } - set - { - if (_OrderID != value) - { - OnOrderIDChanging(value); - ReportPropertyChanging("OrderID"); - _OrderID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderID"); - OnOrderIDChanged(); - } - } - } - private global::System.Int64 _OrderID; - partial void OnOrderIDChanging(global::System.Int64 value); - partial void OnOrderIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable EmployeeID - { - get - { - return _EmployeeID; - } - set - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - private Nullable _EmployeeID; - partial void OnEmployeeIDChanging(Nullable value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable OrderDate - { - get - { - return _OrderDate; - } - set - { - OnOrderDateChanging(value); - ReportPropertyChanging("OrderDate"); - _OrderDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("OrderDate"); - OnOrderDateChanged(); - } - } - private Nullable _OrderDate; - partial void OnOrderDateChanging(Nullable value); - partial void OnOrderDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable RequiredDate - { - get - { - return _RequiredDate; - } - set - { - OnRequiredDateChanging(value); - ReportPropertyChanging("RequiredDate"); - _RequiredDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RequiredDate"); - OnRequiredDateChanged(); - } - } - private Nullable _RequiredDate; - partial void OnRequiredDateChanging(Nullable value); - partial void OnRequiredDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ShippedDate - { - get - { - return _ShippedDate; - } - set - { - OnShippedDateChanging(value); - ReportPropertyChanging("ShippedDate"); - _ShippedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ShippedDate"); - OnShippedDateChanged(); - } - } - private Nullable _ShippedDate; - partial void OnShippedDateChanging(Nullable value); - partial void OnShippedDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable Freight - { - get - { - return _Freight; - } - set - { - OnFreightChanging(value); - ReportPropertyChanging("Freight"); - _Freight = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Freight"); - OnFreightChanged(); - } - } - private Nullable _Freight; - partial void OnFreightChanging(Nullable value); - partial void OnFreightChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipName - { - get - { - return _ShipName; - } - set - { - OnShipNameChanging(value); - ReportPropertyChanging("ShipName"); - _ShipName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipName"); - OnShipNameChanged(); - } - } - private global::System.String _ShipName; - partial void OnShipNameChanging(global::System.String value); - partial void OnShipNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipAddress - { - get - { - return _ShipAddress; - } - set - { - OnShipAddressChanging(value); - ReportPropertyChanging("ShipAddress"); - _ShipAddress = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipAddress"); - OnShipAddressChanged(); - } - } - private global::System.String _ShipAddress; - partial void OnShipAddressChanging(global::System.String value); - partial void OnShipAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCity - { - get - { - return _ShipCity; - } - set - { - OnShipCityChanging(value); - ReportPropertyChanging("ShipCity"); - _ShipCity = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCity"); - OnShipCityChanged(); - } - } - private global::System.String _ShipCity; - partial void OnShipCityChanging(global::System.String value); - partial void OnShipCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipRegion - { - get - { - return _ShipRegion; - } - set - { - OnShipRegionChanging(value); - ReportPropertyChanging("ShipRegion"); - _ShipRegion = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipRegion"); - OnShipRegionChanged(); - } - } - private global::System.String _ShipRegion; - partial void OnShipRegionChanging(global::System.String value); - partial void OnShipRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipPostalCode - { - get - { - return _ShipPostalCode; - } - set - { - OnShipPostalCodeChanging(value); - ReportPropertyChanging("ShipPostalCode"); - _ShipPostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipPostalCode"); - OnShipPostalCodeChanged(); - } - } - private global::System.String _ShipPostalCode; - partial void OnShipPostalCodeChanging(global::System.String value); - partial void OnShipPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ShipCountry - { - get - { - return _ShipCountry; - } - set - { - OnShipCountryChanging(value); - ReportPropertyChanging("ShipCountry"); - _ShipCountry = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ShipCountry"); - OnShipCountryChanged(); - } - } - private global::System.String _ShipCountry; - partial void OnShipCountryChanging(global::System.String value); - partial void OnShipCountryChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers")] - public Customers Customers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CustomersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "InternationalOrders")] - public InternationalOrders InternationalOrders - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference InternationalOrdersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="PreviousEmployees")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class PreviousEmployees : EntityObject - { - #region Factory Method - - /// - /// Create a new PreviousEmployees object. - /// - /// Initial value of the EmployeeID property. - /// Initial value of the LastName property. - /// Initial value of the FirstName property. - public static PreviousEmployees CreatePreviousEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) - { - PreviousEmployees previousEmployees = new PreviousEmployees(); - previousEmployees.EmployeeID = employeeID; - previousEmployees.LastName = lastName; - previousEmployees.FirstName = firstName; - return previousEmployees; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 EmployeeID - { - get - { - return _EmployeeID; - } - set - { - if (_EmployeeID != value) - { - OnEmployeeIDChanging(value); - ReportPropertyChanging("EmployeeID"); - _EmployeeID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("EmployeeID"); - OnEmployeeIDChanged(); - } - } - } - private global::System.Int64 _EmployeeID; - partial void OnEmployeeIDChanging(global::System.Int64 value); - partial void OnEmployeeIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String LastName - { - get - { - return _LastName; - } - set - { - OnLastNameChanging(value); - ReportPropertyChanging("LastName"); - _LastName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("LastName"); - OnLastNameChanged(); - } - } - private global::System.String _LastName; - partial void OnLastNameChanging(global::System.String value); - partial void OnLastNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String FirstName - { - get - { - return _FirstName; - } - set - { - OnFirstNameChanging(value); - ReportPropertyChanging("FirstName"); - _FirstName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("FirstName"); - OnFirstNameChanged(); - } - } - private global::System.String _FirstName; - partial void OnFirstNameChanging(global::System.String value); - partial void OnFirstNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Title - { - get - { - return _Title; - } - set - { - OnTitleChanging(value); - ReportPropertyChanging("Title"); - _Title = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Title"); - OnTitleChanged(); - } - } - private global::System.String _Title; - partial void OnTitleChanging(global::System.String value); - partial void OnTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String TitleOfCourtesy - { - get - { - return _TitleOfCourtesy; - } - set - { - OnTitleOfCourtesyChanging(value); - ReportPropertyChanging("TitleOfCourtesy"); - _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("TitleOfCourtesy"); - OnTitleOfCourtesyChanged(); - } - } - private global::System.String _TitleOfCourtesy; - partial void OnTitleOfCourtesyChanging(global::System.String value); - partial void OnTitleOfCourtesyChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable BirthDate - { - get - { - return _BirthDate; - } - set - { - OnBirthDateChanging(value); - ReportPropertyChanging("BirthDate"); - _BirthDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("BirthDate"); - OnBirthDateChanged(); - } - } - private Nullable _BirthDate; - partial void OnBirthDateChanging(Nullable value); - partial void OnBirthDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable HireDate - { - get - { - return _HireDate; - } - set - { - OnHireDateChanging(value); - ReportPropertyChanging("HireDate"); - _HireDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("HireDate"); - OnHireDateChanged(); - } - } - private Nullable _HireDate; - partial void OnHireDateChanging(Nullable value); - partial void OnHireDateChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePhone - { - get - { - return _HomePhone; - } - set - { - OnHomePhoneChanging(value); - ReportPropertyChanging("HomePhone"); - _HomePhone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePhone"); - OnHomePhoneChanged(); - } - } - private global::System.String _HomePhone; - partial void OnHomePhoneChanging(global::System.String value); - partial void OnHomePhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Extension - { - get - { - return _Extension; - } - set - { - OnExtensionChanging(value); - ReportPropertyChanging("Extension"); - _Extension = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Extension"); - OnExtensionChanged(); - } - } - private global::System.String _Extension; - partial void OnExtensionChanging(global::System.String value); - partial void OnExtensionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.Byte[] Photo - { - get - { - return StructuralObject.GetValidValue(_Photo); - } - set - { - OnPhotoChanging(value); - ReportPropertyChanging("Photo"); - _Photo = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Photo"); - OnPhotoChanged(); - } - } - private global::System.Byte[] _Photo; - partial void OnPhotoChanging(global::System.Byte[] value); - partial void OnPhotoChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Notes - { - get - { - return _Notes; - } - set - { - OnNotesChanging(value); - ReportPropertyChanging("Notes"); - _Notes = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Notes"); - OnNotesChanged(); - } - } - private global::System.String _Notes; - partial void OnNotesChanging(global::System.String value); - partial void OnNotesChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PhotoPath - { - get - { - return _PhotoPath; - } - set - { - OnPhotoPathChanging(value); - ReportPropertyChanging("PhotoPath"); - _PhotoPath = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PhotoPath"); - OnPhotoPathChanged(); - } - } - private global::System.String _PhotoPath; - partial void OnPhotoPathChanging(global::System.String value); - partial void OnPhotoPathChanged(); - - #endregion - - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Products")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Products : EntityObject - { - #region Factory Method - - /// - /// Create a new Products object. - /// - /// Initial value of the ProductID property. - /// Initial value of the ProductName property. - /// Initial value of the Discontinued property. - public static Products CreateProducts(global::System.Int64 productID, global::System.String productName, global::System.Boolean discontinued) - { - Products products = new Products(); - products.ProductID = productID; - products.ProductName = productName; - products.Discontinued = discontinued; - return products; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 ProductID - { - get - { - return _ProductID; - } - set - { - if (_ProductID != value) - { - OnProductIDChanging(value); - ReportPropertyChanging("ProductID"); - _ProductID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ProductID"); - OnProductIDChanged(); - } - } - } - private global::System.Int64 _ProductID; - partial void OnProductIDChanging(global::System.Int64 value); - partial void OnProductIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String ProductName - { - get - { - return _ProductName; - } - set - { - OnProductNameChanging(value); - ReportPropertyChanging("ProductName"); - _ProductName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("ProductName"); - OnProductNameChanged(); - } - } - private global::System.String _ProductName; - partial void OnProductNameChanging(global::System.String value); - partial void OnProductNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String QuantityPerUnit - { - get - { - return _QuantityPerUnit; - } - set - { - OnQuantityPerUnitChanging(value); - ReportPropertyChanging("QuantityPerUnit"); - _QuantityPerUnit = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("QuantityPerUnit"); - OnQuantityPerUnitChanged(); - } - } - private global::System.String _QuantityPerUnit; - partial void OnQuantityPerUnitChanging(global::System.String value); - partial void OnQuantityPerUnitChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitPrice - { - get - { - return _UnitPrice; - } - set - { - OnUnitPriceChanging(value); - ReportPropertyChanging("UnitPrice"); - _UnitPrice = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitPrice"); - OnUnitPriceChanged(); - } - } - private Nullable _UnitPrice; - partial void OnUnitPriceChanging(Nullable value); - partial void OnUnitPriceChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsInStock - { - get - { - return _UnitsInStock; - } - set - { - OnUnitsInStockChanging(value); - ReportPropertyChanging("UnitsInStock"); - _UnitsInStock = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsInStock"); - OnUnitsInStockChanged(); - } - } - private Nullable _UnitsInStock; - partial void OnUnitsInStockChanging(Nullable value); - partial void OnUnitsInStockChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable UnitsOnOrder - { - get - { - return _UnitsOnOrder; - } - set - { - OnUnitsOnOrderChanging(value); - ReportPropertyChanging("UnitsOnOrder"); - _UnitsOnOrder = StructuralObject.SetValidValue(value); - ReportPropertyChanged("UnitsOnOrder"); - OnUnitsOnOrderChanged(); - } - } - private Nullable _UnitsOnOrder; - partial void OnUnitsOnOrderChanging(Nullable value); - partial void OnUnitsOnOrderChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable ReorderLevel - { - get - { - return _ReorderLevel; - } - set - { - OnReorderLevelChanging(value); - ReportPropertyChanging("ReorderLevel"); - _ReorderLevel = StructuralObject.SetValidValue(value); - ReportPropertyChanged("ReorderLevel"); - OnReorderLevelChanged(); - } - } - private Nullable _ReorderLevel; - partial void OnReorderLevelChanging(Nullable value); - partial void OnReorderLevelChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Boolean Discontinued - { - get - { - return _Discontinued; - } - set - { - OnDiscontinuedChanging(value); - ReportPropertyChanging("Discontinued"); - _Discontinued = StructuralObject.SetValidValue(value); - ReportPropertyChanged("Discontinued"); - OnDiscontinuedChanged(); - } - } - private global::System.Boolean _Discontinued; - partial void OnDiscontinuedChanging(global::System.Boolean value); - partial void OnDiscontinuedChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public Nullable DiscontinuedDate - { - get - { - return _DiscontinuedDate; - } - set - { - OnDiscontinuedDateChanging(value); - ReportPropertyChanging("DiscontinuedDate"); - _DiscontinuedDate = StructuralObject.SetValidValue(value); - ReportPropertyChanged("DiscontinuedDate"); - OnDiscontinuedDateChanged(); - } - } - private Nullable _DiscontinuedDate; - partial void OnDiscontinuedDateChanging(Nullable value); - partial void OnDiscontinuedDateChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories")] - public Categories Categories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference CategoriesReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "OrderDetails")] - public EntityCollection OrderDetails - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers")] - public Suppliers Suppliers - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference SuppliersReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Regions")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Regions : EntityObject - { - #region Factory Method - - /// - /// Create a new Regions object. - /// - /// Initial value of the RegionID property. - /// Initial value of the RegionDescription property. - public static Regions CreateRegions(global::System.Int64 regionID, global::System.String regionDescription) - { - Regions regions = new Regions(); - regions.RegionID = regionID; - regions.RegionDescription = regionDescription; - return regions; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 RegionID - { - get - { - return _RegionID; - } - set - { - if (_RegionID != value) - { - OnRegionIDChanging(value); - ReportPropertyChanging("RegionID"); - _RegionID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("RegionID"); - OnRegionIDChanged(); - } - } - } - private global::System.Int64 _RegionID; - partial void OnRegionIDChanging(global::System.Int64 value); - partial void OnRegionIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String RegionDescription - { - get - { - return _RegionDescription; - } - set - { - OnRegionDescriptionChanging(value); - ReportPropertyChanging("RegionDescription"); - _RegionDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("RegionDescription"); - OnRegionDescriptionChanged(); - } - } - private global::System.String _RegionDescription; - partial void OnRegionDescriptionChanging(global::System.String value); - partial void OnRegionDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Territories")] - public EntityCollection Territories - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Suppliers")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Suppliers : EntityObject - { - #region Factory Method - - /// - /// Create a new Suppliers object. - /// - /// Initial value of the SupplierID property. - /// Initial value of the CompanyName property. - public static Suppliers CreateSuppliers(global::System.Int64 supplierID, global::System.String companyName) - { - Suppliers suppliers = new Suppliers(); - suppliers.SupplierID = supplierID; - suppliers.CompanyName = companyName; - return suppliers; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 SupplierID - { - get - { - return _SupplierID; - } - set - { - if (_SupplierID != value) - { - OnSupplierIDChanging(value); - ReportPropertyChanging("SupplierID"); - _SupplierID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("SupplierID"); - OnSupplierIDChanged(); - } - } - } - private global::System.Int64 _SupplierID; - partial void OnSupplierIDChanging(global::System.Int64 value); - partial void OnSupplierIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String CompanyName - { - get - { - return _CompanyName; - } - set - { - OnCompanyNameChanging(value); - ReportPropertyChanging("CompanyName"); - _CompanyName = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("CompanyName"); - OnCompanyNameChanged(); - } - } - private global::System.String _CompanyName; - partial void OnCompanyNameChanging(global::System.String value); - partial void OnCompanyNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactName - { - get - { - return _ContactName; - } - set - { - OnContactNameChanging(value); - ReportPropertyChanging("ContactName"); - _ContactName = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactName"); - OnContactNameChanged(); - } - } - private global::System.String _ContactName; - partial void OnContactNameChanging(global::System.String value); - partial void OnContactNameChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String ContactTitle - { - get - { - return _ContactTitle; - } - set - { - OnContactTitleChanging(value); - ReportPropertyChanging("ContactTitle"); - _ContactTitle = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("ContactTitle"); - OnContactTitleChanged(); - } - } - private global::System.String _ContactTitle; - partial void OnContactTitleChanging(global::System.String value); - partial void OnContactTitleChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Address - { - get - { - return _Address; - } - set - { - OnAddressChanging(value); - ReportPropertyChanging("Address"); - _Address = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Address"); - OnAddressChanged(); - } - } - private global::System.String _Address; - partial void OnAddressChanging(global::System.String value); - partial void OnAddressChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String City - { - get - { - return _City; - } - set - { - OnCityChanging(value); - ReportPropertyChanging("City"); - _City = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("City"); - OnCityChanged(); - } - } - private global::System.String _City; - partial void OnCityChanging(global::System.String value); - partial void OnCityChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Region - { - get - { - return _Region; - } - set - { - OnRegionChanging(value); - ReportPropertyChanging("Region"); - _Region = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Region"); - OnRegionChanged(); - } - } - private global::System.String _Region; - partial void OnRegionChanging(global::System.String value); - partial void OnRegionChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String PostalCode - { - get - { - return _PostalCode; - } - set - { - OnPostalCodeChanging(value); - ReportPropertyChanging("PostalCode"); - _PostalCode = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("PostalCode"); - OnPostalCodeChanged(); - } - } - private global::System.String _PostalCode; - partial void OnPostalCodeChanging(global::System.String value); - partial void OnPostalCodeChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Country - { - get - { - return _Country; - } - set - { - OnCountryChanging(value); - ReportPropertyChanging("Country"); - _Country = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Country"); - OnCountryChanged(); - } - } - private global::System.String _Country; - partial void OnCountryChanging(global::System.String value); - partial void OnCountryChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Phone - { - get - { - return _Phone; - } - set - { - OnPhoneChanging(value); - ReportPropertyChanging("Phone"); - _Phone = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Phone"); - OnPhoneChanged(); - } - } - private global::System.String _Phone; - partial void OnPhoneChanging(global::System.String value); - partial void OnPhoneChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String Fax - { - get - { - return _Fax; - } - set - { - OnFaxChanging(value); - ReportPropertyChanging("Fax"); - _Fax = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("Fax"); - OnFaxChanged(); - } - } - private global::System.String _Fax; - partial void OnFaxChanging(global::System.String value); - partial void OnFaxChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] - [DataMemberAttribute()] - public global::System.String HomePage - { - get - { - return _HomePage; - } - set - { - OnHomePageChanging(value); - ReportPropertyChanging("HomePage"); - _HomePage = StructuralObject.SetValidValue(value, true); - ReportPropertyChanged("HomePage"); - OnHomePageChanged(); - } - } - private global::System.String _HomePage; - partial void OnHomePageChanging(global::System.String value); - partial void OnHomePageChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Products")] - public EntityCollection Products - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products", value); - } - } - } - - #endregion - } - - /// - /// No Metadata Documentation available. - /// - [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Territories")] - [Serializable()] - [DataContractAttribute(IsReference=true)] - public partial class Territories : EntityObject - { - #region Factory Method - - /// - /// Create a new Territories object. - /// - /// Initial value of the TerritoryID property. - /// Initial value of the TerritoryDescription property. - public static Territories CreateTerritories(global::System.Int64 territoryID, global::System.String territoryDescription) - { - Territories territories = new Territories(); - territories.TerritoryID = territoryID; - territories.TerritoryDescription = territoryDescription; - return territories; - } - - #endregion - #region Primitive Properties - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] - [DataMemberAttribute()] - public global::System.Int64 TerritoryID - { - get - { - return _TerritoryID; - } - set - { - if (_TerritoryID != value) - { - OnTerritoryIDChanging(value); - ReportPropertyChanging("TerritoryID"); - _TerritoryID = StructuralObject.SetValidValue(value); - ReportPropertyChanged("TerritoryID"); - OnTerritoryIDChanged(); - } - } - } - private global::System.Int64 _TerritoryID; - partial void OnTerritoryIDChanging(global::System.Int64 value); - partial void OnTerritoryIDChanged(); - - /// - /// No Metadata Documentation available. - /// - [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] - [DataMemberAttribute()] - public global::System.String TerritoryDescription - { - get - { - return _TerritoryDescription; - } - set - { - OnTerritoryDescriptionChanging(value); - ReportPropertyChanging("TerritoryDescription"); - _TerritoryDescription = StructuralObject.SetValidValue(value, false); - ReportPropertyChanged("TerritoryDescription"); - OnTerritoryDescriptionChanged(); - } - } - private global::System.String _TerritoryDescription; - partial void OnTerritoryDescriptionChanging(global::System.String value); - partial void OnTerritoryDescriptionChanged(); - - #endregion - - #region Navigation Properties - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions")] - public Regions Regions - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value; - } - set - { - ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value = value; - } - } - /// - /// No Metadata Documentation available. - /// - [BrowsableAttribute(false)] - [DataMemberAttribute()] - public EntityReference RegionsReference - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions", value); - } - } - } - - /// - /// No Metadata Documentation available. - /// - [XmlIgnoreAttribute()] - [SoapIgnoreAttribute()] - [DataMemberAttribute()] - [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Employees")] - public EntityCollection Employees - { - get - { - return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees"); - } - set - { - if ((value != null)) - { - ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees", value); - } - } - } - - #endregion - } - - #endregion - -} DELETED testlinq/NorthwindModel.Linq.2013.edmx Index: testlinq/NorthwindModel.Linq.2013.edmx ================================================================== --- testlinq/NorthwindModel.Linq.2013.edmx +++ /dev/null @@ -1,909 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ADDED testlinq/NorthwindModel2008.Designer.cs Index: testlinq/NorthwindModel2008.Designer.cs ================================================================== --- /dev/null +++ testlinq/NorthwindModel2008.Designer.cs @@ -0,0 +1,3209 @@ +/******************************************************** + * ADO.NET 2.0 Data Provider for SQLite Version 3.X + * Written by Robert Simpson (robert@blackcastlesoft.com) + * + * Released to the public domain, use at your own risk! + ********************************************************/ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.3053 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +[assembly: global::System.Data.Objects.DataClasses.EdmSchemaAttribute()] +[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Categories), "Products", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Products))] +[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Customers), "Orders", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Orders))] +[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Orders), "InternationalOrders", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.InternationalOrders))] +[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Orders), "OrderDetails", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails))] +[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Products), "OrderDetails", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails))] +[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Suppliers), "Products", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Products))] +[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Regions), "Territories", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Territories))] +[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("northwindEFModel", "EmployeesTerritories", "Employees", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Employees), "Territories", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Territories))] + +// Original file name: +// Generation date: 8/25/2008 8:54:05 AM +namespace testlinq +{ + + /// + /// There are no comments for northwindEFEntities in the schema. + /// + public partial class northwindEFEntities : global::System.Data.Objects.ObjectContext + { + /// + /// Initializes a new northwindEFEntities object using the connection string found in the 'northwindEFEntities' section of the application configuration file. + /// + public northwindEFEntities() : + base("name=northwindEFEntities", "northwindEFEntities") + { + this.OnContextCreated(); + } + /// + /// Initialize a new northwindEFEntities object. + /// + public northwindEFEntities(string connectionString) : + base(connectionString, "northwindEFEntities") + { + this.OnContextCreated(); + } + /// + /// Initialize a new northwindEFEntities object. + /// + public northwindEFEntities(global::System.Data.EntityClient.EntityConnection connection) : + base(connection, "northwindEFEntities") + { + this.OnContextCreated(); + } + partial void OnContextCreated(); + /// + /// There are no comments for Categories in the schema. + /// + public global::System.Data.Objects.ObjectQuery Categories + { + get + { + if ((this._Categories == null)) + { + this._Categories = base.CreateQuery("[Categories]"); + } + return this._Categories; + } + } + private global::System.Data.Objects.ObjectQuery _Categories; + /// + /// There are no comments for Customers in the schema. + /// + public global::System.Data.Objects.ObjectQuery Customers + { + get + { + if ((this._Customers == null)) + { + this._Customers = base.CreateQuery("[Customers]"); + } + return this._Customers; + } + } + private global::System.Data.Objects.ObjectQuery _Customers; + /// + /// There are no comments for Employees in the schema. + /// + public global::System.Data.Objects.ObjectQuery Employees + { + get + { + if ((this._Employees == null)) + { + this._Employees = base.CreateQuery("[Employees]"); + } + return this._Employees; + } + } + private global::System.Data.Objects.ObjectQuery _Employees; + /// + /// There are no comments for InternationalOrders in the schema. + /// + public global::System.Data.Objects.ObjectQuery InternationalOrders + { + get + { + if ((this._InternationalOrders == null)) + { + this._InternationalOrders = base.CreateQuery("[InternationalOrders]"); + } + return this._InternationalOrders; + } + } + private global::System.Data.Objects.ObjectQuery _InternationalOrders; + /// + /// There are no comments for OrderDetails in the schema. + /// + public global::System.Data.Objects.ObjectQuery OrderDetails + { + get + { + if ((this._OrderDetails == null)) + { + this._OrderDetails = base.CreateQuery("[OrderDetails]"); + } + return this._OrderDetails; + } + } + private global::System.Data.Objects.ObjectQuery _OrderDetails; + /// + /// There are no comments for Orders in the schema. + /// + public global::System.Data.Objects.ObjectQuery Orders + { + get + { + if ((this._Orders == null)) + { + this._Orders = base.CreateQuery("[Orders]"); + } + return this._Orders; + } + } + private global::System.Data.Objects.ObjectQuery _Orders; + /// + /// There are no comments for PreviousEmployees in the schema. + /// + public global::System.Data.Objects.ObjectQuery PreviousEmployees + { + get + { + if ((this._PreviousEmployees == null)) + { + this._PreviousEmployees = base.CreateQuery("[PreviousEmployees]"); + } + return this._PreviousEmployees; + } + } + private global::System.Data.Objects.ObjectQuery _PreviousEmployees; + /// + /// There are no comments for Products in the schema. + /// + public global::System.Data.Objects.ObjectQuery Products + { + get + { + if ((this._Products == null)) + { + this._Products = base.CreateQuery("[Products]"); + } + return this._Products; + } + } + private global::System.Data.Objects.ObjectQuery _Products; + /// + /// There are no comments for Regions in the schema. + /// + public global::System.Data.Objects.ObjectQuery Regions + { + get + { + if ((this._Regions == null)) + { + this._Regions = base.CreateQuery("[Regions]"); + } + return this._Regions; + } + } + private global::System.Data.Objects.ObjectQuery _Regions; + /// + /// There are no comments for Suppliers in the schema. + /// + public global::System.Data.Objects.ObjectQuery Suppliers + { + get + { + if ((this._Suppliers == null)) + { + this._Suppliers = base.CreateQuery("[Suppliers]"); + } + return this._Suppliers; + } + } + private global::System.Data.Objects.ObjectQuery _Suppliers; + /// + /// There are no comments for Territories in the schema. + /// + public global::System.Data.Objects.ObjectQuery Territories + { + get + { + if ((this._Territories == null)) + { + this._Territories = base.CreateQuery("[Territories]"); + } + return this._Territories; + } + } + private global::System.Data.Objects.ObjectQuery _Territories; + /// + /// There are no comments for Categories in the schema. + /// + public void AddToCategories(Categories categories) + { + base.AddObject("Categories", categories); + } + /// + /// There are no comments for Customers in the schema. + /// + public void AddToCustomers(Customers customers) + { + base.AddObject("Customers", customers); + } + /// + /// There are no comments for Employees in the schema. + /// + public void AddToEmployees(Employees employees) + { + base.AddObject("Employees", employees); + } + /// + /// There are no comments for InternationalOrders in the schema. + /// + public void AddToInternationalOrders(InternationalOrders internationalOrders) + { + base.AddObject("InternationalOrders", internationalOrders); + } + /// + /// There are no comments for OrderDetails in the schema. + /// + public void AddToOrderDetails(OrderDetails orderDetails) + { + base.AddObject("OrderDetails", orderDetails); + } + /// + /// There are no comments for Orders in the schema. + /// + public void AddToOrders(Orders orders) + { + base.AddObject("Orders", orders); + } + /// + /// There are no comments for PreviousEmployees in the schema. + /// + public void AddToPreviousEmployees(PreviousEmployees previousEmployees) + { + base.AddObject("PreviousEmployees", previousEmployees); + } + /// + /// There are no comments for Products in the schema. + /// + public void AddToProducts(Products products) + { + base.AddObject("Products", products); + } + /// + /// There are no comments for Regions in the schema. + /// + public void AddToRegions(Regions regions) + { + base.AddObject("Regions", regions); + } + /// + /// There are no comments for Suppliers in the schema. + /// + public void AddToSuppliers(Suppliers suppliers) + { + base.AddObject("Suppliers", suppliers); + } + /// + /// There are no comments for Territories in the schema. + /// + public void AddToTerritories(Territories territories) + { + base.AddObject("Territories", territories); + } + } + /// + /// There are no comments for northwindEFModel.Categories in the schema. + /// + /// + /// CategoryID + /// + [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Categories")] + [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] + [global::System.Serializable()] + public partial class Categories : global::System.Data.Objects.DataClasses.EntityObject + { + /// + /// Create a new Categories object. + /// + /// Initial value of CategoryID. + /// Initial value of CategoryName. + public static Categories CreateCategories(long categoryID, string categoryName) + { + Categories categories = new Categories(); + categories.CategoryID = categoryID; + categories.CategoryName = categoryName; + return categories; + } + /// + /// There are no comments for Property CategoryID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public long CategoryID + { + get + { + return this._CategoryID; + } + set + { + this.OnCategoryIDChanging(value); + this.ReportPropertyChanging("CategoryID"); + this._CategoryID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("CategoryID"); + this.OnCategoryIDChanged(); + } + } + private long _CategoryID; + partial void OnCategoryIDChanging(long value); + partial void OnCategoryIDChanged(); + /// + /// There are no comments for Property CategoryName in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string CategoryName + { + get + { + return this._CategoryName; + } + set + { + this.OnCategoryNameChanging(value); + this.ReportPropertyChanging("CategoryName"); + this._CategoryName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("CategoryName"); + this.OnCategoryNameChanged(); + } + } + private string _CategoryName; + partial void OnCategoryNameChanging(string value); + partial void OnCategoryNameChanged(); + /// + /// There are no comments for Property Description in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Description + { + get + { + return this._Description; + } + set + { + this.OnDescriptionChanging(value); + this.ReportPropertyChanging("Description"); + this._Description = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Description"); + this.OnDescriptionChanged(); + } + } + private string _Description; + partial void OnDescriptionChanging(string value); + partial void OnDescriptionChanged(); + /// + /// There are no comments for Property Picture in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public byte[] Picture + { + get + { + return global::System.Data.Objects.DataClasses.StructuralObject.GetValidValue(this._Picture); + } + set + { + this.OnPictureChanging(value); + this.ReportPropertyChanging("Picture"); + this._Picture = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Picture"); + this.OnPictureChanged(); + } + } + private byte[] _Picture; + partial void OnPictureChanging(byte[] value); + partial void OnPictureChanged(); + /// + /// There are no comments for Products in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Products")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityCollection Products + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products", value); + } + } + } + } + /// + /// There are no comments for northwindEFModel.Customers in the schema. + /// + /// + /// CustomerID + /// + [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Customers")] + [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] + [global::System.Serializable()] + public partial class Customers : global::System.Data.Objects.DataClasses.EntityObject + { + /// + /// Create a new Customers object. + /// + /// Initial value of CustomerID. + /// Initial value of CompanyName. + public static Customers CreateCustomers(string customerID, string companyName) + { + Customers customers = new Customers(); + customers.CustomerID = customerID; + customers.CompanyName = companyName; + return customers; + } + /// + /// There are no comments for Property CustomerID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string CustomerID + { + get + { + return this._CustomerID; + } + set + { + this.OnCustomerIDChanging(value); + this.ReportPropertyChanging("CustomerID"); + this._CustomerID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("CustomerID"); + this.OnCustomerIDChanged(); + } + } + private string _CustomerID; + partial void OnCustomerIDChanging(string value); + partial void OnCustomerIDChanged(); + /// + /// There are no comments for Property CompanyName in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string CompanyName + { + get + { + return this._CompanyName; + } + set + { + this.OnCompanyNameChanging(value); + this.ReportPropertyChanging("CompanyName"); + this._CompanyName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("CompanyName"); + this.OnCompanyNameChanged(); + } + } + private string _CompanyName; + partial void OnCompanyNameChanging(string value); + partial void OnCompanyNameChanged(); + /// + /// There are no comments for Property ContactName in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string ContactName + { + get + { + return this._ContactName; + } + set + { + this.OnContactNameChanging(value); + this.ReportPropertyChanging("ContactName"); + this._ContactName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("ContactName"); + this.OnContactNameChanged(); + } + } + private string _ContactName; + partial void OnContactNameChanging(string value); + partial void OnContactNameChanged(); + /// + /// There are no comments for Property ContactTitle in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string ContactTitle + { + get + { + return this._ContactTitle; + } + set + { + this.OnContactTitleChanging(value); + this.ReportPropertyChanging("ContactTitle"); + this._ContactTitle = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("ContactTitle"); + this.OnContactTitleChanged(); + } + } + private string _ContactTitle; + partial void OnContactTitleChanging(string value); + partial void OnContactTitleChanged(); + /// + /// There are no comments for Property Address in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Address + { + get + { + return this._Address; + } + set + { + this.OnAddressChanging(value); + this.ReportPropertyChanging("Address"); + this._Address = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Address"); + this.OnAddressChanged(); + } + } + private string _Address; + partial void OnAddressChanging(string value); + partial void OnAddressChanged(); + /// + /// There are no comments for Property City in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string City + { + get + { + return this._City; + } + set + { + this.OnCityChanging(value); + this.ReportPropertyChanging("City"); + this._City = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("City"); + this.OnCityChanged(); + } + } + private string _City; + partial void OnCityChanging(string value); + partial void OnCityChanged(); + /// + /// There are no comments for Property Region in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Region + { + get + { + return this._Region; + } + set + { + this.OnRegionChanging(value); + this.ReportPropertyChanging("Region"); + this._Region = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Region"); + this.OnRegionChanged(); + } + } + private string _Region; + partial void OnRegionChanging(string value); + partial void OnRegionChanged(); + /// + /// There are no comments for Property PostalCode in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string PostalCode + { + get + { + return this._PostalCode; + } + set + { + this.OnPostalCodeChanging(value); + this.ReportPropertyChanging("PostalCode"); + this._PostalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("PostalCode"); + this.OnPostalCodeChanged(); + } + } + private string _PostalCode; + partial void OnPostalCodeChanging(string value); + partial void OnPostalCodeChanged(); + /// + /// There are no comments for Property Country in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Country + { + get + { + return this._Country; + } + set + { + this.OnCountryChanging(value); + this.ReportPropertyChanging("Country"); + this._Country = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Country"); + this.OnCountryChanged(); + } + } + private string _Country; + partial void OnCountryChanging(string value); + partial void OnCountryChanged(); + /// + /// There are no comments for Property Phone in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Phone + { + get + { + return this._Phone; + } + set + { + this.OnPhoneChanging(value); + this.ReportPropertyChanging("Phone"); + this._Phone = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Phone"); + this.OnPhoneChanged(); + } + } + private string _Phone; + partial void OnPhoneChanging(string value); + partial void OnPhoneChanged(); + /// + /// There are no comments for Property Fax in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Fax + { + get + { + return this._Fax; + } + set + { + this.OnFaxChanging(value); + this.ReportPropertyChanging("Fax"); + this._Fax = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Fax"); + this.OnFaxChanged(); + } + } + private string _Fax; + partial void OnFaxChanging(string value); + partial void OnFaxChanged(); + /// + /// There are no comments for Orders in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Orders")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityCollection Orders + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders", value); + } + } + } + } + /// + /// There are no comments for northwindEFModel.Employees in the schema. + /// + /// + /// EmployeeID + /// + [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Employees")] + [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] + [global::System.Serializable()] + public partial class Employees : global::System.Data.Objects.DataClasses.EntityObject + { + /// + /// Create a new Employees object. + /// + /// Initial value of EmployeeID. + /// Initial value of LastName. + /// Initial value of FirstName. + public static Employees CreateEmployees(long employeeID, string lastName, string firstName) + { + Employees employees = new Employees(); + employees.EmployeeID = employeeID; + employees.LastName = lastName; + employees.FirstName = firstName; + return employees; + } + /// + /// There are no comments for Property EmployeeID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public long EmployeeID + { + get + { + return this._EmployeeID; + } + set + { + this.OnEmployeeIDChanging(value); + this.ReportPropertyChanging("EmployeeID"); + this._EmployeeID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("EmployeeID"); + this.OnEmployeeIDChanged(); + } + } + private long _EmployeeID; + partial void OnEmployeeIDChanging(long value); + partial void OnEmployeeIDChanged(); + /// + /// There are no comments for Property LastName in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string LastName + { + get + { + return this._LastName; + } + set + { + this.OnLastNameChanging(value); + this.ReportPropertyChanging("LastName"); + this._LastName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("LastName"); + this.OnLastNameChanged(); + } + } + private string _LastName; + partial void OnLastNameChanging(string value); + partial void OnLastNameChanged(); + /// + /// There are no comments for Property FirstName in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string FirstName + { + get + { + return this._FirstName; + } + set + { + this.OnFirstNameChanging(value); + this.ReportPropertyChanging("FirstName"); + this._FirstName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("FirstName"); + this.OnFirstNameChanged(); + } + } + private string _FirstName; + partial void OnFirstNameChanging(string value); + partial void OnFirstNameChanged(); + /// + /// There are no comments for Property Title in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Title + { + get + { + return this._Title; + } + set + { + this.OnTitleChanging(value); + this.ReportPropertyChanging("Title"); + this._Title = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Title"); + this.OnTitleChanged(); + } + } + private string _Title; + partial void OnTitleChanging(string value); + partial void OnTitleChanged(); + /// + /// There are no comments for Property TitleOfCourtesy in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string TitleOfCourtesy + { + get + { + return this._TitleOfCourtesy; + } + set + { + this.OnTitleOfCourtesyChanging(value); + this.ReportPropertyChanging("TitleOfCourtesy"); + this._TitleOfCourtesy = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("TitleOfCourtesy"); + this.OnTitleOfCourtesyChanged(); + } + } + private string _TitleOfCourtesy; + partial void OnTitleOfCourtesyChanging(string value); + partial void OnTitleOfCourtesyChanged(); + /// + /// There are no comments for Property BirthDate in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable BirthDate + { + get + { + return this._BirthDate; + } + set + { + this.OnBirthDateChanging(value); + this.ReportPropertyChanging("BirthDate"); + this._BirthDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("BirthDate"); + this.OnBirthDateChanged(); + } + } + private global::System.Nullable _BirthDate; + partial void OnBirthDateChanging(global::System.Nullable value); + partial void OnBirthDateChanged(); + /// + /// There are no comments for Property HireDate in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable HireDate + { + get + { + return this._HireDate; + } + set + { + this.OnHireDateChanging(value); + this.ReportPropertyChanging("HireDate"); + this._HireDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("HireDate"); + this.OnHireDateChanged(); + } + } + private global::System.Nullable _HireDate; + partial void OnHireDateChanging(global::System.Nullable value); + partial void OnHireDateChanged(); + /// + /// There are no comments for Property Address in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Address + { + get + { + return this._Address; + } + set + { + this.OnAddressChanging(value); + this.ReportPropertyChanging("Address"); + this._Address = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Address"); + this.OnAddressChanged(); + } + } + private string _Address; + partial void OnAddressChanging(string value); + partial void OnAddressChanged(); + /// + /// There are no comments for Property City in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string City + { + get + { + return this._City; + } + set + { + this.OnCityChanging(value); + this.ReportPropertyChanging("City"); + this._City = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("City"); + this.OnCityChanged(); + } + } + private string _City; + partial void OnCityChanging(string value); + partial void OnCityChanged(); + /// + /// There are no comments for Property Region in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Region + { + get + { + return this._Region; + } + set + { + this.OnRegionChanging(value); + this.ReportPropertyChanging("Region"); + this._Region = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Region"); + this.OnRegionChanged(); + } + } + private string _Region; + partial void OnRegionChanging(string value); + partial void OnRegionChanged(); + /// + /// There are no comments for Property PostalCode in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string PostalCode + { + get + { + return this._PostalCode; + } + set + { + this.OnPostalCodeChanging(value); + this.ReportPropertyChanging("PostalCode"); + this._PostalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("PostalCode"); + this.OnPostalCodeChanged(); + } + } + private string _PostalCode; + partial void OnPostalCodeChanging(string value); + partial void OnPostalCodeChanged(); + /// + /// There are no comments for Property Country in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Country + { + get + { + return this._Country; + } + set + { + this.OnCountryChanging(value); + this.ReportPropertyChanging("Country"); + this._Country = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Country"); + this.OnCountryChanged(); + } + } + private string _Country; + partial void OnCountryChanging(string value); + partial void OnCountryChanged(); + /// + /// There are no comments for Property HomePhone in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string HomePhone + { + get + { + return this._HomePhone; + } + set + { + this.OnHomePhoneChanging(value); + this.ReportPropertyChanging("HomePhone"); + this._HomePhone = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("HomePhone"); + this.OnHomePhoneChanged(); + } + } + private string _HomePhone; + partial void OnHomePhoneChanging(string value); + partial void OnHomePhoneChanged(); + /// + /// There are no comments for Property Extension in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Extension + { + get + { + return this._Extension; + } + set + { + this.OnExtensionChanging(value); + this.ReportPropertyChanging("Extension"); + this._Extension = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Extension"); + this.OnExtensionChanged(); + } + } + private string _Extension; + partial void OnExtensionChanging(string value); + partial void OnExtensionChanged(); + /// + /// There are no comments for Property Photo in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public byte[] Photo + { + get + { + return global::System.Data.Objects.DataClasses.StructuralObject.GetValidValue(this._Photo); + } + set + { + this.OnPhotoChanging(value); + this.ReportPropertyChanging("Photo"); + this._Photo = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Photo"); + this.OnPhotoChanged(); + } + } + private byte[] _Photo; + partial void OnPhotoChanging(byte[] value); + partial void OnPhotoChanged(); + /// + /// There are no comments for Property Notes in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Notes + { + get + { + return this._Notes; + } + set + { + this.OnNotesChanging(value); + this.ReportPropertyChanging("Notes"); + this._Notes = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Notes"); + this.OnNotesChanged(); + } + } + private string _Notes; + partial void OnNotesChanging(string value); + partial void OnNotesChanged(); + /// + /// There are no comments for Property PhotoPath in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string PhotoPath + { + get + { + return this._PhotoPath; + } + set + { + this.OnPhotoPathChanging(value); + this.ReportPropertyChanging("PhotoPath"); + this._PhotoPath = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("PhotoPath"); + this.OnPhotoPathChanged(); + } + } + private string _PhotoPath; + partial void OnPhotoPathChanging(string value); + partial void OnPhotoPathChanged(); + /// + /// There are no comments for Territories in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Territories")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityCollection Territories + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories", value); + } + } + } + } + /// + /// There are no comments for northwindEFModel.InternationalOrders in the schema. + /// + /// + /// OrderID + /// + [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="InternationalOrders")] + [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] + [global::System.Serializable()] + public partial class InternationalOrders : global::System.Data.Objects.DataClasses.EntityObject + { + /// + /// Create a new InternationalOrders object. + /// + /// Initial value of OrderID. + /// Initial value of CustomsDescription. + /// Initial value of ExciseTax. + public static InternationalOrders CreateInternationalOrders(long orderID, string customsDescription, decimal exciseTax) + { + InternationalOrders internationalOrders = new InternationalOrders(); + internationalOrders.OrderID = orderID; + internationalOrders.CustomsDescription = customsDescription; + internationalOrders.ExciseTax = exciseTax; + return internationalOrders; + } + /// + /// There are no comments for Property OrderID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public long OrderID + { + get + { + return this._OrderID; + } + set + { + this.OnOrderIDChanging(value); + this.ReportPropertyChanging("OrderID"); + this._OrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("OrderID"); + this.OnOrderIDChanged(); + } + } + private long _OrderID; + partial void OnOrderIDChanging(long value); + partial void OnOrderIDChanged(); + /// + /// There are no comments for Property CustomsDescription in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string CustomsDescription + { + get + { + return this._CustomsDescription; + } + set + { + this.OnCustomsDescriptionChanging(value); + this.ReportPropertyChanging("CustomsDescription"); + this._CustomsDescription = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("CustomsDescription"); + this.OnCustomsDescriptionChanged(); + } + } + private string _CustomsDescription; + partial void OnCustomsDescriptionChanging(string value); + partial void OnCustomsDescriptionChanged(); + /// + /// There are no comments for Property ExciseTax in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public decimal ExciseTax + { + get + { + return this._ExciseTax; + } + set + { + this.OnExciseTaxChanging(value); + this.ReportPropertyChanging("ExciseTax"); + this._ExciseTax = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("ExciseTax"); + this.OnExciseTaxChanged(); + } + } + private decimal _ExciseTax; + partial void OnExciseTaxChanging(decimal value); + partial void OnExciseTaxChanged(); + /// + /// There are no comments for Orders in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public Orders Orders + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value; + } + set + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value = value; + } + } + /// + /// There are no comments for Orders in the schema. + /// + [global::System.ComponentModel.BrowsableAttribute(false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityReference OrdersReference + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders", value); + } + } + } + } + /// + /// There are no comments for northwindEFModel.OrderDetails in the schema. + /// + /// + /// OrderID + /// ProductID + /// + [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="OrderDetails")] + [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] + [global::System.Serializable()] + public partial class OrderDetails : global::System.Data.Objects.DataClasses.EntityObject + { + /// + /// Create a new OrderDetails object. + /// + /// Initial value of OrderID. + /// Initial value of ProductID. + /// Initial value of UnitPrice. + /// Initial value of Quantity. + /// Initial value of Discount. + public static OrderDetails CreateOrderDetails(long orderID, long productID, decimal unitPrice, short quantity, float discount) + { + OrderDetails orderDetails = new OrderDetails(); + orderDetails.OrderID = orderID; + orderDetails.ProductID = productID; + orderDetails.UnitPrice = unitPrice; + orderDetails.Quantity = quantity; + orderDetails.Discount = discount; + return orderDetails; + } + /// + /// There are no comments for Property OrderID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public long OrderID + { + get + { + return this._OrderID; + } + set + { + this.OnOrderIDChanging(value); + this.ReportPropertyChanging("OrderID"); + this._OrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("OrderID"); + this.OnOrderIDChanged(); + } + } + private long _OrderID; + partial void OnOrderIDChanging(long value); + partial void OnOrderIDChanged(); + /// + /// There are no comments for Property ProductID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public long ProductID + { + get + { + return this._ProductID; + } + set + { + this.OnProductIDChanging(value); + this.ReportPropertyChanging("ProductID"); + this._ProductID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("ProductID"); + this.OnProductIDChanged(); + } + } + private long _ProductID; + partial void OnProductIDChanging(long value); + partial void OnProductIDChanged(); + /// + /// There are no comments for Property UnitPrice in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public decimal UnitPrice + { + get + { + return this._UnitPrice; + } + set + { + this.OnUnitPriceChanging(value); + this.ReportPropertyChanging("UnitPrice"); + this._UnitPrice = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("UnitPrice"); + this.OnUnitPriceChanged(); + } + } + private decimal _UnitPrice; + partial void OnUnitPriceChanging(decimal value); + partial void OnUnitPriceChanged(); + /// + /// There are no comments for Property Quantity in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public short Quantity + { + get + { + return this._Quantity; + } + set + { + this.OnQuantityChanging(value); + this.ReportPropertyChanging("Quantity"); + this._Quantity = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("Quantity"); + this.OnQuantityChanged(); + } + } + private short _Quantity; + partial void OnQuantityChanging(short value); + partial void OnQuantityChanged(); + /// + /// There are no comments for Property Discount in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public float Discount + { + get + { + return this._Discount; + } + set + { + this.OnDiscountChanging(value); + this.ReportPropertyChanging("Discount"); + this._Discount = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("Discount"); + this.OnDiscountChanged(); + } + } + private float _Discount; + partial void OnDiscountChanging(float value); + partial void OnDiscountChanged(); + /// + /// There are no comments for Orders in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public Orders Orders + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value; + } + set + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value = value; + } + } + /// + /// There are no comments for Orders in the schema. + /// + [global::System.ComponentModel.BrowsableAttribute(false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityReference OrdersReference + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders", value); + } + } + } + /// + /// There are no comments for Products in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public Products Products + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value; + } + set + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value = value; + } + } + /// + /// There are no comments for Products in the schema. + /// + [global::System.ComponentModel.BrowsableAttribute(false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityReference ProductsReference + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products", value); + } + } + } + } + /// + /// There are no comments for northwindEFModel.Orders in the schema. + /// + /// + /// OrderID + /// + [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Orders")] + [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] + [global::System.Serializable()] + public partial class Orders : global::System.Data.Objects.DataClasses.EntityObject + { + /// + /// Create a new Orders object. + /// + /// Initial value of OrderID. + public static Orders CreateOrders(long orderID) + { + Orders orders = new Orders(); + orders.OrderID = orderID; + return orders; + } + /// + /// There are no comments for Property OrderID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public long OrderID + { + get + { + return this._OrderID; + } + set + { + this.OnOrderIDChanging(value); + this.ReportPropertyChanging("OrderID"); + this._OrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("OrderID"); + this.OnOrderIDChanged(); + } + } + private long _OrderID; + partial void OnOrderIDChanging(long value); + partial void OnOrderIDChanged(); + /// + /// There are no comments for Property EmployeeID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable EmployeeID + { + get + { + return this._EmployeeID; + } + set + { + this.OnEmployeeIDChanging(value); + this.ReportPropertyChanging("EmployeeID"); + this._EmployeeID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("EmployeeID"); + this.OnEmployeeIDChanged(); + } + } + private global::System.Nullable _EmployeeID; + partial void OnEmployeeIDChanging(global::System.Nullable value); + partial void OnEmployeeIDChanged(); + /// + /// There are no comments for Property OrderDate in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable OrderDate + { + get + { + return this._OrderDate; + } + set + { + this.OnOrderDateChanging(value); + this.ReportPropertyChanging("OrderDate"); + this._OrderDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("OrderDate"); + this.OnOrderDateChanged(); + } + } + private global::System.Nullable _OrderDate; + partial void OnOrderDateChanging(global::System.Nullable value); + partial void OnOrderDateChanged(); + /// + /// There are no comments for Property RequiredDate in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable RequiredDate + { + get + { + return this._RequiredDate; + } + set + { + this.OnRequiredDateChanging(value); + this.ReportPropertyChanging("RequiredDate"); + this._RequiredDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("RequiredDate"); + this.OnRequiredDateChanged(); + } + } + private global::System.Nullable _RequiredDate; + partial void OnRequiredDateChanging(global::System.Nullable value); + partial void OnRequiredDateChanged(); + /// + /// There are no comments for Property ShippedDate in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable ShippedDate + { + get + { + return this._ShippedDate; + } + set + { + this.OnShippedDateChanging(value); + this.ReportPropertyChanging("ShippedDate"); + this._ShippedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("ShippedDate"); + this.OnShippedDateChanged(); + } + } + private global::System.Nullable _ShippedDate; + partial void OnShippedDateChanging(global::System.Nullable value); + partial void OnShippedDateChanged(); + /// + /// There are no comments for Property Freight in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable Freight + { + get + { + return this._Freight; + } + set + { + this.OnFreightChanging(value); + this.ReportPropertyChanging("Freight"); + this._Freight = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("Freight"); + this.OnFreightChanged(); + } + } + private global::System.Nullable _Freight; + partial void OnFreightChanging(global::System.Nullable value); + partial void OnFreightChanged(); + /// + /// There are no comments for Property ShipName in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string ShipName + { + get + { + return this._ShipName; + } + set + { + this.OnShipNameChanging(value); + this.ReportPropertyChanging("ShipName"); + this._ShipName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("ShipName"); + this.OnShipNameChanged(); + } + } + private string _ShipName; + partial void OnShipNameChanging(string value); + partial void OnShipNameChanged(); + /// + /// There are no comments for Property ShipAddress in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string ShipAddress + { + get + { + return this._ShipAddress; + } + set + { + this.OnShipAddressChanging(value); + this.ReportPropertyChanging("ShipAddress"); + this._ShipAddress = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("ShipAddress"); + this.OnShipAddressChanged(); + } + } + private string _ShipAddress; + partial void OnShipAddressChanging(string value); + partial void OnShipAddressChanged(); + /// + /// There are no comments for Property ShipCity in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string ShipCity + { + get + { + return this._ShipCity; + } + set + { + this.OnShipCityChanging(value); + this.ReportPropertyChanging("ShipCity"); + this._ShipCity = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("ShipCity"); + this.OnShipCityChanged(); + } + } + private string _ShipCity; + partial void OnShipCityChanging(string value); + partial void OnShipCityChanged(); + /// + /// There are no comments for Property ShipRegion in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string ShipRegion + { + get + { + return this._ShipRegion; + } + set + { + this.OnShipRegionChanging(value); + this.ReportPropertyChanging("ShipRegion"); + this._ShipRegion = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("ShipRegion"); + this.OnShipRegionChanged(); + } + } + private string _ShipRegion; + partial void OnShipRegionChanging(string value); + partial void OnShipRegionChanged(); + /// + /// There are no comments for Property ShipPostalCode in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string ShipPostalCode + { + get + { + return this._ShipPostalCode; + } + set + { + this.OnShipPostalCodeChanging(value); + this.ReportPropertyChanging("ShipPostalCode"); + this._ShipPostalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("ShipPostalCode"); + this.OnShipPostalCodeChanged(); + } + } + private string _ShipPostalCode; + partial void OnShipPostalCodeChanging(string value); + partial void OnShipPostalCodeChanged(); + /// + /// There are no comments for Property ShipCountry in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string ShipCountry + { + get + { + return this._ShipCountry; + } + set + { + this.OnShipCountryChanging(value); + this.ReportPropertyChanging("ShipCountry"); + this._ShipCountry = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("ShipCountry"); + this.OnShipCountryChanged(); + } + } + private string _ShipCountry; + partial void OnShipCountryChanging(string value); + partial void OnShipCountryChanged(); + /// + /// There are no comments for Customers in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public Customers Customers + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value; + } + set + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value = value; + } + } + /// + /// There are no comments for Customers in the schema. + /// + [global::System.ComponentModel.BrowsableAttribute(false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityReference CustomersReference + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers", value); + } + } + } + /// + /// There are no comments for InternationalOrders in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "InternationalOrders")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public InternationalOrders InternationalOrders + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value; + } + set + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value = value; + } + } + /// + /// There are no comments for InternationalOrders in the schema. + /// + [global::System.ComponentModel.BrowsableAttribute(false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityReference InternationalOrdersReference + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders", value); + } + } + } + /// + /// There are no comments for OrderDetails in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "OrderDetails")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityCollection OrderDetails + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails", value); + } + } + } + } + /// + /// There are no comments for northwindEFModel.PreviousEmployees in the schema. + /// + /// + /// EmployeeID + /// + [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="PreviousEmployees")] + [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] + [global::System.Serializable()] + public partial class PreviousEmployees : global::System.Data.Objects.DataClasses.EntityObject + { + /// + /// Create a new PreviousEmployees object. + /// + /// Initial value of EmployeeID. + /// Initial value of LastName. + /// Initial value of FirstName. + public static PreviousEmployees CreatePreviousEmployees(long employeeID, string lastName, string firstName) + { + PreviousEmployees previousEmployees = new PreviousEmployees(); + previousEmployees.EmployeeID = employeeID; + previousEmployees.LastName = lastName; + previousEmployees.FirstName = firstName; + return previousEmployees; + } + /// + /// There are no comments for Property EmployeeID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public long EmployeeID + { + get + { + return this._EmployeeID; + } + set + { + this.OnEmployeeIDChanging(value); + this.ReportPropertyChanging("EmployeeID"); + this._EmployeeID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("EmployeeID"); + this.OnEmployeeIDChanged(); + } + } + private long _EmployeeID; + partial void OnEmployeeIDChanging(long value); + partial void OnEmployeeIDChanged(); + /// + /// There are no comments for Property LastName in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string LastName + { + get + { + return this._LastName; + } + set + { + this.OnLastNameChanging(value); + this.ReportPropertyChanging("LastName"); + this._LastName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("LastName"); + this.OnLastNameChanged(); + } + } + private string _LastName; + partial void OnLastNameChanging(string value); + partial void OnLastNameChanged(); + /// + /// There are no comments for Property FirstName in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string FirstName + { + get + { + return this._FirstName; + } + set + { + this.OnFirstNameChanging(value); + this.ReportPropertyChanging("FirstName"); + this._FirstName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("FirstName"); + this.OnFirstNameChanged(); + } + } + private string _FirstName; + partial void OnFirstNameChanging(string value); + partial void OnFirstNameChanged(); + /// + /// There are no comments for Property Title in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Title + { + get + { + return this._Title; + } + set + { + this.OnTitleChanging(value); + this.ReportPropertyChanging("Title"); + this._Title = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Title"); + this.OnTitleChanged(); + } + } + private string _Title; + partial void OnTitleChanging(string value); + partial void OnTitleChanged(); + /// + /// There are no comments for Property TitleOfCourtesy in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string TitleOfCourtesy + { + get + { + return this._TitleOfCourtesy; + } + set + { + this.OnTitleOfCourtesyChanging(value); + this.ReportPropertyChanging("TitleOfCourtesy"); + this._TitleOfCourtesy = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("TitleOfCourtesy"); + this.OnTitleOfCourtesyChanged(); + } + } + private string _TitleOfCourtesy; + partial void OnTitleOfCourtesyChanging(string value); + partial void OnTitleOfCourtesyChanged(); + /// + /// There are no comments for Property BirthDate in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable BirthDate + { + get + { + return this._BirthDate; + } + set + { + this.OnBirthDateChanging(value); + this.ReportPropertyChanging("BirthDate"); + this._BirthDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("BirthDate"); + this.OnBirthDateChanged(); + } + } + private global::System.Nullable _BirthDate; + partial void OnBirthDateChanging(global::System.Nullable value); + partial void OnBirthDateChanged(); + /// + /// There are no comments for Property HireDate in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable HireDate + { + get + { + return this._HireDate; + } + set + { + this.OnHireDateChanging(value); + this.ReportPropertyChanging("HireDate"); + this._HireDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("HireDate"); + this.OnHireDateChanged(); + } + } + private global::System.Nullable _HireDate; + partial void OnHireDateChanging(global::System.Nullable value); + partial void OnHireDateChanged(); + /// + /// There are no comments for Property Address in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Address + { + get + { + return this._Address; + } + set + { + this.OnAddressChanging(value); + this.ReportPropertyChanging("Address"); + this._Address = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Address"); + this.OnAddressChanged(); + } + } + private string _Address; + partial void OnAddressChanging(string value); + partial void OnAddressChanged(); + /// + /// There are no comments for Property City in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string City + { + get + { + return this._City; + } + set + { + this.OnCityChanging(value); + this.ReportPropertyChanging("City"); + this._City = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("City"); + this.OnCityChanged(); + } + } + private string _City; + partial void OnCityChanging(string value); + partial void OnCityChanged(); + /// + /// There are no comments for Property Region in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Region + { + get + { + return this._Region; + } + set + { + this.OnRegionChanging(value); + this.ReportPropertyChanging("Region"); + this._Region = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Region"); + this.OnRegionChanged(); + } + } + private string _Region; + partial void OnRegionChanging(string value); + partial void OnRegionChanged(); + /// + /// There are no comments for Property PostalCode in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string PostalCode + { + get + { + return this._PostalCode; + } + set + { + this.OnPostalCodeChanging(value); + this.ReportPropertyChanging("PostalCode"); + this._PostalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("PostalCode"); + this.OnPostalCodeChanged(); + } + } + private string _PostalCode; + partial void OnPostalCodeChanging(string value); + partial void OnPostalCodeChanged(); + /// + /// There are no comments for Property Country in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Country + { + get + { + return this._Country; + } + set + { + this.OnCountryChanging(value); + this.ReportPropertyChanging("Country"); + this._Country = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Country"); + this.OnCountryChanged(); + } + } + private string _Country; + partial void OnCountryChanging(string value); + partial void OnCountryChanged(); + /// + /// There are no comments for Property HomePhone in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string HomePhone + { + get + { + return this._HomePhone; + } + set + { + this.OnHomePhoneChanging(value); + this.ReportPropertyChanging("HomePhone"); + this._HomePhone = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("HomePhone"); + this.OnHomePhoneChanged(); + } + } + private string _HomePhone; + partial void OnHomePhoneChanging(string value); + partial void OnHomePhoneChanged(); + /// + /// There are no comments for Property Extension in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Extension + { + get + { + return this._Extension; + } + set + { + this.OnExtensionChanging(value); + this.ReportPropertyChanging("Extension"); + this._Extension = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Extension"); + this.OnExtensionChanged(); + } + } + private string _Extension; + partial void OnExtensionChanging(string value); + partial void OnExtensionChanged(); + /// + /// There are no comments for Property Photo in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public byte[] Photo + { + get + { + return global::System.Data.Objects.DataClasses.StructuralObject.GetValidValue(this._Photo); + } + set + { + this.OnPhotoChanging(value); + this.ReportPropertyChanging("Photo"); + this._Photo = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Photo"); + this.OnPhotoChanged(); + } + } + private byte[] _Photo; + partial void OnPhotoChanging(byte[] value); + partial void OnPhotoChanged(); + /// + /// There are no comments for Property Notes in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Notes + { + get + { + return this._Notes; + } + set + { + this.OnNotesChanging(value); + this.ReportPropertyChanging("Notes"); + this._Notes = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Notes"); + this.OnNotesChanged(); + } + } + private string _Notes; + partial void OnNotesChanging(string value); + partial void OnNotesChanged(); + /// + /// There are no comments for Property PhotoPath in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string PhotoPath + { + get + { + return this._PhotoPath; + } + set + { + this.OnPhotoPathChanging(value); + this.ReportPropertyChanging("PhotoPath"); + this._PhotoPath = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("PhotoPath"); + this.OnPhotoPathChanged(); + } + } + private string _PhotoPath; + partial void OnPhotoPathChanging(string value); + partial void OnPhotoPathChanged(); + } + /// + /// There are no comments for northwindEFModel.Products in the schema. + /// + /// + /// ProductID + /// + [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Products")] + [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] + [global::System.Serializable()] + public partial class Products : global::System.Data.Objects.DataClasses.EntityObject + { + /// + /// Create a new Products object. + /// + /// Initial value of ProductID. + /// Initial value of ProductName. + /// Initial value of Discontinued. + public static Products CreateProducts(long productID, string productName, bool discontinued) + { + Products products = new Products(); + products.ProductID = productID; + products.ProductName = productName; + products.Discontinued = discontinued; + return products; + } + /// + /// There are no comments for Property ProductID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public long ProductID + { + get + { + return this._ProductID; + } + set + { + this.OnProductIDChanging(value); + this.ReportPropertyChanging("ProductID"); + this._ProductID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("ProductID"); + this.OnProductIDChanged(); + } + } + private long _ProductID; + partial void OnProductIDChanging(long value); + partial void OnProductIDChanged(); + /// + /// There are no comments for Property ProductName in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string ProductName + { + get + { + return this._ProductName; + } + set + { + this.OnProductNameChanging(value); + this.ReportPropertyChanging("ProductName"); + this._ProductName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("ProductName"); + this.OnProductNameChanged(); + } + } + private string _ProductName; + partial void OnProductNameChanging(string value); + partial void OnProductNameChanged(); + /// + /// There are no comments for Property QuantityPerUnit in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string QuantityPerUnit + { + get + { + return this._QuantityPerUnit; + } + set + { + this.OnQuantityPerUnitChanging(value); + this.ReportPropertyChanging("QuantityPerUnit"); + this._QuantityPerUnit = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("QuantityPerUnit"); + this.OnQuantityPerUnitChanged(); + } + } + private string _QuantityPerUnit; + partial void OnQuantityPerUnitChanging(string value); + partial void OnQuantityPerUnitChanged(); + /// + /// There are no comments for Property UnitPrice in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable UnitPrice + { + get + { + return this._UnitPrice; + } + set + { + this.OnUnitPriceChanging(value); + this.ReportPropertyChanging("UnitPrice"); + this._UnitPrice = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("UnitPrice"); + this.OnUnitPriceChanged(); + } + } + private global::System.Nullable _UnitPrice; + partial void OnUnitPriceChanging(global::System.Nullable value); + partial void OnUnitPriceChanged(); + /// + /// There are no comments for Property UnitsInStock in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable UnitsInStock + { + get + { + return this._UnitsInStock; + } + set + { + this.OnUnitsInStockChanging(value); + this.ReportPropertyChanging("UnitsInStock"); + this._UnitsInStock = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("UnitsInStock"); + this.OnUnitsInStockChanged(); + } + } + private global::System.Nullable _UnitsInStock; + partial void OnUnitsInStockChanging(global::System.Nullable value); + partial void OnUnitsInStockChanged(); + /// + /// There are no comments for Property UnitsOnOrder in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable UnitsOnOrder + { + get + { + return this._UnitsOnOrder; + } + set + { + this.OnUnitsOnOrderChanging(value); + this.ReportPropertyChanging("UnitsOnOrder"); + this._UnitsOnOrder = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("UnitsOnOrder"); + this.OnUnitsOnOrderChanged(); + } + } + private global::System.Nullable _UnitsOnOrder; + partial void OnUnitsOnOrderChanging(global::System.Nullable value); + partial void OnUnitsOnOrderChanged(); + /// + /// There are no comments for Property ReorderLevel in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable ReorderLevel + { + get + { + return this._ReorderLevel; + } + set + { + this.OnReorderLevelChanging(value); + this.ReportPropertyChanging("ReorderLevel"); + this._ReorderLevel = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("ReorderLevel"); + this.OnReorderLevelChanged(); + } + } + private global::System.Nullable _ReorderLevel; + partial void OnReorderLevelChanging(global::System.Nullable value); + partial void OnReorderLevelChanged(); + /// + /// There are no comments for Property Discontinued in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public bool Discontinued + { + get + { + return this._Discontinued; + } + set + { + this.OnDiscontinuedChanging(value); + this.ReportPropertyChanging("Discontinued"); + this._Discontinued = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("Discontinued"); + this.OnDiscontinuedChanged(); + } + } + private bool _Discontinued; + partial void OnDiscontinuedChanging(bool value); + partial void OnDiscontinuedChanged(); + /// + /// There are no comments for Property DiscontinuedDate in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Nullable DiscontinuedDate + { + get + { + return this._DiscontinuedDate; + } + set + { + this.OnDiscontinuedDateChanging(value); + this.ReportPropertyChanging("DiscontinuedDate"); + this._DiscontinuedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("DiscontinuedDate"); + this.OnDiscontinuedDateChanged(); + } + } + private global::System.Nullable _DiscontinuedDate; + partial void OnDiscontinuedDateChanging(global::System.Nullable value); + partial void OnDiscontinuedDateChanged(); + /// + /// There are no comments for Categories in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public Categories Categories + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value; + } + set + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value = value; + } + } + /// + /// There are no comments for Categories in the schema. + /// + [global::System.ComponentModel.BrowsableAttribute(false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityReference CategoriesReference + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories", value); + } + } + } + /// + /// There are no comments for OrderDetails in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "OrderDetails")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityCollection OrderDetails + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails", value); + } + } + } + /// + /// There are no comments for Suppliers in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public Suppliers Suppliers + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value; + } + set + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value = value; + } + } + /// + /// There are no comments for Suppliers in the schema. + /// + [global::System.ComponentModel.BrowsableAttribute(false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityReference SuppliersReference + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers", value); + } + } + } + } + /// + /// There are no comments for northwindEFModel.Regions in the schema. + /// + /// + /// RegionID + /// + [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Regions")] + [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] + [global::System.Serializable()] + public partial class Regions : global::System.Data.Objects.DataClasses.EntityObject + { + /// + /// Create a new Regions object. + /// + /// Initial value of RegionID. + /// Initial value of RegionDescription. + public static Regions CreateRegions(long regionID, string regionDescription) + { + Regions regions = new Regions(); + regions.RegionID = regionID; + regions.RegionDescription = regionDescription; + return regions; + } + /// + /// There are no comments for Property RegionID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public long RegionID + { + get + { + return this._RegionID; + } + set + { + this.OnRegionIDChanging(value); + this.ReportPropertyChanging("RegionID"); + this._RegionID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("RegionID"); + this.OnRegionIDChanged(); + } + } + private long _RegionID; + partial void OnRegionIDChanging(long value); + partial void OnRegionIDChanged(); + /// + /// There are no comments for Property RegionDescription in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string RegionDescription + { + get + { + return this._RegionDescription; + } + set + { + this.OnRegionDescriptionChanging(value); + this.ReportPropertyChanging("RegionDescription"); + this._RegionDescription = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("RegionDescription"); + this.OnRegionDescriptionChanged(); + } + } + private string _RegionDescription; + partial void OnRegionDescriptionChanging(string value); + partial void OnRegionDescriptionChanged(); + /// + /// There are no comments for Territories in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Territories")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityCollection Territories + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories", value); + } + } + } + } + /// + /// There are no comments for northwindEFModel.Suppliers in the schema. + /// + /// + /// SupplierID + /// + [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Suppliers")] + [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] + [global::System.Serializable()] + public partial class Suppliers : global::System.Data.Objects.DataClasses.EntityObject + { + /// + /// Create a new Suppliers object. + /// + /// Initial value of SupplierID. + /// Initial value of CompanyName. + public static Suppliers CreateSuppliers(long supplierID, string companyName) + { + Suppliers suppliers = new Suppliers(); + suppliers.SupplierID = supplierID; + suppliers.CompanyName = companyName; + return suppliers; + } + /// + /// There are no comments for Property SupplierID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public long SupplierID + { + get + { + return this._SupplierID; + } + set + { + this.OnSupplierIDChanging(value); + this.ReportPropertyChanging("SupplierID"); + this._SupplierID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("SupplierID"); + this.OnSupplierIDChanged(); + } + } + private long _SupplierID; + partial void OnSupplierIDChanging(long value); + partial void OnSupplierIDChanged(); + /// + /// There are no comments for Property CompanyName in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string CompanyName + { + get + { + return this._CompanyName; + } + set + { + this.OnCompanyNameChanging(value); + this.ReportPropertyChanging("CompanyName"); + this._CompanyName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("CompanyName"); + this.OnCompanyNameChanged(); + } + } + private string _CompanyName; + partial void OnCompanyNameChanging(string value); + partial void OnCompanyNameChanged(); + /// + /// There are no comments for Property ContactName in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string ContactName + { + get + { + return this._ContactName; + } + set + { + this.OnContactNameChanging(value); + this.ReportPropertyChanging("ContactName"); + this._ContactName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("ContactName"); + this.OnContactNameChanged(); + } + } + private string _ContactName; + partial void OnContactNameChanging(string value); + partial void OnContactNameChanged(); + /// + /// There are no comments for Property ContactTitle in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string ContactTitle + { + get + { + return this._ContactTitle; + } + set + { + this.OnContactTitleChanging(value); + this.ReportPropertyChanging("ContactTitle"); + this._ContactTitle = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("ContactTitle"); + this.OnContactTitleChanged(); + } + } + private string _ContactTitle; + partial void OnContactTitleChanging(string value); + partial void OnContactTitleChanged(); + /// + /// There are no comments for Property Address in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Address + { + get + { + return this._Address; + } + set + { + this.OnAddressChanging(value); + this.ReportPropertyChanging("Address"); + this._Address = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Address"); + this.OnAddressChanged(); + } + } + private string _Address; + partial void OnAddressChanging(string value); + partial void OnAddressChanged(); + /// + /// There are no comments for Property City in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string City + { + get + { + return this._City; + } + set + { + this.OnCityChanging(value); + this.ReportPropertyChanging("City"); + this._City = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("City"); + this.OnCityChanged(); + } + } + private string _City; + partial void OnCityChanging(string value); + partial void OnCityChanged(); + /// + /// There are no comments for Property Region in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Region + { + get + { + return this._Region; + } + set + { + this.OnRegionChanging(value); + this.ReportPropertyChanging("Region"); + this._Region = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Region"); + this.OnRegionChanged(); + } + } + private string _Region; + partial void OnRegionChanging(string value); + partial void OnRegionChanged(); + /// + /// There are no comments for Property PostalCode in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string PostalCode + { + get + { + return this._PostalCode; + } + set + { + this.OnPostalCodeChanging(value); + this.ReportPropertyChanging("PostalCode"); + this._PostalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("PostalCode"); + this.OnPostalCodeChanged(); + } + } + private string _PostalCode; + partial void OnPostalCodeChanging(string value); + partial void OnPostalCodeChanged(); + /// + /// There are no comments for Property Country in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Country + { + get + { + return this._Country; + } + set + { + this.OnCountryChanging(value); + this.ReportPropertyChanging("Country"); + this._Country = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Country"); + this.OnCountryChanged(); + } + } + private string _Country; + partial void OnCountryChanging(string value); + partial void OnCountryChanged(); + /// + /// There are no comments for Property Phone in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Phone + { + get + { + return this._Phone; + } + set + { + this.OnPhoneChanging(value); + this.ReportPropertyChanging("Phone"); + this._Phone = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Phone"); + this.OnPhoneChanged(); + } + } + private string _Phone; + partial void OnPhoneChanging(string value); + partial void OnPhoneChanged(); + /// + /// There are no comments for Property Fax in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string Fax + { + get + { + return this._Fax; + } + set + { + this.OnFaxChanging(value); + this.ReportPropertyChanging("Fax"); + this._Fax = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("Fax"); + this.OnFaxChanged(); + } + } + private string _Fax; + partial void OnFaxChanging(string value); + partial void OnFaxChanged(); + /// + /// There are no comments for Property HomePage in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string HomePage + { + get + { + return this._HomePage; + } + set + { + this.OnHomePageChanging(value); + this.ReportPropertyChanging("HomePage"); + this._HomePage = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true); + this.ReportPropertyChanged("HomePage"); + this.OnHomePageChanged(); + } + } + private string _HomePage; + partial void OnHomePageChanging(string value); + partial void OnHomePageChanged(); + /// + /// There are no comments for Products in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Products")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityCollection Products + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products", value); + } + } + } + } + /// + /// There are no comments for northwindEFModel.Territories in the schema. + /// + /// + /// TerritoryID + /// + [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Territories")] + [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)] + [global::System.Serializable()] + public partial class Territories : global::System.Data.Objects.DataClasses.EntityObject + { + /// + /// Create a new Territories object. + /// + /// Initial value of TerritoryID. + /// Initial value of TerritoryDescription. + public static Territories CreateTerritories(long territoryID, string territoryDescription) + { + Territories territories = new Territories(); + territories.TerritoryID = territoryID; + territories.TerritoryDescription = territoryDescription; + return territories; + } + /// + /// There are no comments for Property TerritoryID in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public long TerritoryID + { + get + { + return this._TerritoryID; + } + set + { + this.OnTerritoryIDChanging(value); + this.ReportPropertyChanging("TerritoryID"); + this._TerritoryID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value); + this.ReportPropertyChanged("TerritoryID"); + this.OnTerritoryIDChanged(); + } + } + private long _TerritoryID; + partial void OnTerritoryIDChanging(long value); + partial void OnTerritoryIDChanged(); + /// + /// There are no comments for Property TerritoryDescription in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public string TerritoryDescription + { + get + { + return this._TerritoryDescription; + } + set + { + this.OnTerritoryDescriptionChanging(value); + this.ReportPropertyChanging("TerritoryDescription"); + this._TerritoryDescription = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false); + this.ReportPropertyChanged("TerritoryDescription"); + this.OnTerritoryDescriptionChanged(); + } + } + private string _TerritoryDescription; + partial void OnTerritoryDescriptionChanging(string value); + partial void OnTerritoryDescriptionChanged(); + /// + /// There are no comments for Regions in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public Regions Regions + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value; + } + set + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value = value; + } + } + /// + /// There are no comments for Regions in the schema. + /// + [global::System.ComponentModel.BrowsableAttribute(false)] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityReference RegionsReference + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions", value); + } + } + } + /// + /// There are no comments for Employees in the schema. + /// + [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Employees")] + [global::System.Xml.Serialization.XmlIgnoreAttribute()] + [global::System.Xml.Serialization.SoapIgnoreAttribute()] + [global::System.Runtime.Serialization.DataMemberAttribute()] + public global::System.Data.Objects.DataClasses.EntityCollection Employees + { + get + { + return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees"); + } + set + { + if ((value != null)) + { + ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees", value); + } + } + } + } +} ADDED testlinq/NorthwindModel2008.edmx Index: testlinq/NorthwindModel2008.edmx ================================================================== --- /dev/null +++ testlinq/NorthwindModel2008.edmx @@ -0,0 +1,909 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ADDED testlinq/NorthwindModel2010.Designer.cs Index: testlinq/NorthwindModel2010.Designer.cs ================================================================== --- /dev/null +++ testlinq/NorthwindModel2010.Designer.cs @@ -0,0 +1,3505 @@ +/******************************************************** + * ADO.NET 2.0 Data Provider for SQLite Version 3.X + * Written by Robert Simpson (robert@blackcastlesoft.com) + * + * Released to the public domain, use at your own risk! + ********************************************************/ + +//------------------------------------------------------------------------------ +// +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Data.Objects; +using System.Data.Objects.DataClasses; +using System.Data.EntityClient; +using System.ComponentModel; +using System.Xml.Serialization; +using System.Runtime.Serialization; + +[assembly: EdmSchemaAttribute()] +#region EDM Relationship Metadata + +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Categories), "Products", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Products))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Customers), "Orders", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Orders))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Orders), "InternationalOrders", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.InternationalOrders), true)] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Orders), "OrderDetails", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Products), "OrderDetails", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Suppliers), "Products", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Products))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Regions), "Territories", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Territories))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "EmployeesTerritories", "Employees", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Employees), "Territories", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Territories))] + +#endregion + +namespace testlinq +{ + #region Contexts + + /// + /// No Metadata Documentation available. + /// + public partial class northwindEFEntities : ObjectContext + { + #region Constructors + + /// + /// Initializes a new northwindEFEntities object using the connection string found in the 'northwindEFEntities' section of the application configuration file. + /// + public northwindEFEntities() : base("name=northwindEFEntities", "northwindEFEntities") + { + OnContextCreated(); + } + + /// + /// Initialize a new northwindEFEntities object. + /// + public northwindEFEntities(string connectionString) : base(connectionString, "northwindEFEntities") + { + OnContextCreated(); + } + + /// + /// Initialize a new northwindEFEntities object. + /// + public northwindEFEntities(EntityConnection connection) : base(connection, "northwindEFEntities") + { + OnContextCreated(); + } + + #endregion + + #region Partial Methods + + partial void OnContextCreated(); + + #endregion + + #region ObjectSet Properties + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Categories + { + get + { + if ((_Categories == null)) + { + _Categories = base.CreateObjectSet("Categories"); + } + return _Categories; + } + } + private ObjectSet _Categories; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Customers + { + get + { + if ((_Customers == null)) + { + _Customers = base.CreateObjectSet("Customers"); + } + return _Customers; + } + } + private ObjectSet _Customers; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Employees + { + get + { + if ((_Employees == null)) + { + _Employees = base.CreateObjectSet("Employees"); + } + return _Employees; + } + } + private ObjectSet _Employees; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet InternationalOrders + { + get + { + if ((_InternationalOrders == null)) + { + _InternationalOrders = base.CreateObjectSet("InternationalOrders"); + } + return _InternationalOrders; + } + } + private ObjectSet _InternationalOrders; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet OrderDetails + { + get + { + if ((_OrderDetails == null)) + { + _OrderDetails = base.CreateObjectSet("OrderDetails"); + } + return _OrderDetails; + } + } + private ObjectSet _OrderDetails; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Orders + { + get + { + if ((_Orders == null)) + { + _Orders = base.CreateObjectSet("Orders"); + } + return _Orders; + } + } + private ObjectSet _Orders; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet PreviousEmployees + { + get + { + if ((_PreviousEmployees == null)) + { + _PreviousEmployees = base.CreateObjectSet("PreviousEmployees"); + } + return _PreviousEmployees; + } + } + private ObjectSet _PreviousEmployees; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Products + { + get + { + if ((_Products == null)) + { + _Products = base.CreateObjectSet("Products"); + } + return _Products; + } + } + private ObjectSet _Products; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Regions + { + get + { + if ((_Regions == null)) + { + _Regions = base.CreateObjectSet("Regions"); + } + return _Regions; + } + } + private ObjectSet _Regions; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Suppliers + { + get + { + if ((_Suppliers == null)) + { + _Suppliers = base.CreateObjectSet("Suppliers"); + } + return _Suppliers; + } + } + private ObjectSet _Suppliers; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Territories + { + get + { + if ((_Territories == null)) + { + _Territories = base.CreateObjectSet("Territories"); + } + return _Territories; + } + } + private ObjectSet _Territories; + + #endregion + #region AddTo Methods + + /// + /// Deprecated Method for adding a new object to the Categories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToCategories(Categories categories) + { + base.AddObject("Categories", categories); + } + + /// + /// Deprecated Method for adding a new object to the Customers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToCustomers(Customers customers) + { + base.AddObject("Customers", customers); + } + + /// + /// Deprecated Method for adding a new object to the Employees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToEmployees(Employees employees) + { + base.AddObject("Employees", employees); + } + + /// + /// Deprecated Method for adding a new object to the InternationalOrders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToInternationalOrders(InternationalOrders internationalOrders) + { + base.AddObject("InternationalOrders", internationalOrders); + } + + /// + /// Deprecated Method for adding a new object to the OrderDetails EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToOrderDetails(OrderDetails orderDetails) + { + base.AddObject("OrderDetails", orderDetails); + } + + /// + /// Deprecated Method for adding a new object to the Orders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToOrders(Orders orders) + { + base.AddObject("Orders", orders); + } + + /// + /// Deprecated Method for adding a new object to the PreviousEmployees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToPreviousEmployees(PreviousEmployees previousEmployees) + { + base.AddObject("PreviousEmployees", previousEmployees); + } + + /// + /// Deprecated Method for adding a new object to the Products EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToProducts(Products products) + { + base.AddObject("Products", products); + } + + /// + /// Deprecated Method for adding a new object to the Regions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToRegions(Regions regions) + { + base.AddObject("Regions", regions); + } + + /// + /// Deprecated Method for adding a new object to the Suppliers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToSuppliers(Suppliers suppliers) + { + base.AddObject("Suppliers", suppliers); + } + + /// + /// Deprecated Method for adding a new object to the Territories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToTerritories(Territories territories) + { + base.AddObject("Territories", territories); + } + + #endregion + } + + + #endregion + + #region Entities + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Categories")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Categories : EntityObject + { + #region Factory Method + + /// + /// Create a new Categories object. + /// + /// Initial value of the CategoryID property. + /// Initial value of the CategoryName property. + public static Categories CreateCategories(global::System.Int64 categoryID, global::System.String categoryName) + { + Categories categories = new Categories(); + categories.CategoryID = categoryID; + categories.CategoryName = categoryName; + return categories; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 CategoryID + { + get + { + return _CategoryID; + } + set + { + if (_CategoryID != value) + { + OnCategoryIDChanging(value); + ReportPropertyChanging("CategoryID"); + _CategoryID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("CategoryID"); + OnCategoryIDChanged(); + } + } + } + private global::System.Int64 _CategoryID; + partial void OnCategoryIDChanging(global::System.Int64 value); + partial void OnCategoryIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CategoryName + { + get + { + return _CategoryName; + } + set + { + OnCategoryNameChanging(value); + ReportPropertyChanging("CategoryName"); + _CategoryName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CategoryName"); + OnCategoryNameChanged(); + } + } + private global::System.String _CategoryName; + partial void OnCategoryNameChanging(global::System.String value); + partial void OnCategoryNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Description + { + get + { + return _Description; + } + set + { + OnDescriptionChanging(value); + ReportPropertyChanging("Description"); + _Description = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Description"); + OnDescriptionChanged(); + } + } + private global::System.String _Description; + partial void OnDescriptionChanging(global::System.String value); + partial void OnDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.Byte[] Picture + { + get + { + return StructuralObject.GetValidValue(_Picture); + } + set + { + OnPictureChanging(value); + ReportPropertyChanging("Picture"); + _Picture = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Picture"); + OnPictureChanged(); + } + } + private global::System.Byte[] _Picture; + partial void OnPictureChanging(global::System.Byte[] value); + partial void OnPictureChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Products")] + public EntityCollection Products + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Customers")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Customers : EntityObject + { + #region Factory Method + + /// + /// Create a new Customers object. + /// + /// Initial value of the CustomerID property. + /// Initial value of the CompanyName property. + public static Customers CreateCustomers(global::System.String customerID, global::System.String companyName) + { + Customers customers = new Customers(); + customers.CustomerID = customerID; + customers.CompanyName = companyName; + return customers; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CustomerID + { + get + { + return _CustomerID; + } + set + { + if (_CustomerID != value) + { + OnCustomerIDChanging(value); + ReportPropertyChanging("CustomerID"); + _CustomerID = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CustomerID"); + OnCustomerIDChanged(); + } + } + } + private global::System.String _CustomerID; + partial void OnCustomerIDChanging(global::System.String value); + partial void OnCustomerIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CompanyName + { + get + { + return _CompanyName; + } + set + { + OnCompanyNameChanging(value); + ReportPropertyChanging("CompanyName"); + _CompanyName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CompanyName"); + OnCompanyNameChanged(); + } + } + private global::System.String _CompanyName; + partial void OnCompanyNameChanging(global::System.String value); + partial void OnCompanyNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactName + { + get + { + return _ContactName; + } + set + { + OnContactNameChanging(value); + ReportPropertyChanging("ContactName"); + _ContactName = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactName"); + OnContactNameChanged(); + } + } + private global::System.String _ContactName; + partial void OnContactNameChanging(global::System.String value); + partial void OnContactNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactTitle + { + get + { + return _ContactTitle; + } + set + { + OnContactTitleChanging(value); + ReportPropertyChanging("ContactTitle"); + _ContactTitle = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactTitle"); + OnContactTitleChanged(); + } + } + private global::System.String _ContactTitle; + partial void OnContactTitleChanging(global::System.String value); + partial void OnContactTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Phone + { + get + { + return _Phone; + } + set + { + OnPhoneChanging(value); + ReportPropertyChanging("Phone"); + _Phone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Phone"); + OnPhoneChanged(); + } + } + private global::System.String _Phone; + partial void OnPhoneChanging(global::System.String value); + partial void OnPhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Fax + { + get + { + return _Fax; + } + set + { + OnFaxChanging(value); + ReportPropertyChanging("Fax"); + _Fax = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Fax"); + OnFaxChanged(); + } + } + private global::System.String _Fax; + partial void OnFaxChanging(global::System.String value); + partial void OnFaxChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Orders")] + public EntityCollection Orders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Employees")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Employees : EntityObject + { + #region Factory Method + + /// + /// Create a new Employees object. + /// + /// Initial value of the EmployeeID property. + /// Initial value of the LastName property. + /// Initial value of the FirstName property. + public static Employees CreateEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) + { + Employees employees = new Employees(); + employees.EmployeeID = employeeID; + employees.LastName = lastName; + employees.FirstName = firstName; + return employees; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 EmployeeID + { + get + { + return _EmployeeID; + } + set + { + if (_EmployeeID != value) + { + OnEmployeeIDChanging(value); + ReportPropertyChanging("EmployeeID"); + _EmployeeID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("EmployeeID"); + OnEmployeeIDChanged(); + } + } + } + private global::System.Int64 _EmployeeID; + partial void OnEmployeeIDChanging(global::System.Int64 value); + partial void OnEmployeeIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String LastName + { + get + { + return _LastName; + } + set + { + OnLastNameChanging(value); + ReportPropertyChanging("LastName"); + _LastName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("LastName"); + OnLastNameChanged(); + } + } + private global::System.String _LastName; + partial void OnLastNameChanging(global::System.String value); + partial void OnLastNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String FirstName + { + get + { + return _FirstName; + } + set + { + OnFirstNameChanging(value); + ReportPropertyChanging("FirstName"); + _FirstName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("FirstName"); + OnFirstNameChanged(); + } + } + private global::System.String _FirstName; + partial void OnFirstNameChanging(global::System.String value); + partial void OnFirstNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Title + { + get + { + return _Title; + } + set + { + OnTitleChanging(value); + ReportPropertyChanging("Title"); + _Title = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Title"); + OnTitleChanged(); + } + } + private global::System.String _Title; + partial void OnTitleChanging(global::System.String value); + partial void OnTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String TitleOfCourtesy + { + get + { + return _TitleOfCourtesy; + } + set + { + OnTitleOfCourtesyChanging(value); + ReportPropertyChanging("TitleOfCourtesy"); + _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("TitleOfCourtesy"); + OnTitleOfCourtesyChanged(); + } + } + private global::System.String _TitleOfCourtesy; + partial void OnTitleOfCourtesyChanging(global::System.String value); + partial void OnTitleOfCourtesyChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable BirthDate + { + get + { + return _BirthDate; + } + set + { + OnBirthDateChanging(value); + ReportPropertyChanging("BirthDate"); + _BirthDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("BirthDate"); + OnBirthDateChanged(); + } + } + private Nullable _BirthDate; + partial void OnBirthDateChanging(Nullable value); + partial void OnBirthDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable HireDate + { + get + { + return _HireDate; + } + set + { + OnHireDateChanging(value); + ReportPropertyChanging("HireDate"); + _HireDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("HireDate"); + OnHireDateChanged(); + } + } + private Nullable _HireDate; + partial void OnHireDateChanging(Nullable value); + partial void OnHireDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String HomePhone + { + get + { + return _HomePhone; + } + set + { + OnHomePhoneChanging(value); + ReportPropertyChanging("HomePhone"); + _HomePhone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("HomePhone"); + OnHomePhoneChanged(); + } + } + private global::System.String _HomePhone; + partial void OnHomePhoneChanging(global::System.String value); + partial void OnHomePhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Extension + { + get + { + return _Extension; + } + set + { + OnExtensionChanging(value); + ReportPropertyChanging("Extension"); + _Extension = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Extension"); + OnExtensionChanged(); + } + } + private global::System.String _Extension; + partial void OnExtensionChanging(global::System.String value); + partial void OnExtensionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.Byte[] Photo + { + get + { + return StructuralObject.GetValidValue(_Photo); + } + set + { + OnPhotoChanging(value); + ReportPropertyChanging("Photo"); + _Photo = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Photo"); + OnPhotoChanged(); + } + } + private global::System.Byte[] _Photo; + partial void OnPhotoChanging(global::System.Byte[] value); + partial void OnPhotoChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Notes + { + get + { + return _Notes; + } + set + { + OnNotesChanging(value); + ReportPropertyChanging("Notes"); + _Notes = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Notes"); + OnNotesChanged(); + } + } + private global::System.String _Notes; + partial void OnNotesChanging(global::System.String value); + partial void OnNotesChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PhotoPath + { + get + { + return _PhotoPath; + } + set + { + OnPhotoPathChanging(value); + ReportPropertyChanging("PhotoPath"); + _PhotoPath = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PhotoPath"); + OnPhotoPathChanged(); + } + } + private global::System.String _PhotoPath; + partial void OnPhotoPathChanging(global::System.String value); + partial void OnPhotoPathChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Territories")] + public EntityCollection Territories + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="InternationalOrders")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class InternationalOrders : EntityObject + { + #region Factory Method + + /// + /// Create a new InternationalOrders object. + /// + /// Initial value of the OrderID property. + /// Initial value of the CustomsDescription property. + /// Initial value of the ExciseTax property. + public static InternationalOrders CreateInternationalOrders(global::System.Int64 orderID, global::System.String customsDescription, global::System.Decimal exciseTax) + { + InternationalOrders internationalOrders = new InternationalOrders(); + internationalOrders.OrderID = orderID; + internationalOrders.CustomsDescription = customsDescription; + internationalOrders.ExciseTax = exciseTax; + return internationalOrders; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 OrderID + { + get + { + return _OrderID; + } + set + { + if (_OrderID != value) + { + OnOrderIDChanging(value); + ReportPropertyChanging("OrderID"); + _OrderID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderID"); + OnOrderIDChanged(); + } + } + } + private global::System.Int64 _OrderID; + partial void OnOrderIDChanging(global::System.Int64 value); + partial void OnOrderIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CustomsDescription + { + get + { + return _CustomsDescription; + } + set + { + OnCustomsDescriptionChanging(value); + ReportPropertyChanging("CustomsDescription"); + _CustomsDescription = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CustomsDescription"); + OnCustomsDescriptionChanged(); + } + } + private global::System.String _CustomsDescription; + partial void OnCustomsDescriptionChanging(global::System.String value); + partial void OnCustomsDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Decimal ExciseTax + { + get + { + return _ExciseTax; + } + set + { + OnExciseTaxChanging(value); + ReportPropertyChanging("ExciseTax"); + _ExciseTax = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ExciseTax"); + OnExciseTaxChanged(); + } + } + private global::System.Decimal _ExciseTax; + partial void OnExciseTaxChanging(global::System.Decimal value); + partial void OnExciseTaxChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders")] + public Orders Orders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference OrdersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="OrderDetails")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class OrderDetails : EntityObject + { + #region Factory Method + + /// + /// Create a new OrderDetails object. + /// + /// Initial value of the OrderID property. + /// Initial value of the ProductID property. + /// Initial value of the UnitPrice property. + /// Initial value of the Quantity property. + /// Initial value of the Discount property. + public static OrderDetails CreateOrderDetails(global::System.Int64 orderID, global::System.Int64 productID, global::System.Decimal unitPrice, global::System.Int16 quantity, global::System.Single discount) + { + OrderDetails orderDetails = new OrderDetails(); + orderDetails.OrderID = orderID; + orderDetails.ProductID = productID; + orderDetails.UnitPrice = unitPrice; + orderDetails.Quantity = quantity; + orderDetails.Discount = discount; + return orderDetails; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 OrderID + { + get + { + return _OrderID; + } + set + { + if (_OrderID != value) + { + OnOrderIDChanging(value); + ReportPropertyChanging("OrderID"); + _OrderID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderID"); + OnOrderIDChanged(); + } + } + } + private global::System.Int64 _OrderID; + partial void OnOrderIDChanging(global::System.Int64 value); + partial void OnOrderIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 ProductID + { + get + { + return _ProductID; + } + set + { + if (_ProductID != value) + { + OnProductIDChanging(value); + ReportPropertyChanging("ProductID"); + _ProductID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ProductID"); + OnProductIDChanged(); + } + } + } + private global::System.Int64 _ProductID; + partial void OnProductIDChanging(global::System.Int64 value); + partial void OnProductIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Decimal UnitPrice + { + get + { + return _UnitPrice; + } + set + { + OnUnitPriceChanging(value); + ReportPropertyChanging("UnitPrice"); + _UnitPrice = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitPrice"); + OnUnitPriceChanged(); + } + } + private global::System.Decimal _UnitPrice; + partial void OnUnitPriceChanging(global::System.Decimal value); + partial void OnUnitPriceChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int16 Quantity + { + get + { + return _Quantity; + } + set + { + OnQuantityChanging(value); + ReportPropertyChanging("Quantity"); + _Quantity = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Quantity"); + OnQuantityChanged(); + } + } + private global::System.Int16 _Quantity; + partial void OnQuantityChanging(global::System.Int16 value); + partial void OnQuantityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Single Discount + { + get + { + return _Discount; + } + set + { + OnDiscountChanging(value); + ReportPropertyChanging("Discount"); + _Discount = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Discount"); + OnDiscountChanged(); + } + } + private global::System.Single _Discount; + partial void OnDiscountChanging(global::System.Single value); + partial void OnDiscountChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders")] + public Orders Orders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference OrdersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products")] + public Products Products + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference ProductsReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Orders")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Orders : EntityObject + { + #region Factory Method + + /// + /// Create a new Orders object. + /// + /// Initial value of the OrderID property. + public static Orders CreateOrders(global::System.Int64 orderID) + { + Orders orders = new Orders(); + orders.OrderID = orderID; + return orders; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 OrderID + { + get + { + return _OrderID; + } + set + { + if (_OrderID != value) + { + OnOrderIDChanging(value); + ReportPropertyChanging("OrderID"); + _OrderID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderID"); + OnOrderIDChanged(); + } + } + } + private global::System.Int64 _OrderID; + partial void OnOrderIDChanging(global::System.Int64 value); + partial void OnOrderIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable EmployeeID + { + get + { + return _EmployeeID; + } + set + { + OnEmployeeIDChanging(value); + ReportPropertyChanging("EmployeeID"); + _EmployeeID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("EmployeeID"); + OnEmployeeIDChanged(); + } + } + private Nullable _EmployeeID; + partial void OnEmployeeIDChanging(Nullable value); + partial void OnEmployeeIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable OrderDate + { + get + { + return _OrderDate; + } + set + { + OnOrderDateChanging(value); + ReportPropertyChanging("OrderDate"); + _OrderDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderDate"); + OnOrderDateChanged(); + } + } + private Nullable _OrderDate; + partial void OnOrderDateChanging(Nullable value); + partial void OnOrderDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable RequiredDate + { + get + { + return _RequiredDate; + } + set + { + OnRequiredDateChanging(value); + ReportPropertyChanging("RequiredDate"); + _RequiredDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RequiredDate"); + OnRequiredDateChanged(); + } + } + private Nullable _RequiredDate; + partial void OnRequiredDateChanging(Nullable value); + partial void OnRequiredDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ShippedDate + { + get + { + return _ShippedDate; + } + set + { + OnShippedDateChanging(value); + ReportPropertyChanging("ShippedDate"); + _ShippedDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ShippedDate"); + OnShippedDateChanged(); + } + } + private Nullable _ShippedDate; + partial void OnShippedDateChanging(Nullable value); + partial void OnShippedDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable Freight + { + get + { + return _Freight; + } + set + { + OnFreightChanging(value); + ReportPropertyChanging("Freight"); + _Freight = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Freight"); + OnFreightChanged(); + } + } + private Nullable _Freight; + partial void OnFreightChanging(Nullable value); + partial void OnFreightChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipName + { + get + { + return _ShipName; + } + set + { + OnShipNameChanging(value); + ReportPropertyChanging("ShipName"); + _ShipName = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipName"); + OnShipNameChanged(); + } + } + private global::System.String _ShipName; + partial void OnShipNameChanging(global::System.String value); + partial void OnShipNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipAddress + { + get + { + return _ShipAddress; + } + set + { + OnShipAddressChanging(value); + ReportPropertyChanging("ShipAddress"); + _ShipAddress = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipAddress"); + OnShipAddressChanged(); + } + } + private global::System.String _ShipAddress; + partial void OnShipAddressChanging(global::System.String value); + partial void OnShipAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipCity + { + get + { + return _ShipCity; + } + set + { + OnShipCityChanging(value); + ReportPropertyChanging("ShipCity"); + _ShipCity = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipCity"); + OnShipCityChanged(); + } + } + private global::System.String _ShipCity; + partial void OnShipCityChanging(global::System.String value); + partial void OnShipCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipRegion + { + get + { + return _ShipRegion; + } + set + { + OnShipRegionChanging(value); + ReportPropertyChanging("ShipRegion"); + _ShipRegion = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipRegion"); + OnShipRegionChanged(); + } + } + private global::System.String _ShipRegion; + partial void OnShipRegionChanging(global::System.String value); + partial void OnShipRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipPostalCode + { + get + { + return _ShipPostalCode; + } + set + { + OnShipPostalCodeChanging(value); + ReportPropertyChanging("ShipPostalCode"); + _ShipPostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipPostalCode"); + OnShipPostalCodeChanged(); + } + } + private global::System.String _ShipPostalCode; + partial void OnShipPostalCodeChanging(global::System.String value); + partial void OnShipPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipCountry + { + get + { + return _ShipCountry; + } + set + { + OnShipCountryChanging(value); + ReportPropertyChanging("ShipCountry"); + _ShipCountry = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipCountry"); + OnShipCountryChanged(); + } + } + private global::System.String _ShipCountry; + partial void OnShipCountryChanging(global::System.String value); + partial void OnShipCountryChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers")] + public Customers Customers + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference CustomersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "InternationalOrders")] + public InternationalOrders InternationalOrders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference InternationalOrdersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "OrderDetails")] + public EntityCollection OrderDetails + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="PreviousEmployees")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class PreviousEmployees : EntityObject + { + #region Factory Method + + /// + /// Create a new PreviousEmployees object. + /// + /// Initial value of the EmployeeID property. + /// Initial value of the LastName property. + /// Initial value of the FirstName property. + public static PreviousEmployees CreatePreviousEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) + { + PreviousEmployees previousEmployees = new PreviousEmployees(); + previousEmployees.EmployeeID = employeeID; + previousEmployees.LastName = lastName; + previousEmployees.FirstName = firstName; + return previousEmployees; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 EmployeeID + { + get + { + return _EmployeeID; + } + set + { + if (_EmployeeID != value) + { + OnEmployeeIDChanging(value); + ReportPropertyChanging("EmployeeID"); + _EmployeeID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("EmployeeID"); + OnEmployeeIDChanged(); + } + } + } + private global::System.Int64 _EmployeeID; + partial void OnEmployeeIDChanging(global::System.Int64 value); + partial void OnEmployeeIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String LastName + { + get + { + return _LastName; + } + set + { + OnLastNameChanging(value); + ReportPropertyChanging("LastName"); + _LastName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("LastName"); + OnLastNameChanged(); + } + } + private global::System.String _LastName; + partial void OnLastNameChanging(global::System.String value); + partial void OnLastNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String FirstName + { + get + { + return _FirstName; + } + set + { + OnFirstNameChanging(value); + ReportPropertyChanging("FirstName"); + _FirstName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("FirstName"); + OnFirstNameChanged(); + } + } + private global::System.String _FirstName; + partial void OnFirstNameChanging(global::System.String value); + partial void OnFirstNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Title + { + get + { + return _Title; + } + set + { + OnTitleChanging(value); + ReportPropertyChanging("Title"); + _Title = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Title"); + OnTitleChanged(); + } + } + private global::System.String _Title; + partial void OnTitleChanging(global::System.String value); + partial void OnTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String TitleOfCourtesy + { + get + { + return _TitleOfCourtesy; + } + set + { + OnTitleOfCourtesyChanging(value); + ReportPropertyChanging("TitleOfCourtesy"); + _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("TitleOfCourtesy"); + OnTitleOfCourtesyChanged(); + } + } + private global::System.String _TitleOfCourtesy; + partial void OnTitleOfCourtesyChanging(global::System.String value); + partial void OnTitleOfCourtesyChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable BirthDate + { + get + { + return _BirthDate; + } + set + { + OnBirthDateChanging(value); + ReportPropertyChanging("BirthDate"); + _BirthDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("BirthDate"); + OnBirthDateChanged(); + } + } + private Nullable _BirthDate; + partial void OnBirthDateChanging(Nullable value); + partial void OnBirthDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable HireDate + { + get + { + return _HireDate; + } + set + { + OnHireDateChanging(value); + ReportPropertyChanging("HireDate"); + _HireDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("HireDate"); + OnHireDateChanged(); + } + } + private Nullable _HireDate; + partial void OnHireDateChanging(Nullable value); + partial void OnHireDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String HomePhone + { + get + { + return _HomePhone; + } + set + { + OnHomePhoneChanging(value); + ReportPropertyChanging("HomePhone"); + _HomePhone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("HomePhone"); + OnHomePhoneChanged(); + } + } + private global::System.String _HomePhone; + partial void OnHomePhoneChanging(global::System.String value); + partial void OnHomePhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Extension + { + get + { + return _Extension; + } + set + { + OnExtensionChanging(value); + ReportPropertyChanging("Extension"); + _Extension = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Extension"); + OnExtensionChanged(); + } + } + private global::System.String _Extension; + partial void OnExtensionChanging(global::System.String value); + partial void OnExtensionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.Byte[] Photo + { + get + { + return StructuralObject.GetValidValue(_Photo); + } + set + { + OnPhotoChanging(value); + ReportPropertyChanging("Photo"); + _Photo = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Photo"); + OnPhotoChanged(); + } + } + private global::System.Byte[] _Photo; + partial void OnPhotoChanging(global::System.Byte[] value); + partial void OnPhotoChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Notes + { + get + { + return _Notes; + } + set + { + OnNotesChanging(value); + ReportPropertyChanging("Notes"); + _Notes = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Notes"); + OnNotesChanged(); + } + } + private global::System.String _Notes; + partial void OnNotesChanging(global::System.String value); + partial void OnNotesChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PhotoPath + { + get + { + return _PhotoPath; + } + set + { + OnPhotoPathChanging(value); + ReportPropertyChanging("PhotoPath"); + _PhotoPath = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PhotoPath"); + OnPhotoPathChanged(); + } + } + private global::System.String _PhotoPath; + partial void OnPhotoPathChanging(global::System.String value); + partial void OnPhotoPathChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Products")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Products : EntityObject + { + #region Factory Method + + /// + /// Create a new Products object. + /// + /// Initial value of the ProductID property. + /// Initial value of the ProductName property. + /// Initial value of the Discontinued property. + public static Products CreateProducts(global::System.Int64 productID, global::System.String productName, global::System.Boolean discontinued) + { + Products products = new Products(); + products.ProductID = productID; + products.ProductName = productName; + products.Discontinued = discontinued; + return products; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 ProductID + { + get + { + return _ProductID; + } + set + { + if (_ProductID != value) + { + OnProductIDChanging(value); + ReportPropertyChanging("ProductID"); + _ProductID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ProductID"); + OnProductIDChanged(); + } + } + } + private global::System.Int64 _ProductID; + partial void OnProductIDChanging(global::System.Int64 value); + partial void OnProductIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String ProductName + { + get + { + return _ProductName; + } + set + { + OnProductNameChanging(value); + ReportPropertyChanging("ProductName"); + _ProductName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("ProductName"); + OnProductNameChanged(); + } + } + private global::System.String _ProductName; + partial void OnProductNameChanging(global::System.String value); + partial void OnProductNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String QuantityPerUnit + { + get + { + return _QuantityPerUnit; + } + set + { + OnQuantityPerUnitChanging(value); + ReportPropertyChanging("QuantityPerUnit"); + _QuantityPerUnit = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("QuantityPerUnit"); + OnQuantityPerUnitChanged(); + } + } + private global::System.String _QuantityPerUnit; + partial void OnQuantityPerUnitChanging(global::System.String value); + partial void OnQuantityPerUnitChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable UnitPrice + { + get + { + return _UnitPrice; + } + set + { + OnUnitPriceChanging(value); + ReportPropertyChanging("UnitPrice"); + _UnitPrice = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitPrice"); + OnUnitPriceChanged(); + } + } + private Nullable _UnitPrice; + partial void OnUnitPriceChanging(Nullable value); + partial void OnUnitPriceChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable UnitsInStock + { + get + { + return _UnitsInStock; + } + set + { + OnUnitsInStockChanging(value); + ReportPropertyChanging("UnitsInStock"); + _UnitsInStock = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitsInStock"); + OnUnitsInStockChanged(); + } + } + private Nullable _UnitsInStock; + partial void OnUnitsInStockChanging(Nullable value); + partial void OnUnitsInStockChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable UnitsOnOrder + { + get + { + return _UnitsOnOrder; + } + set + { + OnUnitsOnOrderChanging(value); + ReportPropertyChanging("UnitsOnOrder"); + _UnitsOnOrder = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitsOnOrder"); + OnUnitsOnOrderChanged(); + } + } + private Nullable _UnitsOnOrder; + partial void OnUnitsOnOrderChanging(Nullable value); + partial void OnUnitsOnOrderChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ReorderLevel + { + get + { + return _ReorderLevel; + } + set + { + OnReorderLevelChanging(value); + ReportPropertyChanging("ReorderLevel"); + _ReorderLevel = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ReorderLevel"); + OnReorderLevelChanged(); + } + } + private Nullable _ReorderLevel; + partial void OnReorderLevelChanging(Nullable value); + partial void OnReorderLevelChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Boolean Discontinued + { + get + { + return _Discontinued; + } + set + { + OnDiscontinuedChanging(value); + ReportPropertyChanging("Discontinued"); + _Discontinued = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Discontinued"); + OnDiscontinuedChanged(); + } + } + private global::System.Boolean _Discontinued; + partial void OnDiscontinuedChanging(global::System.Boolean value); + partial void OnDiscontinuedChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable DiscontinuedDate + { + get + { + return _DiscontinuedDate; + } + set + { + OnDiscontinuedDateChanging(value); + ReportPropertyChanging("DiscontinuedDate"); + _DiscontinuedDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("DiscontinuedDate"); + OnDiscontinuedDateChanged(); + } + } + private Nullable _DiscontinuedDate; + partial void OnDiscontinuedDateChanging(Nullable value); + partial void OnDiscontinuedDateChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories")] + public Categories Categories + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference CategoriesReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "OrderDetails")] + public EntityCollection OrderDetails + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers")] + public Suppliers Suppliers + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference SuppliersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Regions")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Regions : EntityObject + { + #region Factory Method + + /// + /// Create a new Regions object. + /// + /// Initial value of the RegionID property. + /// Initial value of the RegionDescription property. + public static Regions CreateRegions(global::System.Int64 regionID, global::System.String regionDescription) + { + Regions regions = new Regions(); + regions.RegionID = regionID; + regions.RegionDescription = regionDescription; + return regions; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 RegionID + { + get + { + return _RegionID; + } + set + { + if (_RegionID != value) + { + OnRegionIDChanging(value); + ReportPropertyChanging("RegionID"); + _RegionID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RegionID"); + OnRegionIDChanged(); + } + } + } + private global::System.Int64 _RegionID; + partial void OnRegionIDChanging(global::System.Int64 value); + partial void OnRegionIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String RegionDescription + { + get + { + return _RegionDescription; + } + set + { + OnRegionDescriptionChanging(value); + ReportPropertyChanging("RegionDescription"); + _RegionDescription = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("RegionDescription"); + OnRegionDescriptionChanged(); + } + } + private global::System.String _RegionDescription; + partial void OnRegionDescriptionChanging(global::System.String value); + partial void OnRegionDescriptionChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Territories")] + public EntityCollection Territories + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Suppliers")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Suppliers : EntityObject + { + #region Factory Method + + /// + /// Create a new Suppliers object. + /// + /// Initial value of the SupplierID property. + /// Initial value of the CompanyName property. + public static Suppliers CreateSuppliers(global::System.Int64 supplierID, global::System.String companyName) + { + Suppliers suppliers = new Suppliers(); + suppliers.SupplierID = supplierID; + suppliers.CompanyName = companyName; + return suppliers; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 SupplierID + { + get + { + return _SupplierID; + } + set + { + if (_SupplierID != value) + { + OnSupplierIDChanging(value); + ReportPropertyChanging("SupplierID"); + _SupplierID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("SupplierID"); + OnSupplierIDChanged(); + } + } + } + private global::System.Int64 _SupplierID; + partial void OnSupplierIDChanging(global::System.Int64 value); + partial void OnSupplierIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CompanyName + { + get + { + return _CompanyName; + } + set + { + OnCompanyNameChanging(value); + ReportPropertyChanging("CompanyName"); + _CompanyName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CompanyName"); + OnCompanyNameChanged(); + } + } + private global::System.String _CompanyName; + partial void OnCompanyNameChanging(global::System.String value); + partial void OnCompanyNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactName + { + get + { + return _ContactName; + } + set + { + OnContactNameChanging(value); + ReportPropertyChanging("ContactName"); + _ContactName = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactName"); + OnContactNameChanged(); + } + } + private global::System.String _ContactName; + partial void OnContactNameChanging(global::System.String value); + partial void OnContactNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactTitle + { + get + { + return _ContactTitle; + } + set + { + OnContactTitleChanging(value); + ReportPropertyChanging("ContactTitle"); + _ContactTitle = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactTitle"); + OnContactTitleChanged(); + } + } + private global::System.String _ContactTitle; + partial void OnContactTitleChanging(global::System.String value); + partial void OnContactTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Phone + { + get + { + return _Phone; + } + set + { + OnPhoneChanging(value); + ReportPropertyChanging("Phone"); + _Phone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Phone"); + OnPhoneChanged(); + } + } + private global::System.String _Phone; + partial void OnPhoneChanging(global::System.String value); + partial void OnPhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Fax + { + get + { + return _Fax; + } + set + { + OnFaxChanging(value); + ReportPropertyChanging("Fax"); + _Fax = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Fax"); + OnFaxChanged(); + } + } + private global::System.String _Fax; + partial void OnFaxChanging(global::System.String value); + partial void OnFaxChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String HomePage + { + get + { + return _HomePage; + } + set + { + OnHomePageChanging(value); + ReportPropertyChanging("HomePage"); + _HomePage = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("HomePage"); + OnHomePageChanged(); + } + } + private global::System.String _HomePage; + partial void OnHomePageChanging(global::System.String value); + partial void OnHomePageChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Products")] + public EntityCollection Products + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Territories")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Territories : EntityObject + { + #region Factory Method + + /// + /// Create a new Territories object. + /// + /// Initial value of the TerritoryID property. + /// Initial value of the TerritoryDescription property. + public static Territories CreateTerritories(global::System.Int64 territoryID, global::System.String territoryDescription) + { + Territories territories = new Territories(); + territories.TerritoryID = territoryID; + territories.TerritoryDescription = territoryDescription; + return territories; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 TerritoryID + { + get + { + return _TerritoryID; + } + set + { + if (_TerritoryID != value) + { + OnTerritoryIDChanging(value); + ReportPropertyChanging("TerritoryID"); + _TerritoryID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("TerritoryID"); + OnTerritoryIDChanged(); + } + } + } + private global::System.Int64 _TerritoryID; + partial void OnTerritoryIDChanging(global::System.Int64 value); + partial void OnTerritoryIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String TerritoryDescription + { + get + { + return _TerritoryDescription; + } + set + { + OnTerritoryDescriptionChanging(value); + ReportPropertyChanging("TerritoryDescription"); + _TerritoryDescription = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("TerritoryDescription"); + OnTerritoryDescriptionChanged(); + } + } + private global::System.String _TerritoryDescription; + partial void OnTerritoryDescriptionChanging(global::System.String value); + partial void OnTerritoryDescriptionChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions")] + public Regions Regions + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference RegionsReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Employees")] + public EntityCollection Employees + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees", value); + } + } + } + + #endregion + } + + #endregion + +} ADDED testlinq/NorthwindModel2010.edmx Index: testlinq/NorthwindModel2010.edmx ================================================================== --- /dev/null +++ testlinq/NorthwindModel2010.edmx @@ -0,0 +1,909 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ADDED testlinq/NorthwindModel2012.Designer.cs Index: testlinq/NorthwindModel2012.Designer.cs ================================================================== --- /dev/null +++ testlinq/NorthwindModel2012.Designer.cs @@ -0,0 +1,3505 @@ +/******************************************************** + * ADO.NET 2.0 Data Provider for SQLite Version 3.X + * Written by Robert Simpson (robert@blackcastlesoft.com) + * + * Released to the public domain, use at your own risk! + ********************************************************/ + +//------------------------------------------------------------------------------ +// +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Data.Objects; +using System.Data.Objects.DataClasses; +using System.Data.EntityClient; +using System.ComponentModel; +using System.Xml.Serialization; +using System.Runtime.Serialization; + +[assembly: EdmSchemaAttribute()] +#region EDM Relationship Metadata + +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Categories), "Products", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Products))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Customers), "Orders", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Orders))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Orders), "InternationalOrders", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.InternationalOrders), true)] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Orders), "OrderDetails", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Products), "OrderDetails", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Suppliers), "Products", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Products))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Regions), "Territories", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Territories))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "EmployeesTerritories", "Employees", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Employees), "Territories", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Territories))] + +#endregion + +namespace testlinq +{ + #region Contexts + + /// + /// No Metadata Documentation available. + /// + public partial class northwindEFEntities : ObjectContext + { + #region Constructors + + /// + /// Initializes a new northwindEFEntities object using the connection string found in the 'northwindEFEntities' section of the application configuration file. + /// + public northwindEFEntities() : base("name=northwindEFEntities", "northwindEFEntities") + { + OnContextCreated(); + } + + /// + /// Initialize a new northwindEFEntities object. + /// + public northwindEFEntities(string connectionString) : base(connectionString, "northwindEFEntities") + { + OnContextCreated(); + } + + /// + /// Initialize a new northwindEFEntities object. + /// + public northwindEFEntities(EntityConnection connection) : base(connection, "northwindEFEntities") + { + OnContextCreated(); + } + + #endregion + + #region Partial Methods + + partial void OnContextCreated(); + + #endregion + + #region ObjectSet Properties + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Categories + { + get + { + if ((_Categories == null)) + { + _Categories = base.CreateObjectSet("Categories"); + } + return _Categories; + } + } + private ObjectSet _Categories; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Customers + { + get + { + if ((_Customers == null)) + { + _Customers = base.CreateObjectSet("Customers"); + } + return _Customers; + } + } + private ObjectSet _Customers; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Employees + { + get + { + if ((_Employees == null)) + { + _Employees = base.CreateObjectSet("Employees"); + } + return _Employees; + } + } + private ObjectSet _Employees; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet InternationalOrders + { + get + { + if ((_InternationalOrders == null)) + { + _InternationalOrders = base.CreateObjectSet("InternationalOrders"); + } + return _InternationalOrders; + } + } + private ObjectSet _InternationalOrders; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet OrderDetails + { + get + { + if ((_OrderDetails == null)) + { + _OrderDetails = base.CreateObjectSet("OrderDetails"); + } + return _OrderDetails; + } + } + private ObjectSet _OrderDetails; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Orders + { + get + { + if ((_Orders == null)) + { + _Orders = base.CreateObjectSet("Orders"); + } + return _Orders; + } + } + private ObjectSet _Orders; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet PreviousEmployees + { + get + { + if ((_PreviousEmployees == null)) + { + _PreviousEmployees = base.CreateObjectSet("PreviousEmployees"); + } + return _PreviousEmployees; + } + } + private ObjectSet _PreviousEmployees; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Products + { + get + { + if ((_Products == null)) + { + _Products = base.CreateObjectSet("Products"); + } + return _Products; + } + } + private ObjectSet _Products; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Regions + { + get + { + if ((_Regions == null)) + { + _Regions = base.CreateObjectSet("Regions"); + } + return _Regions; + } + } + private ObjectSet _Regions; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Suppliers + { + get + { + if ((_Suppliers == null)) + { + _Suppliers = base.CreateObjectSet("Suppliers"); + } + return _Suppliers; + } + } + private ObjectSet _Suppliers; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Territories + { + get + { + if ((_Territories == null)) + { + _Territories = base.CreateObjectSet("Territories"); + } + return _Territories; + } + } + private ObjectSet _Territories; + + #endregion + #region AddTo Methods + + /// + /// Deprecated Method for adding a new object to the Categories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToCategories(Categories categories) + { + base.AddObject("Categories", categories); + } + + /// + /// Deprecated Method for adding a new object to the Customers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToCustomers(Customers customers) + { + base.AddObject("Customers", customers); + } + + /// + /// Deprecated Method for adding a new object to the Employees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToEmployees(Employees employees) + { + base.AddObject("Employees", employees); + } + + /// + /// Deprecated Method for adding a new object to the InternationalOrders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToInternationalOrders(InternationalOrders internationalOrders) + { + base.AddObject("InternationalOrders", internationalOrders); + } + + /// + /// Deprecated Method for adding a new object to the OrderDetails EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToOrderDetails(OrderDetails orderDetails) + { + base.AddObject("OrderDetails", orderDetails); + } + + /// + /// Deprecated Method for adding a new object to the Orders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToOrders(Orders orders) + { + base.AddObject("Orders", orders); + } + + /// + /// Deprecated Method for adding a new object to the PreviousEmployees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToPreviousEmployees(PreviousEmployees previousEmployees) + { + base.AddObject("PreviousEmployees", previousEmployees); + } + + /// + /// Deprecated Method for adding a new object to the Products EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToProducts(Products products) + { + base.AddObject("Products", products); + } + + /// + /// Deprecated Method for adding a new object to the Regions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToRegions(Regions regions) + { + base.AddObject("Regions", regions); + } + + /// + /// Deprecated Method for adding a new object to the Suppliers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToSuppliers(Suppliers suppliers) + { + base.AddObject("Suppliers", suppliers); + } + + /// + /// Deprecated Method for adding a new object to the Territories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToTerritories(Territories territories) + { + base.AddObject("Territories", territories); + } + + #endregion + } + + + #endregion + + #region Entities + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Categories")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Categories : EntityObject + { + #region Factory Method + + /// + /// Create a new Categories object. + /// + /// Initial value of the CategoryID property. + /// Initial value of the CategoryName property. + public static Categories CreateCategories(global::System.Int64 categoryID, global::System.String categoryName) + { + Categories categories = new Categories(); + categories.CategoryID = categoryID; + categories.CategoryName = categoryName; + return categories; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 CategoryID + { + get + { + return _CategoryID; + } + set + { + if (_CategoryID != value) + { + OnCategoryIDChanging(value); + ReportPropertyChanging("CategoryID"); + _CategoryID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("CategoryID"); + OnCategoryIDChanged(); + } + } + } + private global::System.Int64 _CategoryID; + partial void OnCategoryIDChanging(global::System.Int64 value); + partial void OnCategoryIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CategoryName + { + get + { + return _CategoryName; + } + set + { + OnCategoryNameChanging(value); + ReportPropertyChanging("CategoryName"); + _CategoryName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CategoryName"); + OnCategoryNameChanged(); + } + } + private global::System.String _CategoryName; + partial void OnCategoryNameChanging(global::System.String value); + partial void OnCategoryNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Description + { + get + { + return _Description; + } + set + { + OnDescriptionChanging(value); + ReportPropertyChanging("Description"); + _Description = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Description"); + OnDescriptionChanged(); + } + } + private global::System.String _Description; + partial void OnDescriptionChanging(global::System.String value); + partial void OnDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.Byte[] Picture + { + get + { + return StructuralObject.GetValidValue(_Picture); + } + set + { + OnPictureChanging(value); + ReportPropertyChanging("Picture"); + _Picture = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Picture"); + OnPictureChanged(); + } + } + private global::System.Byte[] _Picture; + partial void OnPictureChanging(global::System.Byte[] value); + partial void OnPictureChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Products")] + public EntityCollection Products + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Customers")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Customers : EntityObject + { + #region Factory Method + + /// + /// Create a new Customers object. + /// + /// Initial value of the CustomerID property. + /// Initial value of the CompanyName property. + public static Customers CreateCustomers(global::System.String customerID, global::System.String companyName) + { + Customers customers = new Customers(); + customers.CustomerID = customerID; + customers.CompanyName = companyName; + return customers; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CustomerID + { + get + { + return _CustomerID; + } + set + { + if (_CustomerID != value) + { + OnCustomerIDChanging(value); + ReportPropertyChanging("CustomerID"); + _CustomerID = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CustomerID"); + OnCustomerIDChanged(); + } + } + } + private global::System.String _CustomerID; + partial void OnCustomerIDChanging(global::System.String value); + partial void OnCustomerIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CompanyName + { + get + { + return _CompanyName; + } + set + { + OnCompanyNameChanging(value); + ReportPropertyChanging("CompanyName"); + _CompanyName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CompanyName"); + OnCompanyNameChanged(); + } + } + private global::System.String _CompanyName; + partial void OnCompanyNameChanging(global::System.String value); + partial void OnCompanyNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactName + { + get + { + return _ContactName; + } + set + { + OnContactNameChanging(value); + ReportPropertyChanging("ContactName"); + _ContactName = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactName"); + OnContactNameChanged(); + } + } + private global::System.String _ContactName; + partial void OnContactNameChanging(global::System.String value); + partial void OnContactNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactTitle + { + get + { + return _ContactTitle; + } + set + { + OnContactTitleChanging(value); + ReportPropertyChanging("ContactTitle"); + _ContactTitle = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactTitle"); + OnContactTitleChanged(); + } + } + private global::System.String _ContactTitle; + partial void OnContactTitleChanging(global::System.String value); + partial void OnContactTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Phone + { + get + { + return _Phone; + } + set + { + OnPhoneChanging(value); + ReportPropertyChanging("Phone"); + _Phone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Phone"); + OnPhoneChanged(); + } + } + private global::System.String _Phone; + partial void OnPhoneChanging(global::System.String value); + partial void OnPhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Fax + { + get + { + return _Fax; + } + set + { + OnFaxChanging(value); + ReportPropertyChanging("Fax"); + _Fax = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Fax"); + OnFaxChanged(); + } + } + private global::System.String _Fax; + partial void OnFaxChanging(global::System.String value); + partial void OnFaxChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Orders")] + public EntityCollection Orders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Employees")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Employees : EntityObject + { + #region Factory Method + + /// + /// Create a new Employees object. + /// + /// Initial value of the EmployeeID property. + /// Initial value of the LastName property. + /// Initial value of the FirstName property. + public static Employees CreateEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) + { + Employees employees = new Employees(); + employees.EmployeeID = employeeID; + employees.LastName = lastName; + employees.FirstName = firstName; + return employees; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 EmployeeID + { + get + { + return _EmployeeID; + } + set + { + if (_EmployeeID != value) + { + OnEmployeeIDChanging(value); + ReportPropertyChanging("EmployeeID"); + _EmployeeID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("EmployeeID"); + OnEmployeeIDChanged(); + } + } + } + private global::System.Int64 _EmployeeID; + partial void OnEmployeeIDChanging(global::System.Int64 value); + partial void OnEmployeeIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String LastName + { + get + { + return _LastName; + } + set + { + OnLastNameChanging(value); + ReportPropertyChanging("LastName"); + _LastName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("LastName"); + OnLastNameChanged(); + } + } + private global::System.String _LastName; + partial void OnLastNameChanging(global::System.String value); + partial void OnLastNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String FirstName + { + get + { + return _FirstName; + } + set + { + OnFirstNameChanging(value); + ReportPropertyChanging("FirstName"); + _FirstName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("FirstName"); + OnFirstNameChanged(); + } + } + private global::System.String _FirstName; + partial void OnFirstNameChanging(global::System.String value); + partial void OnFirstNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Title + { + get + { + return _Title; + } + set + { + OnTitleChanging(value); + ReportPropertyChanging("Title"); + _Title = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Title"); + OnTitleChanged(); + } + } + private global::System.String _Title; + partial void OnTitleChanging(global::System.String value); + partial void OnTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String TitleOfCourtesy + { + get + { + return _TitleOfCourtesy; + } + set + { + OnTitleOfCourtesyChanging(value); + ReportPropertyChanging("TitleOfCourtesy"); + _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("TitleOfCourtesy"); + OnTitleOfCourtesyChanged(); + } + } + private global::System.String _TitleOfCourtesy; + partial void OnTitleOfCourtesyChanging(global::System.String value); + partial void OnTitleOfCourtesyChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable BirthDate + { + get + { + return _BirthDate; + } + set + { + OnBirthDateChanging(value); + ReportPropertyChanging("BirthDate"); + _BirthDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("BirthDate"); + OnBirthDateChanged(); + } + } + private Nullable _BirthDate; + partial void OnBirthDateChanging(Nullable value); + partial void OnBirthDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable HireDate + { + get + { + return _HireDate; + } + set + { + OnHireDateChanging(value); + ReportPropertyChanging("HireDate"); + _HireDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("HireDate"); + OnHireDateChanged(); + } + } + private Nullable _HireDate; + partial void OnHireDateChanging(Nullable value); + partial void OnHireDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String HomePhone + { + get + { + return _HomePhone; + } + set + { + OnHomePhoneChanging(value); + ReportPropertyChanging("HomePhone"); + _HomePhone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("HomePhone"); + OnHomePhoneChanged(); + } + } + private global::System.String _HomePhone; + partial void OnHomePhoneChanging(global::System.String value); + partial void OnHomePhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Extension + { + get + { + return _Extension; + } + set + { + OnExtensionChanging(value); + ReportPropertyChanging("Extension"); + _Extension = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Extension"); + OnExtensionChanged(); + } + } + private global::System.String _Extension; + partial void OnExtensionChanging(global::System.String value); + partial void OnExtensionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.Byte[] Photo + { + get + { + return StructuralObject.GetValidValue(_Photo); + } + set + { + OnPhotoChanging(value); + ReportPropertyChanging("Photo"); + _Photo = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Photo"); + OnPhotoChanged(); + } + } + private global::System.Byte[] _Photo; + partial void OnPhotoChanging(global::System.Byte[] value); + partial void OnPhotoChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Notes + { + get + { + return _Notes; + } + set + { + OnNotesChanging(value); + ReportPropertyChanging("Notes"); + _Notes = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Notes"); + OnNotesChanged(); + } + } + private global::System.String _Notes; + partial void OnNotesChanging(global::System.String value); + partial void OnNotesChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PhotoPath + { + get + { + return _PhotoPath; + } + set + { + OnPhotoPathChanging(value); + ReportPropertyChanging("PhotoPath"); + _PhotoPath = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PhotoPath"); + OnPhotoPathChanged(); + } + } + private global::System.String _PhotoPath; + partial void OnPhotoPathChanging(global::System.String value); + partial void OnPhotoPathChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Territories")] + public EntityCollection Territories + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="InternationalOrders")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class InternationalOrders : EntityObject + { + #region Factory Method + + /// + /// Create a new InternationalOrders object. + /// + /// Initial value of the OrderID property. + /// Initial value of the CustomsDescription property. + /// Initial value of the ExciseTax property. + public static InternationalOrders CreateInternationalOrders(global::System.Int64 orderID, global::System.String customsDescription, global::System.Decimal exciseTax) + { + InternationalOrders internationalOrders = new InternationalOrders(); + internationalOrders.OrderID = orderID; + internationalOrders.CustomsDescription = customsDescription; + internationalOrders.ExciseTax = exciseTax; + return internationalOrders; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 OrderID + { + get + { + return _OrderID; + } + set + { + if (_OrderID != value) + { + OnOrderIDChanging(value); + ReportPropertyChanging("OrderID"); + _OrderID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderID"); + OnOrderIDChanged(); + } + } + } + private global::System.Int64 _OrderID; + partial void OnOrderIDChanging(global::System.Int64 value); + partial void OnOrderIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CustomsDescription + { + get + { + return _CustomsDescription; + } + set + { + OnCustomsDescriptionChanging(value); + ReportPropertyChanging("CustomsDescription"); + _CustomsDescription = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CustomsDescription"); + OnCustomsDescriptionChanged(); + } + } + private global::System.String _CustomsDescription; + partial void OnCustomsDescriptionChanging(global::System.String value); + partial void OnCustomsDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Decimal ExciseTax + { + get + { + return _ExciseTax; + } + set + { + OnExciseTaxChanging(value); + ReportPropertyChanging("ExciseTax"); + _ExciseTax = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ExciseTax"); + OnExciseTaxChanged(); + } + } + private global::System.Decimal _ExciseTax; + partial void OnExciseTaxChanging(global::System.Decimal value); + partial void OnExciseTaxChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders")] + public Orders Orders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference OrdersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="OrderDetails")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class OrderDetails : EntityObject + { + #region Factory Method + + /// + /// Create a new OrderDetails object. + /// + /// Initial value of the OrderID property. + /// Initial value of the ProductID property. + /// Initial value of the UnitPrice property. + /// Initial value of the Quantity property. + /// Initial value of the Discount property. + public static OrderDetails CreateOrderDetails(global::System.Int64 orderID, global::System.Int64 productID, global::System.Decimal unitPrice, global::System.Int16 quantity, global::System.Single discount) + { + OrderDetails orderDetails = new OrderDetails(); + orderDetails.OrderID = orderID; + orderDetails.ProductID = productID; + orderDetails.UnitPrice = unitPrice; + orderDetails.Quantity = quantity; + orderDetails.Discount = discount; + return orderDetails; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 OrderID + { + get + { + return _OrderID; + } + set + { + if (_OrderID != value) + { + OnOrderIDChanging(value); + ReportPropertyChanging("OrderID"); + _OrderID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderID"); + OnOrderIDChanged(); + } + } + } + private global::System.Int64 _OrderID; + partial void OnOrderIDChanging(global::System.Int64 value); + partial void OnOrderIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 ProductID + { + get + { + return _ProductID; + } + set + { + if (_ProductID != value) + { + OnProductIDChanging(value); + ReportPropertyChanging("ProductID"); + _ProductID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ProductID"); + OnProductIDChanged(); + } + } + } + private global::System.Int64 _ProductID; + partial void OnProductIDChanging(global::System.Int64 value); + partial void OnProductIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Decimal UnitPrice + { + get + { + return _UnitPrice; + } + set + { + OnUnitPriceChanging(value); + ReportPropertyChanging("UnitPrice"); + _UnitPrice = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitPrice"); + OnUnitPriceChanged(); + } + } + private global::System.Decimal _UnitPrice; + partial void OnUnitPriceChanging(global::System.Decimal value); + partial void OnUnitPriceChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int16 Quantity + { + get + { + return _Quantity; + } + set + { + OnQuantityChanging(value); + ReportPropertyChanging("Quantity"); + _Quantity = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Quantity"); + OnQuantityChanged(); + } + } + private global::System.Int16 _Quantity; + partial void OnQuantityChanging(global::System.Int16 value); + partial void OnQuantityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Single Discount + { + get + { + return _Discount; + } + set + { + OnDiscountChanging(value); + ReportPropertyChanging("Discount"); + _Discount = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Discount"); + OnDiscountChanged(); + } + } + private global::System.Single _Discount; + partial void OnDiscountChanging(global::System.Single value); + partial void OnDiscountChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders")] + public Orders Orders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference OrdersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products")] + public Products Products + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference ProductsReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Orders")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Orders : EntityObject + { + #region Factory Method + + /// + /// Create a new Orders object. + /// + /// Initial value of the OrderID property. + public static Orders CreateOrders(global::System.Int64 orderID) + { + Orders orders = new Orders(); + orders.OrderID = orderID; + return orders; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 OrderID + { + get + { + return _OrderID; + } + set + { + if (_OrderID != value) + { + OnOrderIDChanging(value); + ReportPropertyChanging("OrderID"); + _OrderID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderID"); + OnOrderIDChanged(); + } + } + } + private global::System.Int64 _OrderID; + partial void OnOrderIDChanging(global::System.Int64 value); + partial void OnOrderIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable EmployeeID + { + get + { + return _EmployeeID; + } + set + { + OnEmployeeIDChanging(value); + ReportPropertyChanging("EmployeeID"); + _EmployeeID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("EmployeeID"); + OnEmployeeIDChanged(); + } + } + private Nullable _EmployeeID; + partial void OnEmployeeIDChanging(Nullable value); + partial void OnEmployeeIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable OrderDate + { + get + { + return _OrderDate; + } + set + { + OnOrderDateChanging(value); + ReportPropertyChanging("OrderDate"); + _OrderDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderDate"); + OnOrderDateChanged(); + } + } + private Nullable _OrderDate; + partial void OnOrderDateChanging(Nullable value); + partial void OnOrderDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable RequiredDate + { + get + { + return _RequiredDate; + } + set + { + OnRequiredDateChanging(value); + ReportPropertyChanging("RequiredDate"); + _RequiredDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RequiredDate"); + OnRequiredDateChanged(); + } + } + private Nullable _RequiredDate; + partial void OnRequiredDateChanging(Nullable value); + partial void OnRequiredDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ShippedDate + { + get + { + return _ShippedDate; + } + set + { + OnShippedDateChanging(value); + ReportPropertyChanging("ShippedDate"); + _ShippedDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ShippedDate"); + OnShippedDateChanged(); + } + } + private Nullable _ShippedDate; + partial void OnShippedDateChanging(Nullable value); + partial void OnShippedDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable Freight + { + get + { + return _Freight; + } + set + { + OnFreightChanging(value); + ReportPropertyChanging("Freight"); + _Freight = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Freight"); + OnFreightChanged(); + } + } + private Nullable _Freight; + partial void OnFreightChanging(Nullable value); + partial void OnFreightChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipName + { + get + { + return _ShipName; + } + set + { + OnShipNameChanging(value); + ReportPropertyChanging("ShipName"); + _ShipName = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipName"); + OnShipNameChanged(); + } + } + private global::System.String _ShipName; + partial void OnShipNameChanging(global::System.String value); + partial void OnShipNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipAddress + { + get + { + return _ShipAddress; + } + set + { + OnShipAddressChanging(value); + ReportPropertyChanging("ShipAddress"); + _ShipAddress = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipAddress"); + OnShipAddressChanged(); + } + } + private global::System.String _ShipAddress; + partial void OnShipAddressChanging(global::System.String value); + partial void OnShipAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipCity + { + get + { + return _ShipCity; + } + set + { + OnShipCityChanging(value); + ReportPropertyChanging("ShipCity"); + _ShipCity = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipCity"); + OnShipCityChanged(); + } + } + private global::System.String _ShipCity; + partial void OnShipCityChanging(global::System.String value); + partial void OnShipCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipRegion + { + get + { + return _ShipRegion; + } + set + { + OnShipRegionChanging(value); + ReportPropertyChanging("ShipRegion"); + _ShipRegion = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipRegion"); + OnShipRegionChanged(); + } + } + private global::System.String _ShipRegion; + partial void OnShipRegionChanging(global::System.String value); + partial void OnShipRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipPostalCode + { + get + { + return _ShipPostalCode; + } + set + { + OnShipPostalCodeChanging(value); + ReportPropertyChanging("ShipPostalCode"); + _ShipPostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipPostalCode"); + OnShipPostalCodeChanged(); + } + } + private global::System.String _ShipPostalCode; + partial void OnShipPostalCodeChanging(global::System.String value); + partial void OnShipPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipCountry + { + get + { + return _ShipCountry; + } + set + { + OnShipCountryChanging(value); + ReportPropertyChanging("ShipCountry"); + _ShipCountry = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipCountry"); + OnShipCountryChanged(); + } + } + private global::System.String _ShipCountry; + partial void OnShipCountryChanging(global::System.String value); + partial void OnShipCountryChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers")] + public Customers Customers + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference CustomersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "InternationalOrders")] + public InternationalOrders InternationalOrders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference InternationalOrdersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "OrderDetails")] + public EntityCollection OrderDetails + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="PreviousEmployees")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class PreviousEmployees : EntityObject + { + #region Factory Method + + /// + /// Create a new PreviousEmployees object. + /// + /// Initial value of the EmployeeID property. + /// Initial value of the LastName property. + /// Initial value of the FirstName property. + public static PreviousEmployees CreatePreviousEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) + { + PreviousEmployees previousEmployees = new PreviousEmployees(); + previousEmployees.EmployeeID = employeeID; + previousEmployees.LastName = lastName; + previousEmployees.FirstName = firstName; + return previousEmployees; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 EmployeeID + { + get + { + return _EmployeeID; + } + set + { + if (_EmployeeID != value) + { + OnEmployeeIDChanging(value); + ReportPropertyChanging("EmployeeID"); + _EmployeeID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("EmployeeID"); + OnEmployeeIDChanged(); + } + } + } + private global::System.Int64 _EmployeeID; + partial void OnEmployeeIDChanging(global::System.Int64 value); + partial void OnEmployeeIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String LastName + { + get + { + return _LastName; + } + set + { + OnLastNameChanging(value); + ReportPropertyChanging("LastName"); + _LastName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("LastName"); + OnLastNameChanged(); + } + } + private global::System.String _LastName; + partial void OnLastNameChanging(global::System.String value); + partial void OnLastNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String FirstName + { + get + { + return _FirstName; + } + set + { + OnFirstNameChanging(value); + ReportPropertyChanging("FirstName"); + _FirstName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("FirstName"); + OnFirstNameChanged(); + } + } + private global::System.String _FirstName; + partial void OnFirstNameChanging(global::System.String value); + partial void OnFirstNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Title + { + get + { + return _Title; + } + set + { + OnTitleChanging(value); + ReportPropertyChanging("Title"); + _Title = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Title"); + OnTitleChanged(); + } + } + private global::System.String _Title; + partial void OnTitleChanging(global::System.String value); + partial void OnTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String TitleOfCourtesy + { + get + { + return _TitleOfCourtesy; + } + set + { + OnTitleOfCourtesyChanging(value); + ReportPropertyChanging("TitleOfCourtesy"); + _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("TitleOfCourtesy"); + OnTitleOfCourtesyChanged(); + } + } + private global::System.String _TitleOfCourtesy; + partial void OnTitleOfCourtesyChanging(global::System.String value); + partial void OnTitleOfCourtesyChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable BirthDate + { + get + { + return _BirthDate; + } + set + { + OnBirthDateChanging(value); + ReportPropertyChanging("BirthDate"); + _BirthDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("BirthDate"); + OnBirthDateChanged(); + } + } + private Nullable _BirthDate; + partial void OnBirthDateChanging(Nullable value); + partial void OnBirthDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable HireDate + { + get + { + return _HireDate; + } + set + { + OnHireDateChanging(value); + ReportPropertyChanging("HireDate"); + _HireDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("HireDate"); + OnHireDateChanged(); + } + } + private Nullable _HireDate; + partial void OnHireDateChanging(Nullable value); + partial void OnHireDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String HomePhone + { + get + { + return _HomePhone; + } + set + { + OnHomePhoneChanging(value); + ReportPropertyChanging("HomePhone"); + _HomePhone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("HomePhone"); + OnHomePhoneChanged(); + } + } + private global::System.String _HomePhone; + partial void OnHomePhoneChanging(global::System.String value); + partial void OnHomePhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Extension + { + get + { + return _Extension; + } + set + { + OnExtensionChanging(value); + ReportPropertyChanging("Extension"); + _Extension = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Extension"); + OnExtensionChanged(); + } + } + private global::System.String _Extension; + partial void OnExtensionChanging(global::System.String value); + partial void OnExtensionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.Byte[] Photo + { + get + { + return StructuralObject.GetValidValue(_Photo); + } + set + { + OnPhotoChanging(value); + ReportPropertyChanging("Photo"); + _Photo = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Photo"); + OnPhotoChanged(); + } + } + private global::System.Byte[] _Photo; + partial void OnPhotoChanging(global::System.Byte[] value); + partial void OnPhotoChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Notes + { + get + { + return _Notes; + } + set + { + OnNotesChanging(value); + ReportPropertyChanging("Notes"); + _Notes = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Notes"); + OnNotesChanged(); + } + } + private global::System.String _Notes; + partial void OnNotesChanging(global::System.String value); + partial void OnNotesChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PhotoPath + { + get + { + return _PhotoPath; + } + set + { + OnPhotoPathChanging(value); + ReportPropertyChanging("PhotoPath"); + _PhotoPath = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PhotoPath"); + OnPhotoPathChanged(); + } + } + private global::System.String _PhotoPath; + partial void OnPhotoPathChanging(global::System.String value); + partial void OnPhotoPathChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Products")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Products : EntityObject + { + #region Factory Method + + /// + /// Create a new Products object. + /// + /// Initial value of the ProductID property. + /// Initial value of the ProductName property. + /// Initial value of the Discontinued property. + public static Products CreateProducts(global::System.Int64 productID, global::System.String productName, global::System.Boolean discontinued) + { + Products products = new Products(); + products.ProductID = productID; + products.ProductName = productName; + products.Discontinued = discontinued; + return products; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 ProductID + { + get + { + return _ProductID; + } + set + { + if (_ProductID != value) + { + OnProductIDChanging(value); + ReportPropertyChanging("ProductID"); + _ProductID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ProductID"); + OnProductIDChanged(); + } + } + } + private global::System.Int64 _ProductID; + partial void OnProductIDChanging(global::System.Int64 value); + partial void OnProductIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String ProductName + { + get + { + return _ProductName; + } + set + { + OnProductNameChanging(value); + ReportPropertyChanging("ProductName"); + _ProductName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("ProductName"); + OnProductNameChanged(); + } + } + private global::System.String _ProductName; + partial void OnProductNameChanging(global::System.String value); + partial void OnProductNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String QuantityPerUnit + { + get + { + return _QuantityPerUnit; + } + set + { + OnQuantityPerUnitChanging(value); + ReportPropertyChanging("QuantityPerUnit"); + _QuantityPerUnit = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("QuantityPerUnit"); + OnQuantityPerUnitChanged(); + } + } + private global::System.String _QuantityPerUnit; + partial void OnQuantityPerUnitChanging(global::System.String value); + partial void OnQuantityPerUnitChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable UnitPrice + { + get + { + return _UnitPrice; + } + set + { + OnUnitPriceChanging(value); + ReportPropertyChanging("UnitPrice"); + _UnitPrice = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitPrice"); + OnUnitPriceChanged(); + } + } + private Nullable _UnitPrice; + partial void OnUnitPriceChanging(Nullable value); + partial void OnUnitPriceChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable UnitsInStock + { + get + { + return _UnitsInStock; + } + set + { + OnUnitsInStockChanging(value); + ReportPropertyChanging("UnitsInStock"); + _UnitsInStock = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitsInStock"); + OnUnitsInStockChanged(); + } + } + private Nullable _UnitsInStock; + partial void OnUnitsInStockChanging(Nullable value); + partial void OnUnitsInStockChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable UnitsOnOrder + { + get + { + return _UnitsOnOrder; + } + set + { + OnUnitsOnOrderChanging(value); + ReportPropertyChanging("UnitsOnOrder"); + _UnitsOnOrder = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitsOnOrder"); + OnUnitsOnOrderChanged(); + } + } + private Nullable _UnitsOnOrder; + partial void OnUnitsOnOrderChanging(Nullable value); + partial void OnUnitsOnOrderChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ReorderLevel + { + get + { + return _ReorderLevel; + } + set + { + OnReorderLevelChanging(value); + ReportPropertyChanging("ReorderLevel"); + _ReorderLevel = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ReorderLevel"); + OnReorderLevelChanged(); + } + } + private Nullable _ReorderLevel; + partial void OnReorderLevelChanging(Nullable value); + partial void OnReorderLevelChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Boolean Discontinued + { + get + { + return _Discontinued; + } + set + { + OnDiscontinuedChanging(value); + ReportPropertyChanging("Discontinued"); + _Discontinued = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Discontinued"); + OnDiscontinuedChanged(); + } + } + private global::System.Boolean _Discontinued; + partial void OnDiscontinuedChanging(global::System.Boolean value); + partial void OnDiscontinuedChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable DiscontinuedDate + { + get + { + return _DiscontinuedDate; + } + set + { + OnDiscontinuedDateChanging(value); + ReportPropertyChanging("DiscontinuedDate"); + _DiscontinuedDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("DiscontinuedDate"); + OnDiscontinuedDateChanged(); + } + } + private Nullable _DiscontinuedDate; + partial void OnDiscontinuedDateChanging(Nullable value); + partial void OnDiscontinuedDateChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories")] + public Categories Categories + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference CategoriesReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "OrderDetails")] + public EntityCollection OrderDetails + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers")] + public Suppliers Suppliers + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference SuppliersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Regions")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Regions : EntityObject + { + #region Factory Method + + /// + /// Create a new Regions object. + /// + /// Initial value of the RegionID property. + /// Initial value of the RegionDescription property. + public static Regions CreateRegions(global::System.Int64 regionID, global::System.String regionDescription) + { + Regions regions = new Regions(); + regions.RegionID = regionID; + regions.RegionDescription = regionDescription; + return regions; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 RegionID + { + get + { + return _RegionID; + } + set + { + if (_RegionID != value) + { + OnRegionIDChanging(value); + ReportPropertyChanging("RegionID"); + _RegionID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RegionID"); + OnRegionIDChanged(); + } + } + } + private global::System.Int64 _RegionID; + partial void OnRegionIDChanging(global::System.Int64 value); + partial void OnRegionIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String RegionDescription + { + get + { + return _RegionDescription; + } + set + { + OnRegionDescriptionChanging(value); + ReportPropertyChanging("RegionDescription"); + _RegionDescription = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("RegionDescription"); + OnRegionDescriptionChanged(); + } + } + private global::System.String _RegionDescription; + partial void OnRegionDescriptionChanging(global::System.String value); + partial void OnRegionDescriptionChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Territories")] + public EntityCollection Territories + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Suppliers")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Suppliers : EntityObject + { + #region Factory Method + + /// + /// Create a new Suppliers object. + /// + /// Initial value of the SupplierID property. + /// Initial value of the CompanyName property. + public static Suppliers CreateSuppliers(global::System.Int64 supplierID, global::System.String companyName) + { + Suppliers suppliers = new Suppliers(); + suppliers.SupplierID = supplierID; + suppliers.CompanyName = companyName; + return suppliers; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 SupplierID + { + get + { + return _SupplierID; + } + set + { + if (_SupplierID != value) + { + OnSupplierIDChanging(value); + ReportPropertyChanging("SupplierID"); + _SupplierID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("SupplierID"); + OnSupplierIDChanged(); + } + } + } + private global::System.Int64 _SupplierID; + partial void OnSupplierIDChanging(global::System.Int64 value); + partial void OnSupplierIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CompanyName + { + get + { + return _CompanyName; + } + set + { + OnCompanyNameChanging(value); + ReportPropertyChanging("CompanyName"); + _CompanyName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CompanyName"); + OnCompanyNameChanged(); + } + } + private global::System.String _CompanyName; + partial void OnCompanyNameChanging(global::System.String value); + partial void OnCompanyNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactName + { + get + { + return _ContactName; + } + set + { + OnContactNameChanging(value); + ReportPropertyChanging("ContactName"); + _ContactName = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactName"); + OnContactNameChanged(); + } + } + private global::System.String _ContactName; + partial void OnContactNameChanging(global::System.String value); + partial void OnContactNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactTitle + { + get + { + return _ContactTitle; + } + set + { + OnContactTitleChanging(value); + ReportPropertyChanging("ContactTitle"); + _ContactTitle = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactTitle"); + OnContactTitleChanged(); + } + } + private global::System.String _ContactTitle; + partial void OnContactTitleChanging(global::System.String value); + partial void OnContactTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Phone + { + get + { + return _Phone; + } + set + { + OnPhoneChanging(value); + ReportPropertyChanging("Phone"); + _Phone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Phone"); + OnPhoneChanged(); + } + } + private global::System.String _Phone; + partial void OnPhoneChanging(global::System.String value); + partial void OnPhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Fax + { + get + { + return _Fax; + } + set + { + OnFaxChanging(value); + ReportPropertyChanging("Fax"); + _Fax = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Fax"); + OnFaxChanged(); + } + } + private global::System.String _Fax; + partial void OnFaxChanging(global::System.String value); + partial void OnFaxChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String HomePage + { + get + { + return _HomePage; + } + set + { + OnHomePageChanging(value); + ReportPropertyChanging("HomePage"); + _HomePage = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("HomePage"); + OnHomePageChanged(); + } + } + private global::System.String _HomePage; + partial void OnHomePageChanging(global::System.String value); + partial void OnHomePageChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Products")] + public EntityCollection Products + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Territories")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Territories : EntityObject + { + #region Factory Method + + /// + /// Create a new Territories object. + /// + /// Initial value of the TerritoryID property. + /// Initial value of the TerritoryDescription property. + public static Territories CreateTerritories(global::System.Int64 territoryID, global::System.String territoryDescription) + { + Territories territories = new Territories(); + territories.TerritoryID = territoryID; + territories.TerritoryDescription = territoryDescription; + return territories; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 TerritoryID + { + get + { + return _TerritoryID; + } + set + { + if (_TerritoryID != value) + { + OnTerritoryIDChanging(value); + ReportPropertyChanging("TerritoryID"); + _TerritoryID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("TerritoryID"); + OnTerritoryIDChanged(); + } + } + } + private global::System.Int64 _TerritoryID; + partial void OnTerritoryIDChanging(global::System.Int64 value); + partial void OnTerritoryIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String TerritoryDescription + { + get + { + return _TerritoryDescription; + } + set + { + OnTerritoryDescriptionChanging(value); + ReportPropertyChanging("TerritoryDescription"); + _TerritoryDescription = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("TerritoryDescription"); + OnTerritoryDescriptionChanged(); + } + } + private global::System.String _TerritoryDescription; + partial void OnTerritoryDescriptionChanging(global::System.String value); + partial void OnTerritoryDescriptionChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions")] + public Regions Regions + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference RegionsReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Employees")] + public EntityCollection Employees + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees", value); + } + } + } + + #endregion + } + + #endregion + +} ADDED testlinq/NorthwindModel2012.edmx Index: testlinq/NorthwindModel2012.edmx ================================================================== --- /dev/null +++ testlinq/NorthwindModel2012.edmx @@ -0,0 +1,909 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ADDED testlinq/NorthwindModel2013.Designer.cs Index: testlinq/NorthwindModel2013.Designer.cs ================================================================== --- /dev/null +++ testlinq/NorthwindModel2013.Designer.cs @@ -0,0 +1,3505 @@ +/******************************************************** + * ADO.NET 2.0 Data Provider for SQLite Version 3.X + * Written by Robert Simpson (robert@blackcastlesoft.com) + * + * Released to the public domain, use at your own risk! + ********************************************************/ + +//------------------------------------------------------------------------------ +// +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Data.Objects; +using System.Data.Objects.DataClasses; +using System.Data.EntityClient; +using System.ComponentModel; +using System.Xml.Serialization; +using System.Runtime.Serialization; + +[assembly: EdmSchemaAttribute()] +#region EDM Relationship Metadata + +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Categories), "Products", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Products))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Customers), "Orders", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Orders))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Orders), "InternationalOrders", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.InternationalOrders), true)] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Orders), "OrderDetails", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Products), "OrderDetails", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.OrderDetails), true)] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(testlinq.Suppliers), "Products", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Products))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(testlinq.Regions), "Territories", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Territories))] +[assembly: EdmRelationshipAttribute("northwindEFModel", "EmployeesTerritories", "Employees", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Employees), "Territories", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(testlinq.Territories))] + +#endregion + +namespace testlinq +{ + #region Contexts + + /// + /// No Metadata Documentation available. + /// + public partial class northwindEFEntities : ObjectContext + { + #region Constructors + + /// + /// Initializes a new northwindEFEntities object using the connection string found in the 'northwindEFEntities' section of the application configuration file. + /// + public northwindEFEntities() : base("name=northwindEFEntities", "northwindEFEntities") + { + OnContextCreated(); + } + + /// + /// Initialize a new northwindEFEntities object. + /// + public northwindEFEntities(string connectionString) : base(connectionString, "northwindEFEntities") + { + OnContextCreated(); + } + + /// + /// Initialize a new northwindEFEntities object. + /// + public northwindEFEntities(EntityConnection connection) : base(connection, "northwindEFEntities") + { + OnContextCreated(); + } + + #endregion + + #region Partial Methods + + partial void OnContextCreated(); + + #endregion + + #region ObjectSet Properties + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Categories + { + get + { + if ((_Categories == null)) + { + _Categories = base.CreateObjectSet("Categories"); + } + return _Categories; + } + } + private ObjectSet _Categories; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Customers + { + get + { + if ((_Customers == null)) + { + _Customers = base.CreateObjectSet("Customers"); + } + return _Customers; + } + } + private ObjectSet _Customers; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Employees + { + get + { + if ((_Employees == null)) + { + _Employees = base.CreateObjectSet("Employees"); + } + return _Employees; + } + } + private ObjectSet _Employees; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet InternationalOrders + { + get + { + if ((_InternationalOrders == null)) + { + _InternationalOrders = base.CreateObjectSet("InternationalOrders"); + } + return _InternationalOrders; + } + } + private ObjectSet _InternationalOrders; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet OrderDetails + { + get + { + if ((_OrderDetails == null)) + { + _OrderDetails = base.CreateObjectSet("OrderDetails"); + } + return _OrderDetails; + } + } + private ObjectSet _OrderDetails; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Orders + { + get + { + if ((_Orders == null)) + { + _Orders = base.CreateObjectSet("Orders"); + } + return _Orders; + } + } + private ObjectSet _Orders; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet PreviousEmployees + { + get + { + if ((_PreviousEmployees == null)) + { + _PreviousEmployees = base.CreateObjectSet("PreviousEmployees"); + } + return _PreviousEmployees; + } + } + private ObjectSet _PreviousEmployees; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Products + { + get + { + if ((_Products == null)) + { + _Products = base.CreateObjectSet("Products"); + } + return _Products; + } + } + private ObjectSet _Products; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Regions + { + get + { + if ((_Regions == null)) + { + _Regions = base.CreateObjectSet("Regions"); + } + return _Regions; + } + } + private ObjectSet _Regions; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Suppliers + { + get + { + if ((_Suppliers == null)) + { + _Suppliers = base.CreateObjectSet("Suppliers"); + } + return _Suppliers; + } + } + private ObjectSet _Suppliers; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Territories + { + get + { + if ((_Territories == null)) + { + _Territories = base.CreateObjectSet("Territories"); + } + return _Territories; + } + } + private ObjectSet _Territories; + + #endregion + #region AddTo Methods + + /// + /// Deprecated Method for adding a new object to the Categories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToCategories(Categories categories) + { + base.AddObject("Categories", categories); + } + + /// + /// Deprecated Method for adding a new object to the Customers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToCustomers(Customers customers) + { + base.AddObject("Customers", customers); + } + + /// + /// Deprecated Method for adding a new object to the Employees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToEmployees(Employees employees) + { + base.AddObject("Employees", employees); + } + + /// + /// Deprecated Method for adding a new object to the InternationalOrders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToInternationalOrders(InternationalOrders internationalOrders) + { + base.AddObject("InternationalOrders", internationalOrders); + } + + /// + /// Deprecated Method for adding a new object to the OrderDetails EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToOrderDetails(OrderDetails orderDetails) + { + base.AddObject("OrderDetails", orderDetails); + } + + /// + /// Deprecated Method for adding a new object to the Orders EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToOrders(Orders orders) + { + base.AddObject("Orders", orders); + } + + /// + /// Deprecated Method for adding a new object to the PreviousEmployees EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToPreviousEmployees(PreviousEmployees previousEmployees) + { + base.AddObject("PreviousEmployees", previousEmployees); + } + + /// + /// Deprecated Method for adding a new object to the Products EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToProducts(Products products) + { + base.AddObject("Products", products); + } + + /// + /// Deprecated Method for adding a new object to the Regions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToRegions(Regions regions) + { + base.AddObject("Regions", regions); + } + + /// + /// Deprecated Method for adding a new object to the Suppliers EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToSuppliers(Suppliers suppliers) + { + base.AddObject("Suppliers", suppliers); + } + + /// + /// Deprecated Method for adding a new object to the Territories EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToTerritories(Territories territories) + { + base.AddObject("Territories", territories); + } + + #endregion + } + + + #endregion + + #region Entities + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Categories")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Categories : EntityObject + { + #region Factory Method + + /// + /// Create a new Categories object. + /// + /// Initial value of the CategoryID property. + /// Initial value of the CategoryName property. + public static Categories CreateCategories(global::System.Int64 categoryID, global::System.String categoryName) + { + Categories categories = new Categories(); + categories.CategoryID = categoryID; + categories.CategoryName = categoryName; + return categories; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 CategoryID + { + get + { + return _CategoryID; + } + set + { + if (_CategoryID != value) + { + OnCategoryIDChanging(value); + ReportPropertyChanging("CategoryID"); + _CategoryID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("CategoryID"); + OnCategoryIDChanged(); + } + } + } + private global::System.Int64 _CategoryID; + partial void OnCategoryIDChanging(global::System.Int64 value); + partial void OnCategoryIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CategoryName + { + get + { + return _CategoryName; + } + set + { + OnCategoryNameChanging(value); + ReportPropertyChanging("CategoryName"); + _CategoryName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CategoryName"); + OnCategoryNameChanged(); + } + } + private global::System.String _CategoryName; + partial void OnCategoryNameChanging(global::System.String value); + partial void OnCategoryNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Description + { + get + { + return _Description; + } + set + { + OnDescriptionChanging(value); + ReportPropertyChanging("Description"); + _Description = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Description"); + OnDescriptionChanged(); + } + } + private global::System.String _Description; + partial void OnDescriptionChanging(global::System.String value); + partial void OnDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.Byte[] Picture + { + get + { + return StructuralObject.GetValidValue(_Picture); + } + set + { + OnPictureChanging(value); + ReportPropertyChanging("Picture"); + _Picture = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Picture"); + OnPictureChanged(); + } + } + private global::System.Byte[] _Picture; + partial void OnPictureChanging(global::System.Byte[] value); + partial void OnPictureChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Products")] + public EntityCollection Products + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_CategoryID_CategoryID", "Products", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Customers")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Customers : EntityObject + { + #region Factory Method + + /// + /// Create a new Customers object. + /// + /// Initial value of the CustomerID property. + /// Initial value of the CompanyName property. + public static Customers CreateCustomers(global::System.String customerID, global::System.String companyName) + { + Customers customers = new Customers(); + customers.CustomerID = customerID; + customers.CompanyName = companyName; + return customers; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CustomerID + { + get + { + return _CustomerID; + } + set + { + if (_CustomerID != value) + { + OnCustomerIDChanging(value); + ReportPropertyChanging("CustomerID"); + _CustomerID = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CustomerID"); + OnCustomerIDChanged(); + } + } + } + private global::System.String _CustomerID; + partial void OnCustomerIDChanging(global::System.String value); + partial void OnCustomerIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CompanyName + { + get + { + return _CompanyName; + } + set + { + OnCompanyNameChanging(value); + ReportPropertyChanging("CompanyName"); + _CompanyName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CompanyName"); + OnCompanyNameChanged(); + } + } + private global::System.String _CompanyName; + partial void OnCompanyNameChanging(global::System.String value); + partial void OnCompanyNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactName + { + get + { + return _ContactName; + } + set + { + OnContactNameChanging(value); + ReportPropertyChanging("ContactName"); + _ContactName = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactName"); + OnContactNameChanged(); + } + } + private global::System.String _ContactName; + partial void OnContactNameChanging(global::System.String value); + partial void OnContactNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactTitle + { + get + { + return _ContactTitle; + } + set + { + OnContactTitleChanging(value); + ReportPropertyChanging("ContactTitle"); + _ContactTitle = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactTitle"); + OnContactTitleChanged(); + } + } + private global::System.String _ContactTitle; + partial void OnContactTitleChanging(global::System.String value); + partial void OnContactTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Phone + { + get + { + return _Phone; + } + set + { + OnPhoneChanging(value); + ReportPropertyChanging("Phone"); + _Phone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Phone"); + OnPhoneChanged(); + } + } + private global::System.String _Phone; + partial void OnPhoneChanging(global::System.String value); + partial void OnPhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Fax + { + get + { + return _Fax; + } + set + { + OnFaxChanging(value); + ReportPropertyChanging("Fax"); + _Fax = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Fax"); + OnFaxChanged(); + } + } + private global::System.String _Fax; + partial void OnFaxChanging(global::System.String value); + partial void OnFaxChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Orders")] + public EntityCollection Orders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Orders", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Employees")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Employees : EntityObject + { + #region Factory Method + + /// + /// Create a new Employees object. + /// + /// Initial value of the EmployeeID property. + /// Initial value of the LastName property. + /// Initial value of the FirstName property. + public static Employees CreateEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) + { + Employees employees = new Employees(); + employees.EmployeeID = employeeID; + employees.LastName = lastName; + employees.FirstName = firstName; + return employees; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 EmployeeID + { + get + { + return _EmployeeID; + } + set + { + if (_EmployeeID != value) + { + OnEmployeeIDChanging(value); + ReportPropertyChanging("EmployeeID"); + _EmployeeID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("EmployeeID"); + OnEmployeeIDChanged(); + } + } + } + private global::System.Int64 _EmployeeID; + partial void OnEmployeeIDChanging(global::System.Int64 value); + partial void OnEmployeeIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String LastName + { + get + { + return _LastName; + } + set + { + OnLastNameChanging(value); + ReportPropertyChanging("LastName"); + _LastName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("LastName"); + OnLastNameChanged(); + } + } + private global::System.String _LastName; + partial void OnLastNameChanging(global::System.String value); + partial void OnLastNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String FirstName + { + get + { + return _FirstName; + } + set + { + OnFirstNameChanging(value); + ReportPropertyChanging("FirstName"); + _FirstName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("FirstName"); + OnFirstNameChanged(); + } + } + private global::System.String _FirstName; + partial void OnFirstNameChanging(global::System.String value); + partial void OnFirstNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Title + { + get + { + return _Title; + } + set + { + OnTitleChanging(value); + ReportPropertyChanging("Title"); + _Title = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Title"); + OnTitleChanged(); + } + } + private global::System.String _Title; + partial void OnTitleChanging(global::System.String value); + partial void OnTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String TitleOfCourtesy + { + get + { + return _TitleOfCourtesy; + } + set + { + OnTitleOfCourtesyChanging(value); + ReportPropertyChanging("TitleOfCourtesy"); + _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("TitleOfCourtesy"); + OnTitleOfCourtesyChanged(); + } + } + private global::System.String _TitleOfCourtesy; + partial void OnTitleOfCourtesyChanging(global::System.String value); + partial void OnTitleOfCourtesyChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable BirthDate + { + get + { + return _BirthDate; + } + set + { + OnBirthDateChanging(value); + ReportPropertyChanging("BirthDate"); + _BirthDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("BirthDate"); + OnBirthDateChanged(); + } + } + private Nullable _BirthDate; + partial void OnBirthDateChanging(Nullable value); + partial void OnBirthDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable HireDate + { + get + { + return _HireDate; + } + set + { + OnHireDateChanging(value); + ReportPropertyChanging("HireDate"); + _HireDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("HireDate"); + OnHireDateChanged(); + } + } + private Nullable _HireDate; + partial void OnHireDateChanging(Nullable value); + partial void OnHireDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String HomePhone + { + get + { + return _HomePhone; + } + set + { + OnHomePhoneChanging(value); + ReportPropertyChanging("HomePhone"); + _HomePhone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("HomePhone"); + OnHomePhoneChanged(); + } + } + private global::System.String _HomePhone; + partial void OnHomePhoneChanging(global::System.String value); + partial void OnHomePhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Extension + { + get + { + return _Extension; + } + set + { + OnExtensionChanging(value); + ReportPropertyChanging("Extension"); + _Extension = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Extension"); + OnExtensionChanged(); + } + } + private global::System.String _Extension; + partial void OnExtensionChanging(global::System.String value); + partial void OnExtensionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.Byte[] Photo + { + get + { + return StructuralObject.GetValidValue(_Photo); + } + set + { + OnPhotoChanging(value); + ReportPropertyChanging("Photo"); + _Photo = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Photo"); + OnPhotoChanged(); + } + } + private global::System.Byte[] _Photo; + partial void OnPhotoChanging(global::System.Byte[] value); + partial void OnPhotoChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Notes + { + get + { + return _Notes; + } + set + { + OnNotesChanging(value); + ReportPropertyChanging("Notes"); + _Notes = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Notes"); + OnNotesChanged(); + } + } + private global::System.String _Notes; + partial void OnNotesChanging(global::System.String value); + partial void OnNotesChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PhotoPath + { + get + { + return _PhotoPath; + } + set + { + OnPhotoPathChanging(value); + ReportPropertyChanging("PhotoPath"); + _PhotoPath = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PhotoPath"); + OnPhotoPathChanged(); + } + } + private global::System.String _PhotoPath; + partial void OnPhotoPathChanging(global::System.String value); + partial void OnPhotoPathChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Territories")] + public EntityCollection Territories + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Territories", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="InternationalOrders")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class InternationalOrders : EntityObject + { + #region Factory Method + + /// + /// Create a new InternationalOrders object. + /// + /// Initial value of the OrderID property. + /// Initial value of the CustomsDescription property. + /// Initial value of the ExciseTax property. + public static InternationalOrders CreateInternationalOrders(global::System.Int64 orderID, global::System.String customsDescription, global::System.Decimal exciseTax) + { + InternationalOrders internationalOrders = new InternationalOrders(); + internationalOrders.OrderID = orderID; + internationalOrders.CustomsDescription = customsDescription; + internationalOrders.ExciseTax = exciseTax; + return internationalOrders; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 OrderID + { + get + { + return _OrderID; + } + set + { + if (_OrderID != value) + { + OnOrderIDChanging(value); + ReportPropertyChanging("OrderID"); + _OrderID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderID"); + OnOrderIDChanged(); + } + } + } + private global::System.Int64 _OrderID; + partial void OnOrderIDChanging(global::System.Int64 value); + partial void OnOrderIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CustomsDescription + { + get + { + return _CustomsDescription; + } + set + { + OnCustomsDescriptionChanging(value); + ReportPropertyChanging("CustomsDescription"); + _CustomsDescription = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CustomsDescription"); + OnCustomsDescriptionChanged(); + } + } + private global::System.String _CustomsDescription; + partial void OnCustomsDescriptionChanging(global::System.String value); + partial void OnCustomsDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Decimal ExciseTax + { + get + { + return _ExciseTax; + } + set + { + OnExciseTaxChanging(value); + ReportPropertyChanging("ExciseTax"); + _ExciseTax = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ExciseTax"); + OnExciseTaxChanged(); + } + } + private global::System.Decimal _ExciseTax; + partial void OnExciseTaxChanging(global::System.Decimal value); + partial void OnExciseTaxChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "Orders")] + public Orders Orders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference OrdersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "Orders", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="OrderDetails")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class OrderDetails : EntityObject + { + #region Factory Method + + /// + /// Create a new OrderDetails object. + /// + /// Initial value of the OrderID property. + /// Initial value of the ProductID property. + /// Initial value of the UnitPrice property. + /// Initial value of the Quantity property. + /// Initial value of the Discount property. + public static OrderDetails CreateOrderDetails(global::System.Int64 orderID, global::System.Int64 productID, global::System.Decimal unitPrice, global::System.Int16 quantity, global::System.Single discount) + { + OrderDetails orderDetails = new OrderDetails(); + orderDetails.OrderID = orderID; + orderDetails.ProductID = productID; + orderDetails.UnitPrice = unitPrice; + orderDetails.Quantity = quantity; + orderDetails.Discount = discount; + return orderDetails; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 OrderID + { + get + { + return _OrderID; + } + set + { + if (_OrderID != value) + { + OnOrderIDChanging(value); + ReportPropertyChanging("OrderID"); + _OrderID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderID"); + OnOrderIDChanged(); + } + } + } + private global::System.Int64 _OrderID; + partial void OnOrderIDChanging(global::System.Int64 value); + partial void OnOrderIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 ProductID + { + get + { + return _ProductID; + } + set + { + if (_ProductID != value) + { + OnProductIDChanging(value); + ReportPropertyChanging("ProductID"); + _ProductID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ProductID"); + OnProductIDChanged(); + } + } + } + private global::System.Int64 _ProductID; + partial void OnProductIDChanging(global::System.Int64 value); + partial void OnProductIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Decimal UnitPrice + { + get + { + return _UnitPrice; + } + set + { + OnUnitPriceChanging(value); + ReportPropertyChanging("UnitPrice"); + _UnitPrice = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitPrice"); + OnUnitPriceChanged(); + } + } + private global::System.Decimal _UnitPrice; + partial void OnUnitPriceChanging(global::System.Decimal value); + partial void OnUnitPriceChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int16 Quantity + { + get + { + return _Quantity; + } + set + { + OnQuantityChanging(value); + ReportPropertyChanging("Quantity"); + _Quantity = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Quantity"); + OnQuantityChanged(); + } + } + private global::System.Int16 _Quantity; + partial void OnQuantityChanging(global::System.Int16 value); + partial void OnQuantityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Single Discount + { + get + { + return _Discount; + } + set + { + OnDiscountChanging(value); + ReportPropertyChanging("Discount"); + _Discount = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Discount"); + OnDiscountChanged(); + } + } + private global::System.Single _Discount; + partial void OnDiscountChanging(global::System.Single value); + partial void OnDiscountChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "Orders")] + public Orders Orders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference OrdersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "Orders", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "Products")] + public Products Products + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference ProductsReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "Products", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Orders")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Orders : EntityObject + { + #region Factory Method + + /// + /// Create a new Orders object. + /// + /// Initial value of the OrderID property. + public static Orders CreateOrders(global::System.Int64 orderID) + { + Orders orders = new Orders(); + orders.OrderID = orderID; + return orders; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 OrderID + { + get + { + return _OrderID; + } + set + { + if (_OrderID != value) + { + OnOrderIDChanging(value); + ReportPropertyChanging("OrderID"); + _OrderID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderID"); + OnOrderIDChanged(); + } + } + } + private global::System.Int64 _OrderID; + partial void OnOrderIDChanging(global::System.Int64 value); + partial void OnOrderIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable EmployeeID + { + get + { + return _EmployeeID; + } + set + { + OnEmployeeIDChanging(value); + ReportPropertyChanging("EmployeeID"); + _EmployeeID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("EmployeeID"); + OnEmployeeIDChanged(); + } + } + private Nullable _EmployeeID; + partial void OnEmployeeIDChanging(Nullable value); + partial void OnEmployeeIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable OrderDate + { + get + { + return _OrderDate; + } + set + { + OnOrderDateChanging(value); + ReportPropertyChanging("OrderDate"); + _OrderDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("OrderDate"); + OnOrderDateChanged(); + } + } + private Nullable _OrderDate; + partial void OnOrderDateChanging(Nullable value); + partial void OnOrderDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable RequiredDate + { + get + { + return _RequiredDate; + } + set + { + OnRequiredDateChanging(value); + ReportPropertyChanging("RequiredDate"); + _RequiredDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RequiredDate"); + OnRequiredDateChanged(); + } + } + private Nullable _RequiredDate; + partial void OnRequiredDateChanging(Nullable value); + partial void OnRequiredDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ShippedDate + { + get + { + return _ShippedDate; + } + set + { + OnShippedDateChanging(value); + ReportPropertyChanging("ShippedDate"); + _ShippedDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ShippedDate"); + OnShippedDateChanged(); + } + } + private Nullable _ShippedDate; + partial void OnShippedDateChanging(Nullable value); + partial void OnShippedDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable Freight + { + get + { + return _Freight; + } + set + { + OnFreightChanging(value); + ReportPropertyChanging("Freight"); + _Freight = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Freight"); + OnFreightChanged(); + } + } + private Nullable _Freight; + partial void OnFreightChanging(Nullable value); + partial void OnFreightChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipName + { + get + { + return _ShipName; + } + set + { + OnShipNameChanging(value); + ReportPropertyChanging("ShipName"); + _ShipName = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipName"); + OnShipNameChanged(); + } + } + private global::System.String _ShipName; + partial void OnShipNameChanging(global::System.String value); + partial void OnShipNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipAddress + { + get + { + return _ShipAddress; + } + set + { + OnShipAddressChanging(value); + ReportPropertyChanging("ShipAddress"); + _ShipAddress = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipAddress"); + OnShipAddressChanged(); + } + } + private global::System.String _ShipAddress; + partial void OnShipAddressChanging(global::System.String value); + partial void OnShipAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipCity + { + get + { + return _ShipCity; + } + set + { + OnShipCityChanging(value); + ReportPropertyChanging("ShipCity"); + _ShipCity = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipCity"); + OnShipCityChanged(); + } + } + private global::System.String _ShipCity; + partial void OnShipCityChanging(global::System.String value); + partial void OnShipCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipRegion + { + get + { + return _ShipRegion; + } + set + { + OnShipRegionChanging(value); + ReportPropertyChanging("ShipRegion"); + _ShipRegion = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipRegion"); + OnShipRegionChanged(); + } + } + private global::System.String _ShipRegion; + partial void OnShipRegionChanging(global::System.String value); + partial void OnShipRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipPostalCode + { + get + { + return _ShipPostalCode; + } + set + { + OnShipPostalCodeChanging(value); + ReportPropertyChanging("ShipPostalCode"); + _ShipPostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipPostalCode"); + OnShipPostalCodeChanged(); + } + } + private global::System.String _ShipPostalCode; + partial void OnShipPostalCodeChanging(global::System.String value); + partial void OnShipPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ShipCountry + { + get + { + return _ShipCountry; + } + set + { + OnShipCountryChanging(value); + ReportPropertyChanging("ShipCountry"); + _ShipCountry = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ShipCountry"); + OnShipCountryChanged(); + } + } + private global::System.String _ShipCountry; + partial void OnShipCountryChanging(global::System.String value); + partial void OnShipCountryChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Orders_CustomerID_CustomerID", "Customers")] + public Customers Customers + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference CustomersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Orders_CustomerID_CustomerID", "Customers", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_InternationalOrders_OrderID_OrderID", "InternationalOrders")] + public InternationalOrders InternationalOrders + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference InternationalOrdersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_InternationalOrders_OrderID_OrderID", "InternationalOrders", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_OrderID_OrderID", "OrderDetails")] + public EntityCollection OrderDetails + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_OrderID_OrderID", "OrderDetails", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="PreviousEmployees")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class PreviousEmployees : EntityObject + { + #region Factory Method + + /// + /// Create a new PreviousEmployees object. + /// + /// Initial value of the EmployeeID property. + /// Initial value of the LastName property. + /// Initial value of the FirstName property. + public static PreviousEmployees CreatePreviousEmployees(global::System.Int64 employeeID, global::System.String lastName, global::System.String firstName) + { + PreviousEmployees previousEmployees = new PreviousEmployees(); + previousEmployees.EmployeeID = employeeID; + previousEmployees.LastName = lastName; + previousEmployees.FirstName = firstName; + return previousEmployees; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 EmployeeID + { + get + { + return _EmployeeID; + } + set + { + if (_EmployeeID != value) + { + OnEmployeeIDChanging(value); + ReportPropertyChanging("EmployeeID"); + _EmployeeID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("EmployeeID"); + OnEmployeeIDChanged(); + } + } + } + private global::System.Int64 _EmployeeID; + partial void OnEmployeeIDChanging(global::System.Int64 value); + partial void OnEmployeeIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String LastName + { + get + { + return _LastName; + } + set + { + OnLastNameChanging(value); + ReportPropertyChanging("LastName"); + _LastName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("LastName"); + OnLastNameChanged(); + } + } + private global::System.String _LastName; + partial void OnLastNameChanging(global::System.String value); + partial void OnLastNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String FirstName + { + get + { + return _FirstName; + } + set + { + OnFirstNameChanging(value); + ReportPropertyChanging("FirstName"); + _FirstName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("FirstName"); + OnFirstNameChanged(); + } + } + private global::System.String _FirstName; + partial void OnFirstNameChanging(global::System.String value); + partial void OnFirstNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Title + { + get + { + return _Title; + } + set + { + OnTitleChanging(value); + ReportPropertyChanging("Title"); + _Title = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Title"); + OnTitleChanged(); + } + } + private global::System.String _Title; + partial void OnTitleChanging(global::System.String value); + partial void OnTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String TitleOfCourtesy + { + get + { + return _TitleOfCourtesy; + } + set + { + OnTitleOfCourtesyChanging(value); + ReportPropertyChanging("TitleOfCourtesy"); + _TitleOfCourtesy = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("TitleOfCourtesy"); + OnTitleOfCourtesyChanged(); + } + } + private global::System.String _TitleOfCourtesy; + partial void OnTitleOfCourtesyChanging(global::System.String value); + partial void OnTitleOfCourtesyChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable BirthDate + { + get + { + return _BirthDate; + } + set + { + OnBirthDateChanging(value); + ReportPropertyChanging("BirthDate"); + _BirthDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("BirthDate"); + OnBirthDateChanged(); + } + } + private Nullable _BirthDate; + partial void OnBirthDateChanging(Nullable value); + partial void OnBirthDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable HireDate + { + get + { + return _HireDate; + } + set + { + OnHireDateChanging(value); + ReportPropertyChanging("HireDate"); + _HireDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("HireDate"); + OnHireDateChanged(); + } + } + private Nullable _HireDate; + partial void OnHireDateChanging(Nullable value); + partial void OnHireDateChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String HomePhone + { + get + { + return _HomePhone; + } + set + { + OnHomePhoneChanging(value); + ReportPropertyChanging("HomePhone"); + _HomePhone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("HomePhone"); + OnHomePhoneChanged(); + } + } + private global::System.String _HomePhone; + partial void OnHomePhoneChanging(global::System.String value); + partial void OnHomePhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Extension + { + get + { + return _Extension; + } + set + { + OnExtensionChanging(value); + ReportPropertyChanging("Extension"); + _Extension = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Extension"); + OnExtensionChanged(); + } + } + private global::System.String _Extension; + partial void OnExtensionChanging(global::System.String value); + partial void OnExtensionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.Byte[] Photo + { + get + { + return StructuralObject.GetValidValue(_Photo); + } + set + { + OnPhotoChanging(value); + ReportPropertyChanging("Photo"); + _Photo = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Photo"); + OnPhotoChanged(); + } + } + private global::System.Byte[] _Photo; + partial void OnPhotoChanging(global::System.Byte[] value); + partial void OnPhotoChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Notes + { + get + { + return _Notes; + } + set + { + OnNotesChanging(value); + ReportPropertyChanging("Notes"); + _Notes = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Notes"); + OnNotesChanged(); + } + } + private global::System.String _Notes; + partial void OnNotesChanging(global::System.String value); + partial void OnNotesChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PhotoPath + { + get + { + return _PhotoPath; + } + set + { + OnPhotoPathChanging(value); + ReportPropertyChanging("PhotoPath"); + _PhotoPath = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PhotoPath"); + OnPhotoPathChanged(); + } + } + private global::System.String _PhotoPath; + partial void OnPhotoPathChanging(global::System.String value); + partial void OnPhotoPathChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Products")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Products : EntityObject + { + #region Factory Method + + /// + /// Create a new Products object. + /// + /// Initial value of the ProductID property. + /// Initial value of the ProductName property. + /// Initial value of the Discontinued property. + public static Products CreateProducts(global::System.Int64 productID, global::System.String productName, global::System.Boolean discontinued) + { + Products products = new Products(); + products.ProductID = productID; + products.ProductName = productName; + products.Discontinued = discontinued; + return products; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 ProductID + { + get + { + return _ProductID; + } + set + { + if (_ProductID != value) + { + OnProductIDChanging(value); + ReportPropertyChanging("ProductID"); + _ProductID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ProductID"); + OnProductIDChanged(); + } + } + } + private global::System.Int64 _ProductID; + partial void OnProductIDChanging(global::System.Int64 value); + partial void OnProductIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String ProductName + { + get + { + return _ProductName; + } + set + { + OnProductNameChanging(value); + ReportPropertyChanging("ProductName"); + _ProductName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("ProductName"); + OnProductNameChanged(); + } + } + private global::System.String _ProductName; + partial void OnProductNameChanging(global::System.String value); + partial void OnProductNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String QuantityPerUnit + { + get + { + return _QuantityPerUnit; + } + set + { + OnQuantityPerUnitChanging(value); + ReportPropertyChanging("QuantityPerUnit"); + _QuantityPerUnit = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("QuantityPerUnit"); + OnQuantityPerUnitChanged(); + } + } + private global::System.String _QuantityPerUnit; + partial void OnQuantityPerUnitChanging(global::System.String value); + partial void OnQuantityPerUnitChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable UnitPrice + { + get + { + return _UnitPrice; + } + set + { + OnUnitPriceChanging(value); + ReportPropertyChanging("UnitPrice"); + _UnitPrice = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitPrice"); + OnUnitPriceChanged(); + } + } + private Nullable _UnitPrice; + partial void OnUnitPriceChanging(Nullable value); + partial void OnUnitPriceChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable UnitsInStock + { + get + { + return _UnitsInStock; + } + set + { + OnUnitsInStockChanging(value); + ReportPropertyChanging("UnitsInStock"); + _UnitsInStock = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitsInStock"); + OnUnitsInStockChanged(); + } + } + private Nullable _UnitsInStock; + partial void OnUnitsInStockChanging(Nullable value); + partial void OnUnitsInStockChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable UnitsOnOrder + { + get + { + return _UnitsOnOrder; + } + set + { + OnUnitsOnOrderChanging(value); + ReportPropertyChanging("UnitsOnOrder"); + _UnitsOnOrder = StructuralObject.SetValidValue(value); + ReportPropertyChanged("UnitsOnOrder"); + OnUnitsOnOrderChanged(); + } + } + private Nullable _UnitsOnOrder; + partial void OnUnitsOnOrderChanging(Nullable value); + partial void OnUnitsOnOrderChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable ReorderLevel + { + get + { + return _ReorderLevel; + } + set + { + OnReorderLevelChanging(value); + ReportPropertyChanging("ReorderLevel"); + _ReorderLevel = StructuralObject.SetValidValue(value); + ReportPropertyChanged("ReorderLevel"); + OnReorderLevelChanged(); + } + } + private Nullable _ReorderLevel; + partial void OnReorderLevelChanging(Nullable value); + partial void OnReorderLevelChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Boolean Discontinued + { + get + { + return _Discontinued; + } + set + { + OnDiscontinuedChanging(value); + ReportPropertyChanging("Discontinued"); + _Discontinued = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Discontinued"); + OnDiscontinuedChanged(); + } + } + private global::System.Boolean _Discontinued; + partial void OnDiscontinuedChanging(global::System.Boolean value); + partial void OnDiscontinuedChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public Nullable DiscontinuedDate + { + get + { + return _DiscontinuedDate; + } + set + { + OnDiscontinuedDateChanging(value); + ReportPropertyChanging("DiscontinuedDate"); + _DiscontinuedDate = StructuralObject.SetValidValue(value); + ReportPropertyChanged("DiscontinuedDate"); + OnDiscontinuedDateChanged(); + } + } + private Nullable _DiscontinuedDate; + partial void OnDiscontinuedDateChanging(Nullable value); + partial void OnDiscontinuedDateChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_CategoryID_CategoryID", "Categories")] + public Categories Categories + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference CategoriesReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_CategoryID_CategoryID", "Categories", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_OrderDetails_ProductID_ProductID", "OrderDetails")] + public EntityCollection OrderDetails + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_OrderDetails_ProductID_ProductID", "OrderDetails", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Suppliers")] + public Suppliers Suppliers + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference SuppliersReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Products_SupplierID_SupplierID", "Suppliers", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Regions")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Regions : EntityObject + { + #region Factory Method + + /// + /// Create a new Regions object. + /// + /// Initial value of the RegionID property. + /// Initial value of the RegionDescription property. + public static Regions CreateRegions(global::System.Int64 regionID, global::System.String regionDescription) + { + Regions regions = new Regions(); + regions.RegionID = regionID; + regions.RegionDescription = regionDescription; + return regions; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 RegionID + { + get + { + return _RegionID; + } + set + { + if (_RegionID != value) + { + OnRegionIDChanging(value); + ReportPropertyChanging("RegionID"); + _RegionID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("RegionID"); + OnRegionIDChanged(); + } + } + } + private global::System.Int64 _RegionID; + partial void OnRegionIDChanging(global::System.Int64 value); + partial void OnRegionIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String RegionDescription + { + get + { + return _RegionDescription; + } + set + { + OnRegionDescriptionChanging(value); + ReportPropertyChanging("RegionDescription"); + _RegionDescription = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("RegionDescription"); + OnRegionDescriptionChanged(); + } + } + private global::System.String _RegionDescription; + partial void OnRegionDescriptionChanging(global::System.String value); + partial void OnRegionDescriptionChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Territories")] + public EntityCollection Territories + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Territories_RegionID_RegionID", "Territories", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Suppliers")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Suppliers : EntityObject + { + #region Factory Method + + /// + /// Create a new Suppliers object. + /// + /// Initial value of the SupplierID property. + /// Initial value of the CompanyName property. + public static Suppliers CreateSuppliers(global::System.Int64 supplierID, global::System.String companyName) + { + Suppliers suppliers = new Suppliers(); + suppliers.SupplierID = supplierID; + suppliers.CompanyName = companyName; + return suppliers; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 SupplierID + { + get + { + return _SupplierID; + } + set + { + if (_SupplierID != value) + { + OnSupplierIDChanging(value); + ReportPropertyChanging("SupplierID"); + _SupplierID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("SupplierID"); + OnSupplierIDChanged(); + } + } + } + private global::System.Int64 _SupplierID; + partial void OnSupplierIDChanging(global::System.Int64 value); + partial void OnSupplierIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String CompanyName + { + get + { + return _CompanyName; + } + set + { + OnCompanyNameChanging(value); + ReportPropertyChanging("CompanyName"); + _CompanyName = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("CompanyName"); + OnCompanyNameChanged(); + } + } + private global::System.String _CompanyName; + partial void OnCompanyNameChanging(global::System.String value); + partial void OnCompanyNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactName + { + get + { + return _ContactName; + } + set + { + OnContactNameChanging(value); + ReportPropertyChanging("ContactName"); + _ContactName = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactName"); + OnContactNameChanged(); + } + } + private global::System.String _ContactName; + partial void OnContactNameChanging(global::System.String value); + partial void OnContactNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ContactTitle + { + get + { + return _ContactTitle; + } + set + { + OnContactTitleChanging(value); + ReportPropertyChanging("ContactTitle"); + _ContactTitle = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ContactTitle"); + OnContactTitleChanged(); + } + } + private global::System.String _ContactTitle; + partial void OnContactTitleChanging(global::System.String value); + partial void OnContactTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String City + { + get + { + return _City; + } + set + { + OnCityChanging(value); + ReportPropertyChanging("City"); + _City = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("City"); + OnCityChanged(); + } + } + private global::System.String _City; + partial void OnCityChanging(global::System.String value); + partial void OnCityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Region + { + get + { + return _Region; + } + set + { + OnRegionChanging(value); + ReportPropertyChanging("Region"); + _Region = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Region"); + OnRegionChanged(); + } + } + private global::System.String _Region; + partial void OnRegionChanging(global::System.String value); + partial void OnRegionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String PostalCode + { + get + { + return _PostalCode; + } + set + { + OnPostalCodeChanging(value); + ReportPropertyChanging("PostalCode"); + _PostalCode = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("PostalCode"); + OnPostalCodeChanged(); + } + } + private global::System.String _PostalCode; + partial void OnPostalCodeChanging(global::System.String value); + partial void OnPostalCodeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Country + { + get + { + return _Country; + } + set + { + OnCountryChanging(value); + ReportPropertyChanging("Country"); + _Country = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Country"); + OnCountryChanged(); + } + } + private global::System.String _Country; + partial void OnCountryChanging(global::System.String value); + partial void OnCountryChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Phone + { + get + { + return _Phone; + } + set + { + OnPhoneChanging(value); + ReportPropertyChanging("Phone"); + _Phone = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Phone"); + OnPhoneChanged(); + } + } + private global::System.String _Phone; + partial void OnPhoneChanging(global::System.String value); + partial void OnPhoneChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String Fax + { + get + { + return _Fax; + } + set + { + OnFaxChanging(value); + ReportPropertyChanging("Fax"); + _Fax = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("Fax"); + OnFaxChanged(); + } + } + private global::System.String _Fax; + partial void OnFaxChanging(global::System.String value); + partial void OnFaxChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String HomePage + { + get + { + return _HomePage; + } + set + { + OnHomePageChanging(value); + ReportPropertyChanging("HomePage"); + _HomePage = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("HomePage"); + OnHomePageChanged(); + } + } + private global::System.String _HomePage; + partial void OnHomePageChanging(global::System.String value); + partial void OnHomePageChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Products_SupplierID_SupplierID", "Products")] + public EntityCollection Products + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.FK_Products_SupplierID_SupplierID", "Products", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="northwindEFModel", Name="Territories")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Territories : EntityObject + { + #region Factory Method + + /// + /// Create a new Territories object. + /// + /// Initial value of the TerritoryID property. + /// Initial value of the TerritoryDescription property. + public static Territories CreateTerritories(global::System.Int64 territoryID, global::System.String territoryDescription) + { + Territories territories = new Territories(); + territories.TerritoryID = territoryID; + territories.TerritoryDescription = territoryDescription; + return territories; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 TerritoryID + { + get + { + return _TerritoryID; + } + set + { + if (_TerritoryID != value) + { + OnTerritoryIDChanging(value); + ReportPropertyChanging("TerritoryID"); + _TerritoryID = StructuralObject.SetValidValue(value); + ReportPropertyChanged("TerritoryID"); + OnTerritoryIDChanged(); + } + } + } + private global::System.Int64 _TerritoryID; + partial void OnTerritoryIDChanging(global::System.Int64 value); + partial void OnTerritoryIDChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String TerritoryDescription + { + get + { + return _TerritoryDescription; + } + set + { + OnTerritoryDescriptionChanging(value); + ReportPropertyChanging("TerritoryDescription"); + _TerritoryDescription = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("TerritoryDescription"); + OnTerritoryDescriptionChanged(); + } + } + private global::System.String _TerritoryDescription; + partial void OnTerritoryDescriptionChanging(global::System.String value); + partial void OnTerritoryDescriptionChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "FK_Territories_RegionID_RegionID", "Regions")] + public Regions Regions + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference RegionsReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("northwindEFModel.FK_Territories_RegionID_RegionID", "Regions", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("northwindEFModel", "EmployeesTerritories", "Employees")] + public EntityCollection Employees + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("northwindEFModel.EmployeesTerritories", "Employees", value); + } + } + } + + #endregion + } + + #endregion + +} ADDED testlinq/NorthwindModel2013.edmx Index: testlinq/NorthwindModel2013.edmx ================================================================== --- /dev/null +++ testlinq/NorthwindModel2013.edmx @@ -0,0 +1,909 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: testlinq/Program.cs ================================================================== --- testlinq/Program.cs +++ testlinq/Program.cs @@ -6,19 +6,14 @@ ********************************************************/ using System; using System.Diagnostics; using System.Linq; +using System.Data.Objects; using System.Text; using System.Transactions; -#if USE_ENTITY_FRAMEWORK_6 -using System.Data.Entity.Core.Objects; -#else -using System.Data.Objects; -#endif - namespace testlinq { class Program { private static int Main(string[] args) Index: testlinq/Properties/AssemblyInfo.cs ================================================================== --- testlinq/Properties/AssemblyInfo.cs +++ testlinq/Properties/AssemblyInfo.cs @@ -8,17 +8,12 @@ using System.Reflection; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information -// associated with an assembly. -#if USE_ENTITY_FRAMEWORK_6 -[assembly: AssemblyTitle("System.Data.SQLite Tester for Entity Framework 6")] -#else -[assembly: AssemblyTitle("System.Data.SQLite Tester for LINQ")] -#endif - +// associated with an assembly. +[assembly: AssemblyTitle("System.Data.SQLite Tester for LINQ")] [assembly: AssemblyDescription("ADO.NET Data Provider for SQLite")] [assembly: AssemblyCompany("http://system.data.sqlite.org/")] [assembly: AssemblyProduct("System.Data.SQLite")] [assembly: AssemblyCopyright("Public Domain")] @@ -44,7 +39,7 @@ // Revision // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.91.0")] -[assembly: AssemblyFileVersion("1.0.91.0")] +[assembly: AssemblyVersion("1.0.90.0")] +[assembly: AssemblyFileVersion("1.0.90.0")] DELETED testlinq/test.2010.csproj Index: testlinq/test.2010.csproj ================================================================== --- testlinq/test.2010.csproj +++ /dev/null @@ -1,136 +0,0 @@ - - - - - Debug - AnyCPU - 10.0.30319 - 2.0 - {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3} - {2975AE0A-F159-4834-A837-5242C6691886} - Properties - Exe - testlinq - testef6 - testlinq - testef6 - 3.5 - Client - $(MSBuildProjectDirectory)\.. - true - 2010 - - - - - $(BinaryOutputPath) - - - true - full - false - DEBUG;TRACE - prompt - - - pdbonly - true - TRACE - prompt - - - - - - - - - - - - - - $(SQLiteNetDir)\Externals\EntityFramework\lib\net40\EntityFramework.dll - - - - - True - True - NorthwindModel.Linq.2008.edmx - - - True - True - NorthwindModel.Linq.2010.edmx - - - True - True - NorthwindModel.EF6.2010.edmx - - - - - - - - - - Always - - - EntityModelCodeGenerator - NorthwindModel.Linq.2008.Designer.cs - - - EntityModelCodeGenerator - NorthwindModel.Linq.2010.Designer.cs - - - EntityModelCodeGenerator - NorthwindModel.EF6.2010.Designer.cs - - - - - - - - - - $(BuildDependsOn); - CloneAndMark32BitOnlyFrameworkTargetName32; - CloneAndMark32BitOnlySdkToolsTargetName32; - - - - DELETED testlinq/test.2012.csproj Index: testlinq/test.2012.csproj ================================================================== --- testlinq/test.2012.csproj +++ /dev/null @@ -1,140 +0,0 @@ - - - - - Debug - AnyCPU - {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3} - {2975AE0A-F159-4834-A837-5242C6691886} - Properties - Exe - testlinq - testef6 - testlinq - testef6 - $(MSBuildProjectDirectory)\.. - true - 2012 - v4.5 - false - - - - - $(BinaryOutputPath) - - - true - full - false - DEBUG;TRACE - prompt - - - pdbonly - true - TRACE - prompt - - - - - - - - - - - - - - $(SQLiteNetDir)\Externals\EntityFramework\lib\net45\EntityFramework.dll - - - - - True - True - NorthwindModel.Linq.2008.edmx - - - True - True - NorthwindModel.Linq.2012.edmx - - - True - True - NorthwindModel.EF6.2012.edmx - - - - - - - - - - Always - - - EntityModelCodeGenerator - NorthwindModel.Linq.2008.Designer.cs - - - EntityModelCodeGenerator - NorthwindModel.Linq.2012.Designer.cs - - - EntityModelCodeGenerator - NorthwindModel.EF6.2012.Designer.cs - - - - - - - - - - $(BuildDependsOn); - CloneAndMark32BitOnlyFrameworkTargetName32; - CloneAndMark32BitOnlySdkToolsTargetName32; - - - - DELETED testlinq/test.2013.csproj Index: testlinq/test.2013.csproj ================================================================== --- testlinq/test.2013.csproj +++ /dev/null @@ -1,146 +0,0 @@ - - - - - Debug - AnyCPU - {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3} - {2975AE0A-F159-4834-A837-5242C6691886} - Properties - Exe - testlinq - testef6 - testlinq - testef6 - $(MSBuildProjectDirectory)\.. - true - 2013 - v4.5.1 - false - - - - - $(BinaryOutputPath) - - - true - full - false - DEBUG;TRACE - prompt - - - pdbonly - true - TRACE - prompt - - - - - - - - - - - - - - $(SQLiteNetDir)\Externals\EntityFramework\lib\net45\EntityFramework.dll - - - - - True - True - NorthwindModel.Linq.2008.edmx - - - True - True - NorthwindModel.Linq.2013.edmx - - - True - True - NorthwindModel.EF6.2013.edmx - - - - - - - - - - Always - - - EntityModelCodeGenerator - NorthwindModel.Linq.2008.Designer.cs - - - EntityModelCodeGenerator - NorthwindModel.Linq.2013.Designer.cs - - - EntityModelCodeGenerator - NorthwindModel.EF6.2013.Designer.cs - - - - - - - - - - $(BuildDependsOn); - CloneAndMark32BitOnlyFrameworkTargetName32; - CloneAndMark32BitOnlySdkToolsTargetName32; - - - - DELETED testlinq/testef6.2010.csproj Index: testlinq/testef6.2010.csproj ================================================================== --- testlinq/testef6.2010.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - - true - - - DELETED testlinq/testef6.2012.csproj Index: testlinq/testef6.2012.csproj ================================================================== --- testlinq/testef6.2012.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - - true - - - DELETED testlinq/testef6.2013.csproj Index: testlinq/testef6.2013.csproj ================================================================== --- testlinq/testef6.2013.csproj +++ /dev/null @@ -1,15 +0,0 @@ - - - - - true - - - Index: testlinq/testlinq.2008.csproj ================================================================== --- testlinq/testlinq.2008.csproj +++ testlinq/testlinq.2008.csproj @@ -23,11 +23,10 @@ $(MSBuildProjectDirectory)\.. true 2008 - $(BinaryOutputPath) true @@ -50,42 +49,36 @@ - + True True - NorthwindModel.Linq.2008.edmx + NorthwindModel2008.edmx - + Always - + EntityModelCodeGenerator - NorthwindModel.Linq.2008.Designer.cs + NorthwindModel2008.Designer.cs - - - $(BuildDependsOn); - CloneAndMark32BitOnlyFrameworkTargetName32; - - Index: testlinq/testlinq.2010.csproj ================================================================== --- testlinq/testlinq.2010.csproj +++ testlinq/testlinq.2010.csproj @@ -7,9 +7,93 @@ * Released to the public domain, use at your own risk! * --> - false + Debug + AnyCPU + 10.0.30319 + 2.0 + {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3} + Properties + Exe + testlinq + testlinq + 3.5 + Client + $(MSBuildProjectDirectory)\.. + true + 2010 + + + + $(BinaryOutputPath) + + + true + full + false + DEBUG;TRACE + prompt + + + pdbonly + true + TRACE + prompt - - + + + + + + + + + + + True + True + NorthwindModel2008.edmx + + + True + True + NorthwindModel2010.edmx + + + + + + + + + Always + + + EntityModelCodeGenerator + NorthwindModel2008.Designer.cs + + + EntityModelCodeGenerator + NorthwindModel2010.Designer.cs + + + + + + + + + Index: testlinq/testlinq.2012.csproj ================================================================== --- testlinq/testlinq.2012.csproj +++ testlinq/testlinq.2012.csproj @@ -7,9 +7,94 @@ * Released to the public domain, use at your own risk! * --> - false + Debug + AnyCPU + {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3} + Properties + Exe + testlinq + testlinq + $(MSBuildProjectDirectory)\.. + true + 2012 + v4.5 + false + + + + $(BinaryOutputPath) + + + true + full + false + DEBUG;TRACE + prompt + + + pdbonly + true + TRACE + prompt - - + + + + + + + + + + + True + True + NorthwindModel2008.edmx + + + True + True + NorthwindModel2012.edmx + + + + + + + + + Always + + + EntityModelCodeGenerator + NorthwindModel2008.Designer.cs + + + EntityModelCodeGenerator + NorthwindModel2012.Designer.cs + + + + + + + + + Index: testlinq/testlinq.2013.csproj ================================================================== --- testlinq/testlinq.2013.csproj +++ testlinq/testlinq.2013.csproj @@ -7,9 +7,97 @@ * Released to the public domain, use at your own risk! * --> - false + Debug + AnyCPU + {9D3CF7A6-092A-4B05-B0E4-BEF6944525B3} + Properties + Exe + testlinq + testlinq + $(MSBuildProjectDirectory)\.. + true + 2013 + v4.5.1 + false + + + + $(BinaryOutputPath) + + + true + full + false + DEBUG;TRACE + prompt + + + pdbonly + true + TRACE + prompt - - + + + + + + + + + + + True + True + NorthwindModel2008.edmx + + + True + True + NorthwindModel2013.edmx + + + + + + + + + Always + + + EntityModelCodeGenerator + NorthwindModel2008.Designer.cs + + + EntityModelCodeGenerator + NorthwindModel2013.Designer.cs + + + + + + + + + Index: tools/install/Installer.2005.csproj ================================================================== --- tools/install/Installer.2005.csproj +++ tools/install/Installer.2005.csproj @@ -58,12 +58,11 @@ $(BuildDependsOn); EmbedExeManifest; - StrongNameSignFrameworkTargetPath; - CloneAndMark32BitOnlyFrameworkTargetName32; + StrongNameSign;