-
Type:
Feature Request
-
Status: Closed
-
Priority:
Minor
-
Resolution: Duplicate
-
Affects Version/s: None
-
Fix Version/s: None
-
Labels:
Currently several of Liferay's services are storing localized fields as XML String in a DB column. Some "famous" ones are:
- JournalArticle.title
- DDMStructure.name
- AssetEntry.description
This is causing severe issues like:
- Unable to order lists by these fields like:
- Unable to perform sql queries where we need to compare by these fields. Probably for this reason we generate so many search indexes and we delegate the queries to index search instead of database search. In fact the following properties set to false are not working properly:
asset.publisher.search.with.index=false journal.articles.search.with.index=false
- The size for these fields is usually not enough causing errors saving records which exceed the limit (see LPS-40069,
LPS-53164,LPS-34209,LPS-39668,LPS-44439,LPS-54312for example)
- This is even worse for Oracle when there is a size limit for Varchar (4000) or for DB2 where we have to define the page size in advance. So finally we have to convert these fields into CLOBs and this breaks some queries since this kind of fields can't be part of some SQL clauses like DISTINCT or GROUP (see
LPS-47261for example)
- With this kind of fields we are increasing the size of the database and search indexes since we need to store a whole XML with useless information.
Technical note
It's important to take into account for the future solution that changing localized fields from XML to JSON would be just a patch since we only save characters, not the rest of the issues.
- duplicates
-
LPS-71722 Create service builder localization table support
-
- Closed
-
- is related to
-
LPS-44439 Localized VARCHAR2 fields can exceed their maximum length
- Closed
-
LPS-53164 DB2 database: size for column name in Layout table is not enough
- Closed
-
LPS-54312 In Oracle DB, localized VARCHAR2 fields can exceed their maximum length
- Closed
-
LPS-54461 Link for order by name in page templates and site templates doesn't work
- Closed
-
LPS-54507 When removing a language at site level, no validations are done, so you can remove it even when it is being used, so data inconsistence is created
- Closed
-
LPS-39668 Announcement not saved when exceeded to 2000 character and use sql server
- Closed
-
LPS-34209 Unable to add long text to css in Oracle 10g
- Closed
-
LPS-52293 Order journal articles by title
- Verified
-
LPS-40069 Error when adding too many translations to a Web Content using Oracle: Column "title" has type VARCHAR2(4000), but it should be CLOB as for "content"
- Verified
-
LPS-52524 There are objects, like ADT templates, that can be deleted when are used by a portlet, so data inconsistence is created
-
- Open
-
-
LPS-54460 Support for ordering by name in lists of Site templates and Page templates
-
- Open
-
-
LPS-47261 Unable to get assetEntries using Oracle
- Closed