Dynamic domain name support without using typeless operations


For a variety of reasons (sharding, mixing SimpleDB dev/test environments under the same AWS account) it would be useful for Simol to support first-class dynamic domain names. Currently, dynamic domain name support may be implemented only with typeless operations. First class support would involve the following changes:
  • DomainNameAttribute would support passing of an IDomainNameProvider to be invoked on put/get/delete operations whenver a domain name is needed
  • SelectUtils class or core API would support running the same query in parallel across multiple domains and aggregating results
  • IDomainNameProvider would need to be able to identify a specific domain for put operations, a list of all domains for select operations, and possibly 1-n domains for get and delete operations (but only if attributes other than the item name serve as a basis for calculating the domain name).