You can subscribe to this list here.
2002 |
Jan
(11) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(19) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
(12) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
|
Feb
(2) |
Mar
(3) |
Apr
|
May
(6) |
Jun
(2) |
Jul
|
Aug
(36) |
Sep
(12) |
Oct
(3) |
Nov
|
Dec
|
2004 |
Jan
(3) |
Feb
|
Mar
|
Apr
(4) |
May
(11) |
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(11) |
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
From: SourceForge.net <no...@so...> - 2004-05-07 13:41:28
|
Bugs item #949366, was opened at 2004-05-06 18:06 Message generated for change (Comment added) made by redi You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=949366&group_id=7869 Category: None Group: None Status: Open >Resolution: Fixed Priority: 5 Submitted By: Philipp Berndt (pberndt) >Assigned to: Jonathan Wakely (redi) Summary: Query::operator=(const Query& src) is broken Initial Comment: Query::operator=(const Query& src) is broken more precisely SQLQuery::operator=(const SQLQuery& src) is broken. example: Query query = con->create_Query(); query << "SELECT * from foo"; Result res = query.store (); // now reuse variables query = con->create_Query(); query << "SELECT * from bar"; cout << query.preview () << endl; yields "SELECT * from fooSELECT * from bar" ---------------------------------------------------------------------- >Comment By: Jonathan Wakely (redi) Date: 2004-05-07 13:41 Message: Logged In: YES user_id=426241 This has been fixed in CVS since October, along with some other issues with the SQLQuery default ctor and copy ctor. You should be able to take the latest version of sql_query.cc and use it with the 1.9.3 release. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=949366&group_id=7869 |
From: SourceForge.net <no...@so...> - 2004-05-07 13:14:02
|
Bugs item #938458, was opened at 2004-04-20 09:59 Message generated for change (Comment added) made by redi You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=938458&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Philipp Berndt (pberndt) >Assigned to: Jonathan Wakely (redi) Summary: ColData::is_null() modifies object Initial Comment: In Version 1.9.3: A method starting with "is" is commonly expected to be an accessor for a boolean member, that is to be const and return bool. Instead in ColData.h: void is_null() { m_bNull = true; } Maybe this method with the funky name does what one would expect from ColData::is_null(): inline const bool ism_bNull() const { return m_bNull; } ---------------------------------------------------------------------- >Comment By: Jonathan Wakely (redi) Date: 2004-05-07 13:13 Message: Logged In: YES user_id=426241 I agree it's badly named, however, the fact that it returns void and is non-const makes it somewhat clearer that it's not a boolean accessor. I'm not sure about changing those names (again). ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=938458&group_id=7869 |
From: SourceForge.net <no...@so...> - 2004-05-06 18:06:42
|
Bugs item #949366, was opened at 2004-05-06 20:06 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=949366&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Philipp Berndt (pberndt) Assigned to: Nobody/Anonymous (nobody) Summary: Query::operator=(const Query& src) is broken Initial Comment: Query::operator=(const Query& src) is broken more precisely SQLQuery::operator=(const SQLQuery& src) is broken. example: Query query = con->create_Query(); query << "SELECT * from foo"; Result res = query.store (); // now reuse variables query = con->create_Query(); query << "SELECT * from bar"; cout << query.preview () << endl; yields "SELECT * from fooSELECT * from bar" ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=949366&group_id=7869 |
From: SourceForge.net <no...@so...> - 2004-04-20 11:57:45
|
Bugs item #938517, was opened at 2004-04-20 13:57 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=938517&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Philipp Berndt (pberndt) Assigned to: Nobody/Anonymous (nobody) Summary: missing Connection constructor Initial Comment: in version 1.9.3: examples/simple1.cc promises a Connection constructor which unfortunately doesn't seem to exist: // The full format for the Connection constructor is // Connection(cchar *db, cchar *host="", // cchar *user="", cchar *passwd="") ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=938517&group_id=7869 |
From: SourceForge.net <no...@so...> - 2004-04-20 10:09:35
|
Bugs item #938463, was opened at 2004-04-20 12:09 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=938463&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Philipp Berndt (pberndt) Assigned to: Nobody/Anonymous (nobody) Summary: internal include needs path Initial Comment: In version 1.9.3: All internal includes have the path prefix "mysqlcppapi/" except the ones for "mysqlcppapi_internal.h" To avoid setting extra compiler include paths, please use path prefix for that one, too. Patch attached. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=938463&group_id=7869 |
From: SourceForge.net <no...@so...> - 2004-04-20 09:59:11
|
Bugs item #938458, was opened at 2004-04-20 11:59 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=938458&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Philipp Berndt (pberndt) Assigned to: Nobody/Anonymous (nobody) Summary: ColData::is_null() modifies object Initial Comment: In Version 1.9.3: A method starting with "is" is commonly expected to be an accessor for a boolean member, that is to be const and return bool. Instead in ColData.h: void is_null() { m_bNull = true; } Maybe this method with the funky name does what one would expect from ColData::is_null(): inline const bool ism_bNull() const { return m_bNull; } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=938458&group_id=7869 |
From: SourceForge.net <no...@so...> - 2004-04-07 09:24:45
|
Patches item #930953, was opened at 2004-04-07 02:24 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=930953&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: compilation error g++ >=3.2 in Query.cc and sql_query.cc Initial Comment: Compilation stops while error in contructor of Query.cc and sql_query.cc Patch removes explicit initialisation of std::ios. Patch with - save the attachment in the same DIR the mysqlcppapi-1.9.3 DIR is - cd into your mysqlcppapi-1.9.3 DIR - and type: #> patch -Np1 -i ../mysqlcppapi-1.9.3-gcc-3.2.patch Best regards, jan ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=930953&group_id=7869 |
From: SourceForge.net <no...@so...> - 2004-01-27 12:38:25
|
Bugs item #882718, was opened at 2004-01-23 05:55 Message generated for change (Settings changed) made by redi You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=882718&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) >Assigned to: Jonathan Wakely (redi) Summary: fields/FieldType.cc variable used before initialisation Initial Comment: In the constructors of FieldType the "m_uiMaxLength=0" should be put at the start of the constructors because setType subsequently needs to use it. ---------------------------------------------------------------------- Comment By: Jonathan Wakely (redi) Date: 2004-01-25 02:18 Message: Logged In: YES user_id=426241 Yes, you're right, thanks for reporting it. The class looks broken to me, since it calls the virtual get_MaxLength and set_MaxLength functions from the base ctor, which is usually a bad idea. Because the derived object is not constructed yet, only the base class versions are called, which uses an uninitialised variable. I think the comment in FieldType.cc about the ctor having too many args should be ignored and the max length and decimal count should be passed to the ctor if known (defaulting to zero). I'll look into it properly A.S.A.P and at least fix the uninitialised variables, but fixing it properly might require a bigger change. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=882718&group_id=7869 |
From: SourceForge.net <no...@so...> - 2004-01-26 15:21:30
|
Bugs item #882718, was opened at 2004-01-23 05:55 Message generated for change (Comment added) made by redi You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=882718&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: fields/FieldType.cc variable used before initialisation Initial Comment: In the constructors of FieldType the "m_uiMaxLength=0" should be put at the start of the constructors because setType subsequently needs to use it. ---------------------------------------------------------------------- >Comment By: Jonathan Wakely (redi) Date: 2004-01-25 02:18 Message: Logged In: YES user_id=426241 Yes, you're right, thanks for reporting it. The class looks broken to me, since it calls the virtual get_MaxLength and set_MaxLength functions from the base ctor, which is usually a bad idea. Because the derived object is not constructed yet, only the base class versions are called, which uses an uninitialised variable. I think the comment in FieldType.cc about the ctor having too many args should be ignored and the max length and decimal count should be passed to the ctor if known (defaulting to zero). I'll look into it properly A.S.A.P and at least fix the uninitialised variables, but fixing it properly might require a bigger change. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=882718&group_id=7869 |
From: SourceForge.net <no...@so...> - 2004-01-23 05:55:42
|
Bugs item #882718, was opened at 2004-01-22 21:55 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=882718&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: fields/FieldType.cc variable used before initialisation Initial Comment: In the constructors of FieldType the "m_uiMaxLength=0" should be put at the start of the constructors because setType subsequently needs to use it. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=107869&aid=882718&group_id=7869 |
From: Howard C. <how...@se...> - 2003-10-14 13:19:06
|
Hi, I am attempting to build mysqlcppapi using Visual C++ 7.0 but there appear to be some files missing from the 1.9.3 zip. The files are referenced in "windows_includes.h" are: #include <Windows32/Base.h> #include <Windows32/Defines.h> #include <Windows32/Structures.h> Does anybody know what these files are and where they are? Thanks in advance, Howard. |
From: SourceForge.net <no...@so...> - 2003-09-11 09:06:02
|
Patches item #804260, was opened at 2003-09-11 09:06 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=804260&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Copy SQL statement in SQLQuery Initial Comment: This patch copies the contents of the stringstream buffer (i.e. the SQL statement) in the SQLQuery copy constructor and assigment operator. This allows the following: Query query = conn.create_Query(); query << first_sql_statement; // ... query = conn.create_Query(); // (1) query << second_sql_statement; // ... currently the two statements would be run together because the contents of the stringstream are not cleared by the assigment on the line marked (1). I've also explicitly initialised all members in the constructors and (arguably) improved my comment about the std::ios virtual base class and calling init(). ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=804260&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-09-01 10:19:56
|
Patches item #796645, was opened at 2003-08-28 12:35 Message generated for change (Settings changed) made by murrayc You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796645&group_id=7869 Category: None Group: None >Status: Closed >Resolution: Accepted Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Init base class in Fields' copy ctor Initial Comment: This patch prevents the following warning from GCC 3.4 when compiled with "-Wall -W": Fields.cc: In copy constructor `mysqlcppapi::Fields::Fields(const mysqlcppapi::Fields&)': Fields.cc:33: warning: base class `class std::vector<mysqlcppapi::FieldInfo, std::allocator<mysqlcppapi::FieldInfo> >' should be explicitly initialized in the copy constructor Without this patch the base class is default-initialised and then assigned to, and GCC warns because the base is not copy constructed. This patch explicitly copy constructs the base class and removes the call to the assignment operator. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796645&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-09-01 10:19:56
|
Patches item #796623, was opened at 2003-08-28 11:30 Message generated for change (Settings changed) made by murrayc You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796623&group_id=7869 Category: None Group: None >Status: Closed >Resolution: Accepted Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Initialise base of Result_Store Initial Comment: This patch prevents the following warning from GCC 3.4 (experimental) when compiled with "-Wall -W": Result_Store.cc: In copy constructor `mysqlcppapi::Result_Store::Result_Store(const mysqlcppapi::Result_Store&)': Result_Store.cc:18: warning: base class `class mysqlcppapi::const_subscript_container<mysqlcppapi::Result_Store, mysqlcppapi::Row, const mysqlcppapi::Row>' should be explicitly initialized in the copy constructor It adds a typedef for the const_subscript_container base class of Result_Store and calls its default ctor in the init list of Result_Store's copy ctor. it also removes the comment about MutableRes, as this class is no longer part of the library. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796623&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-08-28 16:39:59
|
Patches item #796776, was opened at 2003-08-28 16:39 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796776&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Prevent warnings about unitialised bases Initial Comment: Compiling with GCC 3.4 with -Wall and -W produces the following warnings: Query.cc: In copy constructor `mysqlcppapi::Query::Query(const mysqlcppapi::Query&)': Query.cc:16: warning: base class `struct std::basic_ios<char, std::char_traits<char> >' should be explicitly initialized in the copy constructor and sql_query.cc: In copy constructor `mysqlcppapi::SQLQuery::SQLQuery(const mysqlcppapi::SQLQuery&)': sql_query.cc:13: warning: base class `struct std::basic_ios<char, std::char_traits<char> >' should be explicitly initialized in the copy constructor sql_query.cc:13: warning: base class `struct std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >' should be explicitly initialized in the copy constructor This patch explicitly initialises the relevant base classes to remove the warnings. (Both Query and SQLQuery have to initialise std::ios because it's a virtual base and the most derived class in a hierarchy must initialise virtual bases). N.B. as commented in the files, it is safe to default contruct std::ios because the std::stringstream object will call std::ios::init() with it's stringbuf as the argument. Otherwise it would not be safe to destroy the std::ios object. The patch also moves a couple of assignments in the ctor bodies into initiallisation lists. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796776&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-08-28 12:35:22
|
Patches item #796645, was opened at 2003-08-28 12:35 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796645&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Init base class in Fields' copy ctor Initial Comment: This patch prevents the following warning from GCC 3.4 when compiled with "-Wall -W": Fields.cc: In copy constructor `mysqlcppapi::Fields::Fields(const mysqlcppapi::Fields&)': Fields.cc:33: warning: base class `class std::vector<mysqlcppapi::FieldInfo, std::allocator<mysqlcppapi::FieldInfo> >' should be explicitly initialized in the copy constructor Without this patch the base class is default-initialised and then assigned to, and GCC warns because the base is not copy constructed. This patch explicitly copy constructs the base class and removes the call to the assignment operator. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796645&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-08-28 12:22:57
|
Patches item #796641, was opened at 2003-08-28 12:22 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796641&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Prevent warnings from Allocator Initial Comment: A comment in Allocator.h claims Allocator is an Abstract Base Class. It isn't, because it has no virtual functions, let alone pure virtuals. All it's methods are static, which means derived classes can't even override its functions and behave polymorphically. Since the static functions on the Allocator base class are useless (they don't do anything) and since the dynamic (i.e. real) type of derived allocator is always known when allocate() or deallocate() is called there is no benefit to having those functions also defined in the base class. They aren't invoked via a virtual table (they're static and there is no vtable) and are always hidden by the derived class' overloads and don't have any effect except increasing the size of object files. This patch removes the functions from the base class, so it provides nothing more than a couple of typedefs (like std::iterator). It also changes the cpointer typedefs to use the base-class' definition so they don't need to be changed if the base class changes (to for example, const T_cobj*). It also comments out the names of a couple of unused variables to prevent compiler warnings. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796641&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-08-28 11:30:23
|
Patches item #796623, was opened at 2003-08-28 11:30 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796623&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Initialise base of Result_Store Initial Comment: This patch prevents the following warning from GCC 3.4 (experimental) when compiled with "-Wall -W": Result_Store.cc: In copy constructor `mysqlcppapi::Result_Store::Result_Store(const mysqlcppapi::Result_Store&)': Result_Store.cc:18: warning: base class `class mysqlcppapi::const_subscript_container<mysqlcppapi::Result_Store, mysqlcppapi::Row, const mysqlcppapi::Row>' should be explicitly initialized in the copy constructor It adds a typedef for the const_subscript_container base class of Result_Store and calls its default ctor in the init list of Result_Store's copy ctor. it also removes the comment about MutableRes, as this class is no longer part of the library. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796623&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-08-28 09:59:44
|
Patches item #796591, was opened at 2003-08-28 09:57 Message generated for change (Comment added) made by redi You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796591&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Tidy up SharedPtr to prevent warnings Initial Comment: This patch re-orders the initialisation list for SharedPtr to match the order of declaration in the class body. The compiler does this re-ordering automatically since members must be initialised in the order they're declared, so this patch simply prevents a compiler warning to that effect (at least GCC warns about this, I don't know about others). While looking at this I also made some other similar changes. I changed the SharedPtr(T_obj* pobj) ctor to initialise m_pobj in the initialisation list and removed the test for pobj!=NULL since this is repeated inside ref() anyway. I changed the copy ctor to remove the check for self-assignment (which is impossible since this is a ctor, not operator=) and to copy the members in the initialisation list rather than initialising to zero and then assigning. As well as preventing warnings these changes should make the class (very slightly) more efficient. Tested on GCC 3.4 (experimental) ---------------------------------------------------------------------- >Comment By: Jonathan Wakely (redi) Date: 2003-08-28 09:59 Message: Logged In: YES user_id=426241 Oops, posted a version of the patch without a ChangeLog entry. Replaced. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796591&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-08-28 09:57:12
|
Patches item #796591, was opened at 2003-08-28 09:57 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796591&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Tidy up SharedPtr to prevent warnings Initial Comment: This patch re-orders the initialisation list for SharedPtr to match the order of declaration in the class body. The compiler does this re-ordering automatically since members must be initialised in the order they're declared, so this patch simply prevents a compiler warning to that effect (at least GCC warns about this, I don't know about others). While looking at this I also made some other similar changes. I changed the SharedPtr(T_obj* pobj) ctor to initialise m_pobj in the initialisation list and removed the test for pobj!=NULL since this is repeated inside ref() anyway. I changed the copy ctor to remove the check for self-assignment (which is impossible since this is a ctor, not operator=) and to copy the members in the initialisation list rather than initialising to zero and then assigning. As well as preventing warnings these changes should make the class (very slightly) more efficient. Tested on GCC 3.4 (experimental) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=796591&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-08-06 15:00:21
|
Patches item #784222, was opened at 2003-08-06 15:00 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=784222&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Reorder headers and forward declarations Initial Comment: Compiling with GCC 3.4 (experimental) fails in Query.h because the Query::storein*() function templates try to call member functions on a Connection object, but Connection has only been forward declared in Query.h. This worked previously because GCC delayed all name lookup in templates until the point of instantiation, by which time Connection had been declared. Because GCC 3.4 looks up non-dependent names (such as, in this context, the member functions of Connection) during the first phase of compilation it errors as soon as you refer to a member of the undefined Connection class. This patch re-orders some headers and forward declarations so that all classes are defined before any of their members are referred to. This basically involved swapping the declarations of Connection and Query, so that Connection.h only gets a forward declaration of Query, and Query.h includes Connection.h (where this used to be the other way around). Once this change was made another problem arose, namely that the definitions of the storein*() function templates had not been updated when smart pointers were added to the library, so still referred to the (now removed) mysql_res member of Result_Use. Presumably this problem wasn't noticed before because the function templates were never instantiated and so were never compiled, but GCC 3.4's first phase of template compilation issues a diagnostic when it sees the reference to mysql_res. I changed the function definitons to use the fetch_row() member of Result_Use instead BUT ... N.B. I am not entirely sure of the semantics of the fetch_row() function, so am not sure my try/catch blocks do the right thing in the storein*() function templates. Please review this change carefully. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=784222&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-08-06 14:19:53
|
Patches item #784205, was opened at 2003-08-06 14:19 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=784205&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Remove stray "inline" keyword Initial Comment: The Row::size() member function is declared to be inline in the function body, yet the definition is given out-of-line in the Row.cc file. This raises a warning in GCC 3.4. This patch removes the "inline" keyword. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=784205&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-08-06 11:55:48
|
Patches item #784120, was opened at 2003-08-06 11:40 Message generated for change (Comment added) made by redi You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=784120&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Iterator typedef problems Initial Comment: The definition of class subscript_iterator (in mysqlcppapi/const_subscript_container.h) has a couple of problems. I think the template parameters given to subscript_iterator's base class are wrong. The third param is the iterator's difference_type, which must be a signed type. The parameter given is "typename OnType::size_type", which is an unsigned type. This doesn't actually cause any problems, because difference_type is re-declared correctly later in the subscript_iterator body. The second problem is simply that subscript_iterator inherits from std::iterator. This struct isn't available in the C++ library supplied with GCC 2.95, which prevents that compiler being used. The workaround is to remove the inheritance relationship and declare the iterator_category, value_type, point, reference and difference_type explicily (all std::iterator does is declare these typedefs anyway). This is standard-conforming and loses nothing, but adds backward-compatibility. This patch removes the inheritance and explicitly declares the required typedefs, so that gcc 2.95 can be used to compile the library. ---------------------------------------------------------------------- >Comment By: Jonathan Wakely (redi) Date: 2003-08-06 11:55 Message: Logged In: YES user_id=426241 This latest patch is for the ChangeLog, it should be apprpriate for either patch, although if the first is applied the ChangeLog could mention it was done for GCC 2.95 compatibility. ---------------------------------------------------------------------- Comment By: Jonathan Wakely (redi) Date: 2003-08-06 11:49 Message: Logged In: YES user_id=426241 This second patch is intended for use if backward-compatibility is not desired. Instead of removing the inheritance from std::iterator it fixes the difference_type parameter and removes the unnecessary type_base typedef, re-definition of difference_type, and call to type_base::operator=. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=784120&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-08-06 11:49:01
|
Patches item #784120, was opened at 2003-08-06 11:40 Message generated for change (Comment added) made by redi You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=784120&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Iterator typedef problems Initial Comment: The definition of class subscript_iterator (in mysqlcppapi/const_subscript_container.h) has a couple of problems. I think the template parameters given to subscript_iterator's base class are wrong. The third param is the iterator's difference_type, which must be a signed type. The parameter given is "typename OnType::size_type", which is an unsigned type. This doesn't actually cause any problems, because difference_type is re-declared correctly later in the subscript_iterator body. The second problem is simply that subscript_iterator inherits from std::iterator. This struct isn't available in the C++ library supplied with GCC 2.95, which prevents that compiler being used. The workaround is to remove the inheritance relationship and declare the iterator_category, value_type, point, reference and difference_type explicily (all std::iterator does is declare these typedefs anyway). This is standard-conforming and loses nothing, but adds backward-compatibility. This patch removes the inheritance and explicitly declares the required typedefs, so that gcc 2.95 can be used to compile the library. ---------------------------------------------------------------------- >Comment By: Jonathan Wakely (redi) Date: 2003-08-06 11:49 Message: Logged In: YES user_id=426241 This second patch is intended for use if backward-compatibility is not desired. Instead of removing the inheritance from std::iterator it fixes the difference_type parameter and removes the unnecessary type_base typedef, re-definition of difference_type, and call to type_base::operator=. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=784120&group_id=7869 |
From: SourceForge.net <no...@so...> - 2003-08-06 11:40:09
|
Patches item #784120, was opened at 2003-08-06 11:40 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=784120&group_id=7869 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jonathan Wakely (redi) Assigned to: Nobody/Anonymous (nobody) Summary: Iterator typedef problems Initial Comment: The definition of class subscript_iterator (in mysqlcppapi/const_subscript_container.h) has a couple of problems. I think the template parameters given to subscript_iterator's base class are wrong. The third param is the iterator's difference_type, which must be a signed type. The parameter given is "typename OnType::size_type", which is an unsigned type. This doesn't actually cause any problems, because difference_type is re-declared correctly later in the subscript_iterator body. The second problem is simply that subscript_iterator inherits from std::iterator. This struct isn't available in the C++ library supplied with GCC 2.95, which prevents that compiler being used. The workaround is to remove the inheritance relationship and declare the iterator_category, value_type, point, reference and difference_type explicily (all std::iterator does is declare these typedefs anyway). This is standard-conforming and loses nothing, but adds backward-compatibility. This patch removes the inheritance and explicitly declares the required typedefs, so that gcc 2.95 can be used to compile the library. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=307869&aid=784120&group_id=7869 |