Skip to content

Commit 07a94f1

Browse files
committed
more fixes
1 parent 69c9159 commit 07a94f1

File tree

2 files changed

+7
-11
lines changed

2 files changed

+7
-11
lines changed

cloudquery/sdk/internal/servers/plugin_v3/plugin.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import pyarrow as pa
22
import structlog
33

4-
from cloudquery.plugin_v3 import plugin_pb2, plugin_pb2_grpc
4+
from cloudquery.plugin_v3 import plugin_pb2, plugin_pb2_grpc, arrow
55
from cloudquery.sdk.message import SyncInsertMessage, SyncMigrateTableMessage
66
from cloudquery.sdk.plugin.plugin import Plugin, SyncOptions, TableOptions
77
from cloudquery.sdk.schema import tables_to_arrow_schemas
@@ -48,19 +48,14 @@ def Sync(self, request, context):
4848

4949
for msg in self._plugin.sync(options):
5050
if isinstance(msg, SyncInsertMessage):
51-
sink = pa.BufferOutputStream()
52-
writer = pa.ipc.new_stream(sink, msg.record.schema)
53-
writer.write_batch(msg.record)
54-
writer.close()
55-
buf = sink.getvalue().to_pybytes()
51+
buf = arrow.record_to_bytes(msg.record)
5652
yield plugin_pb2.Sync.Response(
5753
insert=plugin_pb2.Sync.MessageInsert(record=buf)
5854
)
5955
elif isinstance(msg, SyncMigrateTableMessage):
56+
buf = arrow.schema_to_bytes(msg.schema)
6057
yield plugin_pb2.Sync.Response(
61-
migrate_table=plugin_pb2.Sync.MessageMigrateTable(
62-
table=msg.table.to_arrow_schema().serialize().to_pybytes()
63-
)
58+
migrate_table=plugin_pb2.Sync.MessageMigrateTable(table=buf)
6459
)
6560
else:
6661
# unknown sync message type

cloudquery/sdk/plugin/plugin.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import queue
22
from dataclasses import dataclass
3-
from typing import List
3+
from typing import List, Generator
44

55
from cloudquery.sdk.schema import Table
6+
from cloudquery.sdk import message
67

78
MIGRATE_MODE_STRINGS = ["safe", "force"]
89

@@ -46,7 +47,7 @@ def version(self) -> str:
4647
def get_tables(self, options: TableOptions) -> List[Table]:
4748
raise NotImplementedError()
4849

49-
def sync(self, options: SyncOptions, results: queue.Queue) -> None:
50+
def sync(self, options: SyncOptions) -> Generator[message.SyncMessage, None, None]:
5051
raise NotImplementedError()
5152

5253
def close(self) -> None:

0 commit comments

Comments
 (0)