From e2661658a083a229975110dcdd03e60068d8851e Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Tue, 27 May 2008 21:59:18 -0400 Subject: Update TODO --- doc/TODO | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index 65f9cfbca7..740e5db5fe 100644 --- a/doc/TODO +++ b/doc/TODO @@ -20,6 +20,7 @@ users.delete().where( - rewrite of arecord querycache test in light of this - transactions - scoped writes +- asc/desc for orderings done: - and/or w/ predicates -- cgit v1.2.3 From 2bbf8ca9d2af3ea959a21c3729b4894bc31f088b Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sun, 17 May 2009 13:58:29 -0400 Subject: reorganized call Conflicts: doc/TODO lib/arel/relations/relation.rb lib/arel/relations/writes/delete.rb lib/arel/relations/writes/insert.rb lib/arel/relations/writes/update.rb lib/arel/session.rb spec/arel/unit/relations/delete_spec.rb spec/arel/unit/relations/insert_spec.rb spec/arel/unit/relations/relation_spec.rb spec/arel/unit/relations/update_spec.rb spec/arel/unit/session/session_spec.rb --- doc/TODO | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index 740e5db5fe..ad12640881 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,19 +1,16 @@ todo: -- joining with LIMIT is like aggregations!! +- refactor adapter pattern +- implement in memory adapter +- implement mnesia adapter +- joins become subselects in writes: users.delete().where( addresses.c.user_id== select([users.c.id]). where(users.c.name=='jack') ) - - SELECT id, name, - (select count(*) FROM addresses WHERE - user_id=users.id) - FROM users - - SELECT users.*, (SELECT count(id) FROM addresses WHERE - addresses.user_id=users.id) FROM users +- rename externalize to derived. +- and/or w/ predicates - blocks for all operations - result sets to attr correlation too - cache expiry on write @@ -85,6 +82,7 @@ done: - test: find_attribute_given_attribute and all @attribute ||= everywhere and memoization of table class. - rename select to where - rename all ion classes +- joining with LIMIT is like aggregations!! icebox: - #bind in Attribute and Expression should be doing a descend? -- cgit v1.2.3 From bdca9ed42ffea10aa6989ea3ecebedb424fa01ed Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sun, 17 May 2009 14:20:29 -0400 Subject: moved sql related code to its own engine area Conflicts: lib/arel/engine.rb lib/arel/extensions/object.rb lib/arel/predicates.rb lib/arel/primitives/attribute.rb lib/arel/primitives/expression.rb lib/arel/primitives/value.rb lib/arel/relations/operations/join.rb lib/arel/relations/relation.rb lib/arel/relations/utilities/externalization.rb lib/arel/relations/utilities/nil.rb lib/arel/relations/writes/delete.rb lib/arel/relations/writes/insert.rb lib/arel/relations/writes/update.rb spec/arel/unit/relations/skip_spec.rb spec/arel/unit/relations/take_spec.rb spec/spec_helper.rb --- doc/TODO | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index ad12640881..8a8dcf5380 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,5 +1,5 @@ todo: - +- expressions should be class-based, and joins too, anything _sql should be renamed - refactor adapter pattern - implement in memory adapter - implement mnesia adapter -- cgit v1.2.3 From 892337509b2bd269920dc567bc48c6a28c7222d2 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sun, 17 May 2009 14:46:08 -0400 Subject: removed function_sql in favor of polymorphism Conflicts: lib/arel/algebra/primitives/attribute.rb lib/arel/algebra/primitives/expression.rb spec/arel/unit/primitives/expression_spec.rb --- doc/TODO | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index 8a8dcf5380..ebc469ad70 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,6 +1,13 @@ todo: - expressions should be class-based, and joins too, anything _sql should be renamed - refactor adapter pattern +- clean up block_given stuff +- reorganize sql tests +- audit unit coverage of algebra +- break out adapters into sep modules +- data objects +- remove all explicit aliasing +- blocks for joins - implement in memory adapter - implement mnesia adapter - joins become subselects in writes: @@ -11,10 +18,8 @@ users.delete().where( ) - rename externalize to derived. - and/or w/ predicates -- blocks for all operations - result sets to attr correlation too - cache expiry on write - - rewrite of arecord querycache test in light of this - transactions - scoped writes - asc/desc for orderings @@ -83,6 +88,7 @@ done: - rename select to where - rename all ion classes - joining with LIMIT is like aggregations!! +- blocks for non-joins icebox: - #bind in Attribute and Expression should be doing a descend? -- cgit v1.2.3 From 4e3c9a01307339916f6b947d24f19b0f442afd78 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sun, 17 May 2009 14:58:46 -0400 Subject: most in memory operations save join and group Conflicts: lib/arel/algebra/extensions/object.rb lib/arel/algebra/primitives/value.rb lib/arel/engines/memory/relations.rb lib/arel/engines/sql/formatters.rb lib/arel/engines/sql/primitives.rb spec/arel/unit/relations/alias_spec.rb spec/arel/unit/relations/array_spec.rb spec/arel/unit/relations/order_spec.rb --- doc/TODO | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index ebc469ad70..dfbf09de9d 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,6 +1,9 @@ todo: -- expressions should be class-based, and joins too, anything _sql should be renamed +- projection is by definition distincting +- union/intersection - refactor adapter pattern +- result sets to attr correlation too + - result sets should be array relations - clean up block_given stuff - reorganize sql tests - audit unit coverage of algebra @@ -10,6 +13,7 @@ todo: - blocks for joins - implement in memory adapter - implement mnesia adapter +- test ordering - joins become subselects in writes: users.delete().where( addresses.c.user_id== @@ -18,7 +22,6 @@ users.delete().where( ) - rename externalize to derived. - and/or w/ predicates -- result sets to attr correlation too - cache expiry on write - transactions - scoped writes @@ -89,6 +92,7 @@ done: - rename all ion classes - joining with LIMIT is like aggregations!! - blocks for non-joins +- expressions should be class-based, and joins too, anything _sql should be renamed icebox: - #bind in Attribute and Expression should be doing a descend? -- cgit v1.2.3 From 9d77c08cf8a75636b058c1b85af52ef96e07cee5 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sun, 17 May 2009 15:00:10 -0400 Subject: made block stuff read nicer Conflicts: doc/TODO --- doc/TODO | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index dfbf09de9d..d7e3bb280d 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,31 +1,24 @@ todo: -- projection is by definition distincting -- union/intersection -- refactor adapter pattern - result sets to attr correlation too - result sets should be array relations +- fix AR - clean up block_given stuff - reorganize sql tests - audit unit coverage of algebra -- break out adapters into sep modules +- implement mnesia adapter - data objects - remove all explicit aliasing - blocks for joins -- implement in memory adapter -- implement mnesia adapter -- test ordering -- joins become subselects in writes: -users.delete().where( - addresses.c.user_id== - select([users.c.id]). - where(users.c.name=='jack') - ) - rename externalize to derived. - and/or w/ predicates +- scoped writes +- refactor adapter pattern +- break out adapters into sep modules +- projection is by definition distincting? +- union/intersection +- test ordering - cache expiry on write - transactions -- scoped writes -- asc/desc for orderings done: - and/or w/ predicates @@ -93,6 +86,7 @@ done: - joining with LIMIT is like aggregations!! - blocks for non-joins - expressions should be class-based, and joins too, anything _sql should be renamed +- implement in memory adapter icebox: - #bind in Attribute and Expression should be doing a descend? @@ -107,3 +101,9 @@ icebox: @reflection.options[:counter_sql] = @reflection.options[:finder_sql].sub(/SELECT (\/\*.*?\*\/ )?(.*)\bFROM\b/im) { "SELECT #{$1}COUNT(*) FROM" } - lock - SELECT suchandsuch FOR UPDATE +- joins become subselects in writes: +users.delete().where( + addresses.c.user_id== + select([users.c.id]). + where(users.c.name=='jack') + ) \ No newline at end of file -- cgit v1.2.3 From a7aacd29460aa137c3b06ee214ff8ffdff8ee365 Mon Sep 17 00:00:00 2001 From: Nick Kallen Date: Mon, 26 May 2008 21:02:23 -0700 Subject: reorganizing tests --- doc/TODO | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index d7e3bb280d..f97e74ef17 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,22 +1,26 @@ todo: -- result sets to attr correlation too - - result sets should be array relations -- fix AR -- clean up block_given stuff - reorganize sql tests -- audit unit coverage of algebra +- reorganize memory tests +- blocks for joins +- implement joins in memory +- recursive memory operations +- result sets should be array relations +- cross-engine joins +- fix grouping - implement mnesia adapter +- fix AR +- rename externalize to derived. + +- result sets to attr correlation too +- audit unit coverage of algebra - data objects - remove all explicit aliasing -- blocks for joins -- rename externalize to derived. - and/or w/ predicates - scoped writes - refactor adapter pattern - break out adapters into sep modules - projection is by definition distincting? - union/intersection -- test ordering - cache expiry on write - transactions @@ -87,6 +91,7 @@ done: - blocks for non-joins - expressions should be class-based, and joins too, anything _sql should be renamed - implement in memory adapter +- clean up block_given stuff icebox: - #bind in Attribute and Expression should be doing a descend? -- cgit v1.2.3 From 8339f024c7663133a78c4d0a8824b5b6fafaf239 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sun, 17 May 2009 15:42:42 -0400 Subject: recursive memory operations now possible Conflicts: lib/arel/algebra/relations/relation.rb --- doc/TODO | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index f97e74ef17..7af8db6bdf 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,11 +1,11 @@ todo: -- reorganize sql tests +- recursive memory operations - reorganize memory tests -- blocks for joins +- deal with table tests in algebra - implement joins in memory -- recursive memory operations - result sets should be array relations - cross-engine joins +- blocks for joins - fix grouping - implement mnesia adapter - fix AR @@ -92,6 +92,7 @@ done: - expressions should be class-based, and joins too, anything _sql should be renamed - implement in memory adapter - clean up block_given stuff +- reorganize sql tests icebox: - #bind in Attribute and Expression should be doing a descend? -- cgit v1.2.3 From b7f58db57a535806e0cfc3057fbab80ca43b1a53 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sun, 17 May 2009 15:44:03 -0400 Subject: better test ordering Conflicts: doc/TODO --- doc/TODO | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index 7af8db6bdf..2070a26efc 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,13 +1,12 @@ todo: -- recursive memory operations - reorganize memory tests -- deal with table tests in algebra - implement joins in memory - result sets should be array relations +- deal with table tests in algebra - cross-engine joins - blocks for joins -- fix grouping - implement mnesia adapter +- fix grouping - fix AR - rename externalize to derived. @@ -15,7 +14,6 @@ todo: - audit unit coverage of algebra - data objects - remove all explicit aliasing -- and/or w/ predicates - scoped writes - refactor adapter pattern - break out adapters into sep modules @@ -26,7 +24,6 @@ todo: done: - and/or w/ predicates -- mock out database . Relation <=> Relation -> InnerJoinOperation . Relation << Relation -> LeftOuterJoinOperation . InnerJoinOperation.on(*Predicate) -> InnerJoinRelation @@ -77,6 +74,7 @@ done: - test Value, in particular bind. - test blank checks in relation.rb - rename active_relation to arel +- mock out database - fix complex joining cases: - active record query adapter - anonymous table names @@ -93,6 +91,7 @@ done: - implement in memory adapter - clean up block_given stuff - reorganize sql tests +- recursive memory operations icebox: - #bind in Attribute and Expression should be doing a descend? -- cgit v1.2.3 From 2fe585328d6a24df310d3e60059c9c7b05b64bac Mon Sep 17 00:00:00 2001 From: Nick Kallen Date: Tue, 27 May 2008 14:19:59 -0700 Subject: performing in memory joins --- doc/TODO | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index 2070a26efc..3f8c34f660 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,16 +1,13 @@ todo: -- reorganize memory tests -- implement joins in memory - result sets should be array relations - deal with table tests in algebra - cross-engine joins - blocks for joins - implement mnesia adapter -- fix grouping - fix AR - rename externalize to derived. -- result sets to attr correlation too +- fix grouping - audit unit coverage of algebra - data objects - remove all explicit aliasing @@ -92,6 +89,9 @@ done: - clean up block_given stuff - reorganize sql tests - recursive memory operations +- reorganize memory tests +- result sets to attr correlation too +- implement joins in memory icebox: - #bind in Attribute and Expression should be doing a descend? -- cgit v1.2.3 From 20b28b441b651d0404d64049253898c061a039be Mon Sep 17 00:00:00 2001 From: Nick Kallen Date: Tue, 27 May 2008 14:37:11 -0700 Subject: using in memory relations as results from sql relation Conflicts: lib/arel/algebra/primitives/expression.rb lib/arel/algebra/relations/relation.rb --- doc/TODO | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index 3f8c34f660..7e7028d39f 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,10 +1,9 @@ todo: -- result sets should be array relations -- deal with table tests in algebra +- fix AR - cross-engine joins - blocks for joins +- deal with table tests in algebra - implement mnesia adapter -- fix AR - rename externalize to derived. - fix grouping @@ -92,6 +91,7 @@ done: - reorganize memory tests - result sets to attr correlation too - implement joins in memory +- result sets should be array relations icebox: - #bind in Attribute and Expression should be doing a descend? -- cgit v1.2.3 From 07833d39c2885a5cddf38eeb860d79353c0f447b Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sun, 17 May 2009 15:47:10 -0400 Subject: basic implementation of in memory insertions Conflicts: lib/arel/engines/memory/relations.rb --- doc/TODO | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index 7e7028d39f..5e3a7ee3ab 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,11 +1,12 @@ todo: -- fix AR +- insertions for in memory - cross-engine joins - blocks for joins -- deal with table tests in algebra +- test sql insertions - implement mnesia adapter -- rename externalize to derived. +- rename externalize to derived. +- deal with table tests in algebra - fix grouping - audit unit coverage of algebra - data objects @@ -92,6 +93,7 @@ done: - result sets to attr correlation too - implement joins in memory - result sets should be array relations +- fix AR icebox: - #bind in Attribute and Expression should be doing a descend? -- cgit v1.2.3 From 7a51983efc50c8f9092785b1b586f8884dedc01a Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sun, 17 May 2009 16:02:10 -0400 Subject: initial implementation of cross-engine join Conflicts: lib/arel/engines/memory/relations/array.rb lib/arel/engines/sql/primitives.rb --- doc/TODO | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index 5e3a7ee3ab..901d6ab13f 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,8 +1,7 @@ todo: -- insertions for in memory - cross-engine joins - blocks for joins -- test sql insertions +- fix sql insertions - implement mnesia adapter - rename externalize to derived. @@ -94,6 +93,7 @@ done: - implement joins in memory - result sets should be array relations - fix AR +- insertions for in memory icebox: - #bind in Attribute and Expression should be doing a descend? -- cgit v1.2.3 From 44743bed5568b3065e4f9da7972e3ea1d0d9e728 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Sun, 17 May 2009 16:14:28 -0400 Subject: joining across engines in either direction Conflicts: spec/arel/engines/memory/integration/joins/cross_engine_spec.rb --- doc/TODO | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/TODO b/doc/TODO index 901d6ab13f..61ff24f4a0 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,9 +1,10 @@ todo: -- cross-engine joins +- fix AR again - blocks for joins - fix sql insertions - implement mnesia adapter +- CLEANUP!!!!! - rename externalize to derived. - deal with table tests in algebra - fix grouping @@ -94,6 +95,7 @@ done: - result sets should be array relations - fix AR - insertions for in memory +- cross-engine joins icebox: - #bind in Attribute and Expression should be doing a descend? -- cgit v1.2.3