Author: wyoung
Date: Tue Mar 18 06:17:41 2008
New Revision: 2244

URL: http://svn.gna.org/viewcvs/mysqlpp?rev=2244&view=rev
Log:
Added test/qssqls.cpp, which tests generation of INSERT, REPLACE, and
UPDATE queries from SSQLSes.

Added:
    trunk/test/qssqls.cpp
Modified:
    trunk/mysql++.bkl

Modified: trunk/mysql++.bkl
URL: 
http://svn.gna.org/viewcvs/mysqlpp/trunk/mysql%2B%2B.bkl?rev=2244&r1=2243&r2=2244&view=diff
==============================================================================
--- trunk/mysql++.bkl (original)
+++ trunk/mysql++.bkl Tue Mar 18 06:17:41 2008
@@ -233,6 +233,12 @@
                                <sources>test/null_comparison.cpp</sources>
                        </exe>
                </if>
+        <if cond="FORMAT!='msvs2003prj'">
+            <!-- VC++ 2003 can't compile this -->
+                       <exe id="test_qssqls" template="programs">
+                               <sources>test/qssqls.cpp</sources>
+                       </exe>
+               </if>
         <exe id="test_qstream" template="programs">
             <sources>test/qstream.cpp</sources>
         </exe>

Added: trunk/test/qssqls.cpp
URL: http://svn.gna.org/viewcvs/mysqlpp/trunk/test/qssqls.cpp?rev=2244&view=auto
==============================================================================
--- trunk/test/qssqls.cpp (added)
+++ trunk/test/qssqls.cpp Tue Mar 18 06:17:41 2008
@@ -1,0 +1,76 @@
+/***********************************************************************
+ test/qssqls.cpp - Tests SQL query creation from SSQLS in Query.
+
+ Copyright (c) 2008 by Educational Technology Resources, Inc.
+ Others may also hold copyrights on code in this file.  See the
+ CREDITS file in the top directory of the distribution for details.
+
+ This file is part of MySQL++.
+
+ MySQL++ is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as published
+ by the Free Software Foundation; either version 2.1 of the License, or
+ (at your option) any later version.
+
+ MySQL++ is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+ License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with MySQL++; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+ USA
+***********************************************************************/
+
+#include <mysql++.h>
+#include <ssqls.h>
+
+#include <iostream>
+
+using namespace mysqlpp;
+using namespace std;
+
+
+// Don't use any stringish types here.  That will cause code below to
+// eventually try to call DBDriver::escape_string() through the
+// Connection object, which we don't really have, so it asplodes.
+sql_create_17(test,
+       17, 0,
+       sql_tinyint,                    tinyint_v,
+       sql_tinyint_unsigned,   tinyint_unsigned_v,
+       sql_smallint,                   smallint_v,
+       sql_smallint_unsigned,  smallint_unsigned_v,
+       sql_int,                                int_v,
+       sql_int_unsigned,               int_unsigned_v,
+       sql_mediumint,                  mediumint_v,
+       sql_mediumint_unsigned, mediumint_unsigned_v,
+       sql_bigint,                             bigint_v,
+       sql_bigint_unsigned,    bigint_unsigned_v,
+       sql_float,                              float_v,
+       sql_double,                             double_v,
+       sql_decimal,                    decimal_v,
+       sql_bool,                               bool_v,
+       sql_date,                               date_v,
+       sql_time,                               time_v,
+       sql_datetime,                   datetime_v);
+
+int
+main()
+{
+       Query q = Connection().query();         // don't do this in real code
+       test empty(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false,
+                       Date(), Time(), DateTime());
+       test filled(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.0, 12.0, 13.0,
+                       bool(14), Date("1515-15-15"), Time("16:16:16"),
+                       DateTime("1717-17-17 17:17:17"));
+
+       cout << q.insert(empty) << endl << endl;
+       cout << q.insert(filled) << endl << endl;
+       cout << q.replace(empty) << endl << endl;
+       cout << q.replace(filled) << endl << endl;
+       cout << q.update(filled, empty) << endl << endl;
+
+       return 0;
+}
+


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

Reply via email to