/**
  * Enables or disables extension loading.
  *
  * @param enable True to enable; false to disable.
  * @see <a
  *     href="http://www.sqlite.org/c3ref/load_extension.html">http://www.sqlite.org/c3ref/load_extension.html</a>
  */
 public void setLoadExtension(boolean enable) {
   config.enableLoadExtension(enable);
 }
 /**
  * Sets the database connection locking-mode.
  *
  * @param mode Either NORMAL or EXCLUSIVE.
  * @see <a href="http://www.sqlite.org/pragma.html#pragma_locking_mode">
  *     http://www.sqlite.org/pragma.html#pragma_locking_mode</a>
  */
 public void setLockingMode(String mode) {
   config.setLockingMode(LockingMode.valueOf(mode));
 }
 /**
  * Set the value of the sqlite3_temp_directory global variable, which many operating-system
  * interface backends use to determine where to store temporary tables and indices.
  *
  * @param directoryName The temporary directory name.
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_temp_store_directory">http://www.sqlite.org/pragma.html#pragma_temp_store_directory</a>
  */
 public void setTempStoreDirectory(String directoryName) {
   config.setTempStoreDirectory(directoryName);
 }
 /**
  * Sets the value of the user-version. It is a big-endian 32-bit signed integer stored in the
  * database header at offset 60.
  *
  * @param version
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_schema_version">http://www.sqlite.org/pragma.html#pragma_schema_version</a>
  */
 public void setUserVersion(int version) {
   config.setUserVersion(version);
 }
 /**
  * Enables or disables the reverse_unordered_selects flag. When enabled it causes SELECT
  * statements without an ORDER BY clause to emit their results in the reverse order of what they
  * normally would.
  *
  * @param enable True to enable; fase to disable.
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_reverse_unordered_selects">http://www.sqlite.org/pragma.html#pragma_reverse_unordered_selects</a>
  */
 public void setReverseUnorderedSelects(boolean enable) {
   config.enableReverseUnorderedSelects(enable);
 }
 /**
  * Sets the setting of the "synchronous" flag.
  *
  * @param mode One of OFF, NORMAL or FULL;
  * @see <a href="http://www.sqlite.org/pragma.html#pragma_synchronous">
  *     http://www.sqlite.org/pragma.html#pragma_synchronous</a>
  */
 public void setSynchronous(String mode) {
   config.setSynchronous(SynchronousMode.valueOf(mode));
 }
 /**
  * Enables or disables the enforcement of foreign key constraints.
  *
  * @param enforce True to enable; false to disable.
  * @see <a href="http://www.sqlite.org/pragma.html#pragma_foreign_keys">
  *     http://www.sqlite.org/pragma.html#pragma_foreign_keys</a>
  */
 public void setEnforceForeinKeys(boolean enforce) {
   config.enforceForeignKeys(enforce);
 }
 /**
  * Set READ UNCOMMITTED isolation
  *
  * @param useReadUncommitedIsolationMode True to turn on; false to turn off.
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_read_uncommitted">http://www.sqlite.org/pragma.html#pragma_read_uncommitted</a>
  */
 public void setReadUncommited(boolean useReadUncommitedIsolationMode) {
   config.setReadUncommited(useReadUncommitedIsolationMode);
 }
 /**
  * Sets the default maximum number of database disk pages that SQLite will hold in memory at once
  * per open database file.
  *
  * @param numberOfPages The default suggested cache size.
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_cache_size">http://www.sqlite.org/pragma.html#pragma_cache_size</a>
  */
 public void setDefaultCacheSize(int numberOfPages) {
   config.setDefaultCacheSize(numberOfPages);
 }
 /**
  * Sets the text encoding used by the main database.
  *
  * @param encoding One of "UTF-8", "UTF-16le" (little-endian UTF-16) or "UTF-16be" (big-endian
  *     UTF-16).
  * @see <a href="http://www.sqlite.org/pragma.html#pragma_encoding">
  *     http://www.sqlite.org/pragma.html#pragma_encoding</a>
  */
 public void setEncoding(String encoding) {
   config.setEncoding(Encoding.getEncoding(encoding));
 }
 /**
  * Enables or disables the count-changes flag. When enabled INSERT, UPDATE and DELETE statements
  * return the number of rows they modified.
  *
  * @param enable True to enable; false to disable.
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_count_changes">http://www.sqlite.org/pragma.html#pragma_count_changes</a>
  */
 public void setCouncChanges(boolean enable) {
   config.enableCountChanges(enable);
 }
 /**
  * Enables or disables case sensitivity for the built-in LIKE operator.
  *
  * @param enable True to enable; false to disable.
  * @see <a
  *     href="http://www.sqlite.org/compile.html#case_sensitive_like">http://www.sqlite.org/compile.html#case_sensitive_like</a>
  */
 public void setCaseSensitiveLike(boolean enable) {
   config.enableCaseSensitiveLike(enable);
 }
 /**
  * Sets the database to be opened in read-only mode
  *
  * @param readOnly True to enable; false to disable.
  * @see <a
  *     href="http://www.sqlite.org/c3ref/c_open_autoproxy.html">http://www.sqlite.org/c3ref/c_open_autoproxy.html</a>
  */
 public void setReadOnly(boolean readOnly) {
   config.setReadOnly(readOnly);
 }
 /**
  * Set the page size of the database.
  *
  * @param numBytes The page size must be a power of two between 512 and 65536 inclusive.
  * @see <a href="http://www.sqlite.org/pragma.html#pragma_page_size">
  *     http://www.sqlite.org/pragma.html#pragma_page_size</a>
  */
 public void setPageSize(int numBytes) {
   config.setPageSize(numBytes);
 }
 /**
  * Enables or disables the full_column_names flag. This flag together with the short_column_names
  * flag determine the way SQLite assigns names to result columns of SELECT statements.
  *
  * @param enable True to enable; false to disable.
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_full_column_names">http://www.sqlite.org/pragma.html#pragma_full_column_names</a>
  */
 public void setFullColumnNames(boolean enable) {
   config.enableFullColumnNames(enable);
 }
 /**
  * Set the maximum number of pages in the database file.
  *
  * @param numPages The maximum page count cannot be reduced below the current database size.
  * @see <a href="http://www.sqlite.org/pragma.html#pragma_max_page_count">
  *     http://www.sqlite.org/pragma.html#pragma_max_page_count</a>
  */
 public void setMaxPageCount(int numPages) {
   config.setMaxPageCount(numPages);
 }
 /**
  * Enables or disables the fullfsync flag. This flag determines whether or not the F_FULLFSYNC
  * syncing method is used on systems that support it.
  *
  * @param enable True to enable; false to disable.
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_fullfsync">http://www.sqlite.org/pragma.html#pragma_fullfsync</a>
  */
 public void setFullSync(boolean enable) {
   config.enableFullSync(enable);
 }
 /**
  * Enables or disables the recursive trigger capability. Changing the recursive_triggers setting
  * affects the execution of all statements prepared using the database connection, including those
  * prepared before the setting was changed.
  *
  * @param enable True to enable; fase to disable.
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_recursive_triggers">http://www.sqlite.org/pragma.html#pragma_recursive_triggers</a>
  */
 public void setRecursiveTriggers(boolean enable) {
   config.enableRecursiveTriggers(enable);
 }
 /**
  * Set the incremental_vacuum value that causes up to N pages to be removed from the <a
  * href="http://www.sqlite.org/fileformat2.html#freelist">http://www.sqlite.org/fileformat2.html#freelist</a>.
  *
  * @param numberOfPagesToBeRemoved
  * @see <a href="http://www.sqlite.org/pragma.html#pragma_incremental_vacuum">
  *     http://www.sqlite.org/pragma.html#pragma_incremental_vacuum</a>
  */
 public void setIncrementalVacuum(int numberOfPagesToBeRemoved) {
   config.incrementalVacuum(numberOfPagesToBeRemoved);
 }
 /**
  * Enables or disables the short_column_names flag. This flag affects the way SQLite names columns
  * of data returned by SELECT statements.
  *
  * @param enable True to enable; fase to disable.
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_short_column_names">http://www.sqlite.org/pragma.html#pragma_short_column_names</a>
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_fullfsync">http://www.sqlite.org/pragma.html#pragma_fullfsync</a>
  */
 public void setShortColumnNames(boolean enable) {
   config.enableShortColumnNames(enable);
 }
 /**
  * Sets the journal mode for databases associated with the current database connection.
  *
  * @param mode One of DELETE, TRUNCATE, PERSIST, MEMORY, WAL or OFF.
  * @see <a href="http://www.sqlite.org/pragma.html#pragma_journal_mode">
  *     http://www.sqlite.org/pragma.html#pragma_journal_mode</a>
  */
 public void setJournalMode(String mode) {
   config.setJournalMode(JournalMode.valueOf(mode));
 }
 /**
  * Set the temp_store type which is used to determine where temporary tables and indices are
  * stored.
  *
  * @param storeType One of "DEFAULT", "FILE", "MEMORY"
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_temp_store">http://www.sqlite.org/pragma.html#pragma_temp_store</a>
  */
 public void setTempStore(String storeType) {
   config.setTempStore(TempStore.valueOf(storeType));
 }
 /**
  * Sets the limit of the size of rollback-journal and WAL files left in the file-system after
  * transactions or checkpoints.
  *
  * @param limit The default journal size limit is -1 (no limit).
  * @see <a href="http://www.sqlite.org/pragma.html#pragma_journal_size_limit">
  *     http://www.sqlite.org/pragma.html#pragma_journal_size_limit</a>
  */
 public void setJournalSizeLimit(int limit) {
   config.setJounalSizeLimit(limit);
 }
 /**
  * Sets the mode that will be used to start transactions for this database.
  *
  * @param transactionMode One of DEFFERED, IMMEDIATE or EXCLUSIVE.
  * @see <a
  *     href="http://www.sqlite.org/lang_transaction.html">http://www.sqlite.org/lang_transaction.html</a>
  */
 public void setTransactionMode(String transactionMode) {
   config.setTransactionMode(transactionMode);
 }
 /**
  * Set the value of the legacy_file_format flag. When this flag is on, new databases are created
  * in a file format that is readable and writable by all versions of SQLite going back to 3.0.0.
  * When the flag is off, new databases are created using the latest file format which might not be
  * readable or writable by versions of SQLite prior to 3.3.0.
  *
  * @param use True to turn on; false to turn off.
  * @see <a
  *     href="http://www.sqlite.org/pragma.html#pragma_legacy_file_format">http://www.sqlite.org/pragma.html#pragma_legacy_file_format</a>
  */
 public void setLegacyFileFormat(boolean use) {
   config.useLegacyFileFormat(use);
 }
 /** @see javax.sql.DataSource#getConnection(java.lang.String, java.lang.String) */
 public Connection getConnection(String username, String password) throws SQLException {
   Properties p = config.toProperties();
   if (username != null) p.put("user", username);
   if (password != null) p.put("pass", password);
   return JDBC.createConnection(url, p);
 }
 /**
  * Enables or disables the sharing of the database cache and schema data structures between
  * connections to the same database.
  *
  * @param enable True to enable; false to disable.
  * @see <a
  *     href="http://www.sqlite.org/c3ref/enable_shared_cache.html">http://www.sqlite.org/c3ref/enable_shared_cache.html</a>
  */
 public void setSharedCache(boolean enable) {
   config.setSharedCache(enable);
 }