Annotation of embedaddon/php/ext/sybase_ct/tests/bug22403.phpt, revision 1.1.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>