libtabula

Timeline
Login

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

50 check-ins occurring around 1e129d5f84bd6518.

2015-08-10
23:12
Manually merged the recent pthread changes from the mysql-type-info branch into trunk, where they should have been all along. check-in: e9bcb962a4 user: etr tags: trunk
22:38
Conditionally using Boost and C++11 cstdint header instead of C99's stdint.h for stock sql_* data types, where available. check-in: 72280af4f6 user: etr tags: trunk
21:54
Comment tweak check-in: 41713dfd16 user: etr tags: mysql-type-info
21:49
Put FieldType::ft_null case back into the static type mapping table. I removed it because I thought it was nonsense, since you can't have a "null column" in SQL, or if you can it makes no sense to do so. But, I didn't consider that the library needs a way to represent the type of a null _value_. check-in: 518f621ce8 user: etr tags: mysql-type-info
21:37
Raised MySQLFieldType::name(), sql_name() and c_type() back up to the FieldType level, since they no longer depend on MySQL-specific implementation details. Also hid an internal-only helper function. check-in: 63950facbb user: etr tags: mysql-type-info
20:38
Added a std::type_info ctor to String class, paralleling the version that takes a FieldType. This gets us around the double-conversion restriction on automatic C++ data type conversions, since we pass that type object to a SQLBuffer, which doesn't have an explicit ctor taking std::type_info, but it does have one taking FieldType, which can be constructed from std::type_info.

Not sure what we lost in all this MySQL type info refactoring that requires this where MySQL++ does not, but it's a simple fix for a real problem, so I'm not motivated to find out why MySQL++ could get away without it. check-in: 75d7e12a86 user: etr tags: mysql-type-info

20:34
Simplified examples' CMake build info the same as we just did for the test tree. check-in: 83e27bb0ba user: etr tags: mysql-type-info
17:42
Greatly simplified the test/CMakeLists.txt by using a loop and macro instead of a bunch of explicit targets, with all the redundant code that creates. As part of this, also moved to use of MYSQL_C_API_LIBRARY, as in previous checkin. check-in: d74f19163a user: etr tags: mysql-type-info
17:41
Using new MYSQL_C_API_LIBRARY macro in libtabula link step instead of an explicit mysqlclient_r. check-in: 301007b794 user: etr tags: mysql-type-info
2015-08-08
07:30
Fixed some more mysql_type_info stuff check-in: 4d92d34d84 user: tangent tags: mysql-type-info
07:26
Fixed several problems in the new FieldType mechanism, found now that we're actually trying to build it. :) check-in: 3ea24ed240 user: tangent tags: mysql-type-info
06:35
Added missing field_type.cpp check-in: d2ae8f5377 user: etr tags: mysql-type-info
2015-08-07
00:49
Proper fix for MYSQL_TYPE_*2 types check-in: 56e2ec90a9 user: tangent tags: mysql-type-info
2015-08-06
23:17
The CMake build system now detects the need for -lpthread and such, and auto-selects between libmysqlclient[_r] options based on whether a threading library was found. That is, we're choosing to drop the MySQL++ --enable-thread-check build feature and just enable thread awareness if it's possible here. check-in: 02d5267584 user: etr tags: mysql-type-info
23:09
Build fix for MySQL 5.1: new MYSQL_TYPE_* constants added to squish compiler warnings about unhandled cases with MariaDB 10 don't exist in older C libraries, so they have to be conditional. check-in: 22bc9089e2 user: etr tags: mysql-type-info
07:19
Genericized the MySQL type map stuff some more so that we can move most of it back up from the driver layer into the user-facing layer. (FieldType and such.) This change is the first that lets this branch compile, though not link.

This addresses [359c32123a] check-in: baaa9e942e user: etr tags: mysql-type-info

2015-07-23
12:31
Squished warnings about missing cases in the mapping of MySQL C API data types to C++ ones. Adds things like MYSQL_TYPE_NEWDATE in addition to ..._DATE. This change also adds a new FieldType::ft_unsupported enum value for data types that we simply do not support yet, such as MySQL's "geometry" and "bit" data types. check-in: 3cbc77152d user: etr tags: mysql-type-info
2015-05-27
06:27
Another whitespace fix check-in: 996a37c0d2 user: tangent tags: trunk
06:12
Minor improvements to branch discussion in HACKERS.md check-in: 62a92f89ba user: tangent tags: trunk
05:21
Added info on Fossil's diff and bundle features to HACKERS.md check-in: 2c6280a66f user: tangent tags: trunk
05:02
Added section on CMake build directories to HACKERS.md check-in: 6f18180b49 user: tangent tags: trunk
04:55
Whitespace fix check-in: 0049687b97 user: tangent tags: trunk
04:55
- Added info on developer access to the Fossil repo to the HACKERS.md file - Gave a cursory overview of branches in libtabula check-in: 841571143d user: tangent tags: trunk
2015-01-12
22:58
. check-in: 354ccf3c50 user: tangent tags: trunk
2014-10-14
19:55
Another round of compiler error fixes resulting from the "type info" refactoring check-in: cec92a5d87 user: etr tags: mysql-type-info
2014-09-23
22:17
A few small fixes to previous check-in: 1e129d5f84 user: tangent tags: mysql-type-info
22:07
Another major step toward abstracting away MySQL field type info, replacing it with FieldType, its enums, and the new MySQL-specific stuff derived from them. check-in: 3ec168f673 user: tangent tags: mysql-type-info
19:07
Added "tags" file generation as a dependency of libtabula, so tags gets generated on first build and re-generated whenever a libtabula source file changes. Guarded this, so it only happens if there is actually a ctags program on the build system. check-in: e1d5e2be06 user: tangent tags: trunk
2014-09-22
23:20
More assorted compilation error fixes for the rough swipe check-in: 4a572ebdb4 user: etr tags: mysql-type-info
22:37
Removed two aliasing typedefs, and replaced all uses of them with the actual type being used. It added a layer that operated as an obscuring cloud rather than a useful abstraction. check-in: 1687756307 user: etr tags: mysql-type-info
2014-09-18
20:05
Assorted fixes to the first rough swipe check-in: 9a665b7b33 user: etr tags: mysql-type-info
20:05
Accidentally left this out of the prvious checkin check-in: 9c9916294c user: etr tags: mysql-type-info
17:47
First swipe at abstracting away the MySQL data type system into the driver layer. Absolutely does not compile, on any system, because it is incomplete. (Thus the new branch.) Consider it a sketch in progress, rather than a nascent feature. check-in: e184e92767 user: etr tags: mysql-type-info
10:42
. check-in: 89faabec8b user: tangent tags: trunk
10:15
Another pass on the README* files to move them away from Autotools, toward CMake. check-in: a57c393299 user: tangent tags: trunk
09:24
The MySQL locator macro gives the path to the actual library *file*, not to the directory containing it, so when we added it to the library dir, we were adding a -L/a/b/c/libmysql*so* type of flag to the libtabula link line, which only works if libmysqlclient is in a directory the linker checks anyway. On EL7, for instance, it failed, since libmysqlclient_r.so* is in a fairly odd location. I believe modern Ubuntu is this way now, too. check-in: ef5b6aabae user: tangent tags: trunk
08:49
Encouraging the new "build-*" convention in README-Visual-C++.md, that being the compiler most likely to need multiple build directories. check-in: db7ffbf3ac user: tangent tags: trunk
08:35
Ignoring any file or directory at the top level called "build*", so that "fossil clean" doesn't remove everything in the CMake build directory, if you have chosen to put it underneath the source root.

This establishes a convention, where multiple build directories must be named build*. For instance, a Windows user with multiple versions of VC++ installed might have "build-vs2008" and such. check-in: 44b78129b8 user: tangent tags: trunk

2014-09-17
04:18
Changed all *.md to Unix line endings, and renamed one holdout *.txt file to *.md. The old Notepad excuse for using CRLF in these files no longer holds with *.md. There are still some *.txt files, but they're mostly CMakeLists.txt, which shouldn't be edited in Notepad to begin with, plus bmark.txt, which shouldn't be edited at all. check-in: 65286b8151 user: etr tags: trunk
04:07
First rough cut at replacing all the Bakefile commentary in the MD files with CMake equivalents. check-in: d901ae7664 user: etr tags: trunk
2014-09-16
20:43
Added total unit test count to dtest report, so you can tell whether its report that 16 tests ran successfully is the same thing as complete success. check-in: 658e65369f user: etr tags: trunk
20:30
Replaced file(COPY) in examples/CMakeLists.txt with a read-then-write pair. CMake 2.6 doesn't have COPY. check-in: f11edacb18 user: etr tags: trunk
20:21
Better CMake status message when xsltproc < 1.1.27 detected check-in: 9799160b3c user: etr tags: trunk
2014-09-12
23:24
Added top-level 'dtest' target, modified the dtest and exrun scripts to cope with separate build and source dirs, and updated the bmark.txt file to track changes in the dir scheme. All tests still pass, just as before the move to CMake. Yay. check-in: 718ed6f5d5 user: tangent tags: trunk
23:12
The ssqls6 example now copes with being run from somewhere other than the current working directory, as happens in the CMake world most typically. It now knows how to find its stock.txt input file. check-in: b63d53aade user: tangent tags: trunk
22:57
More of the same check-in: 3dfeb5cf15 user: tangent tags: trunk
22:56
Reordered configure_file() commands in top-level CMakeLists.txt check-in: 2d7029e38f user: tangent tags: trunk
21:55
Swapped order of libraries for test_ssqls, for machines more sensitive to library ordering. (Wasn't linking on Ubuntu 14.04, because we had ssqls2parse after libtabula, but ssqls2parse depends on libtabula.) check-in: d8c8cf5399 user: tangent tags: trunk
20:32
Changed the new querydef.h and ssqls.h on-configure generation commands with file targets, which allows us to make these files dependencies of libtabula.so and tells CMake we want the commands run again if the *.pl files are touched. Before, the association between script, header and library was not explicit. This should have secondary benefits, like correct handling of "make install," though this has not been tested. check-in: 0a2ccdefe6 user: tangent tags: trunk
20:00
Replaced the bootstrap script with two checks in the src/CMakeLists.txt code for missing querydef.h and ssqls.h files. Also, these genrated files now land in the build directory instead of the source directory when using a separate build dir, as they should. check-in: 342eff75c9 user: tangent tags: trunk