1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-31 20:00:37 +02:00

Added truncate() function. Switched default FIELD_TYPE to escape() instead of toDB() (which was causing serious BC issues)

This commit is contained in:
Cameron
2013-04-16 15:59:17 -07:00
parent e99e2fc217
commit f3bafdae5d

View File

@@ -680,7 +680,7 @@ class e_db_mysql
function replace($table, $arg, $debug = FALSE, $log_type = '', $log_remark = '') function replace($table, $arg, $debug = FALSE, $log_type = '', $log_remark = '')
{ {
$arg['_REPLACE'] = TRUE; $arg['_REPLACE'] = TRUE;
return $this->db_Insert($table, $arg, $debug, $log_type, $log_remark); return $this->insert($table, $arg, $debug, $log_type, $log_remark);
} }
/** /**
@@ -848,10 +848,6 @@ class e_db_mysql
return ($fieldValue && $fieldValue !== 'NULL' ? "'".$this->escape($fieldValue, false)."'" : 'NULL'); return ($fieldValue && $fieldValue !== 'NULL' ? "'".$this->escape($fieldValue, false)."'" : 'NULL');
break; break;
case 'escape':
return "'".$this->escape($fieldValue, false)."'";
break;
case 'array': case 'array':
if(is_array($fieldValue)) if(is_array($fieldValue))
{ {
@@ -860,11 +856,15 @@ class e_db_mysql
return "'". (string) $fieldValue."'"; return "'". (string) $fieldValue."'";
break; break;
case 'todb': case 'todb': // using as default causes serious BC issues.
default:
if($fieldValue == '') { return "''"; } if($fieldValue == '') { return "''"; }
return "'".e107::getParser()->toDB($fieldValue)."'"; return "'".e107::getParser()->toDB($fieldValue)."'";
break; break;
case 'escape':
default:
return "'".$this->escape($fieldValue, false)."'";
break;
} }
} }
@@ -912,6 +912,17 @@ class e_db_mysql
} }
} }
/**
* Truncate a table
* @param string $table - table name without e107 prefix
*/
function truncate($table=null)
{
if($table == null){ return; }
return $this->gen("TRUNCATE TABLE `#".$table."` ");
}
/** /**
* @return array MySQL row * @return array MySQL row
* @param string $mode * @param string $mode
@@ -2060,9 +2071,13 @@ class e_db_mysql
case 'char' : case 'char' :
case 'text' : case 'text' :
case 'varchar' : case 'varchar' :
$outDefs['_FIELD_TYPES'][$v['name']] = 'todb'; $outDefs['_FIELD_TYPES'][$v['name']] = 'escape'; //XXX toDB() causes serious BC issues.
break; break;
} }
// if($v['name'])
if (isset($v['nulltype']) && !isset($v['default'])) if (isset($v['nulltype']) && !isset($v['default']))
{ {
$outDefs['_NOTNULL'][$v['name']] = ''; $outDefs['_NOTNULL'][$v['name']] = '';