那些知道 Presto API for plugins 的人的问题。
我实现了 BigQuery 插件。BigQuery 支持类型,在 Presto 中struct
可以表示为类。RowType
RowType
创建RowBlockBuilder
in RowType::createBlockBuilder
,它有RowBlockBuilder::appendStructure
方法,它只需要接受AbstractSingleRowBlock
类的实例。
这意味着在我的 PrestoRecordCursor
BigQueryRecordCursor::getObject
方法的实现中,我必须返回一些AbstractSingleRowBlock
用于具有 type 的字段的东西RowType
。
但是AbstractSingleRowBlock
有包私有抽象方法,这阻止了我实现这个类。唯一的孩子SingleRowBlock
有包私有构造函数,并且没有可以为我构建实例的工厂或构建器。
如何实施struct
支持BigQueryRecordCursor::getObject
?(提醒:BigQueryRecordCursor
是 的孩子RecordCursor
)。