From 85bc3b417dc4e1ecad76fa89b5d195e2db8f5ff5 Mon Sep 17 00:00:00 2001 From: Nick Kallen Date: Thu, 1 May 2008 23:19:12 -0700 Subject: finally fixed table aliasing issues - the solution is currently ugly, but i have an idea how to clean it up --- doc/TODO | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'doc/TODO') diff --git a/doc/TODO b/doc/TODO index f959964652..752579d229 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,24 +1,14 @@ todo: +- Explicitly model recursive structural decomposition / polymorphism +- Explicitly model the namer/externalizer using interpreter jargon +- All Sql Strategies should be accumulations with the top-level relation? - lock - SELECT suchandsuch FOR UPDATE -- anonymous table names - rename select to where - and/or w/ predicates -- audit active record quoting -- limit clauses with left outer joins ? - - see add_limited_ids_condition - - select_limited_ids_list -- extract adapters -- arbitrary sql relationships - - consider this code from has_many: - # replace the SELECT clause with COUNT(*), preserving any hints within /* ... */ - @reflection.options[:counter_sql] = @reflection.options[:finder_sql].sub(/SELECT (\/\*.*?\*\/ )?(.*)\bFROM\b/im) { "SELECT #{$1}COUNT(*) FROM" } - - can join with this as a subselect no problem right? it's' unclear what attributes it has, though. - cache expiry on write - rewrite of arecord querycache test in light of this -- linq functionality - - reverse - - any/all +- scoped writes done: - mock out database @@ -74,6 +64,7 @@ done: - rename active_relation to arel - fix complex joining cases: - active record query adapter +- anonymous table names icebox: - #bind in Attribute and Expression should be doing a descend? @@ -83,3 +74,6 @@ icebox: - "unit" test sql strategies - use real world examples, so they should be like a tutorial. - rename the tion (Selection) classes so that words that don't end in tion don't seem inconsistent +- consider this code from has_many: + # replace the SELECT clause with COUNT(*), preserving any hints within /* ... */ + @reflection.options[:counter_sql] = @reflection.options[:finder_sql].sub(/SELECT (\/\*.*?\*\/ )?(.*)\bFROM\b/im) { "SELECT #{$1}COUNT(*) FROM" } \ No newline at end of file -- cgit v1.2.3