Annotation of embedaddon/php/ext/sybase_ct/tests/bug22403.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Sybase-CT bug #22403 (crash when executing a stored procedure without parameters)
! 3: --SKIPIF--
! 4: <?php require('skipif.inc'); ?>
! 5: --FILE--
! 6: <?php
! 7: /* This file is part of PHP test framework for ext/sybase_ct
! 8: *
! 9: * $Id: bug22403.phpt 236101 2007-05-22 11:35:47Z thekid $
! 10: */
! 11:
! 12: require('test.inc');
! 13:
! 14: $db= sybase_connect_ex();
! 15: sybase_set_message_handler('sybase_msg_handler');
! 16: error_reporting(error_reporting() & !E_NOTICE); // Suppress notices
! 17:
! 18: // Check if stored procedure already exists
! 19: $sp_name= 'phpt_bug22403';
! 20: var_dump(sybase_select_db(TEMPDB, $db));
! 21: if (!sybase_select_single($db, 'select object_id("'.$sp_name.'")')) {
! 22: echo "Stored procedure {$sp_name} not found, creating\n";
! 23: var_dump(sybase_query('
! 24: create proc '.$sp_name.' (@param int)
! 25: as
! 26: begin
! 27: select @param
! 28: select @param + 1
! 29: return @param
! 30: end
! 31: '));
! 32: } else {
! 33: echo "Stored procedure {$sp_name} found, using\n";
! 34: var_dump(TRUE);
! 35: }
! 36:
! 37: // These don't work
! 38: var_dump(sybase_select_ex($db, 'exec '.$sp_name));
! 39: var_dump(sybase_select_ex($db, 'exec '.$sp_name.' "foo"'));
! 40: var_dump(sybase_select_ex($db, 'exec does_not_exist'));
! 41:
! 42: // These do
! 43: var_dump(sybase_select_ex($db, 'exec '.$sp_name.' NULL'));
! 44: var_dump(sybase_select_ex($db, 'exec '.$sp_name.' 1'));
! 45:
! 46: // Clean up after ourselves
! 47: var_dump(sybase_query('drop proc '.$sp_name));
! 48:
! 49: sybase_close($db);
! 50: ?>
! 51: --EXPECTF--
! 52: bool(true)
! 53: Stored procedure %s
! 54: bool(true)
! 55: >>> Query: exec %s
! 56: *** Caught Sybase Server Message #201 [Severity 16, state 2] at line 0
! 57: %s
! 58: <<< Return: boolean
! 59: bool(false)
! 60: >>> Query: exec %s "foo"
! 61: *** Caught Sybase Server Message #257 [Severity 16, state 1] at line 0
! 62: %s
! 63: <<< Return: boolean
! 64: bool(false)
! 65: >>> Query: exec does_not_exist
! 66: *** Caught Sybase Server Message #2812 [Severity 16, state %d] at line 1
! 67: %s
! 68: <<< Return: boolean
! 69: bool(false)
! 70: >>> Query: exec %s NULL
! 71: <<< Return: resource
! 72: array(1) {
! 73: [0]=>
! 74: array(1) {
! 75: ["computed"]=>
! 76: NULL
! 77: }
! 78: }
! 79: >>> Query: exec %s 1
! 80: <<< Return: resource
! 81: array(1) {
! 82: [0]=>
! 83: array(1) {
! 84: ["computed"]=>
! 85: int(1)
! 86: }
! 87: }
! 88: bool(true)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>