chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Müller <f...@apache.org>
Subject Re: CMIS SQL query String limits: question
Date Wed, 19 Jun 2013 15:18:43 GMT
 I have done some experiments like this in the past and most query 
 strings are getting longer rather than shorter.
 I have also played with some domain specific compression and that looks 
 promising. But I haven't finished it yet.

 Florian


> For very long and probably repetitive query strings, which should
> compress well, you could use a representation based on gzip + base64
> of the query string.
>
> Florent
>
> On Fri, Jun 7, 2013 at 11:03 AM, Florian Müller <fmui@apache.org> 
> wrote:
>> Hi Mark,
>>
>> The specification does not explicitly say that the entire query 
>> string must
>> be in the header.
>> The specification says for the AtomPub binding:
>> "Upon submission (creation) of a query document, a response must be 
>> returned
>> with a Location header representing the feed for that query."
>>
>> That is, a client should be able to repeat the query by just calling 
>> the URL
>> in Location header (via HTTP GET). That means the URL must contain 
>> all
>> necessary information about this query.
>> There are two approaches to implement that. OpenCMIS uses a 
>> stateless
>> approach and puts everything into the URL, which could be become 
>> very long.
>> An alternative approach would be to store the query on the server, 
>> assign
>> the query statement an id, and return an URL with that id. But that 
>> would
>> require some sort of storage on the server side and opens up the 
>> question
>> how long do you want to maintain these ids.
>>
>>
>> - Florian
>>
>>
>>
>>> Hello
>>>
>>> I have question which appears to have been raised some time ago:
>>>
>>>
>>> 
>>> http://mail-archives.apache.org/mod_mbox/chemistry-dev/201106.mbox/%3C4DF8D70D.7000200%40alfresco.com%3E
>>>
>>> In that thread, there is reference made to this:
>>>
>>>
>>> 
>>> http://tomcat.apache.org/tomcat-6.0-doc/config/http.html#Standard_Implementation
>>> -> maxHttpHeaderSize
>>>
>>> In the thread, it is also mentioned that:
>>>
>>> *The CMIS specification says that the server has to add a Location
>>> header to its query response
>>> that is "representing the feed for that query". That basically 
>>> means
>>> that the query is repeated
>>> in the HTTP header*.
>>> The default header buffer size in Tomcat 6 and 7 is 8k. If you 
>>> remove
>>> all other headers you
>>> end up with about 7884 byte -- plus/minus a few bytes.
>>> You can increase header buffer size in Tomcat.
>>> in the HTTP header.
>>> The default header buffer size in Tomcat 6 and 7 is 8k. If you 
>>> remove
>>> all other headers you
>>> end up with about 7884 byte -- plus/minus a few bytes.
>>> You can increase header buffer size in Tomcat.
>>>
>>> Just curious - is this something in the specification that can only 
>>> be
>>> addressed by placing the entire query String in the header?
>>>
>>> We have a use case for which the WHERE IN( ) clause could contain 
>>> up to
>>> 1000 or more 16-digit String values inside the WHERE acme:userID 
>>> IN(
>>> value1, value2, value3....)  part of the query - the 
>>> acme:employeeID is a
>>> custom metadata property of the implemented content model.
>>>
>>> FWIW... we use:
>>>
>>> OpenCMIS 0.8.0
>>> Alfresco Enterprise 4.1.3
>>>
>>>
>>> Thanks
>>>
>>> Mark
>>> * *
>>
>>


Mime
View raw message