Changeset 769 for trunk/src/sql/drivers/sqlite/qsql_sqlite.cpp
- Timestamp:
- Aug 2, 2010, 9:27:30 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.6.3 (added) merged: 768 /branches/vendor/nokia/qt/current merged: 767 /branches/vendor/nokia/qt/4.6.2 removed
- Property svn:mergeinfo changed
-
trunk/src/sql/drivers/sqlite/qsql_sqlite.cpp
r651 r769 246 246 break; 247 247 default: 248 values[i + idx] = QString ::fromUtf16(static_cast<const ushort*>(248 values[i + idx] = QString *>( 249 249 sqlite3_column_text16(stmt, i)), 250 sqlite3_column_bytes16(stmt, i) / sizeof( ushort));250 sqlite3_column_bytes16(stmt, i) / sizeof()); 251 251 break; 252 252 } … … 260 260 sqlite3_reset(stmt); 261 261 return false; 262 262 263 case SQLITE_ERROR: 263 264 // SQLITE_ERROR is a generic error code and we must call sqlite3_reset() … … 501 502 } 502 503 503 static int qGetSqliteTimeout(QString opts)504 {505 enum { DefaultTimeout = 5000 };506 507 opts.remove(QLatin1Char(' '));508 foreach(QString option, opts.split(QLatin1Char(';'))) {509 if (option.startsWith(QLatin1String("QSQLITE_BUSY_TIMEOUT="))) {510 bool ok;511 int nt = option.mid(21).toInt(&ok);512 if (ok)513 return nt;514 }515 }516 return DefaultTimeout;517 }518 519 static int qGetSqliteOpenMode(QString opts)520 {521 opts.remove(QLatin1Char(' '));522 foreach(QString option, opts.split(QLatin1Char(';'))) {523 if (option == QLatin1String("QSQLITE_OPEN_READONLY"))524 return SQLITE_OPEN_READONLY;525 }526 return SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE;527 }528 529 504 /* 530 505 SQLite dbs have no user name, passwords, hosts or ports. … … 538 513 if (db.isEmpty()) 539 514 return false; 540 541 if (sqlite3_open_v2(db.toUtf8().constData(), &d->access, qGetSqliteOpenMode(conOpts), NULL) == SQLITE_OK) { 542 sqlite3_busy_timeout(d->access, qGetSqliteTimeout(conOpts)); 515 bool sharedCache = false; 516 int openMode = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, timeOut=5000; 517 QStringList opts=QString(conOpts).remove(QLatin1Char(' ')).split(QLatin1Char(';')); 518 foreach(const QString &option, opts) { 519 if (option.startsWith(QLatin1String("QSQLITE_BUSY_TIMEOUT="))) { 520 bool ok; 521 int nt = option.mid(21).toInt(&ok); 522 if (ok) 523 timeOut = nt; 524 } 525 if (option == QLatin1String("QSQLITE_OPEN_READONLY")) 526 openMode = SQLITE_OPEN_READONLY; 527 if (option == QLatin1String("QSQLITE_ENABLE_SHARED_CACHE")) 528 sharedCache = true; 529 } 530 531 sqlite3_enable_shared_cache(sharedCache); 532 533 if (sqlite3_open_v2(db.toUtf8().constData(), &d->access, openMode, NULL) == SQLITE_OK) { 534 sqlite3_busy_timeout(d->access, timeOut); 543 535 setOpen(true); 544 536 setOpenError(false);
Note:
See TracChangeset
for help on using the changeset viewer.