killbill-aplcache
Changes
account/pom.xml 5(+5 -0)
catalog/src/main/resources/org/killbill/billing/catalog/dao/CatalogOverridePhaseDefinitionSqlDao.sql.stg 4(+2 -2)
entitlement/src/main/resources/org/killbill/billing/entitlement/dao/BlockingStateSqlDao.sql.stg 2(+1 -1)
payment/src/main/java/org/killbill/billing/payment/invoice/dao/InvoicePaymentRoutingDao.java 2(+1 -1)
subscription/src/main/resources/org/killbill/billing/subscription/engine/dao/SubscriptionEventSqlDao.sql.stg 10(+5 -5)
util/src/main/resources/org/killbill/billing/util/customfield/dao/CustomFieldSqlDao.sql.stg 8(+4 -4)
Details
account/pom.xml 5(+5 -0)
diff --git a/account/pom.xml b/account/pom.xml
index 8dd4baf..8ac6d09 100644
--- a/account/pom.xml
+++ b/account/pom.xml
@@ -49,6 +49,11 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>com.jayway.awaitility</groupId>
+ <artifactId>awaitility</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<scope>provided</scope>
diff --git a/account/src/main/resources/org/killbill/billing/account/dao/AccountEmailSqlDao.sql.stg b/account/src/main/resources/org/killbill/billing/account/dao/AccountEmailSqlDao.sql.stg
index 49c37e0..fa5d62b 100644
--- a/account/src/main/resources/org/killbill/billing/account/dao/AccountEmailSqlDao.sql.stg
+++ b/account/src/main/resources/org/killbill/billing/account/dao/AccountEmailSqlDao.sql.stg
@@ -38,9 +38,9 @@ and t.is_active
>>
markEmailAsDeleted() ::= <<
-update <tableName()> t
-set t.is_active = 0
-where <idField("t.")> = :id
-<AND_CHECK_TENANT("t.")>
+update <tableName()>
+set is_active = false
+where <idField("")> = :id
+<AND_CHECK_TENANT("")>
;
>>
diff --git a/catalog/src/main/resources/org/killbill/billing/catalog/dao/CatalogOverridePhaseDefinitionSqlDao.sql.stg b/catalog/src/main/resources/org/killbill/billing/catalog/dao/CatalogOverridePhaseDefinitionSqlDao.sql.stg
index 7f27b07..e51ae47 100644
--- a/catalog/src/main/resources/org/killbill/billing/catalog/dao/CatalogOverridePhaseDefinitionSqlDao.sql.stg
+++ b/catalog/src/main/resources/org/killbill/billing/catalog/dao/CatalogOverridePhaseDefinitionSqlDao.sql.stg
@@ -60,8 +60,8 @@ select <allTableFields()>
from <tableName()>
where parent_phase_name = :parentPhaseName
and currency = :currency
-and (fixed_price = :fixedPrice or (fixed_price is null and :fixedPrice is null))
-and (recurring_price = :recurringPrice or (recurring_price is null and :recurringPrice is null))
+and (fixed_price = :fixedPrice or coalesce(fixed_price, :fixedPrice) is null)
+and (recurring_price = :recurringPrice or coalesce(recurring_price, :recurringPrice) is null)
and tenant_record_id = :tenantRecordId
;
>>
diff --git a/entitlement/src/main/resources/org/killbill/billing/entitlement/dao/BlockingStateSqlDao.sql.stg b/entitlement/src/main/resources/org/killbill/billing/entitlement/dao/BlockingStateSqlDao.sql.stg
index 62d8de4..feeee40 100644
--- a/entitlement/src/main/resources/org/killbill/billing/entitlement/dao/BlockingStateSqlDao.sql.stg
+++ b/entitlement/src/main/resources/org/killbill/billing/entitlement/dao/BlockingStateSqlDao.sql.stg
@@ -95,7 +95,7 @@ and is_active
unactiveEvent() ::= <<
update
<tableName()>
-set is_active = 0
+set is_active = false
where id = :id
<AND_CHECK_TENANT()>
;
diff --git a/payment/src/main/java/org/killbill/billing/payment/invoice/dao/InvoicePaymentRoutingDao.java b/payment/src/main/java/org/killbill/billing/payment/invoice/dao/InvoicePaymentRoutingDao.java
index d0fdb1b..e7930ca 100644
--- a/payment/src/main/java/org/killbill/billing/payment/invoice/dao/InvoicePaymentRoutingDao.java
+++ b/payment/src/main/java/org/killbill/billing/payment/invoice/dao/InvoicePaymentRoutingDao.java
@@ -91,7 +91,7 @@ public class InvoicePaymentRoutingDao {
dbi.withHandle(new HandleCallback<Void>() {
@Override
public Void withHandle(final Handle handle) throws Exception {
- handle.execute("update _invoice_payment_control_plugin_auto_pay_off set is_active = 0 where account_id = ?", accountId.toString());
+ handle.execute("update _invoice_payment_control_plugin_auto_pay_off set is_active = false where account_id = ?", accountId.toString());
return null;
}
});
diff --git a/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentMethodSqlDao.sql.stg b/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentMethodSqlDao.sql.stg
index aee2984..b5af8b3 100644
--- a/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentMethodSqlDao.sql.stg
+++ b/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentMethodSqlDao.sql.stg
@@ -32,7 +32,7 @@ tableValues() ::= <<
markPaymentMethodAsDeleted(id) ::= <<
update <tableName()>
-set is_active = 0
+set is_active = false
, updated_by = :updatedBy
, updated_date = :createdDate
where id = :id
@@ -42,7 +42,7 @@ where id = :id
unmarkPaymentMethodAsDeleted(id) ::= <<
update <tableName()>
-set is_active = 1
+set is_active = true
, updated_by = :updatedBy
, updated_date = :createdDate
where id = :id
@@ -54,7 +54,7 @@ getByExternalKey() ::= <<
select <allTableFields()>
from <tableName()>
where external_key = :externalKey
-and is_active = 1
+and is_active = true
<AND_CHECK_TENANT()>
;
>>
@@ -79,7 +79,7 @@ select
<allTableFields()>
from <tableName()>
where account_id = :accountId
-and is_active = 1
+and is_active = true
;
>>
@@ -103,9 +103,9 @@ select
<allTableFields("t.")>
from <tableName()> t
where t.plugin_name = :pluginName
-and t.is_active = 1
+and t.is_active = true
order by t.record_id
-limit :offset, :rowCount
+limit :rowCount offset :offset
;
>>
@@ -114,6 +114,6 @@ select
count(1) as count
from <tableName()> t
where t.plugin_name = :pluginName
-and t.is_active = 1
+and t.is_active = true
;
>>
diff --git a/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentSqlDao.sql.stg b/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentSqlDao.sql.stg
index 0d8d592..ea1de08 100644
--- a/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentSqlDao.sql.stg
+++ b/payment/src/main/resources/org/killbill/billing/payment/dao/PaymentSqlDao.sql.stg
@@ -89,7 +89,7 @@ from <tableName()> t
join payment_methods pm on pm.id = t.payment_method_id
where pm.plugin_name = :pluginName
order by t.record_id asc
-limit :offset, :rowCount
+limit :rowCount offset :offset
;
>>
diff --git a/payment/src/main/resources/org/killbill/billing/payment/dao/RefundSqlDao.sql.stg b/payment/src/main/resources/org/killbill/billing/payment/dao/RefundSqlDao.sql.stg
index f8f94a9..9f618e0 100644
--- a/payment/src/main/resources/org/killbill/billing/payment/dao/RefundSqlDao.sql.stg
+++ b/payment/src/main/resources/org/killbill/billing/payment/dao/RefundSqlDao.sql.stg
@@ -72,7 +72,7 @@ join payments p on p.id = t.payment_id
join payment_methods pm on pm.id = p.payment_method_id
where pm.plugin_name = :pluginName
order by record_id
-limit :offset, :rowCount
+limit :rowCount offset :offset
;
>>
diff --git a/subscription/src/main/resources/org/killbill/billing/subscription/engine/dao/SubscriptionEventSqlDao.sql.stg b/subscription/src/main/resources/org/killbill/billing/subscription/engine/dao/SubscriptionEventSqlDao.sql.stg
index c7e915a..db16f4a 100644
--- a/subscription/src/main/resources/org/killbill/billing/subscription/engine/dao/SubscriptionEventSqlDao.sql.stg
+++ b/subscription/src/main/resources/org/killbill/billing/subscription/engine/dao/SubscriptionEventSqlDao.sql.stg
@@ -63,7 +63,7 @@ id = :id
unactiveEvent() ::= <<
update <tableName()>
set
-is_active = 0
+is_active = false
, updated_by = :createdBy
, updated_date = :createdDate
where
@@ -75,7 +75,7 @@ id = :id
reactiveEvent() ::= <<
update <tableName()>
set
-is_active = 1
+is_active = true
, updated_by = :createdBy
, updated_date = :createdDate
where
@@ -92,7 +92,7 @@ select <allTableFields()>
from <tableName()>
where
subscription_id = :subscriptionId
-and is_active = 1
+and is_active = true
and effective_date > :now
<AND_CHECK_TENANT()>
<defaultOrderBy()>
@@ -105,7 +105,7 @@ select <allTableFields()>
from <tableName()>
where
subscription_id = :subscriptionId
-and is_active = 1
+and is_active = true
<AND_CHECK_TENANT()>
<defaultOrderBy()>
;
@@ -117,7 +117,7 @@ select <allTableFields()>
from <tableName()>
where
account_record_id = :accountRecordId
-and is_active = 1
+and is_active = true
and effective_date > :now
<AND_CHECK_TENANT()>
<defaultOrderBy()>
diff --git a/tenant/src/main/resources/org/killbill/billing/tenant/dao/TenantKVSqlDao.sql.stg b/tenant/src/main/resources/org/killbill/billing/tenant/dao/TenantKVSqlDao.sql.stg
index c42eaca..2895b30 100644
--- a/tenant/src/main/resources/org/killbill/billing/tenant/dao/TenantKVSqlDao.sql.stg
+++ b/tenant/src/main/resources/org/killbill/billing/tenant/dao/TenantKVSqlDao.sql.stg
@@ -40,9 +40,9 @@ and t.is_active
>>
markTenantKeyAsDeleted() ::= <<
-update <tableName()> t
-set t.is_active = 0
-where t.id = :id
-<AND_CHECK_TENANT("t.")>
+update <tableName()>
+set is_active = false
+where id = :id
+<AND_CHECK_TENANT("")>
;
>>
diff --git a/usage/src/main/resources/org/killbill/billing/usage/dao/RolledUpUsageSqlDao.sql.stg b/usage/src/main/resources/org/killbill/billing/usage/dao/RolledUpUsageSqlDao.sql.stg
index 7672594..9ff290f 100644
--- a/usage/src/main/resources/org/killbill/billing/usage/dao/RolledUpUsageSqlDao.sql.stg
+++ b/usage/src/main/resources/org/killbill/billing/usage/dao/RolledUpUsageSqlDao.sql.stg
@@ -31,6 +31,7 @@ and record_date >= :startDate
and record_date \< :endDate
and unit_type = :unitType
<AND_CHECK_TENANT()>
+order by <recordIdField()> ASC
;
>>
@@ -42,6 +43,7 @@ where subscription_id = :subscriptionId
and record_date >= :startDate
and record_date \< :endDate
<AND_CHECK_TENANT()>
+order by <recordIdField()> ASC
;
>>
@@ -53,6 +55,7 @@ where account_record_id = :accountRecordId
and record_date >= :startDate
and record_date \< :endDate
<AND_CHECK_TENANT()>
+order by <recordIdField()> ASC
;
>>
diff --git a/util/src/main/java/org/killbill/billing/util/glue/GlobalLockerModule.java b/util/src/main/java/org/killbill/billing/util/glue/GlobalLockerModule.java
index bc1d2b9..be567b6 100644
--- a/util/src/main/java/org/killbill/billing/util/glue/GlobalLockerModule.java
+++ b/util/src/main/java/org/killbill/billing/util/glue/GlobalLockerModule.java
@@ -27,6 +27,7 @@ import org.killbill.commons.embeddeddb.EmbeddedDB;
import org.killbill.commons.locker.GlobalLocker;
import org.killbill.commons.locker.memory.MemoryGlobalLocker;
import org.killbill.commons.locker.mysql.MySqlGlobalLocker;
+import org.killbill.commons.locker.postgresql.PostgreSQLGlobalLocker;
import com.google.inject.Provides;
import com.google.inject.Singleton;
@@ -43,6 +44,8 @@ public class GlobalLockerModule extends KillBillModule {
protected GlobalLocker provideGlobalLocker(final DataSource dataSource, final EmbeddedDB embeddedDB) throws IOException {
if (EmbeddedDB.DBEngine.MYSQL.equals(embeddedDB.getDBEngine())) {
return new MySqlGlobalLocker(dataSource);
+ } else if (EmbeddedDB.DBEngine.POSTGRESQL.equals(embeddedDB.getDBEngine())) {
+ return new PostgreSQLGlobalLocker(dataSource);
} else {
return new MemoryGlobalLocker();
}
diff --git a/util/src/main/resources/org/killbill/billing/util/customfield/dao/CustomFieldSqlDao.sql.stg b/util/src/main/resources/org/killbill/billing/util/customfield/dao/CustomFieldSqlDao.sql.stg
index 8bc1d99..af3948a 100644
--- a/util/src/main/resources/org/killbill/billing/util/customfield/dao/CustomFieldSqlDao.sql.stg
+++ b/util/src/main/resources/org/killbill/billing/util/customfield/dao/CustomFieldSqlDao.sql.stg
@@ -31,10 +31,10 @@ tableValues() ::= <<
historyTableName() ::= "custom_field_history"
markTagAsDeleted() ::= <<
-update <tableName()> t
-set t.is_active = 0
-where <idField("t.")> = :id
-<AND_CHECK_TENANT("t.")>
+update <tableName()>
+set is_active = false
+where <idField("")> = :id
+<AND_CHECK_TENANT("")>
;
>>
diff --git a/util/src/main/resources/org/killbill/billing/util/entity/dao/EntitySqlDao.sql.stg b/util/src/main/resources/org/killbill/billing/util/entity/dao/EntitySqlDao.sql.stg
index 85031cd..fe9ac05 100644
--- a/util/src/main/resources/org/killbill/billing/util/entity/dao/EntitySqlDao.sql.stg
+++ b/util/src/main/resources/org/killbill/billing/util/entity/dao/EntitySqlDao.sql.stg
@@ -154,7 +154,7 @@ from <tableName()> t
where <CHECK_TENANT("t.")>
<andCheckSoftDeletionWithComma("t.")>
order by t.<orderBy>
-limit :offset, :rowCount
+limit :rowCount offset :offset
;
>>
@@ -270,7 +270,7 @@ from <tableName()> t
where (<searchQuery("t.")>)
<AND_CHECK_TENANT("t.")>
order by <recordIdField("t.")> ASC
-limit :offset, :rowCount
+limit :rowCount offset :offset
;
>>
diff --git a/util/src/main/resources/org/killbill/billing/util/security/shiro/dao/UserRolesSqlDao.sql.stg b/util/src/main/resources/org/killbill/billing/util/security/shiro/dao/UserRolesSqlDao.sql.stg
index 48b2a92..0c9fe1c 100644
--- a/util/src/main/resources/org/killbill/billing/util/security/shiro/dao/UserRolesSqlDao.sql.stg
+++ b/util/src/main/resources/org/killbill/billing/util/security/shiro/dao/UserRolesSqlDao.sql.stg
@@ -62,7 +62,7 @@ and is_active
invalidate() ::= <<
update <tableName()>
-set is_active = 0
+set is_active = false
where
username = :username
and role_name = :roleName
diff --git a/util/src/main/resources/org/killbill/billing/util/security/shiro/dao/UsersSqlDao.sql.stg b/util/src/main/resources/org/killbill/billing/util/security/shiro/dao/UsersSqlDao.sql.stg
index 75a832d..07bd4d5 100644
--- a/util/src/main/resources/org/killbill/billing/util/security/shiro/dao/UsersSqlDao.sql.stg
+++ b/util/src/main/resources/org/killbill/billing/util/security/shiro/dao/UsersSqlDao.sql.stg
@@ -75,7 +75,7 @@ and is_active
invalidate() ::= <<
update <tableName()>
-set is_active = 0
+set is_active = false
where
username = :username
;
diff --git a/util/src/main/resources/org/killbill/billing/util/tag/dao/TagDefinitionSqlDao.sql.stg b/util/src/main/resources/org/killbill/billing/util/tag/dao/TagDefinitionSqlDao.sql.stg
index e313b15..a1efb99 100644
--- a/util/src/main/resources/org/killbill/billing/util/tag/dao/TagDefinitionSqlDao.sql.stg
+++ b/util/src/main/resources/org/killbill/billing/util/tag/dao/TagDefinitionSqlDao.sql.stg
@@ -31,10 +31,10 @@ accountRecordIdValueWithComma() ::= ""
historyTableName() ::= "tag_definition_history"
markTagDefinitionAsDeleted() ::= <<
-update <tableName()> t
-set t.is_active = 0
-where <idField("t.")> = :id
-<AND_CHECK_TENANT("t.")>
+update <tableName()>
+set is_active = false
+where <idField("")> = :id
+<AND_CHECK_TENANT("")>
;
>>
diff --git a/util/src/main/resources/org/killbill/billing/util/tag/dao/TagSqlDao.sql.stg b/util/src/main/resources/org/killbill/billing/util/tag/dao/TagSqlDao.sql.stg
index efdc434..929d416 100644
--- a/util/src/main/resources/org/killbill/billing/util/tag/dao/TagSqlDao.sql.stg
+++ b/util/src/main/resources/org/killbill/billing/util/tag/dao/TagSqlDao.sql.stg
@@ -29,10 +29,10 @@ tableValues() ::= <<
historyTableName() ::= "tag_history"
markTagAsDeleted() ::= <<
-update <tableName()> t
-set t.is_active = 0
-where <idField("t.")> = :id
-<AND_CHECK_TENANT("t.")>
+update <tableName()>
+set is_active = false
+where <idField("")> = :id
+<AND_CHECK_TENANT("")>
;
>>
@@ -116,7 +116,7 @@ join (<userAndSystemTagDefinitions()>) td on td.id = t.tag_definition_id
where (<searchQuery(tagAlias="t.", tagDefinitionAlias="td.")>)
<AND_CHECK_TENANT("t.")>
order by <recordIdField("t.")> ASC
-limit :offset, :rowCount
+limit :rowCount offset :offset
;
>>
diff --git a/util/src/test/java/org/killbill/billing/util/dao/TestNonEntityDao.java b/util/src/test/java/org/killbill/billing/util/dao/TestNonEntityDao.java
index d41bebd..8b9c231 100644
--- a/util/src/test/java/org/killbill/billing/util/dao/TestNonEntityDao.java
+++ b/util/src/test/java/org/killbill/billing/util/dao/TestNonEntityDao.java
@@ -121,7 +121,7 @@ public class TestNonEntityDao extends UtilTestSuiteWithEmbeddedDB {
public Void withHandle(final Handle handle) throws Exception {
// Note: we always create an accounts table, see MysqlTestingHelper
handle.execute("insert into tag_definitions (record_id, id, name, description, is_active, created_date, created_by, updated_date, updated_by, tenant_record_id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
- tagDefinitionRecordId, tagDefinitionId.toString(), "tagdef", "nothing", 1, new Date(), "i", new Date(), "j", 0);
+ tagDefinitionRecordId, tagDefinitionId.toString(), "tagdef", "nothing", true, new Date(), "i", new Date(), "j", 0);
return null;
}
});
@@ -133,7 +133,7 @@ public class TestNonEntityDao extends UtilTestSuiteWithEmbeddedDB {
public Void withHandle(final Handle handle) throws Exception {
// Note: we always create an accounts table, see MysqlTestingHelper
handle.execute("insert into tags (record_id, id, tag_definition_id, object_id, object_type, is_active, created_date, created_by, updated_date, updated_by, account_record_id, tenant_record_id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
- tagRecordId, tagId.toString(), tagDefinitionId.toString(), accountId.toString(), "ACCOUNT", 1, new Date(), "i", new Date(), "j", accountRecordId, 0);
+ tagRecordId, tagId.toString(), tagDefinitionId.toString(), accountId.toString(), "ACCOUNT", true, new Date(), "i", new Date(), "j", accountRecordId, 0);
return null;
}
});
diff --git a/util/src/test/java/org/killbill/billing/util/dao/TestStringTemplateInheritance.java b/util/src/test/java/org/killbill/billing/util/dao/TestStringTemplateInheritance.java
index 149d852..30a5ac4 100644
--- a/util/src/test/java/org/killbill/billing/util/dao/TestStringTemplateInheritance.java
+++ b/util/src/test/java/org/killbill/billing/util/dao/TestStringTemplateInheritance.java
@@ -125,7 +125,7 @@ public class TestStringTemplateInheritance extends UtilTestSuiteNoDB {
"from kombucha t\r?\n" +
"where t.tenant_record_id = :tenantRecordId\r?\n" +
"order by t.record_id\r?\n" +
- "limit :offset, :rowCount\r?\n" +
+ "limit :rowCount offset :offset\r?\n" +
";");
assertPattern(kombucha.getInstanceOf("test").toString(), "select\r?\n" +
" t.record_id\r?\n" +
diff --git a/util/src/test/java/org/killbill/billing/util/UtilTestSuiteWithEmbeddedDB.java b/util/src/test/java/org/killbill/billing/util/UtilTestSuiteWithEmbeddedDB.java
index 17e8dfb..caff3f8 100644
--- a/util/src/test/java/org/killbill/billing/util/UtilTestSuiteWithEmbeddedDB.java
+++ b/util/src/test/java/org/killbill/billing/util/UtilTestSuiteWithEmbeddedDB.java
@@ -38,6 +38,7 @@ import org.killbill.commons.embeddeddb.EmbeddedDB.DBEngine;
import org.killbill.commons.locker.GlobalLocker;
import org.killbill.commons.locker.memory.MemoryGlobalLocker;
import org.killbill.commons.locker.mysql.MySqlGlobalLocker;
+import org.killbill.commons.locker.postgresql.PostgreSQLGlobalLocker;
import org.killbill.notificationq.api.NotificationQueueService;
import org.skife.jdbi.v2.IDBI;
import org.slf4j.Logger;
@@ -93,6 +94,8 @@ public abstract class UtilTestSuiteWithEmbeddedDB extends GuicyKillbillTestSuite
if (DBEngine.MYSQL.equals(helper.getDBEngine())) {
Assert.assertTrue(locker instanceof MySqlGlobalLocker);
+ } else if (DBEngine.POSTGRESQL.equals(helper.getDBEngine())) {
+ Assert.assertTrue(locker instanceof PostgreSQLGlobalLocker);
} else {
Assert.assertTrue(locker instanceof MemoryGlobalLocker);
}