https://www.icyphoenix.com/viewtopic.php?f=4&t=1511
-----------------------------------
Zuker
Thu 05 Apr, 2007 15:38

DEBUG - Error Creating New Session
-----------------------------------
If you are told that phpbb_session table is full and must be empty manually.

Untill you don't have problem with sessions, you shoudn't touch anything but if you want to prevent any problem, apply it

[b]OPEN:[/b]

[code linenumbers=false]include/sessions.php[/code]

[b]FIND:[/b]

[code linenumbers=false]message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);[/code]

[b]REPLACE WITH:[/b]

[code linenumbers=false]$error = TRUE;
$sql_error = $db->sql_error($result);
if ($sql_error["code"] == 1114)
{
	$result = $db->sql_query('SHOW TABLE STATUS LIKE "'.SESSIONS_TABLE.'"');
	$row = $db->sql_fetchrow($result);
	if ($row["Type"] == "HEAP")
	{
		if ($row["Rows"] > 550)
		{
			$delete_order = (SQL_LAYER=="mysql4") ? " ORDER BY session_time ASC" : "";
			$db->sql_query("DELETE QUICK FROM ".SESSIONS_TABLE."$delete_order LIMIT 50");
		}
		else
		{
			$db->sql_query("ALTER TABLE ".SESSIONS_TABLE." MAX_ROWS=".($row["Rows"]+50));
		}
		if ($db->sql_query($sql))
		{
			$error = FALSE;
		}
	}
}
if ($error)
{
	message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);
}[/code]


-----------------------------------
Mighty Gorgon
Sun 08 Apr, 2007 11:34

Re: Error Creating New Session
-----------------------------------
I've edited the code to Icy Phoenix.

Anyway you may even decide to convert the table from HEAP to MyISAM.

HEAP type has the advantage to remain loaded in memory, so SQL are a bit faster, but MyISAM should not have the problem listed above.

I use MyISAM... :wink:


