php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #65738 Column metadata for datetimeoffset is incorrect
Submitted: 2013-09-23 02:53 UTC Modified: 2016-10-31 17:37 UTC
From: chriskl@php.net Assigned:
Status: Not a bug Package: PDO DBlib
PHP Version: 5.5.4 OS: Debian 7.1
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: chriskl@php.net
New email:
PHP Version: OS:

 

 [2013-09-23 02:53 UTC] chriskl@php.net
Description:
------------
When using getColumnMeta() on pdo_dblib, on a column of type 
'datetimeoffset(0)', the returned structure looks like this:

array(10) {
  ["max_length"] => int(104)
  ["precision"] => int(0)
  ["scale"] => int(0)
  ["column_source"] => string(7) "updated"
  ["native_type"] => string(4) "char"
  ["native_type_id"] => int(47)
  ["native_usertype_id"] => int(0)
  ["name"] => string(7) "updated"
  ["len"] => int(104)
  ["pdo_type"] => int(2)
}

Note that it believes that the native_type is char, when it should be 
'datetimeoffset'.

Expected result:
----------------
I expect to see 'datetimeoffset' as the native_type.

Actual result:
--------------
You get 'char' - which is incorrect.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2013-09-23 02:56 UTC] chriskl@php.net
Actually, unfortunately on a real char field, it also returns "char" and also type 
47 :(  So I'm not sure how to distinguish these.
 [2016-10-15 23:17 UTC] kalle@php.net
-Package: MSSQL related +Package: PDO DBlib
 [2016-10-31 17:37 UTC] adambaratz@php.net
-Status: Open +Status: Not a bug
 [2016-10-31 17:37 UTC] adambaratz@php.net
I'm guessing you saw this because of the TDS version you used. This column type was introduced in SQL Server 2008, so you have use TDS >=7.3. You can choose the TDS version with a "version" param in the DSN.

Some general compatibility notes:
https://technet.microsoft.com/en-us/library/ms180878(v=sql.105).aspx#Backward Compatibility for Down-level Clients
http://www.freetds.org/userguide/choosingtdsprotocol.htm
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 16:01:27 2024 UTC