The branch, master has been updated via ef43e2fce8ff8aa5aaf455fd03fb27531ce60ccb (commit) via d2276d5ddab9f3f0bc6a47cf0a713f7c5a08e417 (commit) from 20ca1e471c61f8c3c0497f71ab182a3f7b83fc15 (commit)
- Log ----------------------------------------------------------------- commit ef43e2fce8ff8aa5aaf455fd03fb27531ce60ccb Author: Madhura Jayaratne madhura.cj@gmail.com Date: Sun Sep 18 14:47:26 2011 +0530
Proper handling of set type columns in zoom editor
commit d2276d5ddab9f3f0bc6a47cf0a713f7c5a08e417 Author: Madhura Jayaratne madhura.cj@gmail.com Date: Sun Sep 18 12:10:46 2011 +0530
Avoid b'null' and b'' for bit fields. No space before comma and single space after comma in SQL query
-----------------------------------------------------------------------
Summary of changes: js/tbl_zoom_plot.js | 33 +++++++++++++++++++++++---------- 1 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/js/tbl_zoom_plot.js b/js/tbl_zoom_plot.js index 3e760df..3f8d00b 100644 --- a/js/tbl_zoom_plot.js +++ b/js/tbl_zoom_plot.js @@ -273,6 +273,11 @@ $(document).ready(function() { if (key != 'where_clause') { var oldVal = selectedRow[key]; var newVal = ($('#fields_null_id_' + it).attr('checked')) ? null : $('#fieldID_' + it).val(); + if (newVal instanceof Array) { // when the column is of type SET + newVal = $('#fieldID_' + it).map(function(){ + return $(this).val(); + }).get().join(","); + } if (oldVal != newVal) { selectedRow[key] = newVal; newValues[key] = newVal; @@ -383,18 +388,20 @@ $(document).ready(function() { if (key != 'where_clause') { sql_query += '`' + key + '`=' ; var value = newValues[key]; - if (sqlTypes[key] != null) { - if (sqlTypes[key] == 'bit') { - sql_query += 'b'' + value + '' ,'; + if (sqlTypes[key] != null && value != null) { + if (sqlTypes[key] == 'bit' && value != '') { + sql_query += 'b'' + value + '', '; + } else { + sql_query += ''', '; } } else if (!isNumeric(value) && value != null) { - sql_query += ''' + value + '' ,'; + sql_query += ''' + value + '', '; } else { - sql_query += value + ' ,'; + sql_query += value + ', '; } } } - sql_query = sql_query.substring(0, sql_query.length - 1); + sql_query = sql_query.substring(0, sql_query.length - 2); sql_query += ' WHERE ' + PMA_urldecode(data[currentData]['where_clause']);
//Post SQL query to sql.php @@ -479,12 +486,18 @@ $(document).ready(function() { $.post('tbl_zoom_select.php', post_params, function(data) { // Row is contained in data.row_info, now fill the displayResultForm with row values for (key in data.row_info) { + $field = $('#fieldID_' + fid); + $field_null = $('#fields_null_id_' + fid); if (data.row_info[key] == null) { - $('#fields_null_id_' + fid).attr('checked', true); - $('#fieldID_' + fid).val(''); + $field_null.attr('checked', true); + $field.val(''); } else { - $('#fields_null_id_' + fid).attr('checked', false); - $('#fieldID_' + fid).val(data.row_info[key]); + $field_null.attr('checked', false); + if ($field.attr('multiple')) { // when the column is of type SET + $field.val(data.row_info[key].split(',')); + } else { + $field.val(data.row_info[key]); + } } fid++; }
hooks/post-receive