comparison PostgreSQL/UnitTests/PostgreSQLTests.cpp @ 237:35598014f140

refactoring to remove GlobalProperties.cpp
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 08 Apr 2021 19:09:04 +0200
parents 675f8322eb7c
children b97a537f4613
comparison
equal deleted inserted replaced
236:d1d2edbbe6fb 237:35598014f140
84 TEST(PostgreSQL, Basic) 84 TEST(PostgreSQL, Basic)
85 { 85 {
86 std::unique_ptr<PostgreSQLDatabase> pg(CreateTestDatabase()); 86 std::unique_ptr<PostgreSQLDatabase> pg(CreateTestDatabase());
87 87
88 ASSERT_FALSE(pg->DoesTableExist("Test")); 88 ASSERT_FALSE(pg->DoesTableExist("Test"));
89 pg->Execute("CREATE TABLE Test(name INTEGER, value BIGINT)"); 89 pg->ExecuteMultiLines("CREATE TABLE Test(name INTEGER, value BIGINT)");
90 ASSERT_TRUE(pg->DoesTableExist("Test")); 90 ASSERT_TRUE(pg->DoesTableExist("Test"));
91 91
92 PostgreSQLStatement s(*pg, "INSERT INTO Test VALUES ($1,$2)"); 92 PostgreSQLStatement s(*pg, "INSERT INTO Test VALUES ($1,$2)");
93 s.DeclareInputInteger(0); 93 s.DeclareInputInteger(0);
94 s.DeclareInputInteger64(1); 94 s.DeclareInputInteger64(1);
156 156
157 TEST(PostgreSQL, String) 157 TEST(PostgreSQL, String)
158 { 158 {
159 std::unique_ptr<PostgreSQLDatabase> pg(CreateTestDatabase()); 159 std::unique_ptr<PostgreSQLDatabase> pg(CreateTestDatabase());
160 160
161 pg->Execute("CREATE TABLE Test(name INTEGER, value VARCHAR(40))"); 161 pg->ExecuteMultiLines("CREATE TABLE Test(name INTEGER, value VARCHAR(40))");
162 162
163 PostgreSQLStatement s(*pg, "INSERT INTO Test VALUES ($1,$2)"); 163 PostgreSQLStatement s(*pg, "INSERT INTO Test VALUES ($1,$2)");
164 s.DeclareInputInteger(0); 164 s.DeclareInputInteger(0);
165 s.DeclareInputString(1); 165 s.DeclareInputString(1);
166 166
202 202
203 TEST(PostgreSQL, Transaction) 203 TEST(PostgreSQL, Transaction)
204 { 204 {
205 std::unique_ptr<PostgreSQLDatabase> pg(CreateTestDatabase()); 205 std::unique_ptr<PostgreSQLDatabase> pg(CreateTestDatabase());
206 206
207 pg->Execute("CREATE TABLE Test(name INTEGER, value INTEGER)"); 207 pg->ExecuteMultiLines("CREATE TABLE Test(name INTEGER, value INTEGER)");
208 208
209 { 209 {
210 PostgreSQLStatement s(*pg, "INSERT INTO Test VALUES ($1,$2)"); 210 PostgreSQLStatement s(*pg, "INSERT INTO Test VALUES ($1,$2)");
211 s.DeclareInputInteger(0); 211 s.DeclareInputInteger(0);
212 s.DeclareInputInteger(1); 212 s.DeclareInputInteger(1);
281 TEST(PostgreSQL, LargeObject) 281 TEST(PostgreSQL, LargeObject)
282 { 282 {
283 std::unique_ptr<PostgreSQLDatabase> pg(CreateTestDatabase()); 283 std::unique_ptr<PostgreSQLDatabase> pg(CreateTestDatabase());
284 ASSERT_EQ(0, CountLargeObjects(*pg)); 284 ASSERT_EQ(0, CountLargeObjects(*pg));
285 285
286 pg->Execute("CREATE TABLE Test(name VARCHAR, value OID)"); 286 pg->ExecuteMultiLines("CREATE TABLE Test(name VARCHAR, value OID)");
287 287
288 // Automatically remove the large objects associated with the table 288 // Automatically remove the large objects associated with the table
289 pg->Execute("CREATE RULE TestDelete AS ON DELETE TO Test DO SELECT lo_unlink(old.value);"); 289 pg->ExecuteMultiLines("CREATE RULE TestDelete AS ON DELETE TO Test DO SELECT lo_unlink(old.value);");
290 290
291 { 291 {
292 PostgreSQLStatement s(*pg, "INSERT INTO Test VALUES ($1,$2)"); 292 PostgreSQLStatement s(*pg, "INSERT INTO Test VALUES ($1,$2)");
293 s.DeclareInputString(0); 293 s.DeclareInputString(0);
294 s.DeclareInputLargeObject(1); 294 s.DeclareInputLargeObject(1);