rewrite TODO
Rafael Kitover [Mon, 26 Apr 2010 21:52:42 +0000 (17:52 -0400)]
TODO

diff --git a/TODO b/TODO
index 95b9bf5..6b935ed 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,18 +1,74 @@
-OTHER STUFF
-===========
+- General
+  - High Priority
+    - clean out RT queue
+    - introspect views and make proper ResultSource::View classes with defining SQL
+    - encode loader options in Schema.pm
+    - introspect on_update/on_delete/is_deferrable
+    - preserve_case mode for remaining backends
+  - Low Priority
+    - support multiple/all schemas, instead of just one
+    - support pk/uk/fk info on views, possibly (materialized views?)
+    - remove deprecated ResultSetManager stuff, rewrite using current features
+    - Refactor RelBuilder so that it doesn't require a live mostly-built DBIx::Class::Schema, so that other modules (SQLT) can use it easier.  And then when/if we get there, break it out as a seperate distribution with a new name.
+    - support for user-defined-types as Schema deploy hooks
+    - normalize float/real/double data types in a most cross-deployment friendly fashion, using float(25) as the double boundary where possible
+    - finish data_type tests for all DBs (DB2 and Oracle left)
+    - support for Informix
+    - generate a schema accessor which stores which SQLT type it was loaded from
+    - add a settable 'on-behalf-of' version tag (for catalyst model)
+    - inject a table2moniker function into the schema
+    - support coderef for relationship_attrs
+    - common tests for table/column comments
+    - optimize queries
+    - remove extra select for _filter_tables
 
-support multiple/all schemas, instead of just one
+- Relationships
+   - Re-scan relations/tables after initial relation setup to find ->many_to_many() relations to be set up
+   - While scanning for many-to-many, scan for implied rels as well (if foo->belongs_to('bar') and baz->belongs_to('bar'), does that impliy foo->might_have('baz') and the reverse?)
 
-support pk/uk/fk info on views, possibly.  May or may not be a sane thing to try to do.
-
-Fix up ResultSet Manager / Methods / etc stuff.  May require some work in the
-main DBIx::Class first.
-
-Refactor RelBuilder so that it doesn't require a live mostly-built
-DBIx::Class::Schema, so that other modules (SQLT) can use it easier.  And then
-when/if we get there, break it out as a seperate distribution with a new name.
-
-Relationship stuff:
-   Re-scan relations/tables after initial relation setup to find ->many_to_many() relations to be set up?
-   While scanning for many-to-many, scan for implied rels as well? (if foo->belongs_to('bar') and baz->belongs_to('bar'), does that impliy foo->might_have('baz') and the reverse?)
-   ...
+- Backends
+  - SQLite
+    - table/column comments
+    - introspect on_update/on_delete/is_deferrable
+    - introspect view SQL
+  - MySQL
+    - table/column comments
+    - introspect on_update/on_delete/is_deferrable
+    - introspect view SQL
+  - Pg
+    - introspect on_update/on_delete/is_deferrable
+    - introspect view SQL
+    - preserve_case mode
+  - DB2
+    - data_type tests
+    - table/column comments
+    - introspect on_update/on_delete/is_deferrable
+    - introspect view SQL
+    - preserve_case mode
+  - Oracle
+    - data_type tests
+    - table/column comments
+    - introspect on_update/on_delete/is_deferrable
+    - introspect view SQL
+    - preserve_case mode
+  - Sybase ASE
+    - table/column comments
+    - introspect on_update/on_delete/is_deferrable
+    - introspect view SQL
+  - MSSQL
+    - table/column comments
+    - introspect on_update/on_delete/is_deferrable
+    - introspect view SQL
+    - computed column support
+    - Optimization
+      - use one query for whole table instead of query-per-column in _columns_info_for
+      - use placeholders when available
+  - SQLAnywhere
+    - table/column comments
+    - introspect on_update/on_delete/is_deferrable
+    - introspect view SQL
+    - preserve_case mode
+  - Firebird
+    - table/column comments
+    - introspect on_update/on_delete/is_deferrable
+    - introspect view SQL