libtabula

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2016-02-06
10:22
Whitespace fix Leaf check-in: fa93a19a0a user: tangent tags: trunk
10:02
Added a missing library check-in: 9e56dd977c user: tangent tags: trunk
2015-12-21
02:10
Added a FIXME comment check-in: 01622c2244 user: tangent tags: trunk
2015-12-18
23:29
Copying the refcounted pointer to the FieldNames object in Row::operator =() instead of copying the field names. We can share the object. check-in: 1e03cb233c user: tangent tags: trunk
22:42
Removed need for Impl parameter to ResultBase::fetch_row() and its derivatives. ResultBase can provide the implementation object to the DBDriver layer, which is the only code that needed this. check-in: 3f91a82d13 user: tangent tags: trunk
22:24
STL on OS X can't cope with vector::at() assignments when the space has only been set aside with vector::reserve(). It wants either a resize() call to set the space aside definitely, or push_back() to extend the vector into the reserved space. (This is probably a sanity check like the old SafeSTL, rather than an actual memory bug, but it has the same effect as a crash.) check-in: 24d069b506 user: tangent tags: trunk
2015-09-11
19:04
Simplified the C++ feature testing mechanism some check-in: 05f15e2b1c user: etr tags: trunk
18:47
Moved the configure_file() calls to the bottom of the top-level CMakeLists.txt file so they're after the recently-added C++11 tests. Otherwise, the wrong values get stored in src/config.h, and it can toggle on you, too. check-in: 650133871e user: etr tags: trunk
18:41
Added another C++11 test using the same mechanism from the previous one, this time for the cbegin/cend iterators, required on EL7, but which break the build on EL5's default GCC 4.1.2 compiler. Now we use them if present, and not if not. check-in: 9069ab8ffb user: etr tags: trunk
18:30
Added a test for C++11's "long long" data type, which we use in defining sql_* data types. Previously, we blindly assumed the C++ compiler also supported C99's "long long" even though C++98 and C++03 don't require it, which in turn required a couple of levels of fall-back for the cases where the C++ compiler didn't have that extension. Now that it's finally part of C++, we can just check for it. check-in: dd77d4c60e user: etr tags: trunk
2015-09-03
14:37
. check-in: 22689bd7dc user: etr tags: trunk
2015-08-15
10:11
Fixed some errors introduced in the recent merge check-in: 7e59757bd5 user: tangent tags: trunk
09:35
Merged row-pimpl branch into trunk: moves one of the last few remaining MySQLisms on the trunk down into the MySQLDBDriver layer. check-in: be382a7009 user: tangent tags: trunk
09:32
Merged trunk changes in Closed-Leaf check-in: 4e189f92a7 user: tangent tags: row-pimpl
09:24
Removed a FIXME comment: its proposed "fix" doesn't work. check-in: 381f8225d9 user: tangent tags: row-pimpl
09:21
The crash that prompted the creation of the row-pimpl branch was due to calling Row.size() before Row was initialized. This old MYSQL_ROW base implementation copes with this, but the new branch will try to dereference a null pointer to its nonexistent implementation object. Guarding this and a few other paths so we don't try to use that smart pointer if we aren't initialized yet.

(This change should have been made on the row-pimpl branch, but it also works against trunk, where it amounts to belt-and-suspenders.) check-in: bd141d86c6 user: tangent tags: trunk

09:15
Documented the method for enabling a debug build on *ix check-in: 2a3b9252e1 user: tangent tags: trunk
09:10
Merged trunk changes in check-in: d80e2d46a2 user: tangent tags: row-pimpl
09:09
Added lldb to the list of tools exrun can make use of, so we don't have to install gdb on OS X. Also made a few other tweaks to it while in there. check-in: 21b6f7c6f5 user: tangent tags: trunk
08:51
Merged dtest-to-ctest branch into trunk. (It only had to branch to avoid a fork.) check-in: 518f8d3962 user: tangent tags: trunk
08:50
First cut at making Row take a Row::Impl as its first argument instead of a MYSQL_ROW, with all the MySQL C API conversion code moving into MySQLDBDriver. It builds, but test/array_index segfaults. check-in: f9e573bf51 user: tangent tags: row-pimpl
2015-08-14
23:45
Fixed some overzealous "MySQL" -> "libtabula" references, and clarified some details about the development history in the CREDITS.md file. check-in: 9e7ac4fc37 user: tangent tags: trunk
23:34
Fixed a bunch of references to *.txt, which should be *.md now. check-in: 91de75b98b user: tangent tags: trunk
23:23
Typo fix in a comment check-in: ebb9a16682 user: tangent tags: trunk
19:02
Added a CTest-based "test" top-level target which currently only runs dtest. We still have the top-level dtest target since "test" suppresses output, and that's important for debugging the integration tests. The plan now is to move the unit tests out of dtest into CTest, so that dtest returns to its classic (MySQL++ 2.x?) form, doing integration tests only. Closed-Leaf check-in: 869873f020 user: etr tags: dtest-to-ctest
18:54
The dtest script now returns nonzero on error, so callers can tell whether it succeeded. The reason will be clear soon. check-in: 940bd74363 user: etr tags: dtest-to-ctest
06:23
Squished a clang warning about an unused parameter reported on the MySQL++ mailing list by João M. S. Silva. check-in: d076442415 user: tangent tags: trunk
06:08
Merged mysql-type-info branch into trunk, now that dtest runs to completion on two major platforms and all FIXME comments are dealt with. check-in: ac763fd4ac user: tangent tags: trunk
06:05
Merged the contents of a FIXME comment into the relevant Wishlist item. Closed-Leaf check-in: 06939e737d user: tangent tags: mysql-type-info
06:01
Comment fix check-in: 69c9023a1a user: tangent tags: mysql-type-info
06:00
Removed an unnneded method check-in: 102fa4f726 user: tangent tags: mysql-type-info
05:57
One of the sql_types.h changes recently lost the fallback for no stdint at all, such as VC++ 2008 and earlier. check-in: 143d1ad0bd user: tangent tags: mysql-type-info
05:54
Removed an unneded ctor in the new MySQLFieldTypes class. check-in: 200397c3a7 user: tangent tags: mysql-type-info
05:52
Comment change check-in: 135cd93ba4 user: tangent tags: mysql-type-info
05:40
Merged trunk changes check-in: 5f36ef6682 user: tangent tags: mysql-type-info
05:39
Regenerated bmark.txt to remove CRs from cgi_jpeg output now that tests run to completion on OS X. (Earlier success report was on CentOS 5.) check-in: 3fa3f424bf user: tangent tags: trunk
05:29
Better fix for the old problem of how to distinguish a 1-parameter template query call to Query::store() and friends from a raw query string call, which allows it to do the right thing on OS X with Clang. Not sure why this doesn't affect MySQL++, but it doesn't. (Tested 3.2.2.) check-in: 5c2b34bee3 user: tangent tags: trunk
04:17
Added <tr1/cstdint> alternative between <cstdint> and <boost/cstdint.hpp> check-in: 169bdfd29a user: tangent tags: trunk
03:55
Merged trunk changes in check-in: f2cdede2a0 user: tangent tags: mysql-type-info
03:55
Dropped the versioned crnl-glob Fossil setting. All *.md and *.txt are now LF-only. check-in: c37cba89a5 user: tangent tags: trunk
03:54
examples/cgi_jpeg now modifies its output to use LF only in output when running under dtest so the bmark.txt output file doesn't have mixed line endings. There's no reason we have to speak legal HTTP in this case. check-in: 4234731834 user: tangent tags: trunk
03:43
Fixed an operator precedence complaint in the new field type matching code noticed by Clang. check-in: f8610afda3 user: tangent tags: mysql-type-info
2015-08-13
21:52
Fixed the quoted NULL value problem. The code wasn't checking for null values explicitly when building query strings, it was only checking the attributes of the data type. That is, it might ask something like, "Should sql_text_null be quoted", get "yes", and quote the value when building SQL query strings even when the value is a SQL NULL, and thus needs to go literally into the generated SQL.

MySQL++ must have gotten away without such code by playing some kind of game with the field type. This is a better way to do it.

Incidentally, this marks the first version of this branch that runs dtest to completion without diffs! A bit of cleanup, and we can merge it back into the trunk! check-in: e32649510e user: etr tags: mysql-type-info

2015-08-12
21:55
Merged trunk Wishlist changes again, and removed the type_info item from the DB independence section in anticipation of merging this branch into the trunk, since that's what this branch is addressing. check-in: e039e01875 user: etr tags: mysql-type-info
21:53
Removed "Initializing result set objects" from the "tricky bits" section of the Wishlist section on DB independence, since it now basically boils down to the Row and Field items just added, and those are more specific. check-in: 97073e9aa4 user: etr tags: trunk
21:46
Merged Wishlist.md change in check-in: a6baa231d9 user: etr tags: mysql-type-info
21:45
Noted that Field and Row are still intimately tied into the MySQL C API. check-in: dc744e7800 user: etr tags: trunk
02:19
Refactored the FieldType implementation details to reduce the amount of code duplication between the base type and the old TypeInfo class, greatly increasing the clarity of the code. This version is gives the same semi-broken test results as the previous checkin on this branch, so it's a good refactoring. :) check-in: c78d403f45 user: etr tags: mysql-type-info
2015-08-11
11:40
The std::type_info to FieldType mapping mechanism was purposely self-limiting itself to looking up "best guess" entries only, on the theory that since moving from MySQL C API data type enums to libtabula generic type enums we lost the uniquenss of the {FieldType::Base, FieldType::Flags} pair, that we should only look through the subset that has unique pairs. However, that logic only works when mapping from libtabula values *to* C++ data types, not the other way around, since all of the C++ type_info values in that table *are* unique.

Therefore, removed the check on the new "best guess" flag in FieldType::TypeMap::operator[] since it isn't helping us. Maybe we will use this flag later, if we add the reverse mapping; or, maybe we'll remove it on YAGNI grounds. check-in: 28f9d01b73 user: etr tags: mysql-type-info

03:32
Merged exrun OS X fixes in check-in: fb36fd8453 user: tangent tags: mysql-type-info