2007/1/18, Jean-Francois Dockes &lt;<a href="mailto:jean-francois.dockes@wanadoo.fr">jean-francois.dockes@wanadoo.fr</a>&gt;:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Magnus Bergman writes:<br> &gt; On Fri, 12 Jan 2007 08:41:10 +0100<br> &gt; Jean-Francois Dockes &lt;<a href="mailto:jean-francois.dockes@wanadoo.fr">jean-francois.dockes@wanadoo.fr</a>&gt; wrote:<br> &gt; &gt;&nbsp;&nbsp; I think that the sequence number can be kept implicit:
<br> &gt; &gt;<br> &gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Query (in s query_string, out i query_handle)<br> &gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; GetHitProperties ( in s query_handle, in i offset, in i limit,<br> &gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in as properties, out (sequence of maps)
<br> &gt; &gt; response )<br> &gt;<br> &gt; What you call &quot;offset&quot; is exactly what I meant by &quot;sequence number&quot;, if<br> &gt; I didn&#39;t misunderstand something. The alternative (really keeping it<br>
 &gt; implicit) would be to completely leave it out and just return the bunch<br> &gt; of hits (much like how read(2) works. But that would also require a<br> &gt; function similar to lseek(2), so I guess it wouldn&#39;t be simpler anyway.
<br><br>What I mean by:<br><br> GetHitProperties ( in s query_handle, in i offset, in i limit,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in as properties, out (sequence of maps) response);<br><br>is: return &quot;limit&quot; hits starting from offset &quot;offset&quot;. This is a
<br>combined lseek/read call.<br><br>I propose that the hit numbers should be implicit *in the response*. We<br>know that it contains an ordered list of hits from number &quot;offset&quot; to<br>&quot;offset+limit-1&quot;, so I think that there is no point in repeating the hit
<br>number for every entry, as would (in your words): &quot;A map mapping each hit<br>(sequence number) to a map of property-list of values pairs&quot;<br><br>Or did I not understand you ?</blockquote><div><br>I&#39;m pretty sure that we actually agree everybody :-)
<br><br>The return value is an array of arrays of properties. There are not maps involved anywhere. Fx: a search with a single hit and one prop: [[value]]. A search with two hits and three properties: [[value1, value2, value3], [value1, value2, value3]] - here valueN is the value of the N&#39;th property in the GetHits request.
<br><br>The tricky part is what a &quot;property&quot; is then. Since we should allow multivalued properties (think &quot;email:cc&quot;) we have two choices:<br><br>1) The type of a property is a dbus Variant. Meaning a container type with a value and a type. This would allow accessing fx file:size an integer and email:cc as an array of strings. The dbus signature of the return type is then &quot;aav&quot;.
<br><br>2) A property is an array of strings representing the value(s). This gives a dbus signature for the return type &quot;aaas&quot;.<br><br>I&#39;m inclined towards 2), but I know that not everybody agrees with me :-) Please speak up.
<br><br>Cheers,<br>Mikkel <br></div><br></div>