Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.1/Cloud)

91564: Merged 5.0.N (5.0.1) to HEAD-BUG-FIX (5.1/Cloud)
      91556: Merged V4.2-BUG-FIX (4.2.5) to 5.0.N (5.0.1)
         91472: Merged V4.2.4 (4.2.4) to V4.2-BUG-FIX (4.2.5)
            91406: Merged DEV (4.2.4) to V4.2.4 (4.2.4)
               91352: MNT-12716 : 3.4 -> 4.2 Upgrade does not migrate locales of translated documents
                  - We can now specify default value in --ASSIGN directive using ftl-like way (var=col_name!-1).


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@94811 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2015-01-31 11:34:18 +00:00
parent af849d4521
commit ed32b91ee6
3 changed files with 18 additions and 4 deletions

View File

@@ -15,7 +15,7 @@ CREATE TABLE tmp_locale_upgrade
KEY idx_tmp_loc_str_v (string_value(42)) KEY idx_tmp_loc_str_v (string_value(42))
) ENGINE=InnoDB; ) ENGINE=InnoDB;
--ASSIGN:locale_qname_id=id --ASSIGN:locale_qname_id=id!-1
SELECT alf_qname.id AS id FROM alf_qname SELECT alf_qname.id AS id FROM alf_qname
JOIN alf_namespace ON (alf_namespace.id = alf_qname.ns_id) JOIN alf_namespace ON (alf_namespace.id = alf_qname.ns_id)
WHERE WHERE

View File

@@ -16,7 +16,7 @@ CREATE TABLE tmp_locale_upgrade
CREATE INDEX idx_tmp_loc_n_id ON tmp_locale_upgrade (node_id); CREATE INDEX idx_tmp_loc_n_id ON tmp_locale_upgrade (node_id);
CREATE INDEX idx_tmp_loc_str_v ON tmp_locale_upgrade (string_value); CREATE INDEX idx_tmp_loc_str_v ON tmp_locale_upgrade (string_value);
--ASSIGN:locale_qname_id=id --ASSIGN:locale_qname_id=id!-1
SELECT alf_qname.id AS id FROM alf_qname SELECT alf_qname.id AS id FROM alf_qname
JOIN alf_namespace ON (alf_namespace.id = alf_qname.ns_id) JOIN alf_namespace ON (alf_namespace.id = alf_qname.ns_id)
WHERE WHERE

View File

@@ -1254,6 +1254,7 @@ public class SchemaBootstrap extends AbstractLifecycleBean
StringBuilder sb = new StringBuilder(1024); StringBuilder sb = new StringBuilder(1024);
String fetchVarName = null; String fetchVarName = null;
String fetchColumnName = null; String fetchColumnName = null;
Object defaultFetchValue = null;
boolean doBatch = false; boolean doBatch = false;
int batchUpperLimit = 0; int batchUpperLimit = 0;
int batchSize = 1; int batchSize = 1;
@@ -1314,13 +1315,18 @@ public class SchemaBootstrap extends AbstractLifecycleBean
throw AlfrescoRuntimeException.create(ERR_STATEMENT_VAR_ASSIGNMENT_BEFORE_SQL, (line - 1), scriptUrl); throw AlfrescoRuntimeException.create(ERR_STATEMENT_VAR_ASSIGNMENT_BEFORE_SQL, (line - 1), scriptUrl);
} }
String assignStr = sql.substring(9, sql.length()); String assignStr = sql.substring(9, sql.length());
String[] assigns = assignStr.split("="); String[] fetchMapping = assignStr.split("!");
String[] assigns = fetchMapping[0].split("=");
if (assigns.length != 2 || assigns[0].length() == 0 || assigns[1].length() == 0) if (assigns.length != 2 || assigns[0].length() == 0 || assigns[1].length() == 0)
{ {
throw AlfrescoRuntimeException.create(ERR_STATEMENT_VAR_ASSIGNMENT_FORMAT, (line - 1), scriptUrl); throw AlfrescoRuntimeException.create(ERR_STATEMENT_VAR_ASSIGNMENT_FORMAT, (line - 1), scriptUrl);
} }
fetchVarName = assigns[0]; fetchVarName = assigns[0];
fetchColumnName = assigns[1]; fetchColumnName = assigns[1];
if (fetchMapping.length > 1 && fetchMapping[1].length() > 0)
{
defaultFetchValue = fetchMapping[1];
}
continue; continue;
} }
// Handle looping control // Handle looping control
@@ -1473,13 +1479,21 @@ public class SchemaBootstrap extends AbstractLifecycleBean
Object fetchedVal = executeStatement(connection, sql, fetchColumnName, optional, line, scriptFile); Object fetchedVal = executeStatement(connection, sql, fetchColumnName, optional, line, scriptFile);
if (fetchVarName != null && fetchColumnName != null) if (fetchVarName != null && fetchColumnName != null)
{
if (fetchedVal != null)
{ {
varAssignments.put(fetchVarName, fetchedVal); varAssignments.put(fetchVarName, fetchedVal);
} }
else
{
varAssignments.put(fetchVarName, defaultFetchValue);
}
}
} }
sb.setLength(0); sb.setLength(0);
fetchVarName = null; fetchVarName = null;
fetchColumnName = null; fetchColumnName = null;
defaultFetchValue = null;
doBatch = false; doBatch = false;
batchUpperLimit = 0; batchUpperLimit = 0;
batchSize = 1; batchSize = 1;