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
@@ -10067,10 +10067,17 @@ public function testCastValuesOnInsert(): void {
10067
10067
$this->assertQuery( "INSERT INTO t VALUES ('2')" );
10068
10068
$this->assertQuery( "INSERT INTO t VALUES ('3.0')" );
10069
10069
10070
-
// TODO: These are supported in MySQL:
10071
-
$this->assertQueryError( "INSERT INTO t VALUES ('4.5')", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store REAL value in INTEGER column t.value' );
10072
-
$this->assertQueryError( 'INSERT INTO t VALUES (0x05)', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10073
-
$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')" );
10073
+
$this->assertQuery( 'INSERT INTO t VALUES (0x05)' );
10074
+
$this->assertQuery( "INSERT INTO t VALUES (x'06')" );
10075
+
} else {
10076
+
// TODO: These are supported in MySQL:
10077
+
$this->assertQueryError( "INSERT INTO t VALUES ('4.5')", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store REAL value in INTEGER column t.value' );
10078
+
$this->assertQueryError( 'INSERT INTO t VALUES (0x05)', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10079
+
$this->assertQueryError( "INSERT INTO t VALUES (x'06')", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10080
+
}
10074
10081
10075
10082
$result = $this->assertQuery( 'SELECT * FROM t' );
10076
10083
$this->assertSame( null, $result[0]->value );
@@ -10095,8 +10102,13 @@ public function testCastValuesOnInsert(): void {
10095
10102
$this->assertQuery( "INSERT INTO t VALUES ('5')" );
10096
10103
10097
10104
// TODO: These are supported in MySQL:
10098
-
$this->assertQueryError( 'INSERT INTO t VALUES (0x06)', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10099
-
$this->assertQueryError( "INSERT INTO t VALUES (x'07')", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10105
+
if ( $is_legacy_sqlite ) {
10106
+
$this->assertQuery( 'INSERT INTO t VALUES (0x06)' );
10107
+
$this->assertQuery( "INSERT INTO t VALUES (x'07')" );
10108
+
} else {
10109
+
$this->assertQueryError( 'INSERT INTO t VALUES (0x06)', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10110
+
$this->assertQueryError( "INSERT INTO t VALUES (x'07')", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10111
+
}
10100
10112
10101
10113
$result = $this->assertQuery( 'SELECT * FROM t' );
10102
10114
$this->assertSame( null, $result[0]->value );
@@ -10562,10 +10574,17 @@ public function testCastValuesOnUpdate(): void {
10562
10574
$this->assertQuery( "UPDATE t SET value = '3.0'" );
10563
10575
$this->assertSame( '3', $this->assertQuery( 'SELECT * FROM t' )[0]->value );
10564
10576
10565
-
// TODO: These are supported in MySQL:
10566
-
$this->assertQueryError( "UPDATE t SET value = '4.5'", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store REAL value in INTEGER column t.value' );
10567
-
$this->assertQueryError( 'UPDATE t SET value = 0x05', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10568
-
$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'" );
10580
+
$this->assertQuery( 'UPDATE t SET value = 0x05' );
10581
+
$this->assertQuery( "UPDATE t SET value = x'06'" );
10582
+
} else {
10583
+
// TODO: These are supported in MySQL:
10584
+
$this->assertQueryError( "UPDATE t SET value = '4.5'", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store REAL value in INTEGER column t.value' );
10585
+
$this->assertQueryError( 'UPDATE t SET value = 0x05', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10586
+
$this->assertQueryError( "UPDATE t SET value = x'06'", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in INTEGER column t.value' );
10587
+
}
10569
10588
10570
10589
$this->assertQuery( 'DROP TABLE t' );
10571
10590
@@ -10601,8 +10620,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' );
10605
-
$this->assertQueryError( "UPDATE t SET value = x'07'", 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10623
+
if ( $is_legacy_sqlite ) {
10624
+
$this->assertQuery( 'UPDATE t SET value = 0x06' );
10625
+
$this->assertQuery( "UPDATE t SET value = x'07'" );
10626
+
} else {
10627
+
$this->assertQueryError( 'UPDATE t SET value = 0x06', 'SQLSTATE[23000]: Integrity constraint violation: 19 cannot store BLOB value in REAL column t.value' );
10628
+
$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