mirror of
https://github.com/hapifhir/hapi-fhir.git
synced 2025-02-08 14:05:02 +00:00
Make PID column name configurable in migrator
This commit is contained in:
parent
2d7c808326
commit
0e34f16890
@ -50,6 +50,7 @@ public abstract class BaseColumnCalculatorTask extends BaseTableColumnTask {
|
|||||||
protected static final Logger ourLog = LoggerFactory.getLogger(BaseColumnCalculatorTask.class);
|
protected static final Logger ourLog = LoggerFactory.getLogger(BaseColumnCalculatorTask.class);
|
||||||
private int myBatchSize = 10000;
|
private int myBatchSize = 10000;
|
||||||
private ThreadPoolExecutor myExecutor;
|
private ThreadPoolExecutor myExecutor;
|
||||||
|
private String myPidColumnName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
@ -160,6 +161,10 @@ public abstract class BaseColumnCalculatorTask extends BaseTableColumnTask {
|
|||||||
rejectedExecutionHandler);
|
rejectedExecutionHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPidColumnName(String thePidColumnName) {
|
||||||
|
myPidColumnName = thePidColumnName;
|
||||||
|
}
|
||||||
|
|
||||||
private Future<?> updateRows(List<Map<String, Object>> theRows) {
|
private Future<?> updateRows(List<Map<String, Object>> theRows) {
|
||||||
Runnable task = () -> {
|
Runnable task = () -> {
|
||||||
StopWatch sw = new StopWatch();
|
StopWatch sw = new StopWatch();
|
||||||
@ -193,8 +198,8 @@ public abstract class BaseColumnCalculatorTask extends BaseTableColumnTask {
|
|||||||
sqlBuilder.append(nextNewValueEntry.getKey()).append(" = ?");
|
sqlBuilder.append(nextNewValueEntry.getKey()).append(" = ?");
|
||||||
arguments.add(nextNewValueEntry.getValue());
|
arguments.add(nextNewValueEntry.getValue());
|
||||||
}
|
}
|
||||||
sqlBuilder.append(" WHERE SP_ID = ?");
|
sqlBuilder.append(" WHERE " + myPidColumnName + " = ?");
|
||||||
arguments.add((Number) nextRow.get("SP_ID"));
|
arguments.add((Number) nextRow.get(myPidColumnName));
|
||||||
|
|
||||||
// Apply update SQL
|
// Apply update SQL
|
||||||
newJdbcTemplate().update(sqlBuilder.toString(), arguments.toArray());
|
newJdbcTemplate().update(sqlBuilder.toString(), arguments.toArray());
|
||||||
|
@ -46,6 +46,7 @@ public class CalculateHashesTask extends BaseColumnCalculatorTask {
|
|||||||
public CalculateHashesTask(VersionEnum theRelease, String theVersion) {
|
public CalculateHashesTask(VersionEnum theRelease, String theVersion) {
|
||||||
super(theRelease, theVersion);
|
super(theRelease, theVersion);
|
||||||
setDescription("Calculate resource search parameter index hashes");
|
setDescription("Calculate resource search parameter index hashes");
|
||||||
|
setPidColumnName("SP_ID");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -28,6 +28,7 @@ public class CalculateOrdinalDatesTask extends BaseColumnCalculatorTask {
|
|||||||
super(theRelease, theVersion);
|
super(theRelease, theVersion);
|
||||||
setDescription("Calculate SP_LOW_VALUE_DATE_ORDINAL and SP_HIGH_VALUE_DATE_ORDINAL based on existing SP_VALUE_LOW and SP_VALUE_HIGH date values in Date Search Params");
|
setDescription("Calculate SP_LOW_VALUE_DATE_ORDINAL and SP_HIGH_VALUE_DATE_ORDINAL based on existing SP_VALUE_LOW and SP_VALUE_HIGH date values in Date Search Params");
|
||||||
setWhereClause("(SP_VALUE_LOW_DATE_ORDINAL IS NULL AND SP_VALUE_LOW IS NOT NULL) OR (SP_VALUE_HIGH_DATE_ORDINAL IS NULL AND SP_VALUE_HIGH IS NOT NULL)");
|
setWhereClause("(SP_VALUE_LOW_DATE_ORDINAL IS NULL AND SP_VALUE_LOW IS NOT NULL) OR (SP_VALUE_HIGH_DATE_ORDINAL IS NULL AND SP_VALUE_HIGH IS NOT NULL)");
|
||||||
|
setPidColumnName("SP_ID");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user