summaryrefslogtreecommitdiff
path: root/databases/php74-pdo_pgsql/files/patch-tests_bug__80892.phpt
blob: c926cacd02507c454c99252da03582fe9ee1d8ca (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
--- tests/bug_80892.phpt.orig	2021-04-27 14:35:54 UTC
+++ tests/bug_80892.phpt
@@ -1,77 +0,0 @@
---TEST--
-Bug #80892 PDO::PARAM_INT is treated the same as PDO::PARAM_STR
---SKIPIF--
-<?php
-if (!extension_loaded('pdo') || !extension_loaded('pdo_pgsql')) die('skip not loaded');
-require __DIR__ . '/config.inc';
-require __DIR__ . '/../../../ext/pdo/tests/pdo_test.inc';
-PDOTest::skip();
-?>
---FILE--
-<?php
-require __DIR__ . '/../../../ext/pdo/tests/pdo_test.inc';
-
-/** @var PDO $db */
-$db = PDOTest::test_factory(__DIR__ . '/common.phpt');
-$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
-
-$db->exec("CREATE OR REPLACE FUNCTION bug80892 (x bigint) RETURNS varchar AS $$ SELECT 'bigint' $$ LANGUAGE sql");
-$db->exec("CREATE OR REPLACE FUNCTION bug80892 (x int) RETURNS varchar AS $$ SELECT 'int' $$ LANGUAGE sql");
-$db->exec("CREATE OR REPLACE FUNCTION bug80892 (x text) RETURNS varchar AS $$ SELECT 'text' $$ LANGUAGE sql");
-
-// Sanity check
-var_dump($db->query("SELECT bug80892(2147483648)")->fetchColumn());
-var_dump($db->query("SELECT bug80892(1)")->fetchColumn());
-var_dump($db->query("SELECT bug80892('1')")->fetchColumn());
-
-// No binding
-$stmt = $db->prepare("SELECT bug80892(?)");
-$stmt->execute([1]);
-var_dump($stmt->fetchColumn());
-
-// Bind int value as string
-$stmt = $db->prepare("SELECT bug80892(?)");
-$stmt->bindValue(1, 1, PDO::PARAM_STR);
-$stmt->execute();
-var_dump($stmt->fetchColumn());
-
-// Bind int value as int
-$stmt = $db->prepare("SELECT bug80892(?)");
-$stmt->bindValue(1, 1, PDO::PARAM_INT);
-$stmt->execute();
-var_dump($stmt->fetchColumn());
-
-// Bind string value as int
-$stmt = $db->prepare("SELECT bug80892(?)");
-$stmt->bindValue(1, '1', PDO::PARAM_INT);
-$stmt->execute();
-var_dump($stmt->fetchColumn());
-
-// Bind bigint string value as int
-$stmt = $db->prepare("SELECT bug80892(?)");
-$stmt->bindValue(1, '2147483648', PDO::PARAM_INT);
-$stmt->execute();
-var_dump($stmt->fetchColumn());
-
-// Bind negative bigint (string on 32bit) as int
-$stmt = $db->prepare("SELECT bug80892(?)");
-$stmt->bindValue(1, PHP_INT_SIZE == 4 ? '-33333333333' : -33333333333, PDO::PARAM_INT);
-$stmt->execute();
-var_dump($stmt->fetchColumn());
-
-$db->exec("DROP FUNCTION bug80892 (bigint)");
-$db->exec("DROP FUNCTION bug80892 (int)");
-$db->exec("DROP FUNCTION bug80892 (text)");
-
-?>
---EXPECT--
-string(6) "bigint"
-string(3) "int"
-string(4) "text"
-string(4) "text"
-string(4) "text"
-string(3) "int"
-string(3) "int"
-string(6) "bigint"
-string(6) "bigint"