From 7e8a487603af231e29e3031ca631a9f54a7c366a Mon Sep 17 00:00:00 2001 From: Benoit Moriceau Date: Mon, 1 Apr 2024 18:45:05 -0700 Subject: [PATCH] feat: Proposal for refreshes needed metadata (#67) --- .../airbyte_protocol/airbyte_protocol.yaml | 22 +++++++++++++++++++ .../airbyte_protocol/v0/airbyte_protocol.yaml | 22 +++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/protocol-models/src/main/resources/airbyte_protocol/airbyte_protocol.yaml b/protocol-models/src/main/resources/airbyte_protocol/airbyte_protocol.yaml index 2f33a4f..fad870a 100644 --- a/protocol-models/src/main/resources/airbyte_protocol/airbyte_protocol.yaml +++ b/protocol-models/src/main/resources/airbyte_protocol/airbyte_protocol.yaml @@ -484,6 +484,28 @@ definitions: type: array items: type: string + generation_id: + description: + "Monotically increasing numeric id representing the current generation of a stream. This id can be shared across syncs. + + If this is null, it means that the platform is not supporting the refresh and it is expected that no extra id will be added to the records and no data from previous generation will be cleanup. + " + type: integer + minimum_generation_id: + description: + "The minimum generation id which is needed in a stream. If it is present, the destination will try to delete the data that are part of a generation lower than this property. + If the minimum generation is equals to 0, no data deletion is expected from the destiantion + + If this is null, it means that the platform is not supporting the refresh and it is expected that no extra id will be added to the records and no data from previous generation will be cleanup. + " + type: integer + sync_id: + description: + "Monotically increasing numeric id representing the current sync id. This is aimed to be unique per sync. + + If this is null, it means that the platform is not supporting the refresh and it is expected that no extra id will be added to the records and no data from previous generation will be cleanup. + " + type: integer SyncMode: type: string enum: diff --git a/protocol-models/src/main/resources/airbyte_protocol/v0/airbyte_protocol.yaml b/protocol-models/src/main/resources/airbyte_protocol/v0/airbyte_protocol.yaml index 7626c43..f01e772 100644 --- a/protocol-models/src/main/resources/airbyte_protocol/v0/airbyte_protocol.yaml +++ b/protocol-models/src/main/resources/airbyte_protocol/v0/airbyte_protocol.yaml @@ -485,6 +485,28 @@ definitions: type: array items: type: string + generation_id: + description: + "Monotically increasing numeric id representing the current generation of a stream. This id can be shared across syncs. + + If this is null, it means that the platform is not supporting the refresh and it is expected that no extra id will be added to the records and no data from previous generation will be cleanup. + " + type: integer + minimum_generation_id: + description: + "The minimum generation id which is needed in a stream. If it is present, the destination will try to delete the data that are part of a generation lower than this property. + If the minimum generation is equals to 0, no data deletion is expected from the destiantion + + If this is null, it means that the platform is not supporting the refresh and it is expected that no extra id will be added to the records and no data from previous generation will be cleanup. + " + type: integer + sync_id: + description: + "Monotically increasing numeric id representing the current sync id. This is aimed to be unique per sync. + + If this is null, it means that the platform is not supporting the refresh and it is expected that no extra id will be added to the records and no data from previous generation will be cleanup. + " + type: integer SyncMode: type: string enum: