List:MySQL++« Previous MessageNext Message »
From:Rick Gutleber Date:October 29 2008 11:03pm
Subject:Some thoughts about a SQLStream
View as plain text  
I've thought about this a little bit.  I think we could first create a 
class called SQLEscaper that takes a Connection * and provides the 
escape_string( ) methods*.

1.  We could just stick those methods in a class called SQLEscaper from 
which Query and SQLStream are derived.

2.  Query is derived from std::ostream and SQLEscaper and otherwise 
remains the exactly the same (conn_ is now a protected member of 
SQLEscaper).

3.  SQLStream is derived from SQLEscaper and std::ostringstream.

4.  The stuff in manip.cpp is changed to recognize SQLEscaper instead of 
Query, which both of our classes are derived from.

5.  ????

6.  Profit!!!



* I have to wonder why those methods aren't in Connection to begin 
with.  I realize Connection isn't intended for dealing with SQL, but 
those methods in Query don't actually use any aspect of Query!  I tried 
making them static (and conn_ public so I could) just to verify that.  
It might be possible (and reasonable) to dispense with the need for the 
SQLEscaper if those methods could go in the Connection class where they 
seem to belong.  Of course, SQLEscaper gives us a common base class for 
Query and SQLStream which is convenient for the manipulators.

Thread
Some thoughts about a SQLStreamRick Gutleber30 Oct
  • Re: Some thoughts about a SQLStreamWarren Young30 Oct
    • Re: Some thoughts about a SQLStreamRick Gutleber30 Oct
      • Re: Some thoughts about a SQLStreamWarren Young31 Oct