Class DataService
java.lang.Object
org.jumpmind.symmetric.service.impl.AbstractService
org.jumpmind.symmetric.service.impl.DataService
- All Implemented Interfaces:
IDataService,IService
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassstatic classprotected classprotected class -
Field Summary
FieldsFields inherited from class org.jumpmind.symmetric.service.impl.AbstractService
log, parameterService, platform, sqlTemplate, sqlTemplateDirty, symmetricDialect, tablePrefix -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintprotected voidprotected voidconvertDataToReload(Data data, Table table, TriggerHistory hist, String nodeId) protected Map<String,TableReloadRequest> convertReloadListToMap(List<TableReloadRequest> reloadRequests, List<TriggerRouter> triggerRouters, boolean isFullLoad, boolean isChannelLoad) intlongintcountDataInRange(long firstDataId, long secondDataId) Count the number of data ids in a rangecreateData(String catalogName, String schemaName, String tableName) createData(String catalogName, String schemaName, String tableName, String whereClause) createData(ISqlTransaction transaction, String catalogName, String schemaName, String tableName, String whereClause) protected DatacreateData(ISqlTransaction transaction, Trigger trigger, String whereClause) protected voidcreatePurgeEvent(ISqlTransaction transaction, String sql, Node targetNode, Node sourceNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, boolean isLoad, long loadId, String createBy) protected voidcreatePurgeEvent(ISqlTransaction transaction, String sql, Node targetNode, Node sourceNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, boolean isLoad, long loadId, String createBy, AbstractBatch.Status outgoingBatchStatus) voidcreateTableReloadStatus(ISqlTransaction transaction, long loadId, boolean isFullLoad, String sourceNodeId, String targetNodeId) voiddeleteAllDataGaps(ISqlTransaction transaction) voidvoiddeleteDataGap(ISqlTransaction transaction, DataGap gap) voiddeleteDataGap(DataGap gap) voiddeleteDataGaps(ISqlTransaction transaction, Collection<DataGap> gaps) protected voiddeleteTableReloadRequest(ISqlTransaction sqlTransaction, TableReloadRequest request) voidexpireDataGaps(ISqlTransaction transaction, Collection<DataGap> gaps) findCreateTimeOfData(long dataId) findCreateTimeOfEvent(long dataId) findData(long dataId) findData(long startDataId, long endDataId) findDataGaps(boolean isExpired) longlonglongfindNextCreateTimeOfDataStartingAt(long dataId) booleanprotected StringgetCsvDataFor(ISqlTransaction transaction, Trigger trigger, TriggerHistory triggerHistory, String whereClause, boolean pkOnly) protected longgetDataCountForReload(Table table, Node targetNode, String selectSql) protected Stringprotected StringgetDataSelectByBatchSql(long batchId, long startDataId, String channelId) protected StringgetDataSelectSql(long batchId, long startDataId, boolean isContainsBigLob) protected StringgetDataSelectSql(long batchId, long startDataId, String channelId) protected List<IHeartbeatListener>getHeartbeatListeners(boolean force) Get a list ofIHeartbeatListeners that are ready for a heartbeat according toIHeartbeatListener.getTimeBetweenHeartbeatsInSeconds()protected StringgetReloadChannelIdForTrigger(Trigger trigger, Map<String, Channel> channels) getTableReloadRequest(long loadId) getTableReloadRequest(long loadId, String triggerId, String routerId) getTableReloadRequests(long loadId) getTableReloadRequestToProcess(String sourceNodeId) getTableReloadRequestToProcessByTarget(String targetNodeId) getTableReloadStatusByLoadIdAndSourceNodeId(long loadId, String sourceNodeId) getTableReloadStatusByTarget(String targetNodeId) protected intgetTransformMultiplier(Table table, TriggerRouter triggerRouter) voidheartbeat(boolean force) UpdateNodeinformation for this node and callIHeartbeatListeners.protected voidinsertCreateEvent(ISqlTransaction transaction, Node targetNode, TriggerHistory triggerHistory, boolean isLoad, long loadId, String createBy, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults) voidinsertCreateEvent(ISqlTransaction transaction, Node targetNode, TriggerHistory triggerHistory, String channelId, boolean isLoad, long loadId, String createBy, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults) voidinsertCreateEvent(ISqlTransaction transaction, Node targetNode, TriggerHistory triggerHistory, String channelId, boolean isLoad, long loadId, String createBy, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults, AbstractBatch.Status outgoingBatchStatus) voidinsertCreateEvent(Node targetNode, TriggerHistory triggerHistory, boolean isLoad, long loadId, String createBy, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults) voidinsertCreateEvent(Node targetNode, TriggerHistory triggerHistory, String createBy, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults) longinsertData(ISqlTransaction transaction, Data data) longinsertData(Data data) longinsertDataAndDataEventAndOutgoingBatch(ISqlTransaction transaction, Data data, String nodeId, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, long estimatedBatchRowCount) longinsertDataAndDataEventAndOutgoingBatch(ISqlTransaction transaction, Data data, String nodeId, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, String overrideChannelId, long estimatedBatchRowCount) longinsertDataAndDataEventAndOutgoingBatch(Data data, String nodeId, boolean isLoad, long loadId, String createBy) voidinsertDataAndDataEventAndOutgoingBatch(Data data, String channelId, List<Node> nodes, boolean isLoad, long loadId, String createBy) protected voidinsertDataEvent(ISqlTransaction transaction, long dataId, long batchId) protected voidinsertDataEvent(ISqlTransaction transaction, DataEvent dataEvent) protected longinsertDataEventAndOutgoingBatch(ISqlTransaction transaction, long dataId, String channelId, String nodeId, DataEventType eventType, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, String tableName, long estimatedBatchRowCount) voidinsertDataEvents(ISqlTransaction transaction, List<DataEvent> events) voidinsertDataGap(ISqlTransaction transaction, DataGap gap) voidinsertDataGap(DataGap gap) voidinsertDataGaps(ISqlTransaction transaction, Collection<DataGap> gaps) voidinsertHeartbeatEvent(Node node, boolean isReload) Because we can't add a trigger on the _node table, we are artificially generating heartbeat events.protected voidinsertPurgeEvent(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, boolean isLoad, String overrideDeleteStatement, long loadId, String createBy) protected voidinsertPurgeEvent(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, boolean isLoad, String overrideDeleteStatement, long loadId, String createBy, AbstractBatch.Status outgoingBatchStatus) longinsertReloadEvent(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, String overrideInitialLoadSelect, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, long estimatedBatchRowCount) longinsertReloadEvent(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, String overrideInitialLoadSelect, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, String channelId, long estimatedBatchRowCount) protected longinsertReloadEvent(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, String overrideInitialLoadSelect, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, String channelId, long estimatedBatchRowCount, boolean isImmediate) booleaninsertReloadEvent(TableReloadRequest request, boolean deleteAtClient) longinsertReloadEventImmediate(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, String overrideInitialLoadSelect, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, String channelId, long estimatedBatchRowCount) insertReloadEvents(Node targetNode, boolean reverse, List<TableReloadRequest> reloadRequests, ProcessInfo processInfo, List<TriggerRouter> triggerRouters, Map<Integer, ExtractRequest> extractRequests, IReloadGenerator reloadGenerator) protected longinsertRequestedOutgoingBatches(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, String overrideInitialLoadSelect, long loadId, String createBy, String channelId, long totalRows, long maxRowsPerBatch, long batchCount) voidinsertScriptEvent(String channelId, Node targetNode, String script, boolean isLoad, long loadId, String createBy) voidinsertScriptEvent(ISqlTransaction transaction, String channelId, Node targetNode, String script, boolean isLoad, long loadId, String createBy) voidinsertSqlEvent(ISqlTransaction transaction, Node targetNode, String sql, boolean isLoad, long loadId, String createBy) voidinsertSqlEvent(ISqlTransaction transaction, Node targetNode, String sql, boolean isLoad, long loadId, String createBy, AbstractBatch.Status outgoingBatchStatus) voidinsertSqlEvent(ISqlTransaction transaction, TriggerHistory history, String channelId, Node targetNode, String sql, boolean isLoad, long loadId, String createBy) voidinsertSqlEvent(ISqlTransaction transaction, TriggerHistory history, String channelId, Node targetNode, String sql, boolean isLoad, long loadId, String createBy, AbstractBatch.Status outgoingBatchStatus) voidinsertSqlEvent(Node targetNode, String sql, boolean isLoad, long loadId, String createBy) voidinsertTableReloadRequest(ISqlTransaction transaction, TableReloadRequest request) voidlistDataIds(long batchId, String nodeId) intreCaptureData(long minDataId, long maxDataId) protected intreCaptureData(List<Data> dataList) voidreloadMissingForeignKeyRows(long batchId, String nodeId, long dataId, long rowNumber) protected voidreloadMissingForeignKeyRows(Data data, long batchId, String nodeId, long dataId, long rowNumber) voidreloadMissingForeignKeyRowsForLoad(String sourceNodeId, long batchId, long rowNumber, Table table, CsvData data, String channelId) voidreloadMissingForeignKeyRowsReverse(String sourceNodeId, Table table, CsvData data, String channelId, boolean sendCorrectionToPeers) reloadNode(String nodeId, boolean reverseLoad, String createBy) reloadTable(String nodeId, String catalogName, String schemaName, String tableName) reloadTable(String nodeId, String catalogName, String schemaName, String tableName, String overrideInitialLoadSelect) protected StringreloadTable(String nodeId, String catalogName, String schemaName, String tableName, String overrideInitialLoadSelect, String overrideChannelId, boolean isImmediate) reloadTableImmediate(String nodeId, String catalogName, String schemaName, String tableName, String overrideInitialLoadSelect, String overrideChannelId) intresendBatchAsReload(long batchId, String nodeId) intresendDataAsReload(long minDataId, long maxDataId) protected voidresendDataAsReload(List<Data> dataList, String nodeId) resolveTargetTables(String sql, TriggerRouter triggerRouter, TriggerHistory triggerHistory, Node targetNode) selectDataFor(Long batchId, String channelId) selectDataFor(Long batchId, String targetNodeId, boolean isContainsBigLob) selectDataFor(Batch batch) voidsendMissingForeignKeyRowsForLoad(long batchId, String nodeId, long rowNumber, String rowData) voidsendNewerDataToNode(ISqlTransaction transaction, String targetNodeId, String tableName, String pkCsvData, Date minCreateTime, String winningNodeId) booleansendSchema(String nodeId, String catalogName, String schemaName, String tableName, boolean isLoad, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults) voidsendScript(String nodeId, String script, boolean isLoad) Sends a SQL command to the remote node for execution by creating a SQL event that is synced like other dataprotected voidupdateLastHeartbeatTime(List<IHeartbeatListener> listeners) intupdateTableReloadRequestsCancelled(long loadId, String sourceNodeId) protected intupdateTableReloadRequestsError(long loadId, String sourceNodeId, SqlException e) voidupdateTableReloadRequestsLoadId(ISqlTransaction transaction, long loadId, TableReloadRequest request) voidupdateTableReloadStatusDataCounts(ISqlTransaction transaction, long loadId, String sourceNodeId, long startBatchId, long endBatchId, long dataBatchCount, long rowsCount) updateTableReloadStatusDataLoaded(ISqlTransaction transaction, long loadId, String sourceNodeId, long batchId, int batchCount, boolean isBulkLoaded) voidupdateTableReloadStatusFailed(ISqlTransaction transaction, long loadId, String sourceNodeId, long batchId) voidupdateTableReloadStatusSetupCount(ISqlTransaction transaction, long loadId, String sourceNodeId, int setupBatchCount) voidupdateTableReloadStatusTableCount(ISqlTransaction transaction, long loadId, String sourceNodeId, int tableCount) protected voidvalidate(TableReloadRequest reloadRequest, List<TriggerRouter> triggerRouters) Methods inherited from class org.jumpmind.symmetric.service.impl.AbstractService
assertNotNull, buildBatchOrderBy, buildBatchParams, buildBatchWhere, buildBatchWhereFromFilter, close, createSqlReplacementTokens, getJdbcTemplate, getParameterService, getSql, getSymmetricDialect, getTablePrefix, getTargetDialect, getTargetPlatform, getTargetPlatform, isCalledFromSymmetricAdminTool, isSet, isStreamClosedByClient, isSymmetricTable, logOnce, maxDate, readAcks, sendAck, setSqlMap, synchronize, toNodeIds, toNodeIds
-
Field Details
-
lastHeartbeatTimestamps
-
-
Constructor Details
-
DataService
-
-
Method Details
-
insertReloadEvent
- Specified by:
insertReloadEventin interfaceIDataService
-
cancelTableReloadRequest
- Specified by:
cancelTableReloadRequestin interfaceIDataService
-
deleteTableReloadRequest
-
insertTableReloadRequest
- Specified by:
insertTableReloadRequestin interfaceIDataService
-
insertTableReloadRequest
- Specified by:
insertTableReloadRequestin interfaceIDataService
-
getTableReloadRequest
- Specified by:
getTableReloadRequestin interfaceIDataService
-
getTableReloadRequest
- Specified by:
getTableReloadRequestin interfaceIDataService
-
getTableReloadRequests
- Specified by:
getTableReloadRequestsin interfaceIDataService
-
getTableReloadRequest
- Specified by:
getTableReloadRequestin interfaceIDataService
-
getTableReloadRequestToProcess
- Specified by:
getTableReloadRequestToProcessin interfaceIDataService
-
getTableReloadRequestToProcessByTarget
- Specified by:
getTableReloadRequestToProcessByTargetin interfaceIDataService
-
getTableReloadRequests
-
getTableReloadStatus
- Specified by:
getTableReloadStatusin interfaceIDataService
-
getOutgoingTableReloadStatus
- Specified by:
getOutgoingTableReloadStatusin interfaceIDataService
-
getIncomingTableReloadStatus
- Specified by:
getIncomingTableReloadStatusin interfaceIDataService
-
getActiveTableReloadStatus
- Specified by:
getActiveTableReloadStatusin interfaceIDataService
-
getActiveOutgoingTableReloadStatus
- Specified by:
getActiveOutgoingTableReloadStatusin interfaceIDataService
-
getActiveIncomingTableReloadStatus
- Specified by:
getActiveIncomingTableReloadStatusin interfaceIDataService
-
getTableReloadStatusByLoadIdAndSourceNodeId
public TableReloadStatus getTableReloadStatusByLoadIdAndSourceNodeId(long loadId, String sourceNodeId) - Specified by:
getTableReloadStatusByLoadIdAndSourceNodeIdin interfaceIDataService
-
getTableReloadStatusByTarget
- Specified by:
getTableReloadStatusByTargetin interfaceIDataService
-
getTableReloadRequestByLoadId
-
collapseTableReloadRequestsByLoadId
public List<TableReloadRequest> collapseTableReloadRequestsByLoadId(List<TableReloadRequest> requests) -
getTableReloadRequestByLoadIdMap
- Specified by:
getTableReloadRequestByLoadIdMapin interfaceIDataService
-
updateTableReloadStatusDataLoaded
public TableReloadStatus updateTableReloadStatusDataLoaded(ISqlTransaction transaction, long loadId, String sourceNodeId, long batchId, int batchCount, boolean isBulkLoaded) - Specified by:
updateTableReloadStatusDataLoadedin interfaceIDataService
-
updateTableReloadStatusFailed
public void updateTableReloadStatusFailed(ISqlTransaction transaction, long loadId, String sourceNodeId, long batchId) - Specified by:
updateTableReloadStatusFailedin interfaceIDataService
-
updateTableReloadStatusDataCounts
public void updateTableReloadStatusDataCounts(ISqlTransaction transaction, long loadId, String sourceNodeId, long startBatchId, long endBatchId, long dataBatchCount, long rowsCount) -
updateTableReloadRequestsLoadId
public void updateTableReloadRequestsLoadId(ISqlTransaction transaction, long loadId, TableReloadRequest request) -
updateTableReloadStatusTableCount
public void updateTableReloadStatusTableCount(ISqlTransaction transaction, long loadId, String sourceNodeId, int tableCount) -
createTableReloadStatus
public void createTableReloadStatus(ISqlTransaction transaction, long loadId, boolean isFullLoad, String sourceNodeId, String targetNodeId) -
updateTableReloadStatusSetupCount
public void updateTableReloadStatusSetupCount(ISqlTransaction transaction, long loadId, String sourceNodeId, int setupBatchCount) -
updateTableReloadRequestsCancelled
- Specified by:
updateTableReloadRequestsCancelledin interfaceIDataService
-
updateTableReloadRequestsError
-
insertRequestedOutgoingBatches
protected long insertRequestedOutgoingBatches(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, String overrideInitialLoadSelect, long loadId, String createBy, String channelId, long totalRows, long maxRowsPerBatch, long batchCount) -
insertReloadEvent
public long insertReloadEvent(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, String overrideInitialLoadSelect, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, long estimatedBatchRowCount) - Specified by:
insertReloadEventin interfaceIDataService- Returns:
- If isLoad then return the inserted batch id otherwise return the data id
-
insertReloadEvent
public long insertReloadEvent(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, String overrideInitialLoadSelect, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, String channelId, long estimatedBatchRowCount) - Parameters:
estimatedBatchRowCount- TODO- Returns:
- If isLoad then return the inserted batch id otherwise return the data id
-
insertReloadEventImmediate
public long insertReloadEventImmediate(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, String overrideInitialLoadSelect, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, String channelId, long estimatedBatchRowCount) -
insertReloadEvent
protected long insertReloadEvent(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, String overrideInitialLoadSelect, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, String channelId, long estimatedBatchRowCount, boolean isImmediate) -
getReloadChannelIdForTrigger
-
insertReloadEvents
public Map<Integer,ExtractRequest> insertReloadEvents(Node targetNode, boolean reverse, List<TableReloadRequest> reloadRequests, ProcessInfo processInfo, List<TriggerRouter> triggerRouters, Map<Integer, ExtractRequest> extractRequests, IReloadGenerator reloadGenerator) - Specified by:
insertReloadEventsin interfaceIDataService
-
convertReloadListToMap
protected Map<String,TableReloadRequest> convertReloadListToMap(List<TableReloadRequest> reloadRequests, List<TriggerRouter> triggerRouters, boolean isFullLoad, boolean isChannelLoad) -
validate
-
getDataCountForReload
protected long getDataCountForReload(Table table, Node targetNode, String selectSql) throws SqlException - Throws:
SqlException
-
getTransformMultiplier
-
insertPurgeEvent
protected void insertPurgeEvent(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, boolean isLoad, String overrideDeleteStatement, long loadId, String createBy) -
insertPurgeEvent
protected void insertPurgeEvent(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, boolean isLoad, String overrideDeleteStatement, long loadId, String createBy, AbstractBatch.Status outgoingBatchStatus) -
resolveTargetTables
public List<String> resolveTargetTables(String sql, TriggerRouter triggerRouter, TriggerHistory triggerHistory, Node targetNode) -
createPurgeEvent
protected void createPurgeEvent(ISqlTransaction transaction, String sql, Node targetNode, Node sourceNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, boolean isLoad, long loadId, String createBy) -
createPurgeEvent
protected void createPurgeEvent(ISqlTransaction transaction, String sql, Node targetNode, Node sourceNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, boolean isLoad, long loadId, String createBy, AbstractBatch.Status outgoingBatchStatus) -
insertSqlEvent
public void insertSqlEvent(Node targetNode, String sql, boolean isLoad, long loadId, String createBy) - Specified by:
insertSqlEventin interfaceIDataService
-
insertSqlEvent
public void insertSqlEvent(ISqlTransaction transaction, Node targetNode, String sql, boolean isLoad, long loadId, String createBy) - Specified by:
insertSqlEventin interfaceIDataService
-
insertSqlEvent
public void insertSqlEvent(ISqlTransaction transaction, Node targetNode, String sql, boolean isLoad, long loadId, String createBy, AbstractBatch.Status outgoingBatchStatus) -
insertSqlEvent
public void insertSqlEvent(ISqlTransaction transaction, TriggerHistory history, String channelId, Node targetNode, String sql, boolean isLoad, long loadId, String createBy) - Specified by:
insertSqlEventin interfaceIDataService
-
insertSqlEvent
public void insertSqlEvent(ISqlTransaction transaction, TriggerHistory history, String channelId, Node targetNode, String sql, boolean isLoad, long loadId, String createBy, AbstractBatch.Status outgoingBatchStatus) -
insertScriptEvent
public void insertScriptEvent(String channelId, Node targetNode, String script, boolean isLoad, long loadId, String createBy) - Specified by:
insertScriptEventin interfaceIDataService
-
insertScriptEvent
public void insertScriptEvent(ISqlTransaction transaction, String channelId, Node targetNode, String script, boolean isLoad, long loadId, String createBy) - Specified by:
insertScriptEventin interfaceIDataService
-
countDataInRange
public int countDataInRange(long firstDataId, long secondDataId) Description copied from interface:IDataServiceCount the number of data ids in a range- Specified by:
countDataInRangein interfaceIDataService
-
countData
public int countData()- Specified by:
countDatain interfaceIDataService
-
insertCreateEvent
public void insertCreateEvent(Node targetNode, TriggerHistory triggerHistory, boolean isLoad, long loadId, String createBy, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults) - Specified by:
insertCreateEventin interfaceIDataService
-
insertCreateEvent
public void insertCreateEvent(Node targetNode, TriggerHistory triggerHistory, String createBy, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults) - Specified by:
insertCreateEventin interfaceIDataService
-
insertCreateEvent
protected void insertCreateEvent(ISqlTransaction transaction, Node targetNode, TriggerHistory triggerHistory, boolean isLoad, long loadId, String createBy, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults) -
insertCreateEvent
public void insertCreateEvent(ISqlTransaction transaction, Node targetNode, TriggerHistory triggerHistory, String channelId, boolean isLoad, long loadId, String createBy, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults) - Specified by:
insertCreateEventin interfaceIDataService
-
insertCreateEvent
public void insertCreateEvent(ISqlTransaction transaction, Node targetNode, TriggerHistory triggerHistory, String channelId, boolean isLoad, long loadId, String createBy, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults, AbstractBatch.Status outgoingBatchStatus) -
insertData
- Specified by:
insertDatain interfaceIDataService
-
insertData
- Specified by:
insertDatain interfaceIDataService
-
insertDataEvent
-
insertDataEvent
-
insertDataEvents
- Specified by:
insertDataEventsin interfaceIDataService
-
insertDataAndDataEventAndOutgoingBatch
public void insertDataAndDataEventAndOutgoingBatch(Data data, String channelId, List<Node> nodes, boolean isLoad, long loadId, String createBy) - Specified by:
insertDataAndDataEventAndOutgoingBatchin interfaceIDataService
-
insertDataAndDataEventAndOutgoingBatch
public long insertDataAndDataEventAndOutgoingBatch(Data data, String nodeId, boolean isLoad, long loadId, String createBy) - Specified by:
insertDataAndDataEventAndOutgoingBatchin interfaceIDataService- Returns:
- The inserted batch id
-
insertDataAndDataEventAndOutgoingBatch
public long insertDataAndDataEventAndOutgoingBatch(ISqlTransaction transaction, Data data, String nodeId, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, String overrideChannelId, long estimatedBatchRowCount) - Parameters:
estimatedBatchRowCount- TODO- Returns:
- The inserted batch id
-
insertDataAndDataEventAndOutgoingBatch
public long insertDataAndDataEventAndOutgoingBatch(ISqlTransaction transaction, Data data, String nodeId, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, long estimatedBatchRowCount) - Specified by:
insertDataAndDataEventAndOutgoingBatchin interfaceIDataService
-
insertDataEventAndOutgoingBatch
protected long insertDataEventAndOutgoingBatch(ISqlTransaction transaction, long dataId, String channelId, String nodeId, DataEventType eventType, boolean isLoad, long loadId, String createBy, AbstractBatch.Status status, String tableName, long estimatedBatchRowCount) -
reloadNode
- Specified by:
reloadNodein interfaceIDataService
-
sendScript
- Specified by:
sendScriptin interfaceIDataService
-
sendSchema
public boolean sendSchema(String nodeId, String catalogName, String schemaName, String tableName, boolean isLoad, boolean excludeIndices, boolean excludeForeignKeys, boolean excludeDefaults) - Specified by:
sendSchemain interfaceIDataService
-
sendSQL
public String sendSQL(String nodeId, String catalogName, String schemaName, String tableName, String sql) Description copied from interface:IDataServiceSends a SQL command to the remote node for execution by creating a SQL event that is synced like other data- Specified by:
sendSQLin interfaceIDataService- Parameters:
nodeId- the remote node where the SQL statement will be executedcatalogName- used to find the sym_trigger entry for table that will be associated with this eventschemaName- used to find the sym_trigger entry for table that will be associated with this eventtableName- used to find the sym_trigger entry for table that will be associated with this eventsql- the SQL statement to run on the remote node database- Returns:
- message string indicating success or error
-
sendSQL
- Specified by:
sendSQLin interfaceIDataService
-
reloadTable
- Specified by:
reloadTablein interfaceIDataService
-
reloadTable
public String reloadTable(String nodeId, String catalogName, String schemaName, String tableName, String overrideInitialLoadSelect) - Specified by:
reloadTablein interfaceIDataService
-
reloadTableImmediate
public String reloadTableImmediate(String nodeId, String catalogName, String schemaName, String tableName, String overrideInitialLoadSelect, String overrideChannelId) - Specified by:
reloadTableImmediatein interfaceIDataService
-
reloadTable
-
reloadMissingForeignKeyRowsReverse
public void reloadMissingForeignKeyRowsReverse(String sourceNodeId, Table table, CsvData data, String channelId, boolean sendCorrectionToPeers) - Specified by:
reloadMissingForeignKeyRowsReversein interfaceIDataService
-
reloadMissingForeignKeyRowsForLoad
public void reloadMissingForeignKeyRowsForLoad(String sourceNodeId, long batchId, long rowNumber, Table table, CsvData data, String channelId) - Specified by:
reloadMissingForeignKeyRowsForLoadin interfaceIDataService
-
sendMissingForeignKeyRowsForLoad
-
reloadMissingForeignKeyRows
- Specified by:
reloadMissingForeignKeyRowsin interfaceIDataService
-
reloadMissingForeignKeyRows
-
sendNewerDataToNode
public void sendNewerDataToNode(ISqlTransaction transaction, String targetNodeId, String tableName, String pkCsvData, Date minCreateTime, String winningNodeId) - Specified by:
sendNewerDataToNodein interfaceIDataService
-
insertHeartbeatEvent
Because we can't add a trigger on the _node table, we are artificially generating heartbeat events.- Specified by:
insertHeartbeatEventin interfaceIDataService- Parameters:
node-
-
createData
- Specified by:
createDatain interfaceIDataService
-
createData
- Specified by:
createDatain interfaceIDataService
-
createData
public Data createData(ISqlTransaction transaction, String catalogName, String schemaName, String tableName, String whereClause) - Specified by:
createDatain interfaceIDataService
-
createData
-
getCsvDataFor
protected String getCsvDataFor(ISqlTransaction transaction, Trigger trigger, TriggerHistory triggerHistory, String whereClause, boolean pkOnly) -
countDataGaps
public long countDataGaps()- Specified by:
countDataGapsin interfaceIDataService
-
findDataGapsUnchecked
- Specified by:
findDataGapsUncheckedin interfaceIDataService
-
findDataGapsExpired
- Specified by:
findDataGapsExpiredin interfaceIDataService
-
findDataGaps
-
findDataGaps
- Specified by:
findDataGapsin interfaceIDataService
-
findMaxDataEventDataId
public long findMaxDataEventDataId() -
insertDataGap
- Specified by:
insertDataGapin interfaceIDataService
-
insertDataGap
- Specified by:
insertDataGapin interfaceIDataService
-
insertDataGaps
- Specified by:
insertDataGapsin interfaceIDataService
-
deleteDataGap
- Specified by:
deleteDataGapin interfaceIDataService
-
deleteDataGap
- Specified by:
deleteDataGapin interfaceIDataService
-
deleteDataGaps
- Specified by:
deleteDataGapsin interfaceIDataService
-
deleteAllDataGaps
- Specified by:
deleteAllDataGapsin interfaceIDataService
-
expireDataGaps
- Specified by:
expireDataGapsin interfaceIDataService
-
findCreateTimeOfEvent
- Specified by:
findCreateTimeOfEventin interfaceIDataService
-
findCreateTimeOfData
- Specified by:
findCreateTimeOfDatain interfaceIDataService
-
findNextCreateTimeOfDataStartingAt
- Specified by:
findNextCreateTimeOfDataStartingAtin interfaceIDataService
-
getHeartbeatListeners
Get a list ofIHeartbeatListeners that are ready for a heartbeat according toIHeartbeatListener.getTimeBetweenHeartbeatsInSeconds()- Parameters:
force- if true, then return the entire list ofIHeartbeatListeners
-
updateLastHeartbeatTime
-
heartbeat
public void heartbeat(boolean force) Description copied from interface:IDataServiceUpdateNodeinformation for this node and callIHeartbeatListeners.- Specified by:
heartbeatin interfaceIDataService- See Also:
-
IDataService#heartbeat()
-
listDataIds
- Specified by:
listDataIdsin interfaceIDataService
-
listData
public List<Data> listData(long batchId, String nodeId, long startDataId, String channelId, int maxRowsToRetrieve) - Specified by:
listDatain interfaceIDataService
-
findData
- Specified by:
findDatain interfaceIDataService
-
findData
-
getDataMapper
- Specified by:
getDataMapperin interfaceIDataService
-
selectDataFor
- Specified by:
selectDataForin interfaceIDataService
-
selectDataFor
public ISqlReadCursor<Data> selectDataFor(Long batchId, String targetNodeId, boolean isContainsBigLob) - Specified by:
selectDataForin interfaceIDataService
-
selectDataFor
- Specified by:
selectDataForin interfaceIDataService
-
getDataSelectByBatchSql
-
getDataSelectSql
-
getDataSelectSql
-
getDataOrderBy
-
findMaxDataId
public long findMaxDataId()- Specified by:
findMaxDataIdin interfaceIDataService
-
findMinDataId
public long findMinDataId()- Specified by:
findMinDataIdin interfaceIDataService
-
deleteCapturedConfigChannelData
public void deleteCapturedConfigChannelData()- Specified by:
deleteCapturedConfigChannelDatain interfaceIDataService
-
getLastDataCaptureByChannel
- Specified by:
getLastDataCaptureByChannelin interfaceIDataService
-
fixLastDataGap
public boolean fixLastDataGap()- Specified by:
fixLastDataGapin interfaceIDataService
-
findNodeIdsByNodeGroupId
- Specified by:
findNodeIdsByNodeGroupIdin interfaceIDataService
-
checkInterrupted
- Throws:
InterruptedException
-
resendBatchAsReload
- Specified by:
resendBatchAsReloadin interfaceIDataService
-
resendDataAsReload
public int resendDataAsReload(long minDataId, long maxDataId) - Specified by:
resendDataAsReloadin interfaceIDataService
-
resendDataAsReload
-
convertDataToReload
-
reCaptureData
public int reCaptureData(long minDataId, long maxDataId) - Specified by:
reCaptureDatain interfaceIDataService
-
reCaptureData
-