Class QueryingSnapshotter

    • Constructor Detail

      • QueryingSnapshotter

        public QueryingSnapshotter()
    • Method Detail

      • buildSnapshotQuery

        public Optional<String> buildSnapshotQuery​(TableId tableId,
                                                   List<String> snapshotSelectColumns)
        Description copied from interface: Snapshotter
        Generate a valid postgres query string for the specified table, or an empty Optional to skip snapshotting this table (but that table will still be streamed from)
        Specified by:
        buildSnapshotQuery in interface Snapshotter
        Parameters:
        tableId - the table to generate a query for
        snapshotSelectColumns - the columns to be used in the snapshot select based on the column include/exclude filters
        Returns:
        a valid query string, or none to skip snapshotting this table
      • snapshotTransactionIsolationLevelStatement

        public String snapshotTransactionIsolationLevelStatement​(SlotCreationResult newSlotInfo)
        Description copied from interface: Snapshotter
        Return a new string that set up the transaction for snapshotting
        Specified by:
        snapshotTransactionIsolationLevelStatement in interface Snapshotter
        Parameters:
        newSlotInfo - if a new slow was created for snapshotting, this contains information from the `create_replication_slot` command