Author: wyoung
Date: Tue Oct 23 11:12:07 2007
New Revision: 1778

URL: http://svn.gna.org/viewcvs/mysqlpp?rev=1778&view=rev
Log:
Demoted several Wishlist items to the "maybe" section.  Need to get this
thing released....

Modified:
    trunk/Wishlist

Modified: trunk/Wishlist
URL: 
http://svn.gna.org/viewcvs/mysqlpp/trunk/Wishlist?rev=1778&r1=1777&r2=1778&view=diff
==============================================================================
--- trunk/Wishlist (original)
+++ trunk/Wishlist Tue Oct 23 11:12:07 2007
@@ -31,30 +31,6 @@
 
     o Add multithreaded examples to test above features and the new
       ConnectionPool class?  They'd have to be platform-specific...
-
-    o SSQLS v2:
-
-      - Switch from C macros to a DSL that is translated to .cpp and
-        .h files by a tool built along with MySQL++ library.
-
-      - Add features to that tool to write SSQLSv2 declaration files
-        from existing schemas extracted from CREATE TABLE statements,
-        from running databases, and from C++ files containing old
-        SSQLS v1 declarations.
-
-      - Add table creation ability to SSQLS.  It has the schema...
-
-      - Decouple SSQLS field order from MYSQL_ROW field order.  We can
-        use field names to match up assigments, allowing you to have
-        just one SSQLS definition, and have it cope no matter what
-        subset of the table you query.  This will be slower than the
-        current method, but SSQLS (and MySQL++ in general for that
-        matter) isn't about speed.
-
-      - Consider whether some of the current boilerplate can be
-        made into a base class that all SSQLSes derive from.  Some
-        template functions like Query::insert<T> might become regular
-        member functions, taking a reference to the SSQLS base class.
 
     o Rework elment access in subscript_iterator derivatives:
 
@@ -95,6 +71,80 @@
     o Apply Waba's patch allowing Null<T> fields in SSQLSes:
       
           http://lists.mysql.com/plusplus/5433
+
+    o Refactor option mechanism in Connection, in several steps:
+    
+      - Create new optionlist module, initially empty.  Each step below
+        moves code and declarations into this module.
+
+      - Replace OptionInfo struct, OptionArgType enum, and Option
+        enum with a class hierarchy: totally abstract Option interface
+        at the top level, BoolOption, IntOption, and StringOption at
+        second level.  Each second-level class is subclassed once
+        for each of the options currently defined in Options enum.
+        This binds the legal option argument types with the options
+        themselves, instead of requiring a lookup table to match enum
+        values to types.  OptionList then becomes a list of Option*.
+
+      - Create OptionSetter class as a base class for Connection.  It
+        contains the actual option list object, provides the public
+        interface to that list, and possibly a callback mechanism for
+        Connection to override to give the Option objects the access
+        they need to actually implement the option setting operation.
+        (They need access to Connection::mysql_, for example.)
+
+      - Add new Option subclass SSLOption, and reimplement
+        Connection::enable_ssl() in terms of it.  The success of this
+        will prove the value of an extensible option type system.
+
+    o Some field_list() functions use the do_nothing manipulator,
+      while others use the quote manipulator.  Need to pick one.
+      In the vast majority of cases, quoting won't be necessary, so
+      make that the default.  But, it should be possible to turn it
+      on, if needed.  If all uses of quoting are in template code,
+      this can be a #define, allowing different programs built on
+      the same system to get different quoting rules.  Otherwise,
+      it will probably have to be a configure script flag, which will
+      "burn" the choice into the built binary.
+
+    o Query::preview(void) should not crash when query string is
+      a parsed template.  It's probably running off the end of the
+      default argument list, or trying to dereference a null pointer.
+
+    o Add user-settable floating-point comparison precisions:
+
+        http://lists.mysql.com/plusplus/3984
+
+
+v3.0 "Maybe" Stuff
+------------------
+    This is stuff that would be nice to have, but it wouldn't be a
+    good idea to bet on seeing it in v3.0.  If you really want some
+    of this, best to just get coding and provide a patch!
+
+    o SSQLS v2:
+
+      - Switch from C macros to a DSL that is translated to .cpp and
+        .h files by a tool built along with MySQL++ library.
+
+      - Add features to that tool to write SSQLSv2 declaration files
+        from existing schemas extracted from CREATE TABLE statements,
+        from running databases, and from C++ files containing old
+        SSQLS v1 declarations.
+
+      - Add table creation ability to SSQLS.  It has the schema...
+
+      - Decouple SSQLS field order from MYSQL_ROW field order.  We can
+        use field names to match up assigments, allowing you to have
+        just one SSQLS definition, and have it cope no matter what
+        subset of the table you query.  This will be slower than the
+        current method, but SSQLS (and MySQL++ in general for that
+        matter) isn't about speed.
+
+      - Consider whether some of the current boilerplate can be
+        made into a base class that all SSQLSes derive from.  Some
+        template functions like Query::insert<T> might become regular
+        member functions, taking a reference to the SSQLS base class.
 
     o manip.cpp uses mysql_escape_string(), which doesn't take the
       selected database's character set into account.  To do that, you
@@ -122,56 +172,6 @@
       will pop out of the database driver class idea.  The driver
       object may be able to look up a suitable Connection object
       for the manipulators.
-
-    o Refactor option mechanism in Connection, in several steps:
-    
-      - Create new optionlist module, initially empty.  Each step below
-        moves code and declarations into this module.
-
-      - Replace OptionInfo struct, OptionArgType enum, and Option
-        enum with a class hierarchy: totally abstract Option interface
-        at the top level, BoolOption, IntOption, and StringOption at
-        second level.  Each second-level class is subclassed once
-        for each of the options currently defined in Options enum.
-        This binds the legal option argument types with the options
-        themselves, instead of requiring a lookup table to match enum
-        values to types.  OptionList then becomes a list of Option*.
-
-      - Create OptionSetter class as a base class for Connection.  It
-        contains the actual option list object, provides the public
-        interface to that list, and possibly a callback mechanism for
-        Connection to override to give the Option objects the access
-        they need to actually implement the option setting operation.
-        (They need access to Connection::mysql_, for example.)
-
-      - Add new Option subclass SSLOption, and reimplement
-        Connection::enable_ssl() in terms of it.  The success of this
-        will prove the value of an extensible option type system.
-
-    o Some field_list() functions use the do_nothing manipulator,
-      while others use the quote manipulator.  Need to pick one.
-      In the vast majority of cases, quoting won't be necessary, so
-      make that the default.  But, it should be possible to turn it
-      on, if needed.  If all uses of quoting are in template code,
-      this can be a #define, allowing different programs built on
-      the same system to get different quoting rules.  Otherwise,
-      it will probably have to be a configure script flag, which will
-      "burn" the choice into the built binary.
-
-    o Query::preview(void) should not crash when query string is
-      a parsed template.  It's probably running off the end of the
-      default argument list, or trying to dereference a null pointer.
-
-    o Add user-settable floating-point comparison precisions:
-
-        http://lists.mysql.com/plusplus/3984
-
-
-v3.0 "Maybe" Stuff
-------------------
-    This is stuff that would be nice to have, but it wouldn't be a
-    good idea to bet on seeing it in v3.0.  If you really want some
-    of this, best to just get coding and provide a patch!
 
     o Replace Query::preview() with operator<<, for easy debugging?
       If one really wants a std::string, they can still call str(),


_______________________________________________
Mysqlpp-commits mailing list
[email protected]
https://mail.gna.org/listinfo/mysqlpp-commits

Reply via email to