/irc-logs / w3c / #webapps / 2010-03-24 / end
Options:
- # Session Start: Wed Mar 24 00:00:00 2010
- # Session Ident: #webapps
- # [00:05] * Joins: shepazu (schepers@128.30.52.169)
- # [00:43] * Quits: shepazu (schepers@128.30.52.169) (Quit: shepazu)
- # [01:12] * Quits: smaug (chatzilla@82.181.150.24) (Quit: ChatZilla 0.9.86 [Firefox 3.7a3pre/20100307190058])
- # [01:32] * Joins: smaug (chatzilla@82.181.150.24)
- # [01:46] * Joins: dydz (dydz@75.37.27.246)
- # [02:44] * Quits: Nikunj (Adium@64.186.167.205) (Ping timeout)
- # [03:07] * Quits: anne (annevk@83.85.115.123) (Ping timeout)
- # [03:56] * Joins: Nikunj (Adium@98.234.66.20)
- # [04:08] * Quits: Nikunj (Adium@98.234.66.20) (Quit: Leaving.)
- # [05:23] * Joins: Nikunj (Adium@98.234.66.20)
- # [05:51] * Joins: shepazu (schepers@128.30.52.169)
- # [06:29] * Quits: Nikunj (Adium@98.234.66.20) (Ping timeout)
- # [06:54] * Quits: hober (ted@174.143.153.77) (Ping timeout)
- # [06:55] * Quits: gsnedders (gsnedders@204.232.194.186) (Ping timeout)
- # [06:56] * Joins: gsnedders (gsnedders@204.232.194.186)
- # [09:39] * Joins: anne (annevk@83.85.115.123)
- # [09:53] * Quits: dydz (dydz@75.37.27.246) (Quit: dydz)
- # [12:28] * Joins: ArtB (chatzilla@192.100.124.219)
- # [13:05] * Quits: Marcos (Marcos@213.236.208.22) (Ping timeout)
- # [13:07] * Joins: Lachy (Lachlan@124.171.250.216)
- # [13:17] * Quits: Lachy (Lachlan@124.171.250.216) (Ping timeout)
- # [13:24] * Joins: Lachy (Lachlan@124.171.250.216)
- # [13:26] * Joins: aroben (aroben@71.58.77.15)
- # [13:47] * Joins: MikeSmith (MikeSmith@128.31.35.229)
- # [14:03] * Joins: dydz (dydz@75.37.27.246)
- # [14:18] * Quits: MikeSmith (MikeSmith@128.31.35.229) (Ping timeout)
- # [14:19] * Joins: MikeSmith (MikeSmith@128.31.35.229)
- # [14:29] * Joins: Marcos (Marcos@213.236.208.247)
- # [14:30] * Quits: Marcos (Marcos@213.236.208.247) (Connection reset by peer)
- # [14:30] * Joins: Marcos_ (Marcos@213.236.208.247)
- # [14:34] * Quits: shepazu (schepers@128.30.52.169) (Quit: shepazu)
- # [14:34] * Quits: Marcos_ (Marcos@213.236.208.247) (Connection reset by peer)
- # [14:34] * Joins: Marcos (Marcos@213.236.208.247)
- # [14:45] * Quits: Marcos (Marcos@213.236.208.247) (Ping timeout)
- # [14:46] * Joins: Marcos (Marcos@213.236.208.247)
- # [14:50] * Quits: dydz (dydz@75.37.27.246) (Quit: dydz)
- # [14:51] * Quits: Marcos (Marcos@213.236.208.247) (Quit: Marcos)
- # [15:21] * Joins: Nikunj (Adium@98.234.66.20)
- # [15:24] * Joins: tlr (tlr@128.30.52.169)
- # [15:39] * Quits: Nikunj (Adium@98.234.66.20) (Ping timeout)
- # [15:43] * Joins: Nikunj (Adium@98.234.66.20)
- # [15:47] * Quits: Nikunj (Adium@98.234.66.20) (Quit: Leaving.)
- # [16:04] * Joins: shepazu (schepers@128.30.52.169)
- # [16:18] * Joins: dydz (dydz@75.37.27.246)
- # [17:09] * Quits: MikeSmith (MikeSmith@128.31.35.229) (Quit: Till kicked and torn and beaten out he lies, and leaves his hold and crackles, groans, and dies.)
- # [17:18] * Joins: Nikunj (Adium@64.186.167.205)
- # [17:28] * Quits: dydz (dydz@75.37.27.246) (Quit: dydz)
- # [18:01] * Joins: hober (ted@174.143.153.77)
- # [18:24] <timeless_mbp> Nikunj: ping
- # [18:27] * Joins: MikeSmith (MikeSmith@128.31.35.229)
- # [18:48] <Nikunj> yes
- # [18:48] <Nikunj> Who is that?
- # [18:53] <timeless_mbp> it's me :)
- # [18:53] <timeless_mbp> technically we met at TPAC
- # [18:53] <timeless_mbp> i can't remember if i was minuting when you were speaking, it's possible
- # [18:53] <Nikunj> I am not very familiar with your alias
- # [18:53] <Nikunj> Oh yeah I remember that
- # [18:54] <timeless_mbp> well, i'm officially just timeless, the _mbp is my mac
- # [18:54] <timeless_mbp> http://dev.w3.org/2006/webapi/WebSimpleDB/
- # [18:54] <Nikunj> Did you have a question for me?
- # [18:54] <timeless_mbp> at the beginning, there's an example
- # [18:54] <timeless_mbp> > If an exact match is not found, the next matching author is located.
- # [18:54] <timeless_mbp> the last part of that 'the next matching author is located' ...
- # [18:55] <timeless_mbp> i don't see that in the sample code
- # [18:55] <Nikunj> Ah I se
- # [18:56] <timeless_mbp> sorry, i'm one of the pickier reviewers, so it'll take me a while and well… this is the kind of stuff i spot
- # [18:56] <timeless_mbp> i presume that fragment just needs to be replaced
- # [18:56] <Nikunj> Actually, this is a remnant from prior versions
- # [18:56] * timeless_mbp nods
- # [18:56] <Nikunj> This needs to go. Thanks for pointing out
- # [18:56] <timeless_mbp> it seemed likely
- # [18:57] <timeless_mbp> oh gah
- # [18:57] <timeless_mbp> out of curiosity, have you checked your xref's recently?
- # [18:57] <Nikunj> I checked them the last time we did a WD pub
- # [18:57] <timeless_mbp> (and do the owners of the xref'd documents know you're xref'ing to them)
- # [18:57] <Nikunj> I am not sure about the second part
- # [18:58] <timeless_mbp> if you're (relatively) confident they're right, then i'll skip checking them
- # [18:58] * timeless_mbp tries to be lazy
- # [18:59] <Nikunj> I see that there are some broken anchors inside the document
- # [18:59] <Nikunj> Seem to have crept up since the last WD
- # [19:00] <Nikunj> The last WD doesn't have those errors
- # [19:00] <Nikunj> And I committed the fix to the example text
- # [19:01] <timeless_mbp> > 3.1 Constructs
- # [19:01] <timeless_mbp> > Each record consists of a key and some value.
- # [19:01] <timeless_mbp> is there a reason you use 'some' instead of 'a' ?
- # [19:01] <Nikunj> not really
- # [19:01] * Quits: ArtB (chatzilla@192.100.124.219) (Client exited)
- # [19:01] <timeless_mbp> > a user agent needs to organize each record by its key.
- # [19:02] <timeless_mbp> i'd change 'by' to 'according to', i think
- # [19:02] <timeless_mbp> (and change that 'some' to 'a' ...)
- # [19:02] <Nikunj> got both
- # [19:03] * Quits: tlr (tlr@128.30.52.169) (Quit: tlr)
- # [19:03] <timeless_mbp> > Conforming user agents must support the use of values of IDL data types [WEBIDL] DOMString and long as well as the value null as keys.
- # [19:03] <timeless_mbp> hrm
- # [19:03] <timeless_mbp> you have an 'and' and 'as well as', which kinda bothers me
- # [19:04] <timeless_mbp> but the only easy fix for that would be 'null and the IDL data types [WEBIDL]DOMString and long'
- # [19:04] <timeless_mbp> and i'm not really sure that's much better
- # [19:05] <timeless_mbp> > For purposes of comparison, a DOMString key is always evaluated higher than any long key.
- # [19:05] <timeless_mbp> > Moreover, null always evaluates lower than any DOMString or long key.
- # [19:05] <timeless_mbp> i think you want 'greater' and 'less'
- # [19:06] <timeless_mbp> > Only data types with natural ordering can be used as keys. The ECMAScript undefined cannot be used as a key.
- # [19:06] <timeless_mbp> should you use RFC MUST/MAY/ instead of 'can/cannot' ?
- # [19:06] <Nikunj> sorry I had to step away
- # [19:06] <timeless_mbp> no problem, i'm going to run through the document linearly
- # [19:07] <timeless_mbp> i don't require synchronous responses :)
- # [19:07] * Joins: tlr (tlr@128.30.52.169)
- # [19:07] <timeless_mbp> > A database may choose to derive a key from the contents of the value being stored. In such a case, only Object instances may be stored as values.
- # [19:07] <timeless_mbp> is the 'may' here RFCish?
- # [19:07] * Quits: tlr (tlr@128.30.52.169) (Client exited)
- # [19:07] * Joins: tlr (tlr@128.30.52.169)
- # [19:07] <timeless_mbp> > Only the direct enumerable properties of a stored Object instance can be used to derive a key value.
- # [19:08] <timeless_mbp> is the can here an rfc 'should' ?
- # [19:08] * timeless_mbp looks for a third party
- # [19:08] * timeless_mbp tries to tag MikeSmith
- # [19:08] <timeless_mbp> > An object store is a persistent storage that ...
- # [19:09] <MikeSmith> can is not should
- # [19:09] <timeless_mbp> the 'a' here feels somewhat odd to me
- # [19:09] <MikeSmith> yeah, "storage" is not countable
- # [19:09] <timeless_mbp> (drop 'a')
- # [19:09] <timeless_mbp> yeah, i'm aware can!=should, the question is about intent :)
- # [19:10] <MikeSmith> it should be maybe, a "persistent storage mechanism", probably
- # [19:10] <MikeSmith> timeless_mbp: exactly
- # [19:10] <timeless_mbp> > An object store is a persistent storage that holds key-value pairs, also called records.
- # [19:10] <MikeSmith> "can" is ambiguous
- # [19:10] <timeless_mbp> is the complete sentence for reference
- # [19:10] <MikeSmith> what I said
- # [19:10] <MikeSmith> add "mechanism", I think
- # [19:10] <timeless_mbp> ok, what MikeSmith said :)
- # [19:11] <timeless_mbp> > An object store's records are sorted by keys so as to enable fast insertion and look up as well as ordered retrieval.
- # [19:11] <timeless_mbp> drop 'so as'
- # [19:11] <timeless_mbp> > An object store must have a unique key generator, if it uses keys generated from a monotonically increasing sequence.
- # [19:11] * timeless_mbp finds that sentence to be backwards
- # [19:12] <timeless_mbp> or just terribly confusing?
- # [19:12] * timeless_mbp goes to make more tea
- # [19:12] <MikeSmith> it tech writing, it's usually recommended to start conditional sentences with the "If" part
- # [19:12] <MikeSmith> if you just mean the wording
- # [19:13] <Nikunj> I caught up to a point
- # [19:13] <Nikunj> Let me ask a question
- # [19:13] <Nikunj> you said: "is the complete sentence for reference"
- # [19:13] <Nikunj> The answer is yes
- # [19:14] <Nikunj> alright
- # [19:15] <Nikunj> made changes based on all the comments so far
- # [19:16] <timeless_mbp> sorry, making tea :)
- # [19:16] * Joins: Travis (836b0055@128.30.52.43)
- # [19:16] <timeless_mbp> "is the complete sentence for reference" was for MikeSmith
- # [19:17] <timeless_mbp> > An object store must have a unique key generator, if it uses keys generated from a monotonically increasing sequence.
- # [19:17] <timeless_mbp> > Alternatively, if an application provides keys, they can either be identified as a part of the value being stored, also called in-line keys, or be identified separately, also called out-of-line keys.
- # [19:17] <Nikunj> I have changed both
- # [19:18] <Nikunj> Here's the new text
- # [19:18] <Nikunj> If an <a>object store</a> uses keys generated from a monotonically
- # [19:18] <Nikunj> increasing sequence, it MUST have a unique <dfn>key generator</dfn>.
- # [19:18] <Nikunj> Alternatively, if an application provides keys,
- # [19:18] <Nikunj> they MAY either be identified as a part of the value being stored,
- # [19:18] <Nikunj> also called <dfn>in-line keys</dfn>, or be identified separately, also
- # [19:18] <Nikunj> called <dfn>out-of-line keys</dfn>.
- # [19:18] <timeless_mbp> i worry about the parsing of 'unique key generator'
- # [19:19] <timeless_mbp> one parsing is that each store must have its own unique way of generating keys, instead of a way to uniquely generate keys for its store
- # [19:19] <timeless_mbp> but otherwise, i believe your new text is better
- # [19:20] <timeless_mbp> > No two records in an object store may be identified by the same key.
- # [19:20] * timeless_mbp really should re-read the rfc for must and friends
- # [19:21] <timeless_mbp> btw, my spell checker says that you didn't spell check this document
- # [19:21] <Nikunj> > If an <a>object store</a> uses keys generated from a monotonically
- # [19:21] <Nikunj> increasing sequence, it MUST have a <dfn>key generator</dfn> that produces
- # [19:21] <Nikunj> unique keys for records in that <a>object store</a>
- # [19:21] <timeless_mbp> much better :)
- # [19:21] <timeless_mbp> is 'key path' defined somewhere? (i'm reading a plain text version from my mail composer because it's easier for me)
- # [19:23] <Nikunj> yes
- # [19:23] <Nikunj> An http://dev.w3.org/2006/webapi/WebSimpleDB/#dfn-object-store must have a key path if it uses http://dev.w3.org/2006/webapi/WebSimpleDB/#dfn-in-line-keys. The key path must be the name of an enumerated property of all objects being stored in that http://dev.w3.org/2006/webapi/WebSimpleDB/#dfn-object-store.
- # [19:26] <Nikunj> Is deserializing OK?
- # [19:26] <Nikunj> or is it considered misspelling?
- # [19:26] <timeless_mbp> it's a word as far as we're concerned
- # [19:26] <timeless_mbp> > Concurrent access to an object store may be isolated in one of three modes.
- # [19:26] <timeless_mbp> > Any number of readers may concurrently access an object store.
- # [19:26] <timeless_mbp> > A writer is not allowed if there is any reader concurrently accesing the object store, unless the reader is detached, i.e., looking at a snapshot view of the data that does not change once created.
- # [19:27] <timeless_mbp> accessing, otoh, needs 2 s's
- # [19:27] * timeless_mbp goes to retrieve tea
- # [19:28] <Nikunj> What about conformant?
- # [19:28] <timeless_mbp> yeah, we treat that as a word
- # [19:28] <Nikunj> *doing a global spellcheck*
- # [19:28] <timeless_mbp> good idea :)
- # [19:28] <Nikunj> I found two or three typos
- # [19:28] <timeless_mbp> :)
- # [19:28] <Nikunj> but thanks for pointing out
- # [19:29] <Nikunj> In your last batch of comments, did you have anything other than "accessing"
- # [19:29] <timeless_mbp> so, the paragraph i quoted says 'three' modes
- # [19:30] <timeless_mbp> i'd kinda hope they'd be numbered
- # [19:30] <timeless_mbp> because i hate counting by hand :)
- # [19:30] <timeless_mbp> and atm, i'm failing miserably
- # [19:31] <timeless_mbp> so, what are they? :)
- # [19:31] <timeless_mbp> > The detached reading behavior may need more explanation.
- # [19:32] <timeless_mbp> i wouldn't write that in a spec
- # [19:32] <timeless_mbp> The IDBObjectStore interface is used to access the metadata of an object store.
- # [19:32] <timeless_mbp> err
- # [19:32] <timeless_mbp> > The IDBObjectStore interface is used to access the metadata of an object store.
- # [19:33] <timeless_mbp> s/is used to access/provides access to/ ?
- # [19:34] <timeless_mbp> > indexNames of type DOMStringList, readonly
- # [19:34] <timeless_mbp> > On getting, provide a list of the names of indexes on objects in this object store.
- # [19:34] <timeless_mbp> i need to look at another spec to see how it defines IDL getters
- # [19:34] <Nikunj> OK
- # [19:36] <timeless_mbp> http://dev.w3.org/2006/webapi/WebNotifications/publish/ to pick the first example that popped up into my inbox
- # [19:36] <timeless_mbp> > permissionLevel of type unsigned long
- # [19:36] <timeless_mbp> > Has value either PERMISSION_ALLOWED, PERMISSION_UNKNOWN, or PERMISSION_DENIED, which indicates the permission level granted to the origin of the script.
- # [19:37] <timeless_mbp> roughly i'm objecting to 'on getting'
- # [19:37] <timeless_mbp> also, for the specific properly DOMStringList, i wonder if you have to indicate if it's live or dead
- # [19:37] <timeless_mbp> i probably need to go look at the definition of DOMStringList :(
- # [19:38] * timeless_mbp is too lazy to do that now
- # [19:38] <timeless_mbp> > mode of type unsigned short, readonly
- # [19:38] <timeless_mbp> > On getting, provide the mode for isolating access to data inside this object store
- # [19:38] <timeless_mbp> this thing didn't end with a period, the ones before it did :)
- # [19:39] <timeless_mbp> (i believe i'm asking you to rewrite them all though, so that's a minor bit)
- # [19:39] <Nikunj> I have considered how these are documented. Don't object to your approach, though
- # [19:39] <timeless_mbp> i actually like the way the webnotifications thing has a definitions group
- # [19:39] <Nikunj> The On getting comes from another draft - ReSpec
- # [19:40] <timeless_mbp> with the constants before the other things
- # [19:40] <timeless_mbp> url? (sorry, i'm lazy, and search engines don't like me atm)
- # [19:40] <Nikunj> I see it in Section 5
- # [19:41] <timeless_mbp> sorry, 'another draft' = someone else's specification, or some other version of yours?
- # [19:41] <Nikunj> someone else's spec
- # [19:41] <timeless_mbp> if i'm looking at an old version of your doc, give me a new url and tell me where you think i am, and i'll start over from there :/
- # [19:42] <timeless_mbp> anyway, i'll defer to MikeSmith (or someone else)
- # [19:42] <timeless_mbp> i suspect i'll just try to send feedback to ReSpec :)
- # [19:43] <MikeSmith> again, I'm not reading the conversation, but if you ask me a specific question, I can reply
- # [19:43] <MikeSmith> like Eliza
- # [19:43] <timeless_mbp> would you avoid 'on getting'?
- # [19:43] <MikeSmith> (or what is Elisa)
- # [19:43] <Nikunj> I could
- # [19:43] <Nikunj> I suppose the behavior for both setting an attribute and getting an attribute would need to be specified
- # [19:44] <timeless_mbp> if it isn't readonly? yes :)
- # [19:44] <timeless_mbp> > Records in an object store can be retrieved by means of the record's key.
- # [19:45] <timeless_mbp> "by means of" => "using" or "with" ?
- # [19:45] <Nikunj> http://dev.w3.org/html5/spec-author-view/urls.html#reflecting-content-attributes-in-idl-attributes
- # [19:45] <Nikunj> This has an example of "on getting" that may meet your needs
- # [19:46] * timeless_mbp sighs
- # [19:46] <timeless_mbp> Hixie: ping :(
- # [19:46] * timeless_mbp blames someone at netscape
- # [19:47] <timeless_mbp> <body onload> (on loading)
- # [19:47] <Nikunj> :)
- # [19:47] <timeless_mbp> imo it's terrible English
- # [19:47] <Nikunj> OK. Seriously, just point me to a good one. I guess WebNotifications, and I will write in that style
- # [19:47] * timeless_mbp waits for someone to strike self down
- # [19:47] <timeless_mbp> so, i think for now i'd suggest you make a note about changing it
- # [19:48] <timeless_mbp> i'd rather not point you to that one, it's on my 'to review' list
- # [19:48] <Nikunj> *stepping away*
- # [19:48] <timeless_mbp> i'll try to get back to you w/ a definite example soon, although… i'm not very good about that
- # [19:49] <timeless_mbp> > However, that may not be always adequate to recall records.
- # [19:49] <timeless_mbp> s/be always/always be/
- # [19:50] <timeless_mbp> > An index may allow duplicate values for a key, unlike an object store, only if its unique flag is not set.
- # [19:50] <timeless_mbp> imo the sentence is too complicated (the 'if' is too far away from what it controls)
- # [19:51] <timeless_mbp> If an index's unique flag is set then it must not allow duplicate values for a key
- # [19:51] <timeless_mbp> (or is that really not the rfcish way)
- # [19:57] <Nikunj> *back*
- # [20:02] <Nikunj> That is fine
- # [20:02] <Nikunj> less pedantic and more semantic
- # [20:04] * Quits: Travis (836b0055@128.30.52.43) (Quit: CGI:IRC)
- # [20:09] <timeless_mbp> sorry, my latency will increase, i'm watching a movie
- # [20:09] <timeless_mbp> oh, and in an hour, i get to monitor a meeting :(
- # [20:09] <Nikunj> Aha
- # [20:10] <Nikunj> Ping me when you have more stuff
- # [20:22] <timeless_mbp> > An auto-populated index must have a key path, which must be the name of an enumerated property of all objects being stored in the referenced object store.
- # [20:23] <timeless_mbp> that's complicated, and i don't understand what it means :)
- # [20:25] <Nikunj> can break the sentence into two
- # [20:26] <Nikunj> If an <a>index</a> is <dfn>auto-populated</dfn>, then the user agent populates
- # [20:26] <Nikunj> records using the values stored in the <a>referenced</a> <a>object store</a>.
- # [20:26] <Nikunj> An <a>auto-populated</a> <a>index</a> MUST have a
- # [20:26] <Nikunj> <dfn title="index key path">key path</dfn>. This <a>key path</a> MUST be the
- # [20:26] <Nikunj> name of an enumerated property of every object to be stored in the
- # [20:26] <Nikunj> <a>object store</a> <a>referenced</a> by that <a>index</a>.
- # [20:28] <timeless_mbp> that's better, but can you explain the last bit to me? imagine i have an object store with "hello"=>"world", "good"=>"bye", "no"=>"tomorrow"
- # [20:28] <timeless_mbp> what could the key path look like?
- # [20:30] * Quits: tlr (tlr@128.30.52.169) (Quit: tlr)
- # [20:31] <Nikunj> in this case you are not storing objects and, hence, won't be using an index
- # [20:31] <Nikunj> So not a good example
- # [20:33] <timeless_mbp> ok, sorry, what i'm trying to understand is whether there is one key path for the entire database
- # [20:33] <timeless_mbp> (err object store?)
- # [20:34] <Nikunj> but if you had, say [{greeting: "hello", subject: "world"}, {greeting: "good", subject: "bye", {greeting: "no", subject: "tomorrow"}]
- # [20:34] <Nikunj> there are two key paths possible - "greeting" and "subject"
- # [20:35] <Nikunj> You could use one in the object store and the other in an index
- # [20:55] * Joins: tlr (tlr@128.30.52.169)
- # [20:59] <timeless_mbp> so, i think that instead of 'the name of an' you mean 'a name of an'
- # [20:59] <timeless_mbp> the implies there's only one, and you've shown there are two
- # [20:59] <timeless_mbp> but i'll defer to someone else
- # [20:59] <timeless_mbp> > The IDBIndex interface is used to access the metadata of an index.
- # [21:00] <timeless_mbp> if you could rewrite this to match the style i suggested earlier, that'd be great :)
- # [21:01] <Nikunj> that is a global comment
- # [21:14] * Quits: gsnedders (gsnedders@204.232.194.186) (Quit: leaving)
- # [21:14] * Joins: gsnedders (gsnedders@204.232.194.186)
- # [21:31] * Quits: tlr (tlr@128.30.52.169) (Quit: tlr)
- # [21:44] <timeless_mbp> ok, movie over, that just leaves the meeting to distract me :)
- # [21:45] <timeless_mbp> so, the problem is that the questions are good
- # [21:45] <timeless_mbp> but they're mostly misdirected :)
- # [21:46] <timeless_mbp> oops, wrong window
- # [21:46] <timeless_mbp> meeting is clearly distracting me :(
- # [21:49] <timeless_mbp> > Each database has a valid name and a human readable description A valid name is any string including the empty string.
- # [21:49] <timeless_mbp> you're missing a period before 'A'
- # [21:50] <timeless_mbp> > An exact match of names means that their UTF-8 encodings are identical.
- # [21:50] <timeless_mbp> i wonder if there's a better way to write that
- # [21:53] <timeless_mbp> > Implementations can support this even in environments that only support a subset of all strings as database names by mapping database names (e.g. using a hashing algorithm) to the supported set of names.
- # [21:54] <timeless_mbp> i had trouble identifying 'this'
- # [21:54] <timeless_mbp> w/ a bit of effort, i figured it out, but...
- # [21:54] <timeless_mbp> perhaps If an implementation does not support all sets of strings, it should (?) still implement this, e.g. by ...
- # [21:57] <timeless_mbp> > Each database has one version at a time; a database can't exist in multiple versions at once.
- # [21:57] <timeless_mbp> change 'at once' to 'at the same time' i think...
- # [21:58] <timeless_mbp> > When a database is opened, that creates a connection.
- # [21:58] <timeless_mbp> [The act of] Opening a database creates a connection.
- # [21:58] <timeless_mbp> or something like that...
- # [21:59] <timeless_mbp> > A connection that is attempting to read a given piece of data in a database is called a reader and one that is attempting to write that piece of data is called a writer.
- # [21:59] <timeless_mbp> change 'to write that piece' to 'to write a piece'
- # [22:01] <timeless_mbp> > There may be zero or one active transaction in a connection.
- # [22:01] <timeless_mbp> transaction_s_
- # [22:01] <timeless_mbp> and i think "in" is wrong, but i don't know how to fix it at this time
- # [22:08] * Joins: tlr (tlr@128.30.52.169)
- # [22:15] <timeless_mbp> > A IDBDatabase object represents a connection to a database.
- # [22:15] <timeless_mbp> An
- # [22:15] <timeless_mbp> > There is no way to enumerate the databases available for an origin from this API.
- # [22:15] <timeless_mbp> I'd rather 'This API does not provide a way to ....
- # [22:17] <timeless_mbp> > An individual record can be retrieved from an object store using either the record's key or the key applicable for some index that references that object store.
- # [22:27] <Nikunj> caught up
- # [22:32] <timeless_mbp> sorry, meeting's heating up
- # [22:41] * Quits: MikeSmith (MikeSmith@128.31.35.229) (Quit: This computer has gone to sleep)
- # [22:46] * Joins: MikeSmith (MikeSmith@128.31.35.229)
- # [22:58] <timeless_mbp> so, i had trouble following the last part
- # [22:59] <timeless_mbp> 'the key applicable for some index that references that object store'
- # [22:59] <timeless_mbp> i don't see how that precise thing actually gives me the right individual record
- # [23:00] <timeless_mbp> it maybe be 'some applicable key for an index that references it in its object store'
- # [23:00] <timeless_mbp> but i'm not sure
- # [23:00] <timeless_mbp> > A key range is a continuous interval over some data type used for keys.
- # [23:01] <timeless_mbp> can you write 'some key <ref>data type</ref>' ?
- # [23:02] <timeless_mbp> > A key range may be left-bounded or right-bounded if there is a value that is, respectively, smaller than or larger than all its elements.
- # [23:02] <timeless_mbp> i think less/greater, but i'm not certain
- # [23:02] <timeless_mbp> (it's midnight, i'm exhausted, and sick, and have a headache)
- # [23:03] <timeless_mbp> > A key range is said to be bounded if it is both left- and right-bounded and unbounded otherwise.
- # [23:03] <timeless_mbp> 'otherwise unbounded'
- # [23:03] <timeless_mbp> > A valid key range must be either half-bounded or bounded.
- # [23:03] <timeless_mbp> i don't think you've defined 'half-bounded'
- # [23:06] <timeless_mbp> > The storage operations are performed on the underlying index or an object store.
- # [23:06] <timeless_mbp> I think you can omit 'The'
- # [23:06] <timeless_mbp> > A cursor comprises a range of records in either an index or an object store. A cursor maintains a position over this series, which moves in a direction that is either monotonically increasing or decreasing order of the record keys.
- # [23:07] <timeless_mbp> you start by talking about a 'range' and then switch to a 'series'
- # [23:12] <timeless_mbp> > If the scope is static, it can cover either all the object stores and indexes in a database or it may include a subset of them.
- # [23:12] <timeless_mbp> … and if it's dynamic?
- # [23:14] <timeless_mbp> > A connection may have at most one transaction at any given time.
- # [23:14] <timeless_mbp> i think you need a word before 'at'
- # [23:14] <timeless_mbp> something like 'open' or 'running' or 'active'
- # [23:19] * Quits: MikeSmith (MikeSmith@128.31.35.229) (Quit: Till kicked and torn and beaten out he lies, and leaves his hold and crackles, groans, and dies.)
- # [23:21] <timeless_mbp> > Moreover, there may not be any overlap among the scopes of all open connections to a given database.
- # [23:23] <timeless_mbp> this is confusing
- # [23:24] <timeless_mbp> if scopes are limited to transactions, then i think it'd be better to say 'among the scope of all (active?) transactions to a given database'
- # [23:25] <timeless_mbp> or perhaps scopes
- # [23:25] * Joins: MikeSmith (MikeSmith@128.31.35.229)
- # [23:25] <timeless_mbp> > Conforming user agents may terminate transactions that take too long to complete in order to free up storage resources that are locked by a long running transaction.
- # [23:37] <timeless_mbp> the may is interesting, as a useragent, i'd be tempted to terminate transactions that take too much ram :)
- # [23:37] <timeless_mbp> > 3.2.1 Opening the database
- # [23:37] <timeless_mbp> should it be 'a' ?
- # [23:38] <timeless_mbp> > The steps for opening a database are as follows.
- # [23:38] <timeless_mbp> the first thing that follows isn't a step
- # [23:38] <timeless_mbp> > These steps must be run with an origin, a database name and description.
- # [23:38] <timeless_mbp> drop 'a' from before 'database', or add 'a' before 'description'
- # [23:38] <timeless_mbp> > All the steps must be run atomically:
- # [23:38] <timeless_mbp> drop 'the'?
- # [23:39] <timeless_mbp> note that i'm not sure what 'All' means here
- # [23:39] <timeless_mbp> does it mean that each step is atomic, or the effect of the entire set of steps is atomic?
- # [23:39] <timeless_mbp> > If there is already a database with the given name from the origin origin
- # [23:39] <timeless_mbp> origin origin :(
- # [23:40] <timeless_mbp> > 3.2.2 Object Store Storage steps
- # [23:40] <timeless_mbp> 3.2.1 didn't include 'steps', why does 3.2.2?
- # [23:44] <timeless_mbp> > These steps must be run with four parameters: the object store, a value, an optional key, and an optional no-overwrite flag.
- # [23:44] * Quits: shepazu (schepers@128.30.52.169) (Quit: shepazu)
- # [23:44] <timeless_mbp> 'must'/'four' seems odd given that two are optional
- # [23:45] * Quits: tlr (tlr@128.30.52.169) (Quit: tlr)
- # [23:47] <timeless_mbp> > If store uses out-of-line keys but no key generator, then a key must be passed to these steps. If not, terminate these steps and set error code DATA_ERR.
- # [23:48] <timeless_mbp> i think it'd rather this be one if condition If (store.uses(out_of_line_keys) & !store.has_(key_generator) & !key) then terminate(…)
- # [23:49] <timeless_mbp> > If store uses in-line keys, then let key be the property of object at store's key path.
- # [23:49] <timeless_mbp> what happens if 'key' was an argument?
- # [23:50] <timeless_mbp> > Using store's key generator, produce the next key and store it as key.
- # [23:50] <timeless_mbp> i'd avoid using the phrase 'store it'
- # [23:52] * Quits: MikeSmith (MikeSmith@128.31.35.229) (Quit: Till kicked and torn and beaten out he lies, and leaves his hold and crackles, groans, and dies.)
- # [23:58] <timeless_mbp> > If store uses in-line keys, then store key as the property value for object at store's key path.
- # [23:59] <timeless_mbp> using 'store' 3 times in a sentence with sometimes different meanings is really confusing :(
- # [23:59] <timeless_mbp> > If any indexes are auto-populated for store, then store a record in that index according to index maintenance conditions.
- # [23:59] <timeless_mbp> 'any indexes' is plural
- # Session Close: Thu Mar 25 00:00:00 2010
The end :)