async def _seek(self, table_name, key): pdu = self._make_pdu() pdu.seek.table_name = table_name key_fields = utils.make_fields(key) pdu.seek.key.extend(key_fields) rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _read_range_n_ts(self, table_name, start_key, n): pdu = self._make_pdu() pdu.read_range_n_ts.table_name = table_name start_key_fields = utils.make_fields(start_key) pdu.read_range_n_ts.start_key.extend(start_key_fields) pdu.read_range_n_ts.n = n rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _create_table(self, table_name, key_def, options): pdu = self._make_pdu() pdu.create_table.table_name = table_name pdu.create_table.keys.extend(key_def) table_options = utils.make_table_options(options) pdu.create_table.table_options.extend(table_options) rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _update(self, table_name, key, update_operations): pdu = self._make_pdu() pdu.update.table_name = table_name key_fields = utils.make_fields(key) pdu.update.key.extend(key_fields) uol = utils.make_update_operation_list(update_operations) pdu.update.update_operation.extend(uol) rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _write(self, table_name, key, columns): pdu = self._make_pdu() pdu.write.table_name = table_name key_fields = utils.make_fields(key) pdu.write.key.extend(key_fields) columns_fields = utils.make_fields(columns) pdu.write.columns.extend(columns_fields) rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _read_range(self, table_name, start_key, end_key, limit): pdu = self._make_pdu() pdu.read_range.table_name = table_name start_key_fields = utils.make_fields(start_key) pdu.read_range.start_key.extend(start_key_fields) end_key_fields = utils.make_fields(end_key) pdu.read_range.end_key.extend(end_key_fields) pdu.read_range.limit = limit rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _index_read(self, table_name, column_name, term, filter): pdu = self._make_pdu() pdu.index_read.table_name = table_name pdu.index_read.column_name = column_name pdu.index_read.term = term posting_filter = utils.make_posting_filter(filter) pdu.index_read.filter.sort_by = posting_filter.sort_by pdu.index_read.filter.start_ts = posting_filter.start_ts pdu.index_read.filter.end_ts = posting_filter.end_ts pdu.index_read.filter.max_postings = posting_filter.max_postings rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _list_tables(self): pdu = self._make_pdu() pdu.list_tables.SetInParent() rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _remove_index(self, table_name, columns): pdu = self._make_pdu() pdu.remove_index.table_name = table_name pdu.remove_index.columns.extend(columns) rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _add_index(self, table_name, config): pdu = self._make_pdu() pdu.add_index.table_name = table_name pdu.add_index.config.extend(utils.make_index_config_list(config)) rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _prev(self, it): pdu = self._make_pdu() pdu.prev.it = it rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _last(self, table_name): pdu = self._make_pdu() pdu.last.table_name = table_name rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _table_info(self, table_name, attributes): pdu = self._make_pdu() pdu.table_info.table_name = table_name pdu.table_info.attributes.extend(attributes) rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)
async def _close_table(self, table_name): pdu = self._make_pdu() pdu.close_table.table_name = table_name rpdu = await self._write_pdu(pdu) return utils.format_rpdu(rpdu)