The SQL used to manage dates and times varies by database type. The code to generate this SQL (e.g., DATE_FORMAT()
or FROM_UNIXTIME()
) has historically been handled by modules that work with dates and times, wrapped in long switch statements to handle the officially supported databases. (more or less.) A d.o issue raised the possibility of a date abstraction API, but nothing ever came of it.
Similar to #2888, this is code that was created to support PostgreSQL in Silkscreen and is submitted here because the non-PostgreSQL part of the patch is valid for Backdrop, even if all it accomplishes is better encapsulation of database code in the database classes.
Unlike #2888 and #2889, this is a little more invasive, changing the date_sql_handler
class in the Date module, and several Views handlers.
As with #2888, I'm submitting this because I consider it good open source etiquette to provide patches to parent projects, even if the patch's true purpose cannot be realized upstream, in this case database independence.
Recent comments
The horrors of cut/paste! Brilliant, thanks.
SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value:
The issue could be related to the Emojis in the body field. Can you check the Status report (admin/reports/status) for the item MySQL Database 4-byte UTF-8 support? To display Emojis, 4-byte UTF...
SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value:
@argiepiano, thanks a lot! For Webform it will be always "webform_client_form_NID", correct?
How to add Webform ID to Captcha module?