+ |-1 0 1| + |-2 0 2| + |-1 0 1|+ kernel and the second one corresponds to +
+ |-1 -2 -1| + | 0 0 0| + | 1 2 1|+ or +
+ | 1 2 1| + | 0 0 0| + |-1 -2 -1|+ kernel, depending on the image origin (origin field of IplImage structure). No scaling is done, so the destination image usually has larger by absolute value numbers than the source image. To avoid overflow, the function requires 16-bit destination image if the source image is 8-bit. The result can be converted back to 8-bit using cvConvertScale or cvConvertScaleAbs functions. Besides 8-bit images the function can process 32-bit floating-point images. Both source and destination must be single-channel images of equal size or ROI size +
update SomeTable
+ set ComplexTypeColumn.SomeProperty()
+ where Id = 2
+ min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay)
+ The Database.SetInitializer<TTransactionContext>(null)
where TTransactionContext is the type of the resolved context.
+ true
which means that EF will continue with the assumption
+ that the provider has the necessary types/resources rather than failing fast.
+
+ int (*xCreate)(sqlite3 *db, void *pAux,
+ int argc, char *const*argv,
+ sqlite3_vtab **ppVTab,
+ char **pzErr);
+
+ int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable)
+
+ CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden);
+
+ CREATE TABLE generate_series(
+ value,
+ start HIDDEN,
+ stop HIDDEN,
+ step HIDDEN
+ );
+
+ SELECT value FROM generate_series(5,50);
+
+ SELECT value FROM generate_series WHERE start=5 AND stop=50;
+
+ int (*xConnect)(sqlite3*, void *pAux,
+ int argc, char *const*argv,
+ sqlite3_vtab **ppVTab,
+ char **pzErr);
+
+ int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
+
+ struct sqlite3_index_info {
+ /* Inputs */
+ const int nConstraint; /* Number of entries in aConstraint */
+ const struct sqlite3_index_constraint {
+ int iColumn; /* Column constrained. -1 for ROWID */
+ unsigned char op; /* Constraint operator */
+ unsigned char usable; /* True if this constraint is usable */
+ int iTermOffset; /* Used internally - xBestIndex should ignore */
+ } *const aConstraint; /* Table of WHERE clause constraints */
+ const int nOrderBy; /* Number of terms in the ORDER BY clause */
+ const struct sqlite3_index_orderby {
+ int iColumn; /* Column number */
+ unsigned char desc; /* True for DESC. False for ASC. */
+ } *const aOrderBy; /* The ORDER BY clause */
+ /* Outputs */
+ struct sqlite3_index_constraint_usage {
+ int argvIndex; /* if >0, constraint is part of argv to xFilter */
+ unsigned char omit; /* Do not code a test for this constraint */
+ } *const aConstraintUsage;
+ int idxNum; /* Number used to identify the index */
+ char *idxStr; /* String, possibly obtained from sqlite3_malloc */
+ int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */
+ int orderByConsumed; /* True if output is already ordered */
+ double estimatedCost; /* Estimated cost of using this index */
+ ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]>
+ sqlite3_int64 estimatedRows; /* Estimated number of rows returned */
+ ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]>
+ int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */
+ ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]>
+ sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */
+ };
+
+ #define SQLITE_INDEX_CONSTRAINT_EQ 2
+ #define SQLITE_INDEX_CONSTRAINT_GT 4
+ #define SQLITE_INDEX_CONSTRAINT_LE 8
+ #define SQLITE_INDEX_CONSTRAINT_LT 16
+ #define SQLITE_INDEX_CONSTRAINT_GE 32
+ #define SQLITE_INDEX_CONSTRAINT_MATCH 64
+ #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */
+ #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */
+
+ column OP EXPR
+
+ a = 5
+
+ x BETWEEN 10 AND 100 AND 999>y
+
+ x >= 10
+ x <= 100
+ y < 999
+
+ FUNCTION( column, EXPR)
+
+ LIKE(EXPR, column)]]>
+ GLOB(EXPR, column)]]>
+ REGEXP(EXPR, column)]]>
+ MATCH(EXPR, column)]]>
+
+ column LIKE EXPR]]>
+ LIKE(EXPR,column)
+
+ SELECT * FROM realtab, tablevaluedfunc(realtab.x);
+
+ SELECT * FROM realtab, tablevaluedfunc
+ WHERE tablevaluedfunc.param1 = realtab.x;
+
+ int (*xDisconnect)(sqlite3_vtab *pVTab);
+
+ int (*xDestroy)(sqlite3_vtab *pVTab);
+
+ int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);
+
+ int (*xClose)(sqlite3_vtab_cursor*);
+
+ int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr,
+ int argc, sqlite3_value **argv);
+
+ int (*xNext)(sqlite3_vtab_cursor*);
+
+ int (*xEof)(sqlite3_vtab_cursor*);
+
+ int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N);
+
+ int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid);
+
+ int (*xUpdate)(
+ sqlite3_vtab *pVTab,
+ int argc,
+ sqlite3_value **argv,
+ sqlite_int64 *pRowid
+ );
+
+ ]]>
+ ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]>
+ ]]>]]>
+ DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted.
+ No insert occurs.
+ ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]>
+ ]]>]]>
+ INSERT: A new row is inserted with column values taken from
+ argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL,
+ then a new unique rowid is generated automatically. The argv[1] will be NULL
+ for a WITHOUT ROWID virtual table, in which case the implementation should
+ take the PRIMARY KEY value from the appropriate column in argv[2] and following.
+ ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]>
+ ]]>]]>
+ UPDATE:
+ The row with rowid or PRIMARY KEY argv[0] is updated with new values
+ in argv[2] and following parameters.
+ ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]>
+ ]]>]]>
+ UPDATE with rowid or PRIMARY KEY change:
+ The row with rowid or PRIMARY KEY argv[0] is updated with
+ the rowid or PRIMARY KEY in argv[1]
+ and new values in argv[2] and following parameters. This will occur
+ when an SQL statement updates a rowid, as in the statement:
+
+ UPDATE table SET rowid=rowid+1 WHERE ...;
+
+ ]]>]]>
+
+ int (*xBegin)(sqlite3_vtab *pVTab);
+
+ int (*xSync)(sqlite3_vtab *pVTab);
+
+ int (*xCommit)(sqlite3_vtab *pVTab);
+
+ int (*xRollback)(sqlite3_vtab *pVTab);
+
+ int (*xFindFunction)(
+ sqlite3_vtab *pVtab,
+ int nArg,
+ const char *zName,
+ void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
+ void **ppArg
+ );
+
+ SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon);
+
+ int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
+
+ int (*xSavepoint)(sqlite3_vtab *pVtab, int);
+ int (*xRelease)(sqlite3_vtab *pVtab, int);
+ int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
+
+ int (*xSavepoint)(sqlite3_vtab *pVtab, int);
+ int (*xRelease)(sqlite3_vtab *pVtab, int);
+ int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
+
+ int (*xSavepoint)(sqlite3_vtab *pVtab, int);
+ int (*xRelease)(sqlite3_vtab *pVtab, int);
+ int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
+
+ (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol)))
+
+ public static class Sample
+ {
+ public static void Main()
+ {
+ using (SQLiteConnection connection = new SQLiteConnection(
+ "Data Source=:memory:;"))
+ {
+ connection.Open();
+
+ connection.CreateModule(new SQLiteModuleEnumerable(
+ "sampleModule", new string[] { "one", "two", "three" }));
+
+ using (SQLiteCommand command = connection.CreateCommand())
+ {
+ command.CommandText =
+ "CREATE VIRTUAL TABLE t1 USING sampleModule;";
+
+ command.ExecuteNonQuery();
+ }
+
+ using (SQLiteCommand command = connection.CreateCommand())
+ {
+ command.CommandText = "SELECT * FROM t1;";
+
+ using (SQLiteDataReader dataReader = command.ExecuteReader())
+ {
+ while (dataReader.Read())
+ Console.WriteLine(dataReader[0].ToString());
+ }
+ }
+
+ connection.Close();
+ }
+ }
+ }
+
+ zedGraphControl1.PointEditEvent +=
+ new ZedGraphControl.PointEditHandler( MyPointEditHandler );
+
+ private string MyPointEditHandler( object sender, GraphPane pane, CurveItem curve, int iPt )
+ {
+ PointPair pt = curve[iPt];
+ return "This value is " + pt.Y.ToString("f2") + " gallons";
+ }
+ zedGraphControl1.PointValueEvent +=
+ new ZedGraphControl.PointValueHandler( MyPointValueHandler );
+
+ private string MyPointValueHandler( object sender, GraphPane pane, CurveItem curve, int iPt )
+ {
+ #region
+ PointPair pt = curve[iPt];
+ return "This value is " + pt.Y.ToString("f2") + " gallons";
+ #endregion
+ }
+ zedGraphControl1.CursorValueEvent +=
+ new ZedGraphControl.CursorValueHandler( MyCursorValueHandler );
+
+ private string MyCursorValueHandler( object sender, GraphPane pane, Point mousePt )
+ {
+ #region
+ double x, y;
+ pane.ReverseTransform( mousePt, out x, out y );
+ return "( " + x.ToString( "f2" ) + ", " + y.ToString( "f2" ) + " )";
+ #endregion
+ }
+
+ ParentClass foo = new ChildClass();
+ ChildClass bar = (ChildClass) ((ICloneable)foo).Clone();
+
+ Assume that ChildClass is inherited from ParentClass. Even though foo is declared with
+ ParentClass, it is actually an instance of ChildClass. Calling the ICloneable implementation
+ of Clone() on foo actually calls ChildClass.Clone() as if it were a virtual function.
+
+ ParentClass foo = new ChildClass();
+ ChildClass bar = (ChildClass) ((ICloneable)foo).Clone();
+
+ Assume that ChildClass is inherited from ParentClass. Even though foo is declared with
+ ParentClass, it is actually an instance of ChildClass. Calling the ICloneable implementation
+ of Clone() on foo actually calls ChildClass.Clone() as if it were a virtual function.
+
+ ParentClass foo = new ChildClass();
+ ChildClass bar = (ChildClass) ((ICloneable)foo).Clone();
+
+ Assume that ChildClass is inherited from ParentClass. Even though foo is declared with
+ ParentClass, it is actually an instance of ChildClass. Calling the ICloneable implementation
+ of Clone() on foo actually calls ChildClass.Clone() as if it were a virtual function.
+ ForwardStep
(RearwardStep
.
+ That is, the points are defined at the beginning or end
+ of the staticant value for which they apply, respectively.
+
+ ParentClass foo = new ChildClass();
+ ChildClass bar = (ChildClass) ((ICloneable)foo).Clone();
+
+ Assume that ChildClass is inherited from ParentClass. Even though foo is declared with
+ ParentClass, it is actually an instance of ChildClass. Calling the ICloneable implementation
+ of Clone() on foo actually calls ChildClass.Clone() as if it were a virtual function.
+
+ ParentClass foo = new ChildClass();
+ ChildClass bar = (ChildClass) ((ICloneable)foo).Clone();
+
+ Assume that ChildClass is inherited from ParentClass. Even though foo is declared with
+ ParentClass, it is actually an instance of ChildClass. Calling the ICloneable implementation
+ of Clone() on foo actually calls ChildClass.Clone() as if it were a virtual function.
+ update SomeTable
+ set ComplexTypeColumn.SomeProperty()
+ where Id = 2
+ min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay)
+ The Database.SetInitializer<TTransactionContext>(null)
where TTransactionContext is the type of the resolved context.
+ true
which means that EF will continue with the assumption
+ that the provider has the necessary types/resources rather than failing fast.
+
+ int (*xCreate)(sqlite3 *db, void *pAux,
+ int argc, char *const*argv,
+ sqlite3_vtab **ppVTab,
+ char **pzErr);
+
+ int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable)
+
+ CREATE TABLE x(a HIDDEN VARCHAR(12), b INTEGER, c INTEGER Hidden);
+
+ CREATE TABLE generate_series(
+ value,
+ start HIDDEN,
+ stop HIDDEN,
+ step HIDDEN
+ );
+
+ SELECT value FROM generate_series(5,50);
+
+ SELECT value FROM generate_series WHERE start=5 AND stop=50;
+
+ int (*xConnect)(sqlite3*, void *pAux,
+ int argc, char *const*argv,
+ sqlite3_vtab **ppVTab,
+ char **pzErr);
+
+ int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*);
+
+ struct sqlite3_index_info {
+ /* Inputs */
+ const int nConstraint; /* Number of entries in aConstraint */
+ const struct sqlite3_index_constraint {
+ int iColumn; /* Column constrained. -1 for ROWID */
+ unsigned char op; /* Constraint operator */
+ unsigned char usable; /* True if this constraint is usable */
+ int iTermOffset; /* Used internally - xBestIndex should ignore */
+ } *const aConstraint; /* Table of WHERE clause constraints */
+ const int nOrderBy; /* Number of terms in the ORDER BY clause */
+ const struct sqlite3_index_orderby {
+ int iColumn; /* Column number */
+ unsigned char desc; /* True for DESC. False for ASC. */
+ } *const aOrderBy; /* The ORDER BY clause */
+ /* Outputs */
+ struct sqlite3_index_constraint_usage {
+ int argvIndex; /* if >0, constraint is part of argv to xFilter */
+ unsigned char omit; /* Do not code a test for this constraint */
+ } *const aConstraintUsage;
+ int idxNum; /* Number used to identify the index */
+ char *idxStr; /* String, possibly obtained from sqlite3_malloc */
+ int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */
+ int orderByConsumed; /* True if output is already ordered */
+ double estimatedCost; /* Estimated cost of using this index */
+ ]]>/* Fields below are only available in SQLite 3.8.2 and later */]]>
+ sqlite3_int64 estimatedRows; /* Estimated number of rows returned */
+ ]]>/* Fields below are only available in SQLite 3.9.0 and later */]]>
+ int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */
+ ]]>/* Fields below are only available in SQLite 3.10.0 and later */]]>
+ sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */
+ };
+
+ #define SQLITE_INDEX_CONSTRAINT_EQ 2
+ #define SQLITE_INDEX_CONSTRAINT_GT 4
+ #define SQLITE_INDEX_CONSTRAINT_LE 8
+ #define SQLITE_INDEX_CONSTRAINT_LT 16
+ #define SQLITE_INDEX_CONSTRAINT_GE 32
+ #define SQLITE_INDEX_CONSTRAINT_MATCH 64
+ #define SQLITE_INDEX_CONSTRAINT_LIKE 65 /* 3.10.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_GLOB 66 /* 3.10.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_REGEXP 67 /* 3.10.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_NE 68 /* 3.21.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_ISNOT 69 /* 3.21.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 /* 3.21.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_ISNULL 71 /* 3.21.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_IS 72 /* 3.21.0 and later */
+ #define SQLITE_INDEX_CONSTRAINT_FUNCTION 150 /* 3.25.0 and later */
+ #define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */
+
+ column OP EXPR
+
+ a = 5
+
+ x BETWEEN 10 AND 100 AND 999>y
+
+ x >= 10
+ x <= 100
+ y < 999
+
+ FUNCTION( column, EXPR)
+
+ LIKE(EXPR, column)]]>
+ GLOB(EXPR, column)]]>
+ REGEXP(EXPR, column)]]>
+ MATCH(EXPR, column)]]>
+
+ column LIKE EXPR]]>
+ LIKE(EXPR,column)
+
+ SELECT * FROM realtab, tablevaluedfunc(realtab.x);
+
+ SELECT * FROM realtab, tablevaluedfunc
+ WHERE tablevaluedfunc.param1 = realtab.x;
+
+ int (*xDisconnect)(sqlite3_vtab *pVTab);
+
+ int (*xDestroy)(sqlite3_vtab *pVTab);
+
+ int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor);
+
+ int (*xClose)(sqlite3_vtab_cursor*);
+
+ int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr,
+ int argc, sqlite3_value **argv);
+
+ int (*xNext)(sqlite3_vtab_cursor*);
+
+ int (*xEof)(sqlite3_vtab_cursor*);
+
+ int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int N);
+
+ int (*xRowid)(sqlite3_vtab_cursor *pCur, sqlite_int64 *pRowid);
+
+ int (*xUpdate)(
+ sqlite3_vtab *pVTab,
+ int argc,
+ sqlite3_value **argv,
+ sqlite_int64 *pRowid
+ );
+
+ ]]>
+ ]]>]]>argc = 1 ]]> argv[0] ≠ NULL]]>
+ ]]>]]>
+ DELETE: The single row with rowid or PRIMARY KEY equal to argv[0] is deleted.
+ No insert occurs.
+ ]]>]]>]]>argc > 1 ]]> argv[0] = NULL]]>
+ ]]>]]>
+ INSERT: A new row is inserted with column values taken from
+ argv[2] and following. In a rowid virtual table, if argv[1] is an SQL NULL,
+ then a new unique rowid is generated automatically. The argv[1] will be NULL
+ for a WITHOUT ROWID virtual table, in which case the implementation should
+ take the PRIMARY KEY value from the appropriate column in argv[2] and following.
+ ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] = argv[1]]]>
+ ]]>]]>
+ UPDATE:
+ The row with rowid or PRIMARY KEY argv[0] is updated with new values
+ in argv[2] and following parameters.
+ ]]>]]>]]>argc > 1 ]]> argv[0] ≠ NULL ]]> argv[0] ≠ argv[1]]]>
+ ]]>]]>
+ UPDATE with rowid or PRIMARY KEY change:
+ The row with rowid or PRIMARY KEY argv[0] is updated with
+ the rowid or PRIMARY KEY in argv[1]
+ and new values in argv[2] and following parameters. This will occur
+ when an SQL statement updates a rowid, as in the statement:
+
+ UPDATE table SET rowid=rowid+1 WHERE ...;
+
+ ]]>]]>
+
+ int (*xBegin)(sqlite3_vtab *pVTab);
+
+ int (*xSync)(sqlite3_vtab *pVTab);
+
+ int (*xCommit)(sqlite3_vtab *pVTab);
+
+ int (*xRollback)(sqlite3_vtab *pVTab);
+
+ int (*xFindFunction)(
+ sqlite3_vtab *pVtab,
+ int nArg,
+ const char *zName,
+ void (**pxFunc)(sqlite3_context*,int,sqlite3_value**),
+ void **ppArg
+ );
+
+ SELECT * FROM geopolytab WHERE geopoly_overlap(_shape, $query_polygon);
+
+ int (*xRename)(sqlite3_vtab *pVtab, const char *zNew);
+
+ int (*xSavepoint)(sqlite3_vtab *pVtab, int);
+ int (*xRelease)(sqlite3_vtab *pVtab, int);
+ int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
+
+ int (*xSavepoint)(sqlite3_vtab *pVtab, int);
+ int (*xRelease)(sqlite3_vtab *pVtab, int);
+ int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
+
+ int (*xSavepoint)(sqlite3_vtab *pVtab, int);
+ int (*xRelease)(sqlite3_vtab *pVtab, int);
+ int (*xRollbackTo)(sqlite3_vtab *pVtab, int);
+
+ (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol)))
+
+ public static class Sample
+ {
+ public static void Main()
+ {
+ using (SQLiteConnection connection = new SQLiteConnection(
+ "Data Source=:memory:;"))
+ {
+ connection.Open();
+
+ connection.CreateModule(new SQLiteModuleEnumerable(
+ "sampleModule", new string[] { "one", "two", "three" }));
+
+ using (SQLiteCommand command = connection.CreateCommand())
+ {
+ command.CommandText =
+ "CREATE VIRTUAL TABLE t1 USING sampleModule;";
+
+ command.ExecuteNonQuery();
+ }
+
+ using (SQLiteCommand command = connection.CreateCommand())
+ {
+ command.CommandText = "SELECT * FROM t1;";
+
+ using (SQLiteDataReader dataReader = command.ExecuteReader())
+ {
+ while (dataReader.Read())
+ Console.WriteLine(dataReader[0].ToString());
+ }
+ }
+
+ connection.Close();
+ }
+ }
+ }
+
+