Skip to content

Symfony & Doctrine Mapping problems with MySQL Bigint columns, and how to fix this

In the process of upgrading a Symfony project from version 2 to version 5, I came across an issue with a MySQL table that has a number of BIGINT columns. There had been no issue previously, but after updating to the newer symfony (and doctrine components) mySQL bigint columns were empty/null in my doctrine entities.

After some investigation I came upon this section of the Doctrine manual:

For compatibility reasons this type is not converted to an integer as PHP can only represent big integer values as real integers on systems with a 64-bit architecture and would fall back to approximated float values otherwise which could lead to false assumptions in applications.

To protect symfony apps running on 32 bit systems, Doctrine maps Bigint columns to the string type, and this broke the entity definition I was using, even though my application will only be deployed on 64 bit systems. I think that for most people this is the norm.

There are a few different ways to get around this issue, including type casting from string to integer/integer to string in your getters and setters, but if you have a lot of bigint columns across tables, that probably isn't a great solution. In this article, I present the solution I implemented, which utilizes a Custom Doctrine type to override the built in Doctrine behavior.
Continue reading "Symfony & Doctrine Mapping problems with MySQL Bigint columns, and how to fix this"

Intel's T6500 -- No VT for you! Sony: You got Vaio VT? We turn it off.

At the time I'm writing this, you can easily find websites still listing the specifications for Intel's T6500 chip as including Intel VT. The T6500 is prevalent in the consumer Notebook space particularly because it was built to work with an 800mhz front side bus, allowing it to go in cheaper motherboards. You'll find the T6500 in a lot of midrange and budget 64bit notebook computers, from nearly all the major notebook manufacturers. Whether or not you care about VT depends on your interest in 64bit Virtualization software from Parallels to VMWare to Sun Virtualbox to Xen to VirtualPC.

VT is a marketing name for the hardware assisted virtualization workaround, originally named Vanderpool, that adds the Virtual Machine Extensions (VMX) instructions needed by VM's like Xen and Sun VirtualBox to provide 64bit OS virtualization. AMD has a similar set of extensions it added, marketed as AMD-V, although they built in the memory segmentation support that alleviates the problem with 64bit memory virtualization as far back as the D revisions of their AMD64 chips. One such website includes this boilerplate--

T6500 contain Advanced Technologies about Intel Virtualization Technology that increasing manageability, security, and flexibility in IT environments, virtualization technologies like hardware-assisted Intel Virtualization Technology (Intel® VT)

Click to see full size screenshot of original Intel specification.
If you were to have visited Intel's own site prior to July 20th of 2009, you would have found information indicating that the chip had VT support. This is a fairly mind boggling omission when you consider that the chip was manufactured, delivered to customers, and has been sold to customers for well over a month before Intel corrected its own site! On July 21st, Intel updated its website, and VT support is now removed from the specs. An Intel representative agreed that the information on the site was incorrect, once challenged by a consumer with a T6500 based machine, who had used Intel's own tools to enumerate the features on the chip.

I am sorry, I was mistaken. Thanks for bringing this to my attention.

The T6500 does not support VT. I used as my reference, but as you pointed out, the information turned out to be incorrect. The processor feature information for the T6500 contained within has been corrected. VT is actually not a feature of the T6500.

The processor identification tool is correctly reporting that VT is not a supported feature of the Intel® Core™2 Duo Processor T6500.

John S.
Intel Customer Support
Continue reading "Intel's T6500 -- No VT for you! Sony: You got Vaio VT? We turn it off."