You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tests/WP_SQLite_Driver_Tests.php
+36-12Lines changed: 36 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -10142,10 +10142,17 @@ public function testCastValuesOnInsert(): void {
10142
10142
$this->assertQuery( "INSERT INTO t VALUES ('2')" );
10143
10143
$this->assertQuery( "INSERT INTO t VALUES ('3.0')" );
10144
10144
10145
-
// TODO: These are supported in MySQL:
10146
-
$this->assertQueryError( "INSERT INTO t VALUES ('4.5')", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store REAL value in INTEGER column t.value' );
10147
-
$this->assertQueryError( 'INSERT INTO t VALUES (0x05)', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10148
-
$this->assertQueryError( "INSERT INTO t VALUES (x'06')", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
$this->assertQuery( "INSERT INTO t VALUES ('4.5')" );
10148
+
$this->assertQuery( 'INSERT INTO t VALUES (0x05)' );
10149
+
$this->assertQuery( "INSERT INTO t VALUES (x'06')" );
10150
+
} else {
10151
+
// TODO: These are supported in MySQL:
10152
+
$this->assertQueryError( "INSERT INTO t VALUES ('4.5')", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store REAL value in INTEGER column t.value' );
10153
+
$this->assertQueryError( 'INSERT INTO t VALUES (0x05)', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10154
+
$this->assertQueryError( "INSERT INTO t VALUES (x'06')", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10155
+
}
10149
10156
10150
10157
$result = $this->assertQuery( 'SELECT * FROM t' );
10151
10158
$this->assertSame( null, $result[0]->value );
@@ -10170,8 +10177,13 @@ public function testCastValuesOnInsert(): void {
10170
10177
$this->assertQuery( "INSERT INTO t VALUES ('5')" );
10171
10178
10172
10179
// TODO: These are supported in MySQL:
10173
-
$this->assertQueryError( 'INSERT INTO t VALUES (0x06)', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10174
-
$this->assertQueryError( "INSERT INTO t VALUES (x'07')", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10180
+
if ( $is_legacy_sqlite ) {
10181
+
$this->assertQuery( 'INSERT INTO t VALUES (0x06)' );
10182
+
$this->assertQuery( "INSERT INTO t VALUES (x'07')" );
10183
+
} else {
10184
+
$this->assertQueryError( 'INSERT INTO t VALUES (0x06)', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10185
+
$this->assertQueryError( "INSERT INTO t VALUES (x'07')", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10186
+
}
10175
10187
10176
10188
$result = $this->assertQuery( 'SELECT * FROM t' );
10177
10189
$this->assertSame( null, $result[0]->value );
@@ -10637,10 +10649,17 @@ public function testCastValuesOnUpdate(): void {
10637
10649
$this->assertQuery( "UPDATE t SET value = '3.0'" );
10638
10650
$this->assertSame( '3', $this->assertQuery( 'SELECT * FROM t' )[0]->value );
10639
10651
10640
-
// TODO: These are supported in MySQL:
10641
-
$this->assertQueryError( "UPDATE t SET value = '4.5'", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store REAL value in INTEGER column t.value' );
10642
-
$this->assertQueryError( 'UPDATE t SET value = 0x05', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10643
-
$this->assertQueryError( "UPDATE t SET value = x'06'", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
$this->assertQuery( "UPDATE t SET value = '4.5'" );
10655
+
$this->assertQuery( 'UPDATE t SET value = 0x05' );
10656
+
$this->assertQuery( "UPDATE t SET value = x'06'" );
10657
+
} else {
10658
+
// TODO: These are supported in MySQL:
10659
+
$this->assertQueryError( "UPDATE t SET value = '4.5'", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store REAL value in INTEGER column t.value' );
10660
+
$this->assertQueryError( 'UPDATE t SET value = 0x05', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10661
+
$this->assertQueryError( "UPDATE t SET value = x'06'", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10662
+
}
10644
10663
10645
10664
$this->assertQuery( 'DROP TABLE t' );
10646
10665
@@ -10676,8 +10695,13 @@ public function testCastValuesOnUpdate(): void {
$this->assertQueryError( 'UPDATE t SET value = 0x06', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10680
-
$this->assertQueryError( "UPDATE t SET value = x'07'", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10698
+
if ( $is_legacy_sqlite ) {
10699
+
$this->assertQuery( 'UPDATE t SET value = 0x06' );
10700
+
$this->assertQuery( "UPDATE t SET value = x'07'" );
10701
+
} else {
10702
+
$this->assertQueryError( 'UPDATE t SET value = 0x06', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10703
+
$this->assertQueryError( "UPDATE t SET value = x'07'", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
0 commit comments