Author: gmazza
Date: Sun Aug 3 23:48:16 2014
New Revision: 1615466
URL: http://svn.apache.org/r1615466
Log:
ROL-1739 add a unique constraint on (website, tagname) to trap a potential
error in the code. Only done for new databases created by createdb.vm; not for
old databases upgrading via the migration script.
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java
roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogEntryTagAggregate.orm.xml
roller/trunk/app/src/main/resources/sql/createdb.vm
Modified:
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java?rev=1615466&r1=1615465&r2=1615466&view=diff
==============================================================================
---
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java
(original)
+++
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/jpa/JPAWeblogEntryManagerImpl.java
Sun Aug 3 23:48:16 2014
@@ -1161,7 +1161,7 @@ public class JPAWeblogEntryManagerImpl i
siteTagData.setLastUsed(lastUsed);
strategy.store(siteTagData);
- } else if(siteTagData != null) {
+ } else if (siteTagData != null) {
siteTagData.setTotal(siteTagData.getTotal() + amount);
siteTagData.setLastUsed(lastUsed);
strategy.store(siteTagData);
Modified:
roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogEntryTagAggregate.orm.xml
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogEntryTagAggregate.orm.xml?rev=1615466&r1=1615465&r2=1615466&view=diff
==============================================================================
---
roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogEntryTagAggregate.orm.xml
(original)
+++
roller/trunk/app/src/main/resources/org/apache/roller/weblogger/pojos/WeblogEntryTagAggregate.orm.xml
Sun Aug 3 23:48:16 2014
@@ -10,61 +10,11 @@
<named-query
name="WeblogEntryTagAggregate.getByName&WebsiteOrderByLastUsedDesc">
<query>SELECT w FROM WeblogEntryTagAggregate w WHERE w.name = ?1
AND w.weblog = ?2 ORDER BY w.lastUsed DESC</query>
</named-query>
- <named-query
name="WeblogEntryTagAggregate.getByName&WebsiteNullOrderByLastUsedDesc">
- <query>SELECT w FROM WeblogEntryTagAggregate w WHERE w.name = ?1
AND w.weblog IS NULL ORDER BY w.lastUsed DESC</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.getNameByNameIn&Website">
- <!-- <query>SELECT DISTINCT w.name FROM WeblogEntryTagAggregate w
WHERE w.name IN (?1) AND w.weblog = ?2</query> -->
- <query>SELECT w.name FROM WeblogEntryTagAggregate w WHERE w.name
IN (?1) AND w.weblog = ?2</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.getNameByNameIn&WebsiteNull">
- <!-- <query>SELECT DISTINCT w.name FROM WeblogEntryTagAggregate w
WHERE w.name IN (?1) AND w.weblog IS NULL</query> -->
- <query>SELECT w.name FROM WeblogEntryTagAggregate w WHERE w.name
IN (?1) AND w.weblog IS NULL</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.getPopularTagsByWebsite&StartDate">
- <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog = ?1 AND w.lastUsed >= ?2 GROUP BY w.name, w.total ORDER BY
w.total DESC</query>
- </named-query>
<named-query name="WeblogEntryTagAggregate.getPopularTagsByWebsite">
<query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog = ?1 GROUP BY w.name, w.total ORDER BY w.total DESC</query>
</named-query>
- <named-query
name="WeblogEntryTagAggregate.getPopularTagsByWebsiteNull&StartDate">
- <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog IS NULL AND w.lastUsed >= ?1 GROUP BY w.name, w.total ORDER
BY w.total DESC</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.getPopularTagsByWebsiteNull">
- <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog IS NULL GROUP BY w.name, w.total ORDER BY w.total DESC</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.getTagsByWebsite&NameStartsWith">
- <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog = ?1 AND w.name LIKE ?2 GROUP BY w.name, w.total </query>
- </named-query>
- <named-query name="WeblogEntryTagAggregate.getTagsByWebsite">
- <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog = ?1 GROUP BY w.name, w.total</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.getTagsByWebsiteNull&NameStartsWith">
- <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog IS NULL AND w.name LIKE ?2 GROUP BY w.name, w.total</query>
- </named-query>
- <named-query name="WeblogEntryTagAggregate.getTagsByWebsiteNull">
- <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog IS NULL GROUP BY w.name, w.total</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.getTagsByWebsite&NameStartsWithOrderByName">
- <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog = ?1 AND w.name LIKE ?2 GROUP BY w.name, w.total ORDER BY
w.name</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.getTagsByWebsiteOrderByName">
- <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog = ?1 GROUP BY w.name, w.total ORDER BY w.name</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.getTagsByWebsiteNull&NameStartsWithOrderByName">
- <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog IS NULL AND w.name LIKE ?2 GROUP BY w.name, w.total ORDER BY
w.name</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.getTagsByWebsiteNullOrderByName">
- <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog IS NULL GROUP BY w.name, w.total ORDER BY w.name</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.updateAddToTotalByName&Weblog">
- <query>UPDATE WeblogEntryTagAggregate w SET w.total = w.total +
?1, w.lastUsed = ?2 WHERE w.name = ?3 AND w.weblog = ?4</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.updateAddToTotalByName&WeblogNull">
- <query>UPDATE WeblogEntryTagAggregate w SET w.total = w.total + ?1
WHERE w.name = ?2 AND w.weblog IS NULL</query>
- </named-query>
- <named-query
name="WeblogEntryTagAggregate.updateMinusFromTotalByName&WeblogNull">
- <query>UPDATE WeblogEntryTagAggregate w SET w.total = w.total - ?1
WHERE w.name = ?2 AND w.weblog IS NULL</query>
+ <named-query
name="WeblogEntryTagAggregate.getPopularTagsByWebsite&StartDate">
+ <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog = ?1 AND w.lastUsed >= ?2 GROUP BY w.name, w.total ORDER BY
w.total DESC</query>
</named-query>
<named-query name="WeblogEntryTagAggregate.removeByTotalLessEqual">
<query>DELETE FROM WeblogEntryTagAggregate w WHERE w.total <=
?1</query>
@@ -72,8 +22,15 @@
<named-query name="WeblogEntryTagAggregate.removeByWeblog">
<query>DELETE FROM WeblogEntryTagAggregate w WHERE w.weblog =
?1</query>
</named-query>
-
-
+ <named-query
name="WeblogEntryTagAggregate.getByName&WebsiteNullOrderByLastUsedDesc">
+ <query>SELECT w FROM WeblogEntryTagAggregate w WHERE w.name = ?1
AND w.weblog IS NULL ORDER BY w.lastUsed DESC</query>
+ </named-query>
+ <named-query
name="WeblogEntryTagAggregate.getPopularTagsByWebsiteNull">
+ <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog IS NULL GROUP BY w.name, w.total ORDER BY w.total DESC</query>
+ </named-query>
+ <named-query
name="WeblogEntryTagAggregate.getPopularTagsByWebsiteNull&StartDate">
+ <query>SELECT w.name, SUM(w.total) FROM WeblogEntryTagAggregate w
WHERE w.weblog IS NULL AND w.lastUsed >= ?1 GROUP BY w.name, w.total ORDER
BY w.total DESC</query>
+ </named-query>
<attributes>
<id name="id">
<column name="id"/>
Modified: roller/trunk/app/src/main/resources/sql/createdb.vm
URL:
http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/sql/createdb.vm?rev=1615466&r1=1615465&r2=1615466&view=diff
==============================================================================
--- roller/trunk/app/src/main/resources/sql/createdb.vm (original)
+++ roller/trunk/app/src/main/resources/sql/createdb.vm Sun Aug 3 23:48:16 2014
@@ -31,7 +31,7 @@ create table userrole (
);
create index ur_username_idx on userrole( username$!db.INDEXSIZE );
-create table roller_userattribute(
+create table roller_userattribute(
id varchar(48) not null primary key,
username varchar(255) not null,
attrname varchar(255) not null,
@@ -222,6 +222,7 @@ create table roller_weblogentrytagagg (
create index weta_weblogid_idx on roller_weblogentrytagagg( websiteid );
create index weta_name_idx on roller_weblogentrytagagg( name );
create index weta_lastused_idx on roller_weblogentrytagagg( lastused );
+alter table roller_weblogentrytagagg add constraint weta_weblog_tag_uq unique
( websiteid, name );
create table newsfeed (
id varchar(48) not null primary key,