RE: [indexeddb] IDBRequest.transaction property set to null

2011-07-14 Thread Eliot Graff
Changes made and added to editor's draft. 

Edited the description of IDBRequest.transaction and step 10 of "VERSION_CHANGE 
transaction steps".

Thanks,

Eliot

> -Original Message-
> From: public-webapps-requ...@w3.org [mailto:public-webapps-
> requ...@w3.org] On Behalf Of Israel Hilerio
> Sent: Friday, July 08, 2011 4:52 PM
> To: Jonas Sicking
> Cc: public-webapps@w3.org; Victor Ngo; Jeremy Orlow
> Subject: RE: [indexeddb] IDBRequest.transaction property set to null
> 
> Yes, this should only impact the setVersion onsuccess handler and not the
> open onsuccess handler.  We're in agreement :-).
> I will work with Eliot to update the spec here.
> 
> Israel
> 
> On Friday, July 08, 2011 4:18 PM, Jonas Sicking wrote:
> > I think setting the event.transaction to the newly created transaction
> > for setVersion's success event makes sense (we might even do that in
> > the firefox implementation iirc, but i'm not fully sure).
> >
> > For all the other events mentioned in the original comment of this
> > thread it needs to be null as no transaction is created.
> >
> > This matches what is proposed, right?
> >
> > / Jonas
> >
> > On Fri, Jul 8, 2011 at 11:23 AM, Israel Hilerio
> > 
> > wrote:
> > > Jonas, what do you think?
> > >
> > >
> > >
> > > Israel
> > >
> > >
> > >
> > > On Wednesday, July 06, 2011 9:35 PM, Jeremy Orlow wrote:
> > >
> > > I'd be OK with it.  Jonas, what do you think?
> > >
> > >
> > >
> > > J
> > >
> > > On Wed, Jul 6, 2011 at 10:27 AM, Israel Hilerio
> > > 
> > > wrote:
> > >
> > > On Tuesday, June 28, 2011 11:21 AM, Israel Hilerio wrote:
> > >> On Monday, June 27, 2011 11:59 PM, Jeremy Orlow wrote:
> > >>
> > >> > On Thu, Jun 23, 2011 at 2:21 PM, Israel Hilerio
> > >> > 
> > >> wrote:
> > >> >> In the definition of IDBRequest.transaction it stipulates that
> > >> >> "This property can be null for certain requests, such as for
> > >> >> request returned from
> > >> IDBFactory.open and IDBDatabase.setVersion."  Based on this we
> > >> understand that the following handlers will set the transaction
> > >> property to
> > null:
> > >> >> * setVersion onsuccess handler
> > >> >> * setVersion onerror handler
> > >> >> * setVersion onblock handler
> > >> >> * open onsuccess handler
> > >> >> * open onerror handler
> > >> >> Are there any other times when this property should be set to
> > >> >> null or is this
> > >> the complete list?  We couldn't think of any other times when this
> > >> applied but wanted to check.
> > >>
> > >> > I believe this is correct.
> > >>
> > >> >> Also, in the setVersion case, if we're setting the result
> > >> >> property to its active
> > >> transaction, why are we setting the transaction property to null
> > >> instead of the same active transaction?
> > >>
> > >> > I know Jonas and I talked about this, but I don't remember the
> > >> > reasoning for sure.  One thing I can think of off the top of my
> > >> > head is that
> > >> it's weird that it'd start off null and then be set later.  Also,
> > >> it would be duplicate data given that .result is also set to the
> > >> transaction.  Is there any strong reason to set it?
> > >>
> > >> > J
> > >>
> > >> The main reason was to keep a consistent calling pattern inside our
> > >> event
> > >> handlers:
> > >> * event.target.transaction.oncomplete
> > >>
> > >> The only exception to this pattern are the open and setVersion APIs.
> > >> In the case of the setVersion handler we have to use:
> > >> * event.target.result.oncomplete
> > >>
> > >> It would be nice to use only one pattern all the time.
> > >>
> > >> Israel
> > >>
> > >
> > > What do you think about the idea of having a consistent/common
> > > access pattern for accessing the transaction inside most of our
> > > event handlers (i.e. inside setVersion but not open).  This will
> > > always guaranteed a good (not null) transaction handler developers
> > > can always
> > count on.
> > >
> > > Israel
> > >
> > >
> 
> 




RE: [indexeddb] IDBRequest.transaction property set to null

2011-07-08 Thread Israel Hilerio
Yes, this should only impact the setVersion onsuccess handler and not the open 
onsuccess handler.  We're in agreement :-).  
I will work with Eliot to update the spec here.

Israel

On Friday, July 08, 2011 4:18 PM, Jonas Sicking wrote:
> I think setting the event.transaction to the newly created transaction for
> setVersion's success event makes sense (we might even do that in the firefox
> implementation iirc, but i'm not fully sure).
> 
> For all the other events mentioned in the original comment of this thread it
> needs to be null as no transaction is created.
> 
> This matches what is proposed, right?
> 
> / Jonas
> 
> On Fri, Jul 8, 2011 at 11:23 AM, Israel Hilerio 
> wrote:
> > Jonas, what do you think?
> >
> >
> >
> > Israel
> >
> >
> >
> > On Wednesday, July 06, 2011 9:35 PM, Jeremy Orlow wrote:
> >
> > I'd be OK with it.  Jonas, what do you think?
> >
> >
> >
> > J
> >
> > On Wed, Jul 6, 2011 at 10:27 AM, Israel Hilerio
> > 
> > wrote:
> >
> > On Tuesday, June 28, 2011 11:21 AM, Israel Hilerio wrote:
> >> On Monday, June 27, 2011 11:59 PM, Jeremy Orlow wrote:
> >>
> >> > On Thu, Jun 23, 2011 at 2:21 PM, Israel Hilerio
> >> > 
> >> wrote:
> >> >> In the definition of IDBRequest.transaction it stipulates that
> >> >> "This property can be null for certain requests, such as for
> >> >> request returned from
> >> IDBFactory.open and IDBDatabase.setVersion."  Based on this we
> >> understand that the following handlers will set the transaction property to
> null:
> >> >> * setVersion onsuccess handler
> >> >> * setVersion onerror handler
> >> >> * setVersion onblock handler
> >> >> * open onsuccess handler
> >> >> * open onerror handler
> >> >> Are there any other times when this property should be set to null
> >> >> or is this
> >> the complete list?  We couldn't think of any other times when this
> >> applied but wanted to check.
> >>
> >> > I believe this is correct.
> >>
> >> >> Also, in the setVersion case, if we're setting the result property
> >> >> to its active
> >> transaction, why are we setting the transaction property to null
> >> instead of the same active transaction?
> >>
> >> > I know Jonas and I talked about this, but I don't remember the
> >> > reasoning for sure.  One thing I can think of off the top of my
> >> > head is that
> >> it's weird that it'd start off null and then be set later.  Also, it
> >> would be duplicate data given that .result is also set to the
> >> transaction.  Is there any strong reason to set it?
> >>
> >> > J
> >>
> >> The main reason was to keep a consistent calling pattern inside our
> >> event
> >> handlers:
> >> * event.target.transaction.oncomplete
> >>
> >> The only exception to this pattern are the open and setVersion APIs.
> >> In the case of the setVersion handler we have to use:
> >> * event.target.result.oncomplete
> >>
> >> It would be nice to use only one pattern all the time.
> >>
> >> Israel
> >>
> >
> > What do you think about the idea of having a consistent/common access
> > pattern for accessing the transaction inside most of our event
> > handlers (i.e. inside setVersion but not open).  This will always
> > guaranteed a good (not null) transaction handler developers can always
> count on.
> >
> > Israel
> >
> >




Re: [indexeddb] IDBRequest.transaction property set to null

2011-07-08 Thread Jonas Sicking
I think setting the event.transaction to the newly created transaction
for setVersion's success event makes sense (we might even do that in
the firefox implementation iirc, but i'm not fully sure).

For all the other events mentioned in the original comment of this
thread it needs to be null as no transaction is created.

This matches what is proposed, right?

/ Jonas

On Fri, Jul 8, 2011 at 11:23 AM, Israel Hilerio  wrote:
> Jonas, what do you think?
>
>
>
> Israel
>
>
>
> On Wednesday, July 06, 2011 9:35 PM, Jeremy Orlow wrote:
>
> I'd be OK with it.  Jonas, what do you think?
>
>
>
> J
>
> On Wed, Jul 6, 2011 at 10:27 AM, Israel Hilerio 
> wrote:
>
> On Tuesday, June 28, 2011 11:21 AM, Israel Hilerio wrote:
>> On Monday, June 27, 2011 11:59 PM, Jeremy Orlow wrote:
>>
>> > On Thu, Jun 23, 2011 at 2:21 PM, Israel Hilerio 
>> wrote:
>> >> In the definition of IDBRequest.transaction it stipulates that "This
>> >> property can be null for certain requests, such as for request returned
>> >> from
>> IDBFactory.open and IDBDatabase.setVersion."  Based on this we understand
>> that the following handlers will set the transaction property to null:
>> >> * setVersion onsuccess handler
>> >> * setVersion onerror handler
>> >> * setVersion onblock handler
>> >> * open onsuccess handler
>> >> * open onerror handler
>> >> Are there any other times when this property should be set to null or
>> >> is this
>> the complete list?  We couldn't think of any other times when this applied
>> but
>> wanted to check.
>>
>> > I believe this is correct.
>>
>> >> Also, in the setVersion case, if we're setting the result property to
>> >> its active
>> transaction, why are we setting the transaction property to null instead
>> of the
>> same active transaction?
>>
>> > I know Jonas and I talked about this, but I don't remember the
>> > reasoning for sure.  One thing I can think of off the top of my head is
>> > that
>> it's weird that it'd start off null and then be set later.  Also, it would
>> be
>> duplicate data given that .result is also set to the transaction.  Is
>> there any
>> strong reason to set it?
>>
>> > J
>>
>> The main reason was to keep a consistent calling pattern inside our event
>> handlers:
>> * event.target.transaction.oncomplete
>>
>> The only exception to this pattern are the open and setVersion APIs.  In
>> the
>> case of the setVersion handler we have to use:
>> * event.target.result.oncomplete
>>
>> It would be nice to use only one pattern all the time.
>>
>> Israel
>>
>
> What do you think about the idea of having a consistent/common access
> pattern for accessing the transaction inside most of our event handlers
> (i.e. inside setVersion but not open).  This will always guaranteed a good
> (not null) transaction handler developers can always count on.
>
> Israel
>
>



RE: [indexeddb] IDBRequest.transaction property set to null

2011-07-08 Thread Israel Hilerio
Jonas, what do you think?

Israel

On Wednesday, July 06, 2011 9:35 PM, Jeremy Orlow wrote:
I'd be OK with it.  Jonas, what do you think?

J
On Wed, Jul 6, 2011 at 10:27 AM, Israel Hilerio 
mailto:isra...@microsoft.com>> wrote:
On Tuesday, June 28, 2011 11:21 AM, Israel Hilerio wrote:
> On Monday, June 27, 2011 11:59 PM, Jeremy Orlow wrote:
>
> > On Thu, Jun 23, 2011 at 2:21 PM, Israel Hilerio 
> > mailto:isra...@microsoft.com>>
> wrote:
> >> In the definition of IDBRequest.transaction it stipulates that "This
> >> property can be null for certain requests, such as for request returned 
> >> from
> IDBFactory.open and IDBDatabase.setVersion."  Based on this we understand
> that the following handlers will set the transaction property to null:
> >> * setVersion onsuccess handler
> >> * setVersion onerror handler
> >> * setVersion onblock handler
> >> * open onsuccess handler
> >> * open onerror handler
> >> Are there any other times when this property should be set to null or is 
> >> this
> the complete list?  We couldn't think of any other times when this applied but
> wanted to check.
>
> > I believe this is correct.
>
> >> Also, in the setVersion case, if we're setting the result property to its 
> >> active
> transaction, why are we setting the transaction property to null instead of 
> the
> same active transaction?
>
> > I know Jonas and I talked about this, but I don't remember the
> > reasoning for sure.  One thing I can think of off the top of my head is that
> it's weird that it'd start off null and then be set later.  Also, it would be
> duplicate data given that .result is also set to the transaction.  Is there 
> any
> strong reason to set it?
>
> > J
>
> The main reason was to keep a consistent calling pattern inside our event
> handlers:
> * event.target.transaction.oncomplete
>
> The only exception to this pattern are the open and setVersion APIs.  In the
> case of the setVersion handler we have to use:
> * event.target.result.oncomplete
>
> It would be nice to use only one pattern all the time.
>
> Israel
>
What do you think about the idea of having a consistent/common access pattern 
for accessing the transaction inside most of our event handlers (i.e. inside 
setVersion but not open).  This will always guaranteed a good (not null) 
transaction handler developers can always count on.

Israel



Re: [indexeddb] IDBRequest.transaction property set to null

2011-07-06 Thread Jeremy Orlow
I'd be OK with it.  Jonas, what do you think?

J

On Wed, Jul 6, 2011 at 10:27 AM, Israel Hilerio wrote:

> On Tuesday, June 28, 2011 11:21 AM, Israel Hilerio wrote:
> > On Monday, June 27, 2011 11:59 PM, Jeremy Orlow wrote:
> >
> > > On Thu, Jun 23, 2011 at 2:21 PM, Israel Hilerio  >
> > wrote:
> > >> In the definition of IDBRequest.transaction it stipulates that "This
> > >> property can be null for certain requests, such as for request
> returned from
> > IDBFactory.open and IDBDatabase.setVersion."  Based on this we understand
> > that the following handlers will set the transaction property to null:
> > >> * setVersion onsuccess handler
> > >> * setVersion onerror handler
> > >> * setVersion onblock handler
> > >> * open onsuccess handler
> > >> * open onerror handler
> > >> Are there any other times when this property should be set to null or
> is this
> > the complete list?  We couldn't think of any other times when this
> applied but
> > wanted to check.
> >
> > > I believe this is correct.
> >
> > >> Also, in the setVersion case, if we're setting the result property to
> its active
> > transaction, why are we setting the transaction property to null instead
> of the
> > same active transaction?
> >
> > > I know Jonas and I talked about this, but I don't remember the
> > > reasoning for sure.  One thing I can think of off the top of my head is
> that
> > it's weird that it'd start off null and then be set later.  Also, it
> would be
> > duplicate data given that .result is also set to the transaction.  Is
> there any
> > strong reason to set it?
> >
> > > J
> >
> > The main reason was to keep a consistent calling pattern inside our event
> > handlers:
> > * event.target.transaction.oncomplete
> >
> > The only exception to this pattern are the open and setVersion APIs.  In
> the
> > case of the setVersion handler we have to use:
> > * event.target.result.oncomplete
> >
> > It would be nice to use only one pattern all the time.
> >
> > Israel
> >
>
> What do you think about the idea of having a consistent/common access
> pattern for accessing the transaction inside most of our event handlers
> (i.e. inside setVersion but not open).  This will always guaranteed a good
> (not null) transaction handler developers can always count on.
>
> Israel
>


RE: [indexeddb] IDBRequest.transaction property set to null

2011-07-06 Thread Israel Hilerio
On Tuesday, June 28, 2011 11:21 AM, Israel Hilerio wrote:
> On Monday, June 27, 2011 11:59 PM, Jeremy Orlow wrote:
> 
> > On Thu, Jun 23, 2011 at 2:21 PM, Israel Hilerio 
> wrote:
> >> In the definition of IDBRequest.transaction it stipulates that "This
> >> property can be null for certain requests, such as for request returned 
> >> from
> IDBFactory.open and IDBDatabase.setVersion."  Based on this we understand
> that the following handlers will set the transaction property to null:
> >> * setVersion onsuccess handler
> >> * setVersion onerror handler
> >> * setVersion onblock handler
> >> * open onsuccess handler
> >> * open onerror handler
> >> Are there any other times when this property should be set to null or is 
> >> this
> the complete list?  We couldn't think of any other times when this applied but
> wanted to check.
> 
> > I believe this is correct.
> 
> >> Also, in the setVersion case, if we're setting the result property to its 
> >> active
> transaction, why are we setting the transaction property to null instead of 
> the
> same active transaction?
> 
> > I know Jonas and I talked about this, but I don't remember the
> > reasoning for sure.  One thing I can think of off the top of my head is that
> it's weird that it'd start off null and then be set later.  Also, it would be
> duplicate data given that .result is also set to the transaction.  Is there 
> any
> strong reason to set it?
> 
> > J
> 
> The main reason was to keep a consistent calling pattern inside our event
> handlers:
> * event.target.transaction.oncomplete
> 
> The only exception to this pattern are the open and setVersion APIs.  In the
> case of the setVersion handler we have to use:
> * event.target.result.oncomplete
> 
> It would be nice to use only one pattern all the time.
> 
> Israel
> 

What do you think about the idea of having a consistent/common access pattern 
for accessing the transaction inside most of our event handlers (i.e. inside 
setVersion but not open).  This will always guaranteed a good (not null) 
transaction handler developers can always count on.

Israel



RE: [indexeddb] IDBRequest.transaction property set to null

2011-06-28 Thread Israel Hilerio
On Monday, June 27, 2011 11:59 PM, Jeremy Orlow wrote:

> On Thu, Jun 23, 2011 at 2:21 PM, Israel Hilerio  wrote:
>> In the definition of IDBRequest.transaction it stipulates that "This 
>> property can be null for certain requests, such as for request returned from 
>> IDBFactory.open and 
>> IDBDatabase.setVersion."  Based on this we understand that the following 
>> handlers will set the transaction property to null:
>> * setVersion onsuccess handler
>> * setVersion onerror handler
>> * setVersion onblock handler
>> * open onsuccess handler
>> * open onerror handler
>> Are there any other times when this property should be set to null or is 
>> this the complete list?  We couldn't think of any other times when this 
>> applied but wanted to check.

> I believe this is correct.

>> Also, in the setVersion case, if we're setting the result property to its 
>> active transaction, why are we setting the transaction property to null 
>> instead of the same active transaction?

> I know Jonas and I talked about this, but I don't remember the reasoning for 
> sure.  One thing I can think of off the top of my head is that it's weird 
> that it'd start off null and then be 
> set later.  Also, it would be duplicate data given that .result is also set 
> to the transaction.  Is there any strong reason to set it?

> J

The main reason was to keep a consistent calling pattern inside our event 
handlers:
* event.target.transaction.oncomplete 

The only exception to this pattern are the open and setVersion APIs.  In the 
case of the setVersion handler we have to use:
* event.target.result.oncomplete

It would be nice to use only one pattern all the time.

Israel



Re: [indexeddb] IDBRequest.transaction property set to null

2011-06-27 Thread Jeremy Orlow
On Thu, Jun 23, 2011 at 2:21 PM, Israel Hilerio wrote:

> In the definition of IDBRequest.transaction it stipulates that "This
> property can be null for certain requests, such as for request returned from
> IDBFactory.open and IDBDatabase.setVersion."  Based on this we understand
> that the following handlers will set the transaction property to null:
> * setVersion onsuccess handler
> * setVersion onerror handler
> * setVersion onblock handler
> * open onsuccess handler
> * open onerror handler
> Are there any other times when this property should be set to null or is
> this the complete list?  We couldn't think of any other times when this
> applied but wanted to check.
>

I believe this is correct.


> Also, in the setVersion case, if we're setting the result property to its
> active transaction, why are we setting the transaction property to null
> instead of the same active transaction?
>

I know Jonas and I talked about this, but I don't remember the reasoning for
sure.  One thing I can think of off the top of my head is that it's weird
that it'd start off null and then be set later.  Also, it would be duplicate
data given that .result is also set to the transaction.  Is there any strong
reason to set it?

J


[indexeddb] IDBRequest.transaction property set to null

2011-06-23 Thread Israel Hilerio
In the definition of IDBRequest.transaction it stipulates that "This property 
can be null for certain requests, such as for request returned from 
IDBFactory.open and IDBDatabase.setVersion."  Based on this we understand that 
the following handlers will set the transaction property to null:
* setVersion onsuccess handler
* setVersion onerror handler
* setVersion onblock handler
* open onsuccess handler
* open onerror handler
Are there any other times when this property should be set to null or is this 
the complete list?  We couldn't think of any other times when this applied but 
wanted to check.

Also, in the setVersion case, if we're setting the result property to its 
active transaction, why are we setting the transaction property to null instead 
of the same active transaction?

Israel