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>