This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
using simpleDb, I get an error when I turn on SoftDelete: "Can't translate predicate IS to SimpleDB" Would it be possible to get softDeletes working in simpleDb? I am assuming you are doing a 'Where DeletedOn IS NULL" , which does not work with the way simpleDB handles attributes. Thanks, -Joe |
|
|
an update to this... I can indeed execute the query: select * from Entities where DeletedOn is null using simpledB management tools, the "is null" predicate is a feature that was included with the 04-15 simpledB release, i am guessing that lightspeed still does not support that API yet? http://sdb.amazonaws.com/doc/2009-04-15/AmazonSimpleDB.wsdl thanks, -joe freeman |
|
|
Any way for us to find out what version of the Amazon SimpleDB WSDL Lightspeed is using?
|
|
|
No, it's not possible to find out what version of the WSDL LightSpeed is using, but that's not very useful info anyway -- it sounds like you're probably more interested in whether we are using specific new methods, or taking advantage of newly added features on the Select statement (which don't change the WSDL because they're within the opaque SelectExpression string). At the moment we are still using QueryWithAttributes which doesn't support the additional features of the Select API. I'm having a look at moving over to the Select API at the moment; if I can get this working then it should solve your soft delete problem. I'll let you know what the outcome is. |
|
|
Hello Joe, I have switched over LightSpeed to use the Select API instead of Query, and it now also handles the IS NULL clause. I have tested soft deletes with the new build and they appear to be working. As this is a significant revision to the LightSpeed SimpleDB (a completely new query expression generator), we would advise thorough testing before using it in a production environment. All our tests are passing but we know you guys drive SimpleDB a lot harder than we do, so it is possible we have introduced a regression. Please do let us know if you hit any errors or any queries which don't behave as expected. If you do find a regression, you can go back to the old engine by adding "API=Query;" to the connection string. Obviously this won't support the extra capabilities of the Select API (like soft deletes) but it should keep you going if you find we have broken something critical. The new engine will be in nightly builds dated 21 Aug 2009 and above, available after about 1430 GMT. |
|
|
Um, holy *** Ivan. You cranked that out really, really fast. Like scary fast. We'll download the latest build, implement soft delete, and run it through our tests here. Thanks for getting this done.
|
|
|
Started testing this. We are having a bit of trouble with the .Single
LINQ calls. They always return null... Can you post an example of how to use.
Soft delete and SimpleDB?
Thanks
-Joe
|
|
|
Here's the code from our test suite: using (IUnitOfWork uow = Context.CreateUnitOfWork()) And the entity definition: public class SoftDeleteTest : Entity<Guid> Not sure why you're seeing Single returning null though -- Single should always either return something or throw an exception. (SingleOrDefault can return null.) |
|
|
ok, I think I am figuring out what the issue is... after using fiddler to understand what lightspeed is sending to simpledb, I found this strangeness using the Amazon SimpleDB scratchpad This query returns 0 results (bad): -------------------- SELECT -------------------- however, this query returns 1 result (good): SELECT -------------------- so, for some reason, using 'Id' in the where clause is not working for simpleDB.... but itemName() is working. Is this an Amazon issue? It seems like Lightspeed is sending the correct Select syntaxt to AWS, but it is not returning any results. thoughts? Thanks, -Joe
|
|
|
a followup... here is an AWS thread on the issue: http://developer.amazonwebservices.com/connect/thread.jspa?threadID=19027&tstart=60 -Joe |
|
|
I'm pretty sure we should be sending itemName() rather than Id, because Id will be treated as a user-defined attribute. So this is a LightSpeed issue. I'll look into this and get you a fix asap. |
|
|
Hello Joe, There'll be a fix for this in the 25 August nightly. Let us know if you still see problems. |
|