tests/auto/qsqlquery/tst_qsqlquery.cpp
changeset 23 89e065397ea6
parent 19 fcece45ef507
equal deleted inserted replaced
22:79de32ba3296 23:89e065397ea6
   207     void QTBUG_6618();
   207     void QTBUG_6618();
   208     void QTBUG_6852_data() { generic_data("QMYSQL"); }
   208     void QTBUG_6852_data() { generic_data("QMYSQL"); }
   209     void QTBUG_6852();
   209     void QTBUG_6852();
   210     void QTBUG_5765_data() { generic_data("QMYSQL"); }
   210     void QTBUG_5765_data() { generic_data("QMYSQL"); }
   211     void QTBUG_5765();
   211     void QTBUG_5765();
       
   212     void sqlite_constraint_data() { generic_data("QSQLITE"); }
       
   213     void sqlite_constraint();
   212 
   214 
   213 #if 0
   215 #if 0
   214     void benchmark_data() { generic_data(); }
   216     void benchmark_data() { generic_data(); }
   215     void benchmark();
   217     void benchmark();
   216 #endif
   218 #endif
  3076     QCOMPARE(q.value(0).toInt(), 12);
  3078     QCOMPARE(q.value(0).toInt(), 12);
  3077     QVERIFY_SQL(q, next());
  3079     QVERIFY_SQL(q, next());
  3078     QCOMPARE(q.value(0).toInt(), 123);
  3080     QCOMPARE(q.value(0).toInt(), 123);
  3079 }
  3081 }
  3080 
  3082 
       
  3083 void tst_QSqlQuery::sqlite_constraint()
       
  3084 {
       
  3085     QFETCH( QString, dbName );
       
  3086     QSqlDatabase db = QSqlDatabase::database( dbName );
       
  3087     CHECK_DATABASE( db );
       
  3088 
       
  3089     if (db.driverName() != QLatin1String("QSQLITE")) {
       
  3090         QSKIP("Sqlite3 specific test", SkipSingle);
       
  3091         return;
       
  3092     }
       
  3093 
       
  3094     QSqlQuery q(db);
       
  3095     const QString trigger(qTableName("test_constraint", __FILE__));
       
  3096 
       
  3097     QVERIFY_SQL(q, exec("CREATE TEMP TRIGGER "+trigger+" BEFORE DELETE ON "+qtest+
       
  3098                         "\nFOR EACH ROW "
       
  3099                         "\nBEGIN"
       
  3100                         "\n  SELECT RAISE(ABORT, 'Raised Abort successfully');"
       
  3101                         "\nEND;"
       
  3102                         ));
       
  3103 
       
  3104     QVERIFY(!q.exec("DELETE FROM "+qtest));
       
  3105     QCOMPARE(q.lastError().databaseText(), QLatin1String("Raised Abort successfully"));
       
  3106 }
       
  3107 
  3081 #if 0
  3108 #if 0
  3082 void tst_QSqlQuery::benchmark()
  3109 void tst_QSqlQuery::benchmark()
  3083 {
  3110 {
  3084     QFETCH( QString, dbName );
  3111     QFETCH( QString, dbName );
  3085     QSqlDatabase db = QSqlDatabase::database( dbName );
  3112     QSqlDatabase db = QSqlDatabase::database( dbName );