2017-05-04 18:16:29 +02:00
|
|
|
|
--TEST--
|
|
|
|
|
test streamable non LOB types.
|
|
|
|
|
--SKIPIF--
|
2019-02-22 02:39:02 +01:00
|
|
|
|
<?php require('skipif_azure_dw.inc'); ?>
|
2017-05-04 18:16:29 +02:00
|
|
|
|
--FILE--
|
|
|
|
|
<?php
|
|
|
|
|
|
2017-10-04 23:22:56 +02:00
|
|
|
|
sqlsrv_configure('WarningsReturnAsErrors', 0);
|
|
|
|
|
sqlsrv_configure('LogSeverity', SQLSRV_LOG_SEVERITY_ALL);
|
2017-05-04 18:16:29 +02:00
|
|
|
|
|
2019-09-06 00:51:52 +02:00
|
|
|
|
require('MsSetup.inc');
|
|
|
|
|
$conn = sqlsrv_connect($server, $connectionOptions);
|
|
|
|
|
if( $conn === false ) {
|
2017-10-04 23:22:56 +02:00
|
|
|
|
fatalError("Failed to connect.");
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2019-09-06 00:51:52 +02:00
|
|
|
|
|
2017-05-04 18:16:29 +02:00
|
|
|
|
// test the allowed non LOB column types
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stmt = sqlsrv_query($conn, "SELECT [char_short_type], [varchar_short_type], [nchar_short_type], [nvarchar_short_type], [binary_short_type], [varbinary_short_type] FROM [test_streamable_types]");
|
|
|
|
|
sqlsrv_fetch($stmt);
|
|
|
|
|
$stream = sqlsrv_get_field($stmt, 0, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
$char_field = fread($stream, 4096);
|
2017-05-04 18:16:29 +02:00
|
|
|
|
echo "$char_field\n";
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 1, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
$varchar_field = fread($stream, 4096);
|
2017-05-04 18:16:29 +02:00
|
|
|
|
echo "$varchar_field\n";
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 2, SQLSRV_PHPTYPE_STREAM("binary"));
|
|
|
|
|
$nchar_field = fread($stream, 4096);
|
2017-05-04 18:16:29 +02:00
|
|
|
|
echo "$nchar_field\n";
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 3, SQLSRV_PHPTYPE_STREAM("binary"));
|
|
|
|
|
$nvarchar_field = fread($stream, 4096);
|
2017-05-04 18:16:29 +02:00
|
|
|
|
echo "$nvarchar_field\n";
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 4, SQLSRV_PHPTYPE_STREAM("binary"));
|
|
|
|
|
$binary_field = fread($stream, 4096);
|
2017-05-04 18:16:29 +02:00
|
|
|
|
echo "$binary_field\n";
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 5, SQLSRV_PHPTYPE_STREAM("binary"));
|
|
|
|
|
$varbinary_field = fread($stream, 4096);
|
2017-05-04 18:16:29 +02:00
|
|
|
|
echo "$varbinary_field\n";
|
2017-10-04 23:22:56 +02:00
|
|
|
|
|
2017-05-04 18:16:29 +02:00
|
|
|
|
// test not streamable types
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stmt = sqlsrv_query($conn, "SELECT * FROM [test_types]");
|
|
|
|
|
sqlsrv_fetch($stmt);
|
|
|
|
|
$stream = sqlsrv_get_field($stmt, 0, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 1, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 2, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 3, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 4, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 5, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 6, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 7, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 8, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 9, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 10, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
2017-10-04 23:22:56 +02:00
|
|
|
|
$stream = sqlsrv_get_field($stmt, 11, SQLSRV_PHPTYPE_STREAM("char"));
|
|
|
|
|
if ($stream === false) {
|
|
|
|
|
print_r(sqlsrv_errors());
|
2017-05-04 18:16:29 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|
|
|
|
|
--EXPECT--
|
|
|
|
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
|
|
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
|
|
|
|
A |