[Phpmyadmin-devel] Grid editing
Marc Delisle
marc at infomarc.info
Mon Aug 8 12:37:31 CEST 2011
Le 2011-08-08 05:59, Aris Feryanto a écrit :
> On 5 Agu 2011, at 10:04, Aris Feryanto <aris_feryanto at yahoo.com>
> wrote:
>
>>> From: Marc Delisle <marc at infomarc.info>
>>
>>> Aris Feryanto a écrit :
>>>>> From: Marc Delisle <marc at infomarc.info>
>>>>
>>>>> Le 2011-07-31 13:15, Aris Feryanto a écrit :
>>>>>
>>>>>>>>> 3. I hope that we'll get the OK from other
>>> developers to
>>>>> remove
>>>>>>>>> the row inline edit feature, because with the current
>>>>>>>>>
>>> code,
>>>>>>>>>
>>>>>>>>> 3.1 we have two features to do almost the same thing
>>>>>>>>>
>>> 3.2
>>>>>>>>> currently, clicking on inline edit then on a cell
>>> activates the
>>>>>>>>> grid editing!
>>>>>>>> I hope so. Any objections?
>>>>> Still waiting for input from other developers...
>>>>
>>>> It seems there is no objection about this. Instead, positive
>>>> feedback from
>>> other phpMyAdmin developers.
>>>
>>> Yes. Can you remove the row inline edit feature from your tree?
>>
>> Sure. I will work on this.
>
> Removed in my git.
Excellent!
>
>>
>>>
>>>>
>>>>>>>>> 4. With this feature, we have the same problems as
>>> with inline
>>>>>>>>> edit, such as:
>>>>>>>>>
>>>>>>>>> 4.2 (major) For tables with a unique key, if this key
>>>>>>>>>
>>> is
>>>>>>>>> edited, the Edit, Copy and Delete links no longer
>>> contain a
>>>>>>>>> valid where_clause parameter and the multi-rows
>>> actions at the
>>>>>>>>> bottom (with selected) no longer work.
>>>>>>>>>
>>>>>>>>> 4.3 (major) For tables without a unique key, if any
>>> column is
>>>>>>>>> edited, the Edit, Copy and Delete links no longer
>>> contain a
>>>>>>>>> valid where_clause parameter and the multi-rows
>>> actions at the
>>>>>>>>> bottom (with selected) no longer work.
>>>>>>>>
>>>>>>>> Two problems above were fixed.
>>>>>>> It's a good progress but the fix is not complete.
>>>>>>>
>>>>>>> About remark 4.2, the Delete link still refers to the old
>>>>>>>
>>> unique
>>>>>>> key.
>>>>>> It's weird, since this works in my test. Could you please
>>> check this
>>>>>> again?
>>>>> The real problem is that the confirmation message shown
>>>>> before deletion still contains the old key. Deletion itself
>>>>> works but I had stopped to test after seeing the wrong
>>>>> confirmation message.
>>>>
>>>> Fixed
>>>
>>> Confirmed.
>>>
>>>>
>>>>>>> About remark 4.3, the Edit link still points to the old
>>>>>>> data
>>> and
>>>>>>> fails, in the case of a table lacking a unique key.
>>>>>>>
>>>>>> Same as the response for 4.2, this works on my test. Could
>>>>>> you
>>> check
>>>>>> this again?
>>>>> I confirm the problem, on a copy of the sakila.actor table
>>>>> where I have removed all indexes. I think it's because the
>>>>> last_update column (a timestamp) was updated via grid-editing
>>>>> but the URL still contains the previous value.
>>>>
>>>> Fixed.
>>>
>>> Problem 4.3 exists in your current tree. Tested with the Edit
>>> link on the sakila.actor table by changing the actor_id.
>>
>
> After some searching, problem 4.3 seems cannot be fixed, since any
> fields in where_clause can be modified when we execute an UPDATE
> statement (e.g., by Triggers, field with option "ON UPDATE
> CURRENT_TIMESTAMP").
>
> IMO, the choices to solve this are: - to alert user when grid editing
> a nonunique row (telling that some features related to the edited
> table may not work after editing), or - disable the grid editing
> feature at all for nonunique rows
>
> What would be the best choice?
Alerting the user would be best; please tell the user that "features
related to the checkbox, Edit and Delete links may not work after editing".
Also, we talked about this but I don't remember about a decision: do you
plan to "advertise" this feature, with a tooltip when hovering over
editable cells?
>
>>
>>>
>>>>
>>>>> 5. Just found out another problem, when the configuration
>>>>> AjaxEnable is set to false.
>>>>>
>>>>> Trying your version with latest commit
>>>>> 0d197603085c43cac543351795b3df6de4167b96 with Firefox 5 on
>>> sakila.actor,
>>>>> I cannot change the actor_id then click "Save edited data".
>>> Look what
>>>>> is generated:
>>>>>
>>>>> UPDATE `sakila`.`actor` SET = '4002' WHERE
>>>>> `actor2`.`actor_id`
>>> =2
>>>>>
>>>>
>>>>
>>>> Regarding the AjaxEnable setting, should the grid editing works
>>>> when
>>> AjaxEnable is set to off?
>>>
>>> No.
>>
>> I will work on this.
>>
>
>
> Fixed.
--
Marc Delisle
http://infomarc.info
More information about the Developers
mailing list