| | |
| | | | real | float | |
| | | | DOUBLE | double | |
| | | | text | const char*<br>std::string | |
| | | | bytea | qtl::const_blob_data<br>std::vector<uint8_t> | |
| | | | oid | qtl::postgres::large_object | |
| | | | date | qtl::postgres::date | |
| | | | timestamp | qtl::postgres::timestamp | |
| | | | interval | qtl::postgres::interval | |
| | |
| | | | real | float | |
| | | | DOUBLE | double | |
| | | | text | char[N]<br>std::array<char, N><br>std::string | |
| | | | bytea | qtl::const_blob_data<br>qtl::blob_data<br>std::vector<uint8_t> | |
| | | | oid | qtl::postgres::large_object | |
| | | | date | qtl::postgres::date | |
| | | | timestamp | qtl::postgres::timestamp | |
| | | | interval | qtl::postgres::interval | |
| | |
| | | |
| | | 编译测试用例的第三方库需要另外下载。除了数据库相关的库外,测试用例用到了测试框架[CppTest](https://sourceforge.net/projects/cpptest/ "CppTest")。 |
| | | |
| | | 测试用例所用的MySQL数据库如下: |
| | | 测试用例所用的数据库如下: |
| | | |
| | | ### MySQL |
| | | ```SQL |
| | | CREATE TABLE test ( |
| | | ID int NOT NULL AUTO_INCREMENT, |
| | |
| | | ); |
| | | ``` |
| | | |
| | | ### PostgreSQL |
| | | ```SQL |
| | | DROP TABLE IF EXISTS test; |
| | | CREATE TABLE test ( |
| | | id int4 NOT NULL GENERATED BY DEFAULT AS IDENTITY ( |
| | | INCREMENT 1 |
| | | MINVALUE 1 |
| | | MAXVALUE 2147483647 |
| | | START 1 |
| | | ), |
| | | name varchar(255) COLLATE default, |
| | | createtime timestamp(6) |
| | | ) |
| | | ; |
| | | |
| | | ALTER TABLE test ADD CONSTRAINT test_pkey PRIMARY KEY ("id"); |
| | | |
| | | DROP TABLE IF EXISTS test_blob; |
| | | CREATE TABLE test_blob ( |
| | | id int4 NOT NULL GENERATED BY DEFAULT AS IDENTITY ( |
| | | INCREMENT 1 |
| | | MINVALUE 1 |
| | | MAXVALUE 2147483647 |
| | | START 1 |
| | | ), |
| | | filename varchar(255) COLLATE default NOT NULL, |
| | | md5 bytea, |
| | | content oid |
| | | ) |
| | | ; |
| | | |
| | | ALTER TABLE test_blob ADD CONSTRAINT test_blob_pkey PRIMARY KEY ("id"); |
| | | ``` |
| | | |
| | | |
| | | 测试用例在 Visual Studio 2013 和 GCC 4.8 下测试通过。 |