Streamlined two very similar large column name tests (#807)
* Streamlined two very similar large column name tests * Changed the EOL
This commit is contained in:
parent
aef3830479
commit
5aa9be7e13
|
@ -1,76 +1,77 @@
|
||||||
--TEST--
|
--TEST--
|
||||||
PDO - Large Column Name Test
|
PDO - Large Column Name Test
|
||||||
--DESCRIPTION--
|
--DESCRIPTION--
|
||||||
Verifies that long column names are supported (up to 128 chars).
|
Verifies that long column names are supported (up to 128 chars).
|
||||||
--ENV--
|
--ENV--
|
||||||
PHPT_EXEC=true
|
PHPT_EXEC=true
|
||||||
--SKIPIF--
|
--SKIPIF--
|
||||||
<?php require('skipif.inc'); ?>
|
<?php require('skipif.inc'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include 'MsCommon.inc';
|
require_once('MsCommon.inc');
|
||||||
|
|
||||||
function LargeColumnNameTest($columnName, $expectfail)
|
function largeColumnNameTest($columnName)
|
||||||
{
|
{
|
||||||
include 'MsSetup.inc';
|
include 'MsSetup.inc';
|
||||||
|
|
||||||
Setup();
|
Setup();
|
||||||
|
|
||||||
$conn = Connect();
|
$conn = connect();
|
||||||
|
|
||||||
$tableName = "LargeColumnNameTest";
|
$tableName = "largeColumnNameTest";
|
||||||
|
|
||||||
DropTable($conn, $tableName);
|
dropTable($conn, $tableName);
|
||||||
|
|
||||||
$conn->query("CREATE TABLE [$tableName] ([$columnName] int)");
|
$conn->query("CREATE TABLE [$tableName] ([$columnName] int)");
|
||||||
|
|
||||||
|
|
||||||
$conn->query("INSERT INTO [$tableName] ([$columnName]) VALUES (5)");
|
$conn->query("INSERT INTO [$tableName] ([$columnName]) VALUES (5)");
|
||||||
|
|
||||||
$stmt = $conn->query("SELECT * from [$tableName]");
|
$stmt = $conn->query("SELECT * from [$tableName]");
|
||||||
|
|
||||||
if ( null == $stmt )
|
dropTable($conn, $tableName);
|
||||||
{
|
|
||||||
if (!$expectfail)
|
|
||||||
FatalError("Possible regression: Unable to retrieve inserted value.");
|
|
||||||
}
|
|
||||||
|
|
||||||
DropTable($conn, $tableName);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
// Repro
|
// repro
|
||||||
//
|
//
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
function Repro()
|
function repro()
|
||||||
{
|
{
|
||||||
|
|
||||||
$testName = "PDO - Large Column Name Test";
|
$testName = "PDO - Large Column Name Test";
|
||||||
|
|
||||||
StartTest($testName);
|
startTest($testName);
|
||||||
|
|
||||||
|
// The maximum size of a column name is 128 characters
|
||||||
|
$maxlen = 128;
|
||||||
|
$columnName = str_repeat('A', $maxlen);
|
||||||
|
|
||||||
$columnName = "a";
|
try {
|
||||||
|
largeColumnNameTest($columnName);
|
||||||
try
|
} catch (Exception $e) {
|
||||||
{
|
echo "Possible regression: Unable to retrieve inserted value\n";
|
||||||
for ($a = 1; $a <= 128; $a++)
|
print_r($e->getMessage());
|
||||||
{
|
echo "\n";
|
||||||
LargeColumnNameTest($columnName, $a > 128);
|
|
||||||
$columnName .= "A";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception $e)
|
|
||||||
{
|
|
||||||
echo $e->getMessage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Now add another character to the name
|
||||||
|
$columnName .= 'A';
|
||||||
|
try {
|
||||||
|
largeColumnNameTest($columnName);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
// Expects to fail
|
||||||
|
$expected = 'is too long. Maximum length is 128.';
|
||||||
|
if (strpos($e->getMessage(), $expected) === false) {
|
||||||
|
print_r($e->getMessage());
|
||||||
|
echo "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EndTest($testName);
|
endTest($testName);
|
||||||
}
|
}
|
||||||
|
|
||||||
Repro();
|
repro();
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
Test "PDO - Large Column Name Test" completed successfully.
|
Test "PDO - Large Column Name Test" completed successfully.
|
||||||
|
|
|
@ -8,69 +8,70 @@ PHPT_EXEC=true
|
||||||
<?php require('skipif.inc'); ?>
|
<?php require('skipif.inc'); ?>
|
||||||
--FILE--
|
--FILE--
|
||||||
<?php
|
<?php
|
||||||
|
require_once('MsCommon.inc');
|
||||||
|
|
||||||
include 'MsCommon.inc';
|
function largeColumnNameTest($columnName)
|
||||||
|
|
||||||
function LargeColumnNameTest($columnName, $expectfail)
|
|
||||||
{
|
{
|
||||||
include 'MsSetup.inc';
|
include 'MsSetup.inc';
|
||||||
|
|
||||||
Setup();
|
Setup();
|
||||||
|
|
||||||
$conn = Connect();
|
$conn = connect();
|
||||||
|
|
||||||
$tableName = "LargeColumnNameTest";
|
$tableName = "largeColumnNameTest";
|
||||||
|
|
||||||
DropTable($conn, $tableName);
|
dropTable($conn, $tableName);
|
||||||
|
|
||||||
$conn->query("CREATE TABLE [$tableName] ([$columnName] int)");
|
$conn->query("CREATE TABLE [$tableName] ([$columnName] int)");
|
||||||
|
|
||||||
|
|
||||||
$conn->query("INSERT INTO [$tableName] ([$columnName]) VALUES (5)");
|
$conn->query("INSERT INTO [$tableName] ([$columnName]) VALUES (5)");
|
||||||
|
|
||||||
$stmt = $conn->query("SELECT * from [$tableName]");
|
$stmt = $conn->query("SELECT * from [$tableName]");
|
||||||
|
|
||||||
if ( null == $stmt )
|
dropTable($conn, $tableName);
|
||||||
{
|
|
||||||
if (!$expectfail)
|
|
||||||
FatalError("Possible regression: Unable to retrieve inserted value.");
|
|
||||||
}
|
|
||||||
|
|
||||||
DropTable($conn, $tableName);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
// Repro
|
// repro
|
||||||
//
|
//
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
function Repro()
|
function repro()
|
||||||
{
|
{
|
||||||
|
|
||||||
$testName = "PDO - Large Column Name Test";
|
$testName = "PDO - Large Column Name Test";
|
||||||
|
|
||||||
StartTest($testName);
|
startTest($testName);
|
||||||
|
|
||||||
$columnName = "是";
|
// The maximum size of a column name is 128 characters
|
||||||
|
$maxlen = 128;
|
||||||
|
$columnName = str_repeat('是', $maxlen);
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
largeColumnNameTest($columnName);
|
||||||
for ($a = 1; $a <= 128; $a++)
|
} catch (Exception $e) {
|
||||||
{
|
echo "Possible regression: Unable to retrieve inserted value\n";
|
||||||
LargeColumnNameTest($columnName, $a > 128);
|
print_r($e->getMessage());
|
||||||
$columnName .= "是";
|
echo "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now add another character to the name
|
||||||
|
$columnName .= '是';
|
||||||
|
try {
|
||||||
|
largeColumnNameTest($columnName);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
// Expects to fail
|
||||||
|
$expected = 'is too long. Maximum length is 128.';
|
||||||
|
if (strpos($e->getMessage(), $expected) === false) {
|
||||||
|
print_r($e->getMessage());
|
||||||
|
echo "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception $e)
|
|
||||||
{
|
|
||||||
echo $e->getMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
EndTest($testName);
|
endTest($testName);
|
||||||
}
|
}
|
||||||
|
|
||||||
Repro();
|
repro();
|
||||||
|
|
||||||
?>
|
?>
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
Test "PDO - Large Column Name Test" completed successfully.
|
Test "PDO - Large Column Name Test" completed successfully.
|
||||||
|
|
Loading…
Reference in a new issue