Partial fix for bug #3291306 - Inline edit does not honor bit fields. Works with mysqli extension.
This commit is contained in:
12
js/sql.js
12
js/sql.js
@@ -888,16 +888,20 @@ $(document).ready(function() {
|
|||||||
*/
|
*/
|
||||||
var is_null = $this_field.find('input:checkbox').is(':checked');
|
var is_null = $this_field.find('input:checkbox').is(':checked');
|
||||||
var value;
|
var value;
|
||||||
|
var addQuotes = true;
|
||||||
|
|
||||||
if (is_null) {
|
if (is_null) {
|
||||||
sql_query += ' `' + field_name + "`=NULL , ";
|
sql_query += ' `' + field_name + "`=NULL , ";
|
||||||
need_to_post = true;
|
need_to_post = true;
|
||||||
} else {
|
} else {
|
||||||
if($this_field.is(":not(.relation, .enum, .set)")) {
|
if($this_field.is(":not(.relation, .enum, .set, .bit)")) {
|
||||||
this_field_params[field_name] = $this_field.find('textarea').val();
|
this_field_params[field_name] = $this_field.find('textarea').val();
|
||||||
if($this_field.is('.transformed')) {
|
if($this_field.is('.transformed')) {
|
||||||
$.extend(transform_fields, this_field_params);
|
$.extend(transform_fields, this_field_params);
|
||||||
}
|
}
|
||||||
|
} else if ($this_field.is('.bit')) {
|
||||||
|
this_field_params[field_name] = '0b' + $this_field.find('textarea').val();
|
||||||
|
addQuotes = false;
|
||||||
} else if ($this_field.is('.set')) {
|
} else if ($this_field.is('.set')) {
|
||||||
$test_element = $this_field.find('select');
|
$test_element = $this_field.find('select');
|
||||||
this_field_params[field_name] = $test_element.map(function(){
|
this_field_params[field_name] = $test_element.map(function(){
|
||||||
@@ -924,7 +928,11 @@ $(document).ready(function() {
|
|||||||
new_clause += '`' + window.parent.table + '`.' + '`' + field_name + "` = '" + this_field_params[field_name].replace(/'/g,"''") + "'" + ' AND ';
|
new_clause += '`' + window.parent.table + '`.' + '`' + field_name + "` = '" + this_field_params[field_name].replace(/'/g,"''") + "'" + ' AND ';
|
||||||
}
|
}
|
||||||
if (this_field_params[field_name] != $this_field.data('original_data')) {
|
if (this_field_params[field_name] != $this_field.data('original_data')) {
|
||||||
sql_query += ' `' + field_name + "`='" + this_field_params[field_name].replace(/'/g, "''") + "' , ";
|
if (addQuotes == true) {
|
||||||
|
sql_query += ' `' + field_name + "`='" + this_field_params[field_name].replace(/'/g, "''") + "', ";
|
||||||
|
} else {
|
||||||
|
sql_query += ' `' + field_name + "`=" + this_field_params[field_name].replace(/'/g, "''") + ", ";
|
||||||
|
}
|
||||||
need_to_post = true;
|
need_to_post = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1026,6 +1026,11 @@ function PMA_addClass($class, $condition_field, $meta, $nowrap, $is_field_trunca
|
|||||||
$set_class = ' set';
|
$set_class = ' set';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$bit_class = '';
|
||||||
|
if(strpos($meta->type, 'bit') !== false) {
|
||||||
|
$bit_class = ' bit';
|
||||||
|
}
|
||||||
|
|
||||||
$mime_type_class = '';
|
$mime_type_class = '';
|
||||||
if(isset($meta->mimetype)) {
|
if(isset($meta->mimetype)) {
|
||||||
$mime_type_class = ' ' . preg_replace('/\//', '_', $meta->mimetype);
|
$mime_type_class = ' ' . preg_replace('/\//', '_', $meta->mimetype);
|
||||||
@@ -1034,7 +1039,7 @@ function PMA_addClass($class, $condition_field, $meta, $nowrap, $is_field_trunca
|
|||||||
$result = $class . ($condition_field ? ' condition' : '') . $nowrap
|
$result = $class . ($condition_field ? ' condition' : '') . $nowrap
|
||||||
. ' ' . ($is_field_truncated ? ' truncated' : '')
|
. ' ' . ($is_field_truncated ? ' truncated' : '')
|
||||||
. ($transform_function != $default_function ? ' transformed' : '')
|
. ($transform_function != $default_function ? ' transformed' : '')
|
||||||
. $enum_class . $set_class . $mime_type_class;
|
. $enum_class . $set_class . $bit_class . $mime_type_class;
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user