mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 05:01:07 +00:00
hotfix - added getQueryJoins to allow adding joins in table sync query
This commit is contained in:
@ -49,6 +49,7 @@ import com.kingsrook.qqq.backend.core.model.actions.tables.query.QCriteriaOperat
|
|||||||
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QFilterCriteria;
|
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QFilterCriteria;
|
||||||
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QQueryFilter;
|
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QQueryFilter;
|
||||||
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryInput;
|
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryInput;
|
||||||
|
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryJoin;
|
||||||
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryOutput;
|
import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryOutput;
|
||||||
import com.kingsrook.qqq.backend.core.model.data.QRecord;
|
import com.kingsrook.qqq.backend.core.model.data.QRecord;
|
||||||
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData;
|
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData;
|
||||||
@ -430,6 +431,12 @@ public abstract class AbstractTableSyncTransformStep extends AbstractTransformSt
|
|||||||
queryInput.setAssociationNamesToInclude(associationNamesToInclude);
|
queryInput.setAssociationNamesToInclude(associationNamesToInclude);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Collection<QueryJoin> joins = getQueryJoins();
|
||||||
|
if(CollectionUtils.nullSafeHasContents(joins))
|
||||||
|
{
|
||||||
|
queryInput.setQueryJoins(getQueryJoins());
|
||||||
|
}
|
||||||
|
|
||||||
QueryOutput queryOutput = new QueryAction().execute(queryInput);
|
QueryOutput queryOutput = new QueryAction().execute(queryInput);
|
||||||
return (buildExistingRecordsMap(destinationTableForeignKeyField, queryOutput.getRecords()));
|
return (buildExistingRecordsMap(destinationTableForeignKeyField, queryOutput.getRecords()));
|
||||||
}
|
}
|
||||||
@ -443,7 +450,7 @@ public abstract class AbstractTableSyncTransformStep extends AbstractTransformSt
|
|||||||
** Note, if you're overriding this method, you'll likely also want & need to
|
** Note, if you're overriding this method, you'll likely also want & need to
|
||||||
** override getExistingRecord.
|
** override getExistingRecord.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
protected Map<Pair<String, Serializable>, QRecord> buildExistingRecordsMap(String destinationTableForeignKeyField, List<QRecord> existingRecordList)
|
protected Map<Pair<String, Serializable>, QRecord> buildExistingRecordsMap(String destinationTableForeignKeyField, List<QRecord> existingRecordList) throws QException
|
||||||
{
|
{
|
||||||
Map<Pair<String, Serializable>, QRecord> existingRecordsByForeignKey = new HashMap<>();
|
Map<Pair<String, Serializable>, QRecord> existingRecordsByForeignKey = new HashMap<>();
|
||||||
for(QRecord record : existingRecordList)
|
for(QRecord record : existingRecordList)
|
||||||
@ -455,6 +462,16 @@ public abstract class AbstractTableSyncTransformStep extends AbstractTransformSt
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
**
|
||||||
|
*******************************************************************************/
|
||||||
|
protected List<QueryJoin> getQueryJoins()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
**
|
**
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
Reference in New Issue
Block a user