$current_value = $transformation_plugin->applyTransformation($current_value, $transformation_options);
             // check if transformation was successful or not
             // and accordingly set error messages & insert_fail
             if (method_exists($transformation_plugin, 'isSuccess') && !$transformation_plugin->isSuccess()) {
                 $insert_fail = true;
                 $row_skipped = true;
                 $insert_errors[] = sprintf(__('Row: %1$s, Column: %2$s, Error: %3$s'), $rownumber, $column_name, $transformation_plugin->getError());
             }
         }
     }
     if ($file_to_insert->isError()) {
         $message .= $file_to_insert->getError();
     }
     // delete $file_to_insert temporary variable
     $file_to_insert->cleanUp();
     $current_value = PMA_getCurrentValueForDifferentTypes($possibly_uploaded_val, $key, $multi_edit_columns_type, $current_value, $multi_edit_auto_increment, $rownumber, $multi_edit_columns_name, $multi_edit_columns_null, $multi_edit_columns_null_prev, $is_insert, $using_key, $where_clause, $table);
     $current_value_as_an_array = PMA_getCurrentValueAsAnArrayForMultipleEdit($multi_edit_funcs, $multi_edit_salt, $gis_from_text_functions, $current_value, $gis_from_wkb_functions, $func_optional_param, $func_no_param, $key);
     list($query_values, $query_fields) = PMA_getQueryValuesForInsertAndUpdateInMultipleEdit($multi_edit_columns_name, $multi_edit_columns_null, $current_value, $multi_edit_columns_prev, $multi_edit_funcs, $is_insert, $query_values, $query_fields, $current_value_as_an_array, $value_sets, $key, $multi_edit_columns_null_prev);
     if (isset($multi_edit_columns_null[$key])) {
         $multi_edit_columns[$key] = null;
     }
 }
 //end of foreach
 // temporarily store rows not inserted
 // so that they can be populated again.
 if ($insert_fail) {
     $unsaved_values[$rownumber] = $multi_edit_columns;
 }
 if (!$insert_fail && count($query_values) > 0) {
     if ($is_insert) {
         $value_sets[] = implode(', ', $query_values);
 /**
  * Test for PMA_getCurrentValueForDifferentTypes
  *
  * @return void
  */
 public function testGetCurrentValueForDifferentTypes()
 {
     $prow = array();
     $prow['a'] = '101';
     $dbi = $this->getMockBuilder('PMA_DatabaseInterface')->disableOriginalConstructor()->getMock();
     $dbi->expects($this->at(4))->method('fetchSingleRow')->with('SELECT * FROM `table` WHERE 1;')->will($this->returnValue($prow));
     $GLOBALS['dbi'] = $dbi;
     $result = PMA_getCurrentValueForDifferentTypes('123', 0, array(), null, null, null, null, null, null, true, true, '1', 'table');
     $this->assertEquals('123', $result);
     // case 2
     $result = PMA_getCurrentValueForDifferentTypes(false, 0, array('test'), '', array(1), null, null, null, null, true, true, '1', 'table');
     $this->assertEquals('NULL', $result);
     // case 3
     $result = PMA_getCurrentValueForDifferentTypes(false, 0, array('test'), '', array(), null, null, null, null, true, true, '1', 'table');
     $this->assertEquals("''", $result);
     // case 4
     $_REQUEST['fields']['multi_edit'][0][0] = array();
     $result = PMA_getCurrentValueForDifferentTypes(false, 0, array('set'), '', array(), 0, null, null, null, true, true, '1', 'table');
     $this->assertEquals("''", $result);
     // case 5
     $result = PMA_getCurrentValueForDifferentTypes(false, 0, array('protected'), '', array(), 0, array('a'), null, null, true, true, '1', 'table');
     $this->assertEquals("0x313031", $result);
     // case 6
     $result = PMA_getCurrentValueForDifferentTypes(false, 0, array('protected'), '', array(), 0, array('a'), null, null, true, true, '1', 'table');
     $this->assertEquals("", $result);
     // case 7
     $result = PMA_getCurrentValueForDifferentTypes(false, 0, array('bit'), '20\'12', array(), 0, array('a'), null, null, true, true, '1', 'table');
     $this->assertEquals("b'00010'", $result);
     // case 7
     $result = PMA_getCurrentValueForDifferentTypes(false, 0, array('date'), '20\'12', array(), 0, array('a'), null, null, true, true, '1', 'table');
     $this->assertEquals("'20''12'", $result);
     // case 8
     $_REQUEST['fields']['multi_edit'][0][0] = array();
     $result = PMA_getCurrentValueForDifferentTypes(false, 0, array('set'), '', array(), 0, null, array(1), null, true, true, '1', 'table');
     $this->assertEquals("NULL", $result);
     // case 9
     $result = PMA_getCurrentValueForDifferentTypes(false, 0, array('protected'), '', array(), 0, array('a'), array(null), array(1), true, true, '1', 'table');
     $this->assertEquals("''", $result);
 }