**
** UPDATE t1 SET c = 'usa' WHERE a = 4;
**
** is represented by the data_t1 row created by:
**
** INSERT INTO data_t1(a, b, c, ota_control) VALUES(4, NULL, 'usa', '..x');
**
**
** USAGE
**
** The API declared below allows an application to apply an OTA update
** stored on disk to an existing target database. Essentially, the
** application:
**
................................................................................
**
** Argument zTarget is the path to the target database. Argument zOta is
** the path to the OTA database. Each call to this function must be matched
** by a call to sqlite3ota_close().
*/
sqlite3ota *sqlite3ota_open(const char *zTarget, const char *zOta);
/*
** Do some work towards applying the OTA update to the target db.
**
** Return SQLITE_DONE if the update has been completely applied, or
** SQLITE_OK if no error occurs but there remains work to do to apply
** the OTA update. If an error does occur, some other error code is
** returned.

**
** UPDATE t1 SET c = 'usa' WHERE a = 4;
**
** is represented by the data_t1 row created by:
**
** INSERT INTO data_t1(a, b, c, ota_control) VALUES(4, NULL, 'usa', '..x');
**
** Instead of an 'x' character, characters of the ota_control value specified** for UPDATEs may also be set to 'd'. In this case, instead of updating the** target table with the value stored in the corresponding data_% column, the** user-defined SQL function "ota_delta()" is invoked and the result stored in** the target table column. ota_delta() is invoked with two arguments - the** original value currently stored in the target table column and the ** value specified in the data_xxx table.**** For example, this row:**** INSERT INTO data_t1(a, b, c, ota_control) VALUES(4, NULL, 'usa', '..d');**** is similar to an UPDATE statement such as: **** UPDATE t1 SET c = ota_delta(c, 'usa') WHERE a = 4;
**
** USAGE
**
** The API declared below allows an application to apply an OTA update
** stored on disk to an existing target database. Essentially, the
** application:
**
................................................................................
**
** Argument zTarget is the path to the target database. Argument zOta is
** the path to the OTA database. Each call to this function must be matched
** by a call to sqlite3ota_close().
*/
sqlite3ota *sqlite3ota_open(const char *zTarget, const char *zOta);
/*** Obtain the underlying database handle used by the OTA extension.**** The only argument passed to this function must be a valid, open, OTA** handle. This function returns the database handle used by OTA for all** operations on the target and source databases. This may be useful in ** two scenarios:**** * If the data_xxx tables in the OTA source database are virtual ** tables, or if any of the tables being updated are virtual tables,** the application may need to call sqlite3_create_module() on** the db handle to register the required virtual table implementations.**** * If the application uses the "ota_delta()" feature described above,** it must use sqlite3_create_function() or similar to register the** ota_delta() implementation with OTA.*/sqlite3 *sqlite3ota_db(sqlite3ota*);
/*
** Do some work towards applying the OTA update to the target db.
**
** Return SQLITE_DONE if the update has been completely applied, or
** SQLITE_OK if no error occurs but there remains work to do to apply
** the OTA update. If an error does occur, some other error code is
** returned.

This page was generated in about
0.013s by
Fossil 2.12 [16d68b0d4c] 2020-06-04 14:23:44