[mythtv-commits] Ticket #13309: mysql 5.7+ inserting NULLs into session modified column causes error instead of current timestamp
MythTV
noreply at mythtv.org
Mon Aug 13 13:24:04 UTC 2018
#13309: mysql 5.7+ inserting NULLs into session modified column causes error
instead of current timestamp
----------------------------------+---------------------------------
Reporter: alan-hicks | Owner: Stuart Auchterlonie
Type: Patch - Bug Fix | Status: new
Priority: minor | Milestone: needs_triage
Component: Plugin - MythWeb | Version: Master Head
Severity: medium | Keywords: mysql 5.7 mythweb
Ticket locked: 0 |
----------------------------------+---------------------------------
With explicit_defaults_for_timestamp enabled, inserting NULL into a
TIMESTAMP NOT NULL column now produces an error (as it already did for
other NOT NULL data types), instead of inserting the current timestamp.
(Bug #68472, Bug #16394472)
SQL Error: Column 'modified' cannot be null [#1048]
file: /usr/local/www/mythweb/includes/session.php
line: 72
class: Database
function: query
type: ->
args: Array
(
[0] => REPLACE INTO mythweb_sessions (id, modified, data) VALUES
(?,NULL,?)
[1] => user:alan
[2] =>
cache_engine|s:10:"Cache_Null";stream|a:1:{s:25:"include_user_and_password";b:0;}prefer_channum|s:1:"1";recorded_pixmaps|b:1;guide_favonly|b:0;timeslot_size|i:300;num_time_slots|i:36;timeslot_blocks|i:3;timeslotbar_skip|i:20;max_stars|i:4;star_character|s:7:"★";show_popup_info|i:1;show_channel_icons|i:1;sortby_channum|i:1;recorded_paging|N;genre_colors|i:1;show_video_covers|i:1;settings|a:1:{s:7:"screens";a:1:{s:2:"tv";a:1:{s:19:"upcoming
recordings";a:4:{s:5:"title";s:2:"on";s:7:"channel";s:2:"on";s:11:"record
date";s:2:"on";s:6:"length";s:2:"on";}}}}backend|a:2:{s:15:"192.168.202.215";a:1:{s:13:"proto_version";a:2:{s:18:"last_check_version";s:2:"91";s:15:"last_check_time";i:1534162688;}}s:8:"timezone";a:2:{s:5:"value";s:15:"Europe/Guernsey";s:15:"last_check_time";i:1534162688;}}language|s:7:"English";date_statusbar|s:22:"%a
%b %e, %Y, %I:%M %p";date_scheduled|s:23:"%a %b %e, %Y (%I:%M
%p)";date_scheduled_popup|s:12:"%a %b %e, %Y";date_recorded|s:23:"%a %b
%e, %Y (%I:%M %p)";date_search|s:22:"%a %b %e, %Y, %I:%M
%p";date_listing_key|s:22:"%a %b %e, %Y, %I:%M
%p";date_listing_jump|s:12:"%a %b %e, %Y";date_channel_jump|s:12:"%a %b
%e, %Y";date_job_status|s:22:"%a %b %e, %Y, %I:%M
%p";time_format|s:8:"%I:%M
%p";tv|a:1:{s:4:"last";a:1:{i:0;s:4:"list";}}list_time|i:1534165200;
)
The following patch fixes this issue by replacing NULL with
CURRENT_TIMESTAMP. It is compatible with sqlite3 mysql 5.7+ and
postgresql.
diff --git a/includes/session.php b/includes/session.php
index ab915816..1bf4f1e6 100644
--- a/includes/session.php
+++ b/includes/session.php
@@ -68,7 +68,7 @@
return;
if (!empty($_SERVER['REMOTE_USER']))
$id = 'user:'.$_SERVER['REMOTE_USER'];
- $db->query('REPLACE INTO mythweb_sessions (id, modified, data)
VALUES (?,NULL,?)',
+ $db->query('REPLACE INTO mythweb_sessions (id, modified, data)
VALUES (?,CURRENT_TIMESTAMP,?)',
$id, $data);
if (!$db->affected_rows())
return false;
--
Ticket URL: <https://code.mythtv.org/trac/ticket/13309>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list