|
|
@@ -92,7 +92,41 @@ func (c *Client) Insert(req *ports.InsertRequest) (string, error) {
|
|
|
return reply.Statement, nil
|
|
|
}
|
|
|
|
|
|
-// TODO InsertBatch
|
|
|
+func (c *Client) InsertBatch(req *ports.InsertBatchRequest) (string, error) {
|
|
|
+ tableItems := make([]*request.InsertTableItem, 0)
|
|
|
+
|
|
|
+ for _, reqTableItem := range req.Items {
|
|
|
+ items := make([]*request.InsertItem, 0)
|
|
|
+ for _, reqItem := range reqTableItem.Items {
|
|
|
+ tableRow, err := c.formTableRow(reqItem.TableRow)
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+
|
|
|
+ items = append(items, &request.InsertItem{
|
|
|
+ KeyColumns: reqItem.KeyColumns,
|
|
|
+ TableRow: tableRow,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ tableItems = append(tableItems, &request.InsertTableItem{
|
|
|
+ TablePrefixWithSchema: reqTableItem.TablePrefixWithSchema,
|
|
|
+ Version: reqTableItem.Version,
|
|
|
+ Items: items,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ reply, err := c.commandServiceClient.InsertBatch(context.Background(), &request.InsertBatchRequest{
|
|
|
+ DatabaseID: req.DatabaseID,
|
|
|
+ Items: tableItems,
|
|
|
+ UserID: req.UserID,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+
|
|
|
+ return reply.Statement, nil
|
|
|
+}
|
|
|
|
|
|
func (c *Client) Delete(req *ports.DeleteRequest) (string, error) {
|
|
|
reply, err := c.commandServiceClient.Delete(context.Background(), &request.DeleteRequest{
|