The problem with blob is that when you insert data like '\r\n' into it it comes out as '\\015\\012'. This is a problem because modules (like the rules module) like to use the blob schema type for storing serialized arrays and they won't unserialize when you try to get the data back out.
For example: start with a drupal install on a postgresdb. Install the rules module. Create a triggered rule and add the system action "Send a mail to a user." Then set a message in that action that contains a carriage return and the install crashes (at least it does with php 5.1.6 and postgres 8.1.4 on redhat).
It could be argued that this is a rules module bug but I believe that using the term 'blob' gives the developer the expectation that it should be able to store serialized php data structures. At the very least it would be appropriate to change the name from 'blob' to something like 'binary.'
Thanks,
Steven
Comments
Comment #1
snoble commentedsorry... I meant "The problem with bytea"
Comment #2
snoble commentedafter reading the description of mysql type blob I feel that this may be a rules module bug and not a drupal bug
Comment #3
lyricnz commentedAncient, and probably Rules module.