yes, just catching up on threads; read the discussion there after
posting here....

On Oct 15, 12:19 pm, mdipierro <[EMAIL PROTECTED]> wrote:
> Please follow up any discussion on the other thread:
>
>           Testing-the-water re change to update/delete
>
> yes, this is not related to transactions (I misunderstood the original
> post).
> In fact T2 now has the feature Bill suggested.
>
> On Oct 15, 12:15 pm, yarko <[EMAIL PROTECTED]> wrote:
>
> > ...can someone in this context talk to me where db transactoins do /
> > could come into play?
>
> > Is this because rows are not tied up in transactions at every form
> > display?  Is Bill suggesting doing a "lightweight" version of this in
> > the framework?   What other alternatives are there?
>
> > On Oct 15, 10:09 am, mdipierro <[EMAIL PROTECTED]> wrote:
>
> > > The message above is in the wrong thread. Yes. This is a race
> > > condition and it can happen.
>
> > > Massimo
>
> > > On Oct 15, 8:50 am, billf <[EMAIL PROTECTED]> wrote:
>
> > > > Please can you explain how the id mechanism prevents the problem that
> > > > I describe.
>
> > > > User A selects record with id=99 that has the following columns/
> > > > values: "name" = "Massimo", "town" = "Chicago".
>
> > > > User B selects the same record, id=99, "name" = "Massimo", "town" =
> > > > "Chicago".
> > > > User B updates the name to "Massimo di Pierro", leaves "town" =
> > > > "Chicago" and submits the form.
> > > > The database is updated.
>
> > > > User A (on the form displayed prior to user B's action) updates the
> > > > "town" to "New York" and submits the form.
> > > > As the id is still 99, the database will be updated and the version on
> > > > the database will be:
> > > > id=99, name="Massimo", town="New York"
>
> > > > i.e. unknown to both users A and B, user B's action has been silently
> > > > undone.  I have just tested this again and it is what happens.
>
> > > > In my suggested solution, the new column (version or timestamp) would
> > > > have been updated during user B's update and therefore would not match
> > > > with the value submitted by user A allowing user A's update to fail
> > > > and providing the opportunity to notify user A as to what had
> > > > occurred.  The purpose of the feature is not to prevent user A from
> > > > updating the record - he/she just re-displays user B's values, changes
> > > > them and submits - it is just to prevent user A doing it without
> > > > knowing.
>
> > > > Bill
>
> > > > On Oct 15, 2:18 pm, mdipierro <[EMAIL PROTECTED]> wrote:
>
> > > > > Not True.
>
> > > > > There is a mechanism to prevent that. SQLFORM for update forms stores
> > > > > the record id server side. If the use tampers with the form accepts
> > > > > detects it.
>
> > > > > Massimo
>
> > > > > On Oct 15, 3:59 am, billf <[EMAIL PROTECTED]> wrote:
>
> > > > > > If a user knows the id of a record then, by default, there is 
> > > > > > nothing
> > > > > > to stop them deleting a record from the database irrespective of the
> > > > > > delete checkbox being displayed.  For example:
>
> > > > > >http://my_server:my_port/my_application/my_controller/my_action?id=th...
>
> > > > > > I know this is unlikely but in a business situation it seems a bit
> > > > > > lax.  In SQLFORM, deleteable is just used to decide whether to 
> > > > > > create
> > > > > > the checkbox or not.  Perhaps it should be saved in the form or
> > > > > > session and checked before actually deleting.
>
> > > > > > Bill
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to