com.github.shyiko.mysql.binlog.event.QueryEventData类的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(5.4k)|赞(0)|评价(0)|浏览(303)

本文整理了Java中com.github.shyiko.mysql.binlog.event.QueryEventData类的一些代码示例,展示了QueryEventData类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryEventData类的具体详情如下:
包路径:com.github.shyiko.mysql.binlog.event.QueryEventData
类名称:QueryEventData

QueryEventData介绍

暂无

代码示例

代码示例来源:origin: apache/rocketmq-externals

private void processQueryEvent(Event event) {
  QueryEventData data = event.getData();
  String sql = data.getSql();
  if (createTablePattern.matcher(sql).find()) {
    schema.reset();
  }
}

代码示例来源:origin: zendesk/maxwell

private void processQueryEvent(BinlogConnectorEvent event) throws Exception {
  QueryEventData data = event.queryData();
  processQueryEvent(
    data.getDatabase(),
    data.getSql(),
    this.schemaStore,
    Position.valueOf(event.getPosition(), getLastHeartbeatRead()),
    Position.valueOf(event.getNextPosition(), getLastHeartbeatRead()),
    event.getEvent().getHeader().getTimestamp()
  );
}

代码示例来源:origin: debezium/debezium

QueryEventData command = unwrapData(event);
logger.debug("Received query command: {}", event);
String sql = command.getSql().trim();
if (sql.equalsIgnoreCase("BEGIN")) {
  source.setBinlogThread(command.getThreadId());
  if (initialEventsToSkip != 0) {
    logger.debug("Restarting partially-processed transaction; change events will not be created for the first {} events plus {} more rows in the next event",
      MySqlConnectorConfig.BUFFER_SIZE_FOR_BINLOG_READER.name());
context.dbSchema().applyDdl(context.source(), command.getDatabase(), command.getSql(), (dbName, statements) -> {
  if (recordSchemaChangesInSourceRecords && recordMakers.schemaChanges(dbName, statements, super::enqueueRecord) > 0) {
    logger.debug("Recorded DDL statements for database '{}': {}", dbName, statements);

代码示例来源:origin: shyiko/mysql-binlog-connector-java

@Override
  public QueryEventData deserialize(ByteArrayInputStream inputStream) throws IOException {
    QueryEventData eventData = new QueryEventData();
    eventData.setThreadId(inputStream.readLong(4));
    eventData.setExecutionTime(inputStream.readLong(4));
    inputStream.skip(1); // length of the name of the database
    eventData.setErrorCode(inputStream.readInteger(2));
    inputStream.skip(inputStream.readInteger(2)); // status variables block
    eventData.setDatabase(inputStream.readZeroTerminatedString());
    eventData.setSql(inputStream.readString(inputStream.available()));
    return eventData;
  }
}

代码示例来源:origin: zendesk/maxwell

case QUERY:
  QueryEventData qe = event.queryData();
  String sql = qe.getSql();
  if (BinlogConnectorEvent.BEGIN.equals(sql)) {
    try {
    rowBuffer.setThreadId(qe.getThreadId());
    rowBuffer.setSchemaId(getSchemaId());
  } else {

代码示例来源:origin: zendesk/maxwell

public boolean isCommitEvent() {
  EventType eventType = getType();
  if (eventType == EventType.XID) {
    return true;
  } else if (eventType == EventType.QUERY) {
    // MyISAM will output a "COMMIT" QUERY_EVENT instead of a XID_EVENT.
    // There's no transaction ID but we can still set "commit: true"
    return COMMIT.equals(queryData().getSql());
  }
  return false;
}

代码示例来源:origin: apache/nifi

case QUERY:
  QueryEventData queryEventData = event.getData();
  currentDatabase = queryEventData.getDatabase();
  String sql = queryEventData.getSql();

代码示例来源:origin: shyiko/mysql-binlog-connector-java

case QUERY:
  QueryEventData queryEventData = (QueryEventData) EventDataWrapper.internal(event.getData());
  String sql = queryEventData.getSql();
  if (sql == null) {
    break;

代码示例来源:origin: org.apache.nifi/nifi-cdc-mysql-processors

case QUERY:
  QueryEventData queryEventData = event.getData();
  currentDatabase = queryEventData.getDatabase();
  String sql = queryEventData.getSql();

代码示例来源:origin: debezium/debezium

QueryEventData command = reader.unwrapData(event);
LOGGER.debug("Received query command: {}", event);
String sql = command.getSql().trim();
if (sql.equalsIgnoreCase("BEGIN")) {
  beginTransaction(event);

代码示例来源:origin: debezium/debezium

/**
 * Test case that is normally commented out since it is only useful to print out the DDL statements recorded by
 * the binlog during a MySQL server initialization and startup.
 * 
 * @throws Exception if there are problems
 */
@Ignore
@Test
public void shouldCaptureQueryEventData() throws Exception {
  // Testing.Print.enable();
  startClient(client -> {
    client.setBinlogFilename("mysql-bin.000001");
    client.setBinlogPosition(4);
  });
  counters.consumeAll(5, TimeUnit.SECONDS);
  List<QueryEventData> allQueryEvents = recordedEventData(QueryEventData.class, -1);
  allQueryEvents.forEach(event -> {
    String sql = event.getSql();
    if (sql.equalsIgnoreCase("BEGIN") || sql.equalsIgnoreCase("COMMIT")) return;
    System.out.println(event.getSql());
  });
}

代码示例来源:origin: zendesk/maxwell

case QUERY:
  QueryEventData qe = event.queryData();
  String sql = qe.getSql();
  String upperCaseSql = sql.toUpperCase();

代码示例来源:origin: perfectsense/dari

@Override
public String getSql() {
  if (super.getSql() == null) {
    setSql(new String(statement, Charsets.US_ASCII));
  }
  return super.getSql();
}

代码示例来源:origin: io.debezium/debezium-connector-mysql

/**
 * Test case that is normally commented out since it is only useful to print out the DDL statements recorded by
 * the binlog during a MySQL server initialization and startup.
 * 
 * @throws Exception if there are problems
 */
@Ignore
@Test
public void shouldCaptureQueryEventData() throws Exception {
  // Testing.Print.enable();
  startClient(client -> {
    client.setBinlogFilename("mysql-bin.000001");
    client.setBinlogPosition(4);
  });
  counters.consumeAll(5, TimeUnit.SECONDS);
  List<QueryEventData> allQueryEvents = recordedEventData(QueryEventData.class, -1);
  allQueryEvents.forEach(event -> {
    String sql = event.getSql();
    if (sql.equalsIgnoreCase("BEGIN") || sql.equalsIgnoreCase("COMMIT")) return;
    System.out.println(event.getSql());
  });
}

相关文章

微信公众号

最新文章

更多