Annotation of embedaddon/php/ext/sybase_ct/tests/test_msghandler_handled.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: Sybase-CT server message handler
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: *
1.1.1.2 ! misho 9: * $Id$
1.1 misho 10: */
11:
12: require('test.inc');
13:
14: // {{{ bool sybase_msg_handler(int msgnumber, int severity, int state, int line, string text)
15: // Handles server messages
16: function user_message_handler($msgnumber, $severity, $state, $line, $text) {
17: switch ($msgnumber) {
18: case 0: // print message
19: printf("!!! %s\n", trim($text));
20: return;
21:
22: case 174: // The function 'GETDATE' requires 0 arguments.
23: case 11021: // Function GETDATE invoked with wrong number or type of argument(s)
24: printf("*** Caught '%s'\n", trim($text));
25: return;
26: }
27: printf("Cannot handle message #%d\n", $msgnumber);
28: return FALSE; // Indicate we can't handle this
29: }
30: // }}}
31:
32: sybase_set_messagehandler_ex('user_message_handler');
33: $db= sybase_connect_ex();
34: sybase_min_server_severity(0);
35:
36: // These are handled
37: var_dump(sybase_select_ex($db, 'select getdate(NULL)'));
38: var_dump(sybase_select_ex($db, 'print "Hi"'));
39:
40: // These aren't
41: var_dump(sybase_select_ex($db, 'use NULL'));
42: var_dump(sybase_select_ex($db, 'select convert(datetime, "notadate")'));
43:
44: sybase_close($db);
45: ?>
46: --EXPECTF--
47: bool(true)
48: >>> Query: select getdate(NULL)
49: *** Caught '%s'
50: <<< Return: boolean
51: bool(false)
52: >>> Query: print "Hi"
53: !!! Hi
54: <<< Return: boolean
55: bool(true)
56: >>> Query: use NULL
57: Cannot handle message #156
58:
59: Warning: sybase_query(): Sybase: Server message: Incorrect syntax near the keyword 'NULL'.
60: (severity 15, procedure N/A) in %s on line %d
61: <<< Return: boolean
62: bool(false)
63: >>> Query: select convert(datetime, "notadate")
64: Cannot handle message #249
65:
66: Warning: sybase_query(): Sybase: Server message: Syntax error during explicit conversion of VARCHAR value 'notadate' to a DATETIME field.
67: (severity 16, procedure N/A) in %s on line %d
68: <<< Return: boolean
69: bool(false)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>