You're totally right. I was confused... so then this is not a bug.

Btw - in my riak-js code I have:

Riak.prototype.makeLinks = function(links) {
  var i = this.defaults.interface;
  return links.map(function(link) {
    link.tag = link.tag || "_";
    return '</' + i + '/' + link.bucket + '/' + link.key + '>;
riaktag="' + link.tag + '"';
  }).join(", ");
}

>From a Riak point of view, do you think it would be better to remove
the "     link.tag = link.tag || "_"; " bit, and let it explode if the
user doesn't provide a tag?

F


2010/6/8 Sean Cribbs <s...@basho.com>:
> Creating tags and using the wildcard when doing a link-walking query are two 
> different operations.  There is no default tag.
>
> Sean Cribbs <s...@basho.com>
> Developer Advocate
> Basho Technologies, Inc.
> http://basho.com/
>
> On Jun 8, 2010, at 4:58 PM, francisco treacy wrote:
>
>> IIRC Riak requires a tag and otherwise client libraries just provide
>> "_" (right?)
>>
>> So probably @robject.to_link should return a "_" in the tag field by
>> default - instead of nil.
>>
>> I'm sorry i have 0 time to provide a patch :(
>>
>> Francisco
>>
>> 2010/6/8 Sean Cribbs <s...@basho.com>:
>>> Francisco,
>>>
>>> Thanks for that, I'll either make it be required or raise an exception.  
>>> The Ruby API should better guide you down the golden path - tags are 
>>> required on the Riak side, so they should on the Ruby side.
>>>
>>> Sean Cribbs <s...@basho.com>
>>> Developer Advocate
>>> Basho Technologies, Inc.
>>> http://basho.com/
>>>
>>> On Jun 8, 2010, at 4:48 PM, francisco treacy wrote:
>>>
>>>> The following code yields an exception
>>>>
>>>> item = client['items']['item']
>>>> catalog = client['catalogs']['test']
>>>> link = item.to_link
>>>> catalog.links << link
>>>> catalog.store
>>>>
>>>> (...)
>>>> /Users/ftreacy/.rvm/gems/ruby-1.9.1-p378/gems/riak-client-0.7.0/lib/riak/client/curb_backend.rb:63:in
>>>> `perform': Expected [200, 204, 300] from Riak but received 400.
>>>> Invalid Link header. Links must be of the form (Riak::FailedRequest)
>>>> </riak/BUCKET/KEY>; riaktag="TAG"
>>>>       from 
>>>> /Users/ftreacy/.rvm/gems/ruby-1.9.1-p378/gems/riak-client-0.7.0/lib/riak/client/http_backend.rb:92:in
>>>> `put'
>>>>       from 
>>>> /Users/ftreacy/.rvm/gems/ruby-1.9.1-p378/gems/riak-client-0.7.0/lib/riak/robject.rb:122:in
>>>> `store'
>>>>
>>>> This is because a 'tag' is not set, but tags shouldn't be required.
>>>>
>>>> (Consider setting link.tag = "something" before line 4, and it will
>>>> work correctly).
>>>>
>>>> Francisco
>>>>
>>>> _______________________________________________
>>>> riak-users mailing list
>>>> riak-users@lists.basho.com
>>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>
>>>
>
>

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to