| 461 | |
| 462 | /** |
| 463 | * mysqli_ incorrect flush and further sync issues. |
| 464 | * |
| 465 | * @ticket 28155 |
| 466 | */ |
| 467 | function test_mysqli_flush_sync() { |
| 468 | global $wpdb; |
| 469 | if ( !$wpdb->use_mysqli ) |
| 470 | $this->markTestSkipped( 'mysqli not being used' ); |
| 471 | |
| 472 | $suppress = $wpdb->suppress_errors( true ); |
| 473 | |
| 474 | $wpdb->query( 'DROP PROCEDURE IF EXISTS `test_mysqli_flush_sync_procedure`' ); |
| 475 | $wpdb->query( 'CREATE PROCEDURE `test_mysqli_flush_sync_procedure`() BEGIN |
| 476 | SELECT ID FROM `' . $wpdb->posts . '` LIMIT 1; |
| 477 | END' ); |
| 478 | |
| 479 | if ( count( $wpdb->get_results( 'SHOW CREATE PROCEDURE `test_mysqli_flush_sync_procedure`' ) ) < 1 ) { |
| 480 | $wpdb->suppress_errors( $suppress ); |
| 481 | $this->markTestSkipped( 'procedure could not be created (missing privileges?)' ); |
| 482 | } |
| 483 | |
| 484 | $this->factory->post->create(); |
| 485 | |
| 486 | $this->assertNotEmpty( $wpdb->get_results( 'CALL `test_mysqli_flush_sync_procedure`' ) ); |
| 487 | $this->assertNotEmpty( $wpdb->get_results( "SELECT ID FROM `{$wpdb->posts}` LIMIT 1" ) ); |
| 488 | |
| 489 | $wpdb->query( 'DROP PROCEDURE IF EXISTS `test_mysqli_flush_sync_procedure`' ); |
| 490 | $wpdb->suppress_errors( $suppress ); |
| 491 | } |