>
> I iterpreted the Wikipedia DAL definition, of scalar-vs-non scalar, to
> mean an absent of an object-graph, since a reference of an object-attribute
> to a sequence, is a non-scalar reference - and an object-graph may contain
> such references, in a way a DAL api can-not, according to the
> scalarity-definition of the DAL. And again, all of this is in the context
> of my reaction to Derek's claim that the wikipedia-definitions say
> otherwize.
I don't know why this matters to you, but you clearly have not read the
Wikipedia definitions. I will let Derek speak for himself.
> As to LazySets, no-where in the documentation is that term mentioned.
>
It doesn't mention the term LazySet, as that is an internal class, but the
functionality is documented.
> As for Recursive-selects, we've been through this already - twice actually
> - it is an explicit 'select' statement that generates a query - it is not a
> reference to a sequence object that exists in memory.
>
Stipulated, but so is a reference attribute in an ORM until you actually
access the attribute and run the query. The only difference is that the ORM
keeps the value in the object after the initial query. As I have mentioned,
there is no reason why this could not be done in the DAL as well. It is not
a feature unique to ORM's. Actually, even now you can do:
db.define_table('person', Field('name'))
db.define_table('dog', Field('name'), Field('owner', 'reference person'))
Bob = db(db.person.name == 'Bob').first()
Bob.dog = Bob.dog.select() # db query here
print Bob.dog # no db query here
Now Bob.dog is an attribute holding Bob's dog records in memory --
subsequent references will not trigger any db queries. Not as automatic as
in SQLA, but it could be made more automatic.
> Also, it can't be used for complex relational-graphs, only for
> single-foreign-key relations.
>
Agreed, though in principle this could be implemented, so again, not an
ORM-specific feature.
Keep in mind, I have not claimed that the DAL can do everything the SQLA
ORM can do. You have been arguing largely against straw men.
Anthony
--
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.