yjp vor 3 Monaten
Ursprung
Commit
442afad395

+ 6 - 0
client/client.go

@@ -21,15 +21,21 @@ type Client interface {
 	Replay(request *ReplayRequest) (string, error)
 	QueryByWhereAndOrderBy(request *QueryByWhereAndOrderByRequest) (string, []map[string]any, int64, error)
 	CommonQuery(request *CommonQueryRequest) (string, []map[string]any, int64, error)
+	QueryOnlyByWhereAndOrderBy(request *QueryByWhereAndOrderByRequest) (string, []map[string]any, error)
+	CommonQueryOnly(request *CommonQueryRequest) (string, []map[string]any, error)
 	QueryByKeys(request *QueryByKeysRequest) (string, map[string]any, error)
 	CountWhere(request *CountWhereRequest) (string, int64, error)
 	CommonCount(request *CommonCountRequest) (string, int64, error)
 	EventQueryByKeys(request *EventQueryByKeysRequest) (string, []EventInfo, int64, error)
 	CommonEventQuery(request *CommonEventQueryRequest) (string, []EventInfo, int64, error)
+	EventQueryOnlyByKeys(request *EventQueryByKeysRequest) (string, []EventInfo, error)
+	CommonEventQueryOnly(request *CommonEventQueryRequest) (string, []EventInfo, error)
 	CountEventByKeys(request *CountEventByKeysRequest) (string, int64, error)
 	CommonCountEvent(request *CommonCountEventRequest) (string, int64, error)
 	EventHistoryQueryByKeys(request *EventQueryByKeysRequest) (string, []EventInfo, int64, error)
 	CommonEventHistoryQuery(request *CommonEventQueryRequest) (string, []EventInfo, int64, error)
+	EventHistoryQueryOnlyByKeys(request *EventQueryByKeysRequest) (string, []EventInfo, error)
+	CommonEventHistoryQueryOnly(request *CommonEventQueryRequest) (string, []EventInfo, error)
 	CountEventHistoryByKeys(request *CountEventByKeysRequest) (string, int64, error)
 	CommonCountEventHistory(request *CommonCountEventRequest) (string, int64, error)
 }

+ 179 - 0
dpsv1/client.go

@@ -354,6 +354,91 @@ func (c *Client) CommonQuery(req *client.CommonQueryRequest) (string, []map[stri
 	return reply.Statement, infosMap, reply.TotalCount, nil
 }
 
+func (c *Client) QueryOnlyByWhereAndOrderBy(req *client.QueryByWhereAndOrderByRequest) (string, []map[string]any, error) {
+	selectJsonBytes, err := json.Marshal(req.Select)
+	if err != nil {
+		return "", nil, err
+	}
+
+	whereJsonBytes, err := json.Marshal(req.Where)
+	if err != nil {
+		return "", nil, err
+	}
+
+	reply, err := c.queryServiceClient.QueryOnlyByWhereAndOrderBy(context.Background(), &request.QueryByWhereAndOrderByRequest{
+		DatabaseID:            c.databaseID,
+		TablePrefixWithSchema: req.TablePrefixWithSchema,
+		Version:               req.Version,
+		Select:                selectJsonBytes,
+		Where:                 whereJsonBytes,
+		OrderBy:               req.OrderBy,
+		PageNo:                int32(req.PageNo),
+		PageSize:              int32(req.PageSize),
+	})
+	if err != nil {
+		return "", nil, err
+	}
+
+	infosMap, err := c.infoDataToInfoMapBatch(reply.Infos)
+	if err != nil {
+		return "", nil, err
+	}
+
+	return reply.Statement, infosMap, nil
+}
+
+func (c *Client) CommonQueryOnly(req *client.CommonQueryRequest) (string, []map[string]any, error) {
+	selectJsonBytes, err := json.Marshal(req.Select)
+	if err != nil {
+		return "", nil, err
+	}
+
+	whereJsonBytes, err := json.Marshal(req.Where)
+	if err != nil {
+		return "", nil, err
+	}
+
+	orJsonBytes, err := json.Marshal(req.Or)
+	if err != nil {
+		return "", nil, err
+	}
+
+	joinsJsonBytes, err := json.Marshal(req.Joins)
+	if err != nil {
+		return "", nil, err
+	}
+
+	havingJsonBytes, err := json.Marshal(req.Having)
+	if err != nil {
+		return "", nil, err
+	}
+
+	reply, err := c.queryServiceClient.CommonQueryOnly(context.Background(), &request.CommonQueryRequest{
+		DatabaseID:            c.databaseID,
+		TablePrefixWithSchema: req.TablePrefixWithSchema,
+		Version:               req.Version,
+		Select:                selectJsonBytes,
+		Where:                 whereJsonBytes,
+		OrderBy:               req.OrderBy,
+		Or:                    orJsonBytes,
+		GroupBy:               req.GroupBy,
+		Joins:                 joinsJsonBytes,
+		Having:                havingJsonBytes,
+		PageNo:                int32(req.PageNo),
+		PageSize:              int32(req.PageSize),
+	})
+	if err != nil {
+		return "", nil, err
+	}
+
+	infosMap, err := c.infoDataToInfoMapBatch(reply.Infos)
+	if err != nil {
+		return "", nil, err
+	}
+
+	return reply.Statement, infosMap, nil
+}
+
 func (c *Client) QueryByKeys(req *client.QueryByKeysRequest) (string, map[string]any, error) {
 	selectJsonBytes, err := json.Marshal(req.Select)
 	if err != nil {
@@ -483,6 +568,53 @@ func (c *Client) CommonEventQuery(req *client.CommonEventQueryRequest) (string,
 	return reply.Statement, client.FormEventInfoBatch(reply.Infos), reply.TotalCount, nil
 }
 
+func (c *Client) EventQueryOnlyByKeys(req *client.EventQueryByKeysRequest) (string, []client.EventInfo, error) {
+	selectJsonBytes, err := json.Marshal(req.Select)
+	if err != nil {
+		return "", nil, err
+	}
+
+	reply, err := c.eventQueryServiceClient.EventQueryOnlyByKeys(context.Background(), &request.EventQueryByKeysRequest{
+		DatabaseID:            c.databaseID,
+		TablePrefixWithSchema: req.TablePrefixWithSchema,
+		Select:                selectJsonBytes,
+		KeyValues:             req.KeyValues,
+		PageNo:                int32(req.PageNo),
+		PageSize:              int32(req.PageSize),
+	})
+	if err != nil {
+		return "", nil, err
+	}
+
+	return reply.Statement, client.FormEventInfoBatch(reply.Infos), nil
+}
+
+func (c *Client) CommonEventQueryOnly(req *client.CommonEventQueryRequest) (string, []client.EventInfo, error) {
+	selectJsonBytes, err := json.Marshal(req.Select)
+	if err != nil {
+		return "", nil, err
+	}
+
+	reply, err := c.eventQueryServiceClient.CommonEventQueryOnly(context.Background(), &request.CommonEventQueryRequest{
+		DatabaseID:            c.databaseID,
+		TablePrefixWithSchema: req.TablePrefixWithSchema,
+		Select:                selectJsonBytes,
+		KeyValues:             req.KeyValues,
+		Version:               req.Version,
+		Operation:             req.Operation,
+		CreatorID:             req.CreatorID,
+		StartCreatedTime:      req.StartCreatedTime,
+		EndCreatedTime:        req.EndCreatedTime,
+		PageNo:                int32(req.PageNo),
+		PageSize:              int32(req.PageSize),
+	})
+	if err != nil {
+		return "", nil, err
+	}
+
+	return reply.Statement, client.FormEventInfoBatch(reply.Infos), nil
+}
+
 func (c *Client) CountEventByKeys(req *client.CountEventByKeysRequest) (string, int64, error) {
 	reply, err := c.eventQueryServiceClient.CountEventByKeys(context.Background(), &request.CountEventByKeysRequest{
 		DatabaseID:            c.databaseID,
@@ -561,6 +693,53 @@ func (c *Client) CommonEventHistoryQuery(req *client.CommonEventQueryRequest) (s
 	return reply.Statement, client.FormEventInfoBatch(reply.Infos), reply.TotalCount, nil
 }
 
+func (c *Client) EventHistoryQueryOnlyByKeys(req *client.EventQueryByKeysRequest) (string, []client.EventInfo, error) {
+	selectJsonBytes, err := json.Marshal(req.Select)
+	if err != nil {
+		return "", nil, err
+	}
+
+	reply, err := c.eventQueryServiceClient.EventHistoryQueryOnlyByKeys(context.Background(), &request.EventQueryByKeysRequest{
+		DatabaseID:            c.databaseID,
+		TablePrefixWithSchema: req.TablePrefixWithSchema,
+		Select:                selectJsonBytes,
+		KeyValues:             req.KeyValues,
+		PageNo:                int32(req.PageNo),
+		PageSize:              int32(req.PageSize),
+	})
+	if err != nil {
+		return "", nil, err
+	}
+
+	return reply.Statement, client.FormEventInfoBatch(reply.Infos), nil
+}
+
+func (c *Client) CommonEventHistoryQueryOnly(req *client.CommonEventQueryRequest) (string, []client.EventInfo, error) {
+	selectJsonBytes, err := json.Marshal(req.Select)
+	if err != nil {
+		return "", nil, err
+	}
+
+	reply, err := c.eventQueryServiceClient.CommonEventHistoryQueryOnly(context.Background(), &request.CommonEventQueryRequest{
+		DatabaseID:            c.databaseID,
+		TablePrefixWithSchema: req.TablePrefixWithSchema,
+		Select:                selectJsonBytes,
+		KeyValues:             req.KeyValues,
+		Version:               req.Version,
+		Operation:             req.Operation,
+		CreatorID:             req.CreatorID,
+		StartCreatedTime:      req.StartCreatedTime,
+		EndCreatedTime:        req.EndCreatedTime,
+		PageNo:                int32(req.PageNo),
+		PageSize:              int32(req.PageSize),
+	})
+	if err != nil {
+		return "", nil, err
+	}
+
+	return reply.Statement, client.FormEventInfoBatch(reply.Infos), nil
+}
+
 func (c *Client) CountEventHistoryByKeys(req *client.CountEventByKeysRequest) (string, int64, error) {
 	reply, err := c.eventQueryServiceClient.CountEventHistoryByKeys(context.Background(), &request.CountEventByKeysRequest{
 		DatabaseID:            c.databaseID,

+ 44 - 0
instance_event_query.go

@@ -27,6 +27,28 @@ func CommonEventQuery(req *client.CommonEventQueryRequest) ([]client.EventInfo,
 	return infos, totalCount, nil
 }
 
+func EventQueryOnlyByKeys(req *client.EventQueryByKeysRequest) ([]client.EventInfo, error) {
+	statement, infos, err := dpsClient.EventQueryOnlyByKeys(req)
+	if err != nil {
+		return nil, err
+	}
+
+	fslog.Info(statement)
+
+	return infos, nil
+}
+
+func CommonEventQueryOnly(req *client.CommonEventQueryRequest) ([]client.EventInfo, error) {
+	statement, infos, err := dpsClient.CommonEventQueryOnly(req)
+	if err != nil {
+		return nil, err
+	}
+
+	fslog.Info(statement)
+
+	return infos, nil
+}
+
 func CountEventByKeys(req *client.CountEventByKeysRequest) (int64, error) {
 	statement, count, err := dpsClient.CountEventByKeys(req)
 	if err != nil {
@@ -101,6 +123,28 @@ func CommonEventHistoryQuery(req *client.CommonEventQueryRequest) ([]client.Even
 	return infos, totalCount, nil
 }
 
+func EventHistoryQueryOnlyByKeys(req *client.EventQueryByKeysRequest) ([]client.EventInfo, error) {
+	statement, infos, err := dpsClient.EventHistoryQueryOnlyByKeys(req)
+	if err != nil {
+		return nil, err
+	}
+
+	fslog.Info(statement)
+
+	return infos, nil
+}
+
+func CommonEventHistoryQueryOnly(req *client.CommonEventQueryRequest) ([]client.EventInfo, error) {
+	statement, infos, err := dpsClient.CommonEventHistoryQueryOnly(req)
+	if err != nil {
+		return nil, err
+	}
+
+	fslog.Info(statement)
+
+	return infos, nil
+}
+
 func CountEventHistoryByKeys(req *client.CountEventByKeysRequest) (int64, error) {
 	statement, count, err := dpsClient.CountEventHistoryByKeys(req)
 	if err != nil {

+ 22 - 0
instance_query.go

@@ -27,6 +27,28 @@ func CommonQuery(req *client.CommonQueryRequest) ([]map[string]any, int64, error
 	return dataMaps, totalCount, nil
 }
 
+func QueryOnlyByWhereAndOrderBy(req *client.QueryByWhereAndOrderByRequest) ([]map[string]any, error) {
+	statement, dataMaps, err := dpsClient.QueryOnlyByWhereAndOrderBy(req)
+	if err != nil {
+		return nil, err
+	}
+
+	fslog.Info(statement)
+
+	return dataMaps, nil
+}
+
+func CommonQueryOnly(req *client.CommonQueryRequest) ([]map[string]any, error) {
+	statement, dataMaps, err := dpsClient.CommonQueryOnly(req)
+	if err != nil {
+		return nil, err
+	}
+
+	fslog.Info(statement)
+
+	return dataMaps, nil
+}
+
 func QueryByKeys(req *client.QueryByKeysRequest) (map[string]any, error) {
 	statement, dataMap, err := dpsClient.QueryByKeys(req)
 	if err != nil {

+ 93 - 59
pb/v1/event_query.pb.go

@@ -29,7 +29,7 @@ var file_v1_event_query_proto_rawDesc = []byte{
 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65,
 	0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73,
 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72,
-	0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xdf, 0x05, 0x0a, 0x11, 0x45, 0x76, 0x65, 0x6e,
+	0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xe5, 0x08, 0x0a, 0x11, 0x45, 0x76, 0x65, 0x6e,
 	0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x54, 0x0a,
 	0x10, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79,
 	0x73, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e,
@@ -41,43 +41,68 @@ var file_v1_event_query_proto_rawDesc = []byte{
 	0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65,
 	0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x73, 0x70,
 	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
-	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x10, 0x43, 0x6f, 0x75,
-	0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x2e,
-	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65,
-	0x6e, 0x74, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x14, 0x45, 0x76, 0x65,
+	0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x6c, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79,
+	0x73, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e,
+	0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45,
+	0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73,
+	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5c, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x6c, 0x79, 0x12,
+	0x20, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x76, 0x65,
+	0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
+	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x10, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76,
+	0x65, 0x6e, 0x74, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x79,
+	0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x65,
+	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e,
+	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x10, 0x43,
+	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
+	0x20, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75,
+	0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+	0x00, 0x12, 0x5b, 0x0a, 0x17, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
+	0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x2e, 0x72,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72,
+	0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c,
+	0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51,
+	0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b,
+	0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73,
+	0x74, 0x6f, 0x72, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51,
+	0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x65,
+	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72,
+	0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x1b, 0x45,
+	0x76, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79,
+	0x4f, 0x6e, 0x6c, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42,
+	0x79, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x72,
+	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65,
+	0x72, 0x79, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+	0x12, 0x63, 0x0a, 0x1b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48,
+	0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x6c, 0x79, 0x12,
+	0x20, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x76, 0x65,
+	0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
+	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x17, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76,
+	0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73,
+	0x12, 0x20, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+	0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f,
+	0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+	0x22, 0x00, 0x12, 0x5b, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
+	0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e,
+	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f,
+	0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 	0x1c, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
-	0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
-	0x54, 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76,
-	0x65, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
-	0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
-	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x17, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x69,
-	0x73, 0x74, 0x6f, 0x72, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73,
-	0x12, 0x20, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
-	0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x76,
-	0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
-	0x22, 0x00, 0x12, 0x5b, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e,
-	0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x20, 0x2e,
-	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76,
-	0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
-	0x1c, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
-	0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
-	0x5b, 0x0a, 0x17, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x69, 0x73,
-	0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42,
-	0x79, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72,
-	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65,
-	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x17,
-	0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74,
-	0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
-	0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65,
-	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x72, 0x65, 0x73, 0x70,
-	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52,
-	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x18, 0x5a, 0x16, 0x64, 0x70, 0x73,
-	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62,
-	0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42,
+	0x18, 0x5a, 0x16, 0x64, 0x70, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f,
+	0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x33,
 }
 
 var file_v1_event_query_proto_goTypes = []interface{}{
@@ -86,30 +111,39 @@ var file_v1_event_query_proto_goTypes = []interface{}{
 	(*request.CountEventByKeysRequest)(nil), // 2: request.CountEventByKeysRequest
 	(*request.CommonCountEventRequest)(nil), // 3: request.CommonCountEventRequest
 	(*response.EventQueryResponse)(nil),     // 4: response.EventQueryResponse
-	(*response.CountEventResponse)(nil),     // 5: response.CountEventResponse
+	(*response.EventQueryOnlyResponse)(nil), // 5: response.EventQueryOnlyResponse
+	(*response.CountEventResponse)(nil),     // 6: response.CountEventResponse
 }
 var file_v1_event_query_proto_depIdxs = []int32{
-	0, // 0: v1.EventQueryService.EventQueryByKeys:input_type -> request.EventQueryByKeysRequest
-	1, // 1: v1.EventQueryService.CommonEventQuery:input_type -> request.CommonEventQueryRequest
-	2, // 2: v1.EventQueryService.CountEventByKeys:input_type -> request.CountEventByKeysRequest
-	3, // 3: v1.EventQueryService.CommonCountEvent:input_type -> request.CommonCountEventRequest
-	0, // 4: v1.EventQueryService.EventHistoryQueryByKeys:input_type -> request.EventQueryByKeysRequest
-	1, // 5: v1.EventQueryService.CommonEventHistoryQuery:input_type -> request.CommonEventQueryRequest
-	2, // 6: v1.EventQueryService.CountEventHistoryByKeys:input_type -> request.CountEventByKeysRequest
-	3, // 7: v1.EventQueryService.CommonCountEventHistory:input_type -> request.CommonCountEventRequest
-	4, // 8: v1.EventQueryService.EventQueryByKeys:output_type -> response.EventQueryResponse
-	4, // 9: v1.EventQueryService.CommonEventQuery:output_type -> response.EventQueryResponse
-	5, // 10: v1.EventQueryService.CountEventByKeys:output_type -> response.CountEventResponse
-	5, // 11: v1.EventQueryService.CommonCountEvent:output_type -> response.CountEventResponse
-	4, // 12: v1.EventQueryService.EventHistoryQueryByKeys:output_type -> response.EventQueryResponse
-	4, // 13: v1.EventQueryService.CommonEventHistoryQuery:output_type -> response.EventQueryResponse
-	5, // 14: v1.EventQueryService.CountEventHistoryByKeys:output_type -> response.CountEventResponse
-	5, // 15: v1.EventQueryService.CommonCountEventHistory:output_type -> response.CountEventResponse
-	8, // [8:16] is the sub-list for method output_type
-	0, // [0:8] is the sub-list for method input_type
-	0, // [0:0] is the sub-list for extension type_name
-	0, // [0:0] is the sub-list for extension extendee
-	0, // [0:0] is the sub-list for field type_name
+	0,  // 0: v1.EventQueryService.EventQueryByKeys:input_type -> request.EventQueryByKeysRequest
+	1,  // 1: v1.EventQueryService.CommonEventQuery:input_type -> request.CommonEventQueryRequest
+	0,  // 2: v1.EventQueryService.EventQueryOnlyByKeys:input_type -> request.EventQueryByKeysRequest
+	1,  // 3: v1.EventQueryService.CommonEventQueryOnly:input_type -> request.CommonEventQueryRequest
+	2,  // 4: v1.EventQueryService.CountEventByKeys:input_type -> request.CountEventByKeysRequest
+	3,  // 5: v1.EventQueryService.CommonCountEvent:input_type -> request.CommonCountEventRequest
+	0,  // 6: v1.EventQueryService.EventHistoryQueryByKeys:input_type -> request.EventQueryByKeysRequest
+	1,  // 7: v1.EventQueryService.CommonEventHistoryQuery:input_type -> request.CommonEventQueryRequest
+	0,  // 8: v1.EventQueryService.EventHistoryQueryOnlyByKeys:input_type -> request.EventQueryByKeysRequest
+	1,  // 9: v1.EventQueryService.CommonEventHistoryQueryOnly:input_type -> request.CommonEventQueryRequest
+	2,  // 10: v1.EventQueryService.CountEventHistoryByKeys:input_type -> request.CountEventByKeysRequest
+	3,  // 11: v1.EventQueryService.CommonCountEventHistory:input_type -> request.CommonCountEventRequest
+	4,  // 12: v1.EventQueryService.EventQueryByKeys:output_type -> response.EventQueryResponse
+	4,  // 13: v1.EventQueryService.CommonEventQuery:output_type -> response.EventQueryResponse
+	5,  // 14: v1.EventQueryService.EventQueryOnlyByKeys:output_type -> response.EventQueryOnlyResponse
+	5,  // 15: v1.EventQueryService.CommonEventQueryOnly:output_type -> response.EventQueryOnlyResponse
+	6,  // 16: v1.EventQueryService.CountEventByKeys:output_type -> response.CountEventResponse
+	6,  // 17: v1.EventQueryService.CommonCountEvent:output_type -> response.CountEventResponse
+	4,  // 18: v1.EventQueryService.EventHistoryQueryByKeys:output_type -> response.EventQueryResponse
+	4,  // 19: v1.EventQueryService.CommonEventHistoryQuery:output_type -> response.EventQueryResponse
+	5,  // 20: v1.EventQueryService.EventHistoryQueryOnlyByKeys:output_type -> response.EventQueryOnlyResponse
+	5,  // 21: v1.EventQueryService.CommonEventHistoryQueryOnly:output_type -> response.EventQueryOnlyResponse
+	6,  // 22: v1.EventQueryService.CountEventHistoryByKeys:output_type -> response.CountEventResponse
+	6,  // 23: v1.EventQueryService.CommonCountEventHistory:output_type -> response.CountEventResponse
+	12, // [12:24] is the sub-list for method output_type
+	0,  // [0:12] is the sub-list for method input_type
+	0,  // [0:0] is the sub-list for extension type_name
+	0,  // [0:0] is the sub-list for extension extendee
+	0,  // [0:0] is the sub-list for field type_name
 }
 
 func init() { file_v1_event_query_proto_init() }

+ 144 - 0
pb/v1/event_query_grpc.pb.go

@@ -26,10 +26,14 @@ const _ = grpc.SupportPackageIsVersion7
 type EventQueryServiceClient interface {
 	EventQueryByKeys(ctx context.Context, in *request.EventQueryByKeysRequest, opts ...grpc.CallOption) (*response.EventQueryResponse, error)
 	CommonEventQuery(ctx context.Context, in *request.CommonEventQueryRequest, opts ...grpc.CallOption) (*response.EventQueryResponse, error)
+	EventQueryOnlyByKeys(ctx context.Context, in *request.EventQueryByKeysRequest, opts ...grpc.CallOption) (*response.EventQueryOnlyResponse, error)
+	CommonEventQueryOnly(ctx context.Context, in *request.CommonEventQueryRequest, opts ...grpc.CallOption) (*response.EventQueryOnlyResponse, error)
 	CountEventByKeys(ctx context.Context, in *request.CountEventByKeysRequest, opts ...grpc.CallOption) (*response.CountEventResponse, error)
 	CommonCountEvent(ctx context.Context, in *request.CommonCountEventRequest, opts ...grpc.CallOption) (*response.CountEventResponse, error)
 	EventHistoryQueryByKeys(ctx context.Context, in *request.EventQueryByKeysRequest, opts ...grpc.CallOption) (*response.EventQueryResponse, error)
 	CommonEventHistoryQuery(ctx context.Context, in *request.CommonEventQueryRequest, opts ...grpc.CallOption) (*response.EventQueryResponse, error)
+	EventHistoryQueryOnlyByKeys(ctx context.Context, in *request.EventQueryByKeysRequest, opts ...grpc.CallOption) (*response.EventQueryOnlyResponse, error)
+	CommonEventHistoryQueryOnly(ctx context.Context, in *request.CommonEventQueryRequest, opts ...grpc.CallOption) (*response.EventQueryOnlyResponse, error)
 	CountEventHistoryByKeys(ctx context.Context, in *request.CountEventByKeysRequest, opts ...grpc.CallOption) (*response.CountEventResponse, error)
 	CommonCountEventHistory(ctx context.Context, in *request.CommonCountEventRequest, opts ...grpc.CallOption) (*response.CountEventResponse, error)
 }
@@ -60,6 +64,24 @@ func (c *eventQueryServiceClient) CommonEventQuery(ctx context.Context, in *requ
 	return out, nil
 }
 
+func (c *eventQueryServiceClient) EventQueryOnlyByKeys(ctx context.Context, in *request.EventQueryByKeysRequest, opts ...grpc.CallOption) (*response.EventQueryOnlyResponse, error) {
+	out := new(response.EventQueryOnlyResponse)
+	err := c.cc.Invoke(ctx, "/v1.EventQueryService/EventQueryOnlyByKeys", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *eventQueryServiceClient) CommonEventQueryOnly(ctx context.Context, in *request.CommonEventQueryRequest, opts ...grpc.CallOption) (*response.EventQueryOnlyResponse, error) {
+	out := new(response.EventQueryOnlyResponse)
+	err := c.cc.Invoke(ctx, "/v1.EventQueryService/CommonEventQueryOnly", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 func (c *eventQueryServiceClient) CountEventByKeys(ctx context.Context, in *request.CountEventByKeysRequest, opts ...grpc.CallOption) (*response.CountEventResponse, error) {
 	out := new(response.CountEventResponse)
 	err := c.cc.Invoke(ctx, "/v1.EventQueryService/CountEventByKeys", in, out, opts...)
@@ -96,6 +118,24 @@ func (c *eventQueryServiceClient) CommonEventHistoryQuery(ctx context.Context, i
 	return out, nil
 }
 
+func (c *eventQueryServiceClient) EventHistoryQueryOnlyByKeys(ctx context.Context, in *request.EventQueryByKeysRequest, opts ...grpc.CallOption) (*response.EventQueryOnlyResponse, error) {
+	out := new(response.EventQueryOnlyResponse)
+	err := c.cc.Invoke(ctx, "/v1.EventQueryService/EventHistoryQueryOnlyByKeys", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *eventQueryServiceClient) CommonEventHistoryQueryOnly(ctx context.Context, in *request.CommonEventQueryRequest, opts ...grpc.CallOption) (*response.EventQueryOnlyResponse, error) {
+	out := new(response.EventQueryOnlyResponse)
+	err := c.cc.Invoke(ctx, "/v1.EventQueryService/CommonEventHistoryQueryOnly", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 func (c *eventQueryServiceClient) CountEventHistoryByKeys(ctx context.Context, in *request.CountEventByKeysRequest, opts ...grpc.CallOption) (*response.CountEventResponse, error) {
 	out := new(response.CountEventResponse)
 	err := c.cc.Invoke(ctx, "/v1.EventQueryService/CountEventHistoryByKeys", in, out, opts...)
@@ -120,10 +160,14 @@ func (c *eventQueryServiceClient) CommonCountEventHistory(ctx context.Context, i
 type EventQueryServiceServer interface {
 	EventQueryByKeys(context.Context, *request.EventQueryByKeysRequest) (*response.EventQueryResponse, error)
 	CommonEventQuery(context.Context, *request.CommonEventQueryRequest) (*response.EventQueryResponse, error)
+	EventQueryOnlyByKeys(context.Context, *request.EventQueryByKeysRequest) (*response.EventQueryOnlyResponse, error)
+	CommonEventQueryOnly(context.Context, *request.CommonEventQueryRequest) (*response.EventQueryOnlyResponse, error)
 	CountEventByKeys(context.Context, *request.CountEventByKeysRequest) (*response.CountEventResponse, error)
 	CommonCountEvent(context.Context, *request.CommonCountEventRequest) (*response.CountEventResponse, error)
 	EventHistoryQueryByKeys(context.Context, *request.EventQueryByKeysRequest) (*response.EventQueryResponse, error)
 	CommonEventHistoryQuery(context.Context, *request.CommonEventQueryRequest) (*response.EventQueryResponse, error)
+	EventHistoryQueryOnlyByKeys(context.Context, *request.EventQueryByKeysRequest) (*response.EventQueryOnlyResponse, error)
+	CommonEventHistoryQueryOnly(context.Context, *request.CommonEventQueryRequest) (*response.EventQueryOnlyResponse, error)
 	CountEventHistoryByKeys(context.Context, *request.CountEventByKeysRequest) (*response.CountEventResponse, error)
 	CommonCountEventHistory(context.Context, *request.CommonCountEventRequest) (*response.CountEventResponse, error)
 	mustEmbedUnimplementedEventQueryServiceServer()
@@ -139,6 +183,12 @@ func (UnimplementedEventQueryServiceServer) EventQueryByKeys(context.Context, *r
 func (UnimplementedEventQueryServiceServer) CommonEventQuery(context.Context, *request.CommonEventQueryRequest) (*response.EventQueryResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method CommonEventQuery not implemented")
 }
+func (UnimplementedEventQueryServiceServer) EventQueryOnlyByKeys(context.Context, *request.EventQueryByKeysRequest) (*response.EventQueryOnlyResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method EventQueryOnlyByKeys not implemented")
+}
+func (UnimplementedEventQueryServiceServer) CommonEventQueryOnly(context.Context, *request.CommonEventQueryRequest) (*response.EventQueryOnlyResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CommonEventQueryOnly not implemented")
+}
 func (UnimplementedEventQueryServiceServer) CountEventByKeys(context.Context, *request.CountEventByKeysRequest) (*response.CountEventResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method CountEventByKeys not implemented")
 }
@@ -151,6 +201,12 @@ func (UnimplementedEventQueryServiceServer) EventHistoryQueryByKeys(context.Cont
 func (UnimplementedEventQueryServiceServer) CommonEventHistoryQuery(context.Context, *request.CommonEventQueryRequest) (*response.EventQueryResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method CommonEventHistoryQuery not implemented")
 }
+func (UnimplementedEventQueryServiceServer) EventHistoryQueryOnlyByKeys(context.Context, *request.EventQueryByKeysRequest) (*response.EventQueryOnlyResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method EventHistoryQueryOnlyByKeys not implemented")
+}
+func (UnimplementedEventQueryServiceServer) CommonEventHistoryQueryOnly(context.Context, *request.CommonEventQueryRequest) (*response.EventQueryOnlyResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CommonEventHistoryQueryOnly not implemented")
+}
 func (UnimplementedEventQueryServiceServer) CountEventHistoryByKeys(context.Context, *request.CountEventByKeysRequest) (*response.CountEventResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method CountEventHistoryByKeys not implemented")
 }
@@ -206,6 +262,42 @@ func _EventQueryService_CommonEventQuery_Handler(srv interface{}, ctx context.Co
 	return interceptor(ctx, in, info, handler)
 }
 
+func _EventQueryService_EventQueryOnlyByKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(request.EventQueryByKeysRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(EventQueryServiceServer).EventQueryOnlyByKeys(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/v1.EventQueryService/EventQueryOnlyByKeys",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(EventQueryServiceServer).EventQueryOnlyByKeys(ctx, req.(*request.EventQueryByKeysRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _EventQueryService_CommonEventQueryOnly_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(request.CommonEventQueryRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(EventQueryServiceServer).CommonEventQueryOnly(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/v1.EventQueryService/CommonEventQueryOnly",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(EventQueryServiceServer).CommonEventQueryOnly(ctx, req.(*request.CommonEventQueryRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 func _EventQueryService_CountEventByKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(request.CountEventByKeysRequest)
 	if err := dec(in); err != nil {
@@ -278,6 +370,42 @@ func _EventQueryService_CommonEventHistoryQuery_Handler(srv interface{}, ctx con
 	return interceptor(ctx, in, info, handler)
 }
 
+func _EventQueryService_EventHistoryQueryOnlyByKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(request.EventQueryByKeysRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(EventQueryServiceServer).EventHistoryQueryOnlyByKeys(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/v1.EventQueryService/EventHistoryQueryOnlyByKeys",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(EventQueryServiceServer).EventHistoryQueryOnlyByKeys(ctx, req.(*request.EventQueryByKeysRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _EventQueryService_CommonEventHistoryQueryOnly_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(request.CommonEventQueryRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(EventQueryServiceServer).CommonEventHistoryQueryOnly(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/v1.EventQueryService/CommonEventHistoryQueryOnly",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(EventQueryServiceServer).CommonEventHistoryQueryOnly(ctx, req.(*request.CommonEventQueryRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 func _EventQueryService_CountEventHistoryByKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(request.CountEventByKeysRequest)
 	if err := dec(in); err != nil {
@@ -329,6 +457,14 @@ var EventQueryService_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "CommonEventQuery",
 			Handler:    _EventQueryService_CommonEventQuery_Handler,
 		},
+		{
+			MethodName: "EventQueryOnlyByKeys",
+			Handler:    _EventQueryService_EventQueryOnlyByKeys_Handler,
+		},
+		{
+			MethodName: "CommonEventQueryOnly",
+			Handler:    _EventQueryService_CommonEventQueryOnly_Handler,
+		},
 		{
 			MethodName: "CountEventByKeys",
 			Handler:    _EventQueryService_CountEventByKeys_Handler,
@@ -345,6 +481,14 @@ var EventQueryService_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "CommonEventHistoryQuery",
 			Handler:    _EventQueryService_CommonEventHistoryQuery_Handler,
 		},
+		{
+			MethodName: "EventHistoryQueryOnlyByKeys",
+			Handler:    _EventQueryService_EventHistoryQueryOnlyByKeys_Handler,
+		},
+		{
+			MethodName: "CommonEventHistoryQueryOnly",
+			Handler:    _EventQueryService_CommonEventHistoryQueryOnly_Handler,
+		},
 		{
 			MethodName: "CountEventHistoryByKeys",
 			Handler:    _EventQueryService_CountEventHistoryByKeys_Handler,

+ 46 - 30
pb/v1/query.pb.go

@@ -28,7 +28,7 @@ var file_v1_query_proto_rawDesc = []byte{
 	0x12, 0x02, 0x76, 0x31, 0x1a, 0x16, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 	0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x31,
 	0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x8b, 0x03, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xbf, 0x04, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53,
 	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42,
 	0x79, 0x57, 0x68, 0x65, 0x72, 0x65, 0x41, 0x6e, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79,
 	0x12, 0x26, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
@@ -39,23 +39,34 @@ var file_v1_query_proto_rawDesc = []byte{
 	0x72, 0x79, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d,
 	0x6d, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 	0x17, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
-	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0b, 0x51, 0x75,
-	0x65, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x71, 0x75,
-	0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x52,
-	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
-	0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73,
-	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0a, 0x43, 0x6f, 0x75, 0x6e, 0x74,
-	0x57, 0x68, 0x65, 0x72, 0x65, 0x12, 0x1a, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
-	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x68, 0x65, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
-	0x74, 0x1a, 0x17, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75,
-	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0b,
-	0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x72, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
-	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f,
-	0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
-	0x65, 0x22, 0x00, 0x42, 0x18, 0x5a, 0x16, 0x64, 0x70, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67,
-	0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x1a, 0x51, 0x75,
+	0x65, 0x72, 0x79, 0x4f, 0x6e, 0x6c, 0x79, 0x42, 0x79, 0x57, 0x68, 0x65, 0x72, 0x65, 0x41, 0x6e,
+	0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x26, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x57, 0x68, 0x65, 0x72, 0x65, 0x41,
+	0x6e, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+	0x1a, 0x1b, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72,
+	0x79, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
+	0x4d, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e,
+	0x6c, 0x79, 0x12, 0x1b, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+	0x1b, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
+	0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b,
+	0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1b, 0x2e,
+	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4b,
+	0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x73,
+	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79,
+	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0a, 0x43,
+	0x6f, 0x75, 0x6e, 0x74, 0x57, 0x68, 0x65, 0x72, 0x65, 0x12, 0x1a, 0x2e, 0x72, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x68, 0x65, 0x72, 0x65, 0x52, 0x65,
+	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+	0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
+	0x12, 0x45, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
+	0x1b, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x72,
+	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73,
+	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x18, 0x5a, 0x16, 0x64, 0x70, 0x73, 0x2f, 0x61,
+	0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x76,
+	0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var file_v1_query_proto_goTypes = []interface{}{
@@ -65,22 +76,27 @@ var file_v1_query_proto_goTypes = []interface{}{
 	(*request.CountWhereRequest)(nil),             // 3: request.CountWhereRequest
 	(*request.CommonCountRequest)(nil),            // 4: request.CommonCountRequest
 	(*response.QueryResponse)(nil),                // 5: response.QueryResponse
-	(*response.QueryByKeysResponse)(nil),          // 6: response.QueryByKeysResponse
-	(*response.CountResponse)(nil),                // 7: response.CountResponse
+	(*response.QueryOnlyResponse)(nil),            // 6: response.QueryOnlyResponse
+	(*response.QueryByKeysResponse)(nil),          // 7: response.QueryByKeysResponse
+	(*response.CountResponse)(nil),                // 8: response.CountResponse
 }
 var file_v1_query_proto_depIdxs = []int32{
 	0, // 0: v1.QueryService.QueryByWhereAndOrderBy:input_type -> request.QueryByWhereAndOrderByRequest
 	1, // 1: v1.QueryService.CommonQuery:input_type -> request.CommonQueryRequest
-	2, // 2: v1.QueryService.QueryByKeys:input_type -> request.QueryByKeysRequest
-	3, // 3: v1.QueryService.CountWhere:input_type -> request.CountWhereRequest
-	4, // 4: v1.QueryService.CommonCount:input_type -> request.CommonCountRequest
-	5, // 5: v1.QueryService.QueryByWhereAndOrderBy:output_type -> response.QueryResponse
-	5, // 6: v1.QueryService.CommonQuery:output_type -> response.QueryResponse
-	6, // 7: v1.QueryService.QueryByKeys:output_type -> response.QueryByKeysResponse
-	7, // 8: v1.QueryService.CountWhere:output_type -> response.CountResponse
-	7, // 9: v1.QueryService.CommonCount:output_type -> response.CountResponse
-	5, // [5:10] is the sub-list for method output_type
-	0, // [0:5] is the sub-list for method input_type
+	0, // 2: v1.QueryService.QueryOnlyByWhereAndOrderBy:input_type -> request.QueryByWhereAndOrderByRequest
+	1, // 3: v1.QueryService.CommonQueryOnly:input_type -> request.CommonQueryRequest
+	2, // 4: v1.QueryService.QueryByKeys:input_type -> request.QueryByKeysRequest
+	3, // 5: v1.QueryService.CountWhere:input_type -> request.CountWhereRequest
+	4, // 6: v1.QueryService.CommonCount:input_type -> request.CommonCountRequest
+	5, // 7: v1.QueryService.QueryByWhereAndOrderBy:output_type -> response.QueryResponse
+	5, // 8: v1.QueryService.CommonQuery:output_type -> response.QueryResponse
+	6, // 9: v1.QueryService.QueryOnlyByWhereAndOrderBy:output_type -> response.QueryOnlyResponse
+	6, // 10: v1.QueryService.CommonQueryOnly:output_type -> response.QueryOnlyResponse
+	7, // 11: v1.QueryService.QueryByKeys:output_type -> response.QueryByKeysResponse
+	8, // 12: v1.QueryService.CountWhere:output_type -> response.CountResponse
+	8, // 13: v1.QueryService.CommonCount:output_type -> response.CountResponse
+	7, // [7:14] is the sub-list for method output_type
+	0, // [0:7] is the sub-list for method input_type
 	0, // [0:0] is the sub-list for extension type_name
 	0, // [0:0] is the sub-list for extension extendee
 	0, // [0:0] is the sub-list for field type_name

+ 72 - 0
pb/v1/query_grpc.pb.go

@@ -26,6 +26,8 @@ const _ = grpc.SupportPackageIsVersion7
 type QueryServiceClient interface {
 	QueryByWhereAndOrderBy(ctx context.Context, in *request.QueryByWhereAndOrderByRequest, opts ...grpc.CallOption) (*response.QueryResponse, error)
 	CommonQuery(ctx context.Context, in *request.CommonQueryRequest, opts ...grpc.CallOption) (*response.QueryResponse, error)
+	QueryOnlyByWhereAndOrderBy(ctx context.Context, in *request.QueryByWhereAndOrderByRequest, opts ...grpc.CallOption) (*response.QueryOnlyResponse, error)
+	CommonQueryOnly(ctx context.Context, in *request.CommonQueryRequest, opts ...grpc.CallOption) (*response.QueryOnlyResponse, error)
 	QueryByKeys(ctx context.Context, in *request.QueryByKeysRequest, opts ...grpc.CallOption) (*response.QueryByKeysResponse, error)
 	CountWhere(ctx context.Context, in *request.CountWhereRequest, opts ...grpc.CallOption) (*response.CountResponse, error)
 	CommonCount(ctx context.Context, in *request.CommonCountRequest, opts ...grpc.CallOption) (*response.CountResponse, error)
@@ -57,6 +59,24 @@ func (c *queryServiceClient) CommonQuery(ctx context.Context, in *request.Common
 	return out, nil
 }
 
+func (c *queryServiceClient) QueryOnlyByWhereAndOrderBy(ctx context.Context, in *request.QueryByWhereAndOrderByRequest, opts ...grpc.CallOption) (*response.QueryOnlyResponse, error) {
+	out := new(response.QueryOnlyResponse)
+	err := c.cc.Invoke(ctx, "/v1.QueryService/QueryOnlyByWhereAndOrderBy", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *queryServiceClient) CommonQueryOnly(ctx context.Context, in *request.CommonQueryRequest, opts ...grpc.CallOption) (*response.QueryOnlyResponse, error) {
+	out := new(response.QueryOnlyResponse)
+	err := c.cc.Invoke(ctx, "/v1.QueryService/CommonQueryOnly", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 func (c *queryServiceClient) QueryByKeys(ctx context.Context, in *request.QueryByKeysRequest, opts ...grpc.CallOption) (*response.QueryByKeysResponse, error) {
 	out := new(response.QueryByKeysResponse)
 	err := c.cc.Invoke(ctx, "/v1.QueryService/QueryByKeys", in, out, opts...)
@@ -90,6 +110,8 @@ func (c *queryServiceClient) CommonCount(ctx context.Context, in *request.Common
 type QueryServiceServer interface {
 	QueryByWhereAndOrderBy(context.Context, *request.QueryByWhereAndOrderByRequest) (*response.QueryResponse, error)
 	CommonQuery(context.Context, *request.CommonQueryRequest) (*response.QueryResponse, error)
+	QueryOnlyByWhereAndOrderBy(context.Context, *request.QueryByWhereAndOrderByRequest) (*response.QueryOnlyResponse, error)
+	CommonQueryOnly(context.Context, *request.CommonQueryRequest) (*response.QueryOnlyResponse, error)
 	QueryByKeys(context.Context, *request.QueryByKeysRequest) (*response.QueryByKeysResponse, error)
 	CountWhere(context.Context, *request.CountWhereRequest) (*response.CountResponse, error)
 	CommonCount(context.Context, *request.CommonCountRequest) (*response.CountResponse, error)
@@ -106,6 +128,12 @@ func (UnimplementedQueryServiceServer) QueryByWhereAndOrderBy(context.Context, *
 func (UnimplementedQueryServiceServer) CommonQuery(context.Context, *request.CommonQueryRequest) (*response.QueryResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method CommonQuery not implemented")
 }
+func (UnimplementedQueryServiceServer) QueryOnlyByWhereAndOrderBy(context.Context, *request.QueryByWhereAndOrderByRequest) (*response.QueryOnlyResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method QueryOnlyByWhereAndOrderBy not implemented")
+}
+func (UnimplementedQueryServiceServer) CommonQueryOnly(context.Context, *request.CommonQueryRequest) (*response.QueryOnlyResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CommonQueryOnly not implemented")
+}
 func (UnimplementedQueryServiceServer) QueryByKeys(context.Context, *request.QueryByKeysRequest) (*response.QueryByKeysResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method QueryByKeys not implemented")
 }
@@ -164,6 +192,42 @@ func _QueryService_CommonQuery_Handler(srv interface{}, ctx context.Context, dec
 	return interceptor(ctx, in, info, handler)
 }
 
+func _QueryService_QueryOnlyByWhereAndOrderBy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(request.QueryByWhereAndOrderByRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(QueryServiceServer).QueryOnlyByWhereAndOrderBy(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/v1.QueryService/QueryOnlyByWhereAndOrderBy",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(QueryServiceServer).QueryOnlyByWhereAndOrderBy(ctx, req.(*request.QueryByWhereAndOrderByRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _QueryService_CommonQueryOnly_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(request.CommonQueryRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(QueryServiceServer).CommonQueryOnly(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/v1.QueryService/CommonQueryOnly",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(QueryServiceServer).CommonQueryOnly(ctx, req.(*request.CommonQueryRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 func _QueryService_QueryByKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(request.QueryByKeysRequest)
 	if err := dec(in); err != nil {
@@ -233,6 +297,14 @@ var QueryService_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "CommonQuery",
 			Handler:    _QueryService_CommonQuery_Handler,
 		},
+		{
+			MethodName: "QueryOnlyByWhereAndOrderBy",
+			Handler:    _QueryService_QueryOnlyByWhereAndOrderBy_Handler,
+		},
+		{
+			MethodName: "CommonQueryOnly",
+			Handler:    _QueryService_CommonQueryOnly_Handler,
+		},
 		{
 			MethodName: "QueryByKeys",
 			Handler:    _QueryService_QueryByKeys_Handler,

+ 122 - 38
pb/v1/response/event_query.pb.go

@@ -91,6 +91,69 @@ func (x *EventQueryResponse) GetPageNo() int32 {
 	return 0
 }
 
+type EventQueryOnlyResponse struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	Statement string       `protobuf:"bytes,1,opt,name=Statement,proto3" json:"Statement,omitempty"`
+	Infos     []*EventInfo `protobuf:"bytes,2,rep,name=Infos,proto3" json:"Infos,omitempty"`
+	PageNo    int32        `protobuf:"varint,3,opt,name=PageNo,proto3" json:"PageNo,omitempty"`
+}
+
+func (x *EventQueryOnlyResponse) Reset() {
+	*x = EventQueryOnlyResponse{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_v1_response_event_query_proto_msgTypes[1]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *EventQueryOnlyResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EventQueryOnlyResponse) ProtoMessage() {}
+
+func (x *EventQueryOnlyResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_v1_response_event_query_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use EventQueryOnlyResponse.ProtoReflect.Descriptor instead.
+func (*EventQueryOnlyResponse) Descriptor() ([]byte, []int) {
+	return file_v1_response_event_query_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *EventQueryOnlyResponse) GetStatement() string {
+	if x != nil {
+		return x.Statement
+	}
+	return ""
+}
+
+func (x *EventQueryOnlyResponse) GetInfos() []*EventInfo {
+	if x != nil {
+		return x.Infos
+	}
+	return nil
+}
+
+func (x *EventQueryOnlyResponse) GetPageNo() int32 {
+	if x != nil {
+		return x.PageNo
+	}
+	return 0
+}
+
 type CountEventResponse struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -103,7 +166,7 @@ type CountEventResponse struct {
 func (x *CountEventResponse) Reset() {
 	*x = CountEventResponse{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_v1_response_event_query_proto_msgTypes[1]
+		mi := &file_v1_response_event_query_proto_msgTypes[2]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -116,7 +179,7 @@ func (x *CountEventResponse) String() string {
 func (*CountEventResponse) ProtoMessage() {}
 
 func (x *CountEventResponse) ProtoReflect() protoreflect.Message {
-	mi := &file_v1_response_event_query_proto_msgTypes[1]
+	mi := &file_v1_response_event_query_proto_msgTypes[2]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -129,7 +192,7 @@ func (x *CountEventResponse) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use CountEventResponse.ProtoReflect.Descriptor instead.
 func (*CountEventResponse) Descriptor() ([]byte, []int) {
-	return file_v1_response_event_query_proto_rawDescGZIP(), []int{1}
+	return file_v1_response_event_query_proto_rawDescGZIP(), []int{2}
 }
 
 func (x *CountEventResponse) GetStatement() string {
@@ -162,7 +225,7 @@ type EventInfo struct {
 func (x *EventInfo) Reset() {
 	*x = EventInfo{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_v1_response_event_query_proto_msgTypes[2]
+		mi := &file_v1_response_event_query_proto_msgTypes[3]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -175,7 +238,7 @@ func (x *EventInfo) String() string {
 func (*EventInfo) ProtoMessage() {}
 
 func (x *EventInfo) ProtoReflect() protoreflect.Message {
-	mi := &file_v1_response_event_query_proto_msgTypes[2]
+	mi := &file_v1_response_event_query_proto_msgTypes[3]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -188,7 +251,7 @@ func (x *EventInfo) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use EventInfo.ProtoReflect.Descriptor instead.
 func (*EventInfo) Descriptor() ([]byte, []int) {
-	return file_v1_response_event_query_proto_rawDescGZIP(), []int{2}
+	return file_v1_response_event_query_proto_rawDescGZIP(), []int{3}
 }
 
 func (x *EventInfo) GetKey() string {
@@ -248,26 +311,33 @@ var file_v1_response_event_query_proto_rawDesc = []byte{
 	0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x54,
 	0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x67,
 	0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e,
-	0x6f, 0x22, 0x48, 0x0a, 0x12, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52,
-	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65,
-	0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x74,
-	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02,
-	0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb9, 0x01, 0x0a, 0x09,
-	0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4b, 0x65, 0x79,
-	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x56,
-	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x65,
-	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
-	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
-	0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65,
-	0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x43, 0x72,
-	0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x2e, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74,
-	0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x4e, 0x61, 0x6e, 0x6f, 0x18, 0x06, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55,
-	0x6e, 0x69, 0x78, 0x4e, 0x61, 0x6e, 0x6f, 0x42, 0x21, 0x5a, 0x1f, 0x64, 0x70, 0x73, 0x2f, 0x61,
-	0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x76,
-	0x31, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x33,
+	0x6f, 0x22, 0x79, 0x0a, 0x16, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f,
+	0x6e, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53,
+	0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+	0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x05, 0x49, 0x6e, 0x66,
+	0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f,
+	0x6e, 0x73, 0x65, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49,
+	0x6e, 0x66, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x22, 0x48, 0x0a, 0x12,
+	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+	0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+	0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb9, 0x01, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74,
+	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x03, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
+	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+	0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14,
+	0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x56,
+	0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49,
+	0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72,
+	0x49, 0x44, 0x12, 0x2e, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
+	0x55, 0x6e, 0x69, 0x78, 0x4e, 0x61, 0x6e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12,
+	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x4e, 0x61,
+	0x6e, 0x6f, 0x42, 0x21, 0x5a, 0x1f, 0x64, 0x70, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72,
+	0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73,
+	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
@@ -282,19 +352,21 @@ func file_v1_response_event_query_proto_rawDescGZIP() []byte {
 	return file_v1_response_event_query_proto_rawDescData
 }
 
-var file_v1_response_event_query_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_v1_response_event_query_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
 var file_v1_response_event_query_proto_goTypes = []interface{}{
-	(*EventQueryResponse)(nil), // 0: response.EventQueryResponse
-	(*CountEventResponse)(nil), // 1: response.CountEventResponse
-	(*EventInfo)(nil),          // 2: response.EventInfo
+	(*EventQueryResponse)(nil),     // 0: response.EventQueryResponse
+	(*EventQueryOnlyResponse)(nil), // 1: response.EventQueryOnlyResponse
+	(*CountEventResponse)(nil),     // 2: response.CountEventResponse
+	(*EventInfo)(nil),              // 3: response.EventInfo
 }
 var file_v1_response_event_query_proto_depIdxs = []int32{
-	2, // 0: response.EventQueryResponse.Infos:type_name -> response.EventInfo
-	1, // [1:1] is the sub-list for method output_type
-	1, // [1:1] is the sub-list for method input_type
-	1, // [1:1] is the sub-list for extension type_name
-	1, // [1:1] is the sub-list for extension extendee
-	0, // [0:1] is the sub-list for field type_name
+	3, // 0: response.EventQueryResponse.Infos:type_name -> response.EventInfo
+	3, // 1: response.EventQueryOnlyResponse.Infos:type_name -> response.EventInfo
+	2, // [2:2] is the sub-list for method output_type
+	2, // [2:2] is the sub-list for method input_type
+	2, // [2:2] is the sub-list for extension type_name
+	2, // [2:2] is the sub-list for extension extendee
+	0, // [0:2] is the sub-list for field type_name
 }
 
 func init() { file_v1_response_event_query_proto_init() }
@@ -316,7 +388,7 @@ func file_v1_response_event_query_proto_init() {
 			}
 		}
 		file_v1_response_event_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*CountEventResponse); i {
+			switch v := v.(*EventQueryOnlyResponse); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -328,6 +400,18 @@ func file_v1_response_event_query_proto_init() {
 			}
 		}
 		file_v1_response_event_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*CountEventResponse); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_v1_response_event_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*EventInfo); i {
 			case 0:
 				return &v.state
@@ -346,7 +430,7 @@ func file_v1_response_event_query_proto_init() {
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: file_v1_response_event_query_proto_rawDesc,
 			NumEnums:      0,
-			NumMessages:   3,
+			NumMessages:   4,
 			NumExtensions: 0,
 			NumServices:   0,
 		},

+ 158 - 73
pb/v1/response/query.pb.go

@@ -91,6 +91,69 @@ func (x *QueryResponse) GetPageNo() int32 {
 	return 0
 }
 
+type QueryOnlyResponse struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	Statement string      `protobuf:"bytes,1,opt,name=Statement,proto3" json:"Statement,omitempty"`
+	Infos     []*InfoData `protobuf:"bytes,2,rep,name=Infos,proto3" json:"Infos,omitempty"`
+	PageNo    int32       `protobuf:"varint,3,opt,name=PageNo,proto3" json:"PageNo,omitempty"`
+}
+
+func (x *QueryOnlyResponse) Reset() {
+	*x = QueryOnlyResponse{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_v1_response_query_proto_msgTypes[1]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *QueryOnlyResponse) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryOnlyResponse) ProtoMessage() {}
+
+func (x *QueryOnlyResponse) ProtoReflect() protoreflect.Message {
+	mi := &file_v1_response_query_proto_msgTypes[1]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryOnlyResponse.ProtoReflect.Descriptor instead.
+func (*QueryOnlyResponse) Descriptor() ([]byte, []int) {
+	return file_v1_response_query_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *QueryOnlyResponse) GetStatement() string {
+	if x != nil {
+		return x.Statement
+	}
+	return ""
+}
+
+func (x *QueryOnlyResponse) GetInfos() []*InfoData {
+	if x != nil {
+		return x.Infos
+	}
+	return nil
+}
+
+func (x *QueryOnlyResponse) GetPageNo() int32 {
+	if x != nil {
+		return x.PageNo
+	}
+	return 0
+}
+
 type QueryByKeysResponse struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -103,7 +166,7 @@ type QueryByKeysResponse struct {
 func (x *QueryByKeysResponse) Reset() {
 	*x = QueryByKeysResponse{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_v1_response_query_proto_msgTypes[1]
+		mi := &file_v1_response_query_proto_msgTypes[2]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -116,7 +179,7 @@ func (x *QueryByKeysResponse) String() string {
 func (*QueryByKeysResponse) ProtoMessage() {}
 
 func (x *QueryByKeysResponse) ProtoReflect() protoreflect.Message {
-	mi := &file_v1_response_query_proto_msgTypes[1]
+	mi := &file_v1_response_query_proto_msgTypes[2]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -129,7 +192,7 @@ func (x *QueryByKeysResponse) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use QueryByKeysResponse.ProtoReflect.Descriptor instead.
 func (*QueryByKeysResponse) Descriptor() ([]byte, []int) {
-	return file_v1_response_query_proto_rawDescGZIP(), []int{1}
+	return file_v1_response_query_proto_rawDescGZIP(), []int{2}
 }
 
 func (x *QueryByKeysResponse) GetStatement() string {
@@ -158,7 +221,7 @@ type CountResponse struct {
 func (x *CountResponse) Reset() {
 	*x = CountResponse{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_v1_response_query_proto_msgTypes[2]
+		mi := &file_v1_response_query_proto_msgTypes[3]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -171,7 +234,7 @@ func (x *CountResponse) String() string {
 func (*CountResponse) ProtoMessage() {}
 
 func (x *CountResponse) ProtoReflect() protoreflect.Message {
-	mi := &file_v1_response_query_proto_msgTypes[2]
+	mi := &file_v1_response_query_proto_msgTypes[3]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -184,7 +247,7 @@ func (x *CountResponse) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use CountResponse.ProtoReflect.Descriptor instead.
 func (*CountResponse) Descriptor() ([]byte, []int) {
-	return file_v1_response_query_proto_rawDescGZIP(), []int{2}
+	return file_v1_response_query_proto_rawDescGZIP(), []int{3}
 }
 
 func (x *CountResponse) GetStatement() string {
@@ -212,7 +275,7 @@ type InfoData struct {
 func (x *InfoData) Reset() {
 	*x = InfoData{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_v1_response_query_proto_msgTypes[3]
+		mi := &file_v1_response_query_proto_msgTypes[4]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -225,7 +288,7 @@ func (x *InfoData) String() string {
 func (*InfoData) ProtoMessage() {}
 
 func (x *InfoData) ProtoReflect() protoreflect.Message {
-	mi := &file_v1_response_query_proto_msgTypes[3]
+	mi := &file_v1_response_query_proto_msgTypes[4]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -238,7 +301,7 @@ func (x *InfoData) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use InfoData.ProtoReflect.Descriptor instead.
 func (*InfoData) Descriptor() ([]byte, []int) {
-	return file_v1_response_query_proto_rawDescGZIP(), []int{3}
+	return file_v1_response_query_proto_rawDescGZIP(), []int{4}
 }
 
 func (x *InfoData) GetColumns() []*Column {
@@ -260,7 +323,7 @@ type Column struct {
 func (x *Column) Reset() {
 	*x = Column{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_v1_response_query_proto_msgTypes[4]
+		mi := &file_v1_response_query_proto_msgTypes[5]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -273,7 +336,7 @@ func (x *Column) String() string {
 func (*Column) ProtoMessage() {}
 
 func (x *Column) ProtoReflect() protoreflect.Message {
-	mi := &file_v1_response_query_proto_msgTypes[4]
+	mi := &file_v1_response_query_proto_msgTypes[5]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -286,7 +349,7 @@ func (x *Column) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use Column.ProtoReflect.Descriptor instead.
 func (*Column) Descriptor() ([]byte, []int) {
-	return file_v1_response_query_proto_rawDescGZIP(), []int{4}
+	return file_v1_response_query_proto_rawDescGZIP(), []int{5}
 }
 
 func (x *Column) GetName() string {
@@ -323,7 +386,7 @@ type ColumnValue struct {
 func (x *ColumnValue) Reset() {
 	*x = ColumnValue{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_v1_response_query_proto_msgTypes[5]
+		mi := &file_v1_response_query_proto_msgTypes[6]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -336,7 +399,7 @@ func (x *ColumnValue) String() string {
 func (*ColumnValue) ProtoMessage() {}
 
 func (x *ColumnValue) ProtoReflect() protoreflect.Message {
-	mi := &file_v1_response_query_proto_msgTypes[5]
+	mi := &file_v1_response_query_proto_msgTypes[6]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -349,7 +412,7 @@ func (x *ColumnValue) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use ColumnValue.ProtoReflect.Descriptor instead.
 func (*ColumnValue) Descriptor() ([]byte, []int) {
-	return file_v1_response_query_proto_rawDescGZIP(), []int{5}
+	return file_v1_response_query_proto_rawDescGZIP(), []int{6}
 }
 
 func (x *ColumnValue) GetKind() int32 {
@@ -456,43 +519,51 @@ var file_v1_response_query_proto_rawDesc = []byte{
 	0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
 	0x03, 0x52, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a,
 	0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50,
-	0x61, 0x67, 0x65, 0x4e, 0x6f, 0x22, 0x5b, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79,
-	0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09,
-	0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x49, 0x6e,
-	0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f,
-	0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x49, 0x6e,
-	0x66, 0x6f, 0x22, 0x43, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
-	0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74,
-	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e,
-	0x74, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
-	0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x36, 0x0a, 0x08, 0x49, 0x6e, 0x66, 0x6f, 0x44,
-	0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x07, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01,
-	0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
-	0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22,
-	0x49, 0x0a, 0x06, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d,
-	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a,
-	0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72,
-	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x56, 0x61,
-	0x6c, 0x75, 0x65, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf5, 0x01, 0x0a, 0x0b, 0x43,
-	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x69,
-	0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x12,
-	0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x54, 0x79,
-	0x70, 0x65, 0x12, 0x22, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75,
-	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e,
-	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0b, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
-	0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0b, 0x55,
-	0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0b, 0x55, 0x69,
-	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48,
-	0x00, 0x52, 0x0b, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x24,
-	0x0a, 0x0c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06,
-	0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, 0x56,
-	0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
-	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
-	0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x64, 0x56, 0x61, 0x6c,
-	0x75, 0x65, 0x42, 0x21, 0x5a, 0x1f, 0x64, 0x70, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72,
-	0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73,
-	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x61, 0x67, 0x65, 0x4e, 0x6f, 0x22, 0x73, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x6e,
+	0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74,
+	0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53,
+	0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f,
+	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+	0x73, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x49, 0x6e, 0x66,
+	0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01,
+	0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x22, 0x5b, 0x0a, 0x13, 0x51, 0x75,
+	0x65, 0x72, 0x79, 0x42, 0x79, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12,
+	0x26, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
+	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74,
+	0x61, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x43, 0x0a, 0x0d, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74,
+	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61,
+	0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x36, 0x0a, 0x08,
+	0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x07, 0x43, 0x6f, 0x6c, 0x75,
+	0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x72, 0x65, 0x73, 0x70,
+	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, 0x43, 0x6f, 0x6c,
+	0x75, 0x6d, 0x6e, 0x73, 0x22, 0x49, 0x0a, 0x06, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12,
+	0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61,
+	0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6c,
+	0x75, 0x6d, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22,
+	0xf5, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
+	0x12, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4b,
+	0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e,
+	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b,
+	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0b, 0x55,
+	0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+	0x48, 0x00, 0x52, 0x0b, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
+	0x22, 0x0a, 0x0b, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05,
+	0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
+	0x6c, 0x75, 0x65, 0x12, 0x24, 0x0a, 0x0c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x36, 0x34, 0x56, 0x61,
+	0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x46, 0x6c, 0x6f,
+	0x61, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x09, 0x42, 0x6f, 0x6f,
+	0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09,
+	0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x54, 0x79, 0x70,
+	0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x21, 0x5a, 0x1f, 0x64, 0x70, 0x73, 0x2f, 0x61,
+	0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x76,
+	0x31, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x33,
 }
 
 var (
@@ -507,25 +578,27 @@ func file_v1_response_query_proto_rawDescGZIP() []byte {
 	return file_v1_response_query_proto_rawDescData
 }
 
-var file_v1_response_query_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_v1_response_query_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
 var file_v1_response_query_proto_goTypes = []interface{}{
 	(*QueryResponse)(nil),       // 0: response.QueryResponse
-	(*QueryByKeysResponse)(nil), // 1: response.QueryByKeysResponse
-	(*CountResponse)(nil),       // 2: response.CountResponse
-	(*InfoData)(nil),            // 3: response.InfoData
-	(*Column)(nil),              // 4: response.Column
-	(*ColumnValue)(nil),         // 5: response.ColumnValue
+	(*QueryOnlyResponse)(nil),   // 1: response.QueryOnlyResponse
+	(*QueryByKeysResponse)(nil), // 2: response.QueryByKeysResponse
+	(*CountResponse)(nil),       // 3: response.CountResponse
+	(*InfoData)(nil),            // 4: response.InfoData
+	(*Column)(nil),              // 5: response.Column
+	(*ColumnValue)(nil),         // 6: response.ColumnValue
 }
 var file_v1_response_query_proto_depIdxs = []int32{
-	3, // 0: response.QueryResponse.Infos:type_name -> response.InfoData
-	3, // 1: response.QueryByKeysResponse.Info:type_name -> response.InfoData
-	4, // 2: response.InfoData.Columns:type_name -> response.Column
-	5, // 3: response.Column.Value:type_name -> response.ColumnValue
-	4, // [4:4] is the sub-list for method output_type
-	4, // [4:4] is the sub-list for method input_type
-	4, // [4:4] is the sub-list for extension type_name
-	4, // [4:4] is the sub-list for extension extendee
-	0, // [0:4] is the sub-list for field type_name
+	4, // 0: response.QueryResponse.Infos:type_name -> response.InfoData
+	4, // 1: response.QueryOnlyResponse.Infos:type_name -> response.InfoData
+	4, // 2: response.QueryByKeysResponse.Info:type_name -> response.InfoData
+	5, // 3: response.InfoData.Columns:type_name -> response.Column
+	6, // 4: response.Column.Value:type_name -> response.ColumnValue
+	5, // [5:5] is the sub-list for method output_type
+	5, // [5:5] is the sub-list for method input_type
+	5, // [5:5] is the sub-list for extension type_name
+	5, // [5:5] is the sub-list for extension extendee
+	0, // [0:5] is the sub-list for field type_name
 }
 
 func init() { file_v1_response_query_proto_init() }
@@ -547,7 +620,7 @@ func file_v1_response_query_proto_init() {
 			}
 		}
 		file_v1_response_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*QueryByKeysResponse); i {
+			switch v := v.(*QueryOnlyResponse); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -559,7 +632,7 @@ func file_v1_response_query_proto_init() {
 			}
 		}
 		file_v1_response_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*CountResponse); i {
+			switch v := v.(*QueryByKeysResponse); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -571,7 +644,7 @@ func file_v1_response_query_proto_init() {
 			}
 		}
 		file_v1_response_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*InfoData); i {
+			switch v := v.(*CountResponse); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -583,7 +656,7 @@ func file_v1_response_query_proto_init() {
 			}
 		}
 		file_v1_response_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Column); i {
+			switch v := v.(*InfoData); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -595,6 +668,18 @@ func file_v1_response_query_proto_init() {
 			}
 		}
 		file_v1_response_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*Column); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_v1_response_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*ColumnValue); i {
 			case 0:
 				return &v.state
@@ -607,7 +692,7 @@ func file_v1_response_query_proto_init() {
 			}
 		}
 	}
-	file_v1_response_query_proto_msgTypes[5].OneofWrappers = []interface{}{
+	file_v1_response_query_proto_msgTypes[6].OneofWrappers = []interface{}{
 		(*ColumnValue_StringValue)(nil),
 		(*ColumnValue_Uint32Value)(nil),
 		(*ColumnValue_Uint64Value)(nil),
@@ -620,7 +705,7 @@ func file_v1_response_query_proto_init() {
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: file_v1_response_query_proto_rawDesc,
 			NumEnums:      0,
-			NumMessages:   6,
+			NumMessages:   7,
 			NumExtensions: 0,
 			NumServices:   0,
 		},

+ 186 - 0
test/instance/instance_test.go

@@ -405,6 +405,32 @@ func TestInsertBatch(t *testing.T) {
 		assertEqual(id2, resultsMap[0]["id"], "ID不一致").
 		assertEqual(name2, resultsMap[0]["name"], "名称不一致").
 		assertEqual(now2.UnixMilli(), resultsMap[0]["time"].(time.Time).Local().UnixMilli(), "时间不一致").
+		assertEqual(tableNum2, resultsMap[0]["table_num"], "表数量不一致").
+		queryOnlyByWhereAndOrderBy(&client.QueryByWhereAndOrderByRequest{
+			TablePrefixWithSchema: tablePrefix,
+			Version:               "v1",
+			Where: map[string][]any{
+				"id = ? AND name = ? AND table_num = ?": {id1, name1, tableNum1},
+			},
+			PageNo:   1,
+			PageSize: 1,
+		}, &resultsMap).
+		assertEqual(id1, resultsMap[0]["id"], "ID不一致").
+		assertEqual(name1, resultsMap[0]["name"], "名称不一致").
+		assertEqual(now1.UnixMilli(), resultsMap[0]["time"].(time.Time).Local().UnixMilli(), "时间不一致").
+		assertEqual(tableNum1, resultsMap[0]["table_num"], "表数量不一致").
+		commonQueryOnly(&client.CommonQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			Version:               "v1",
+			Where: map[string][]any{
+				"id = ? AND name = ? AND table_num = ?": {id2, name2, tableNum2},
+			},
+			PageNo:   1,
+			PageSize: 1,
+		}, &resultsMap).
+		assertEqual(id2, resultsMap[0]["id"], "ID不一致").
+		assertEqual(name2, resultsMap[0]["name"], "名称不一致").
+		assertEqual(now2.UnixMilli(), resultsMap[0]["time"].(time.Time).Local().UnixMilli(), "时间不一致").
 		assertEqual(tableNum2, resultsMap[0]["table_num"], "表数量不一致")
 }
 
@@ -781,6 +807,74 @@ func TestEventQuery(t *testing.T) {
 		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
 		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
 		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		eventQueryOnlyByKeys(&client.EventQueryByKeysRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(2, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		assertEqual(id, eventInfos[1].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[1].Version, "版本不一致").
+		assertEqual("update", eventInfos[1].Operation, "操作不一致").
+		assertEqual("test", eventInfos[1].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[1].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[1].Value, "值为空不一致").
+		eventQueryOnlyByKeys(&client.EventQueryByKeysRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			PageNo:                1,
+			PageSize:              1,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		commonEventQueryOnly(&client.CommonEventQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			Version:               "v1",
+			Operation:             "create",
+			CreatorID:             "test",
+			StartCreatedTime:      now.Format(time.DateTime),
+			EndCreatedTime:        now.Add(time.Second).Format(time.DateTime),
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		commonEventQueryOnly(&client.CommonEventQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			Version:               "v1",
+			Operation:             "update",
+			CreatorID:             "test",
+			StartCreatedTime:      now.Format(time.DateTime),
+			EndCreatedTime:        now.Add(time.Second).Format(time.DateTime),
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("update", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
 		delete(&client.DeleteRequest{
 			TablePrefixWithSchema: tablePrefix,
 			Version:               "v1",
@@ -918,5 +1012,97 @@ func TestEventQuery(t *testing.T) {
 		assertEqual("delete", eventInfos[0].Operation, "操作不一致").
 		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
 		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertEqual("", eventInfos[0].Value, "值为空不一致").
+		eventHistoryQueryOnlyByKeys(&client.EventQueryByKeysRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(3, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		assertEqual(id, eventInfos[1].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[1].Version, "版本不一致").
+		assertEqual("update", eventInfos[1].Operation, "操作不一致").
+		assertEqual("test", eventInfos[1].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[1].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[1].Value, "值为空不一致").
+		assertEqual(id, eventInfos[2].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[2].Version, "版本不一致").
+		assertEqual("delete", eventInfos[2].Operation, "操作不一致").
+		assertEqual("test", eventInfos[2].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[2].CreateTime, "创建事件为空").
+		assertEqual("", eventInfos[2].Value, "值为空不一致").
+		eventHistoryQueryOnlyByKeys(&client.EventQueryByKeysRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			PageNo:                1,
+			PageSize:              1,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		commonEventHistoryQueryOnly(&client.CommonEventQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			Version:               "v1",
+			Operation:             "create",
+			CreatorID:             "test",
+			StartCreatedTime:      now.Format(time.DateTime),
+			EndCreatedTime:        now.Add(time.Second).Format(time.DateTime),
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		commonEventHistoryQueryOnly(&client.CommonEventQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			Version:               "v1",
+			Operation:             "update",
+			CreatorID:             "test",
+			StartCreatedTime:      now.Format(time.DateTime),
+			EndCreatedTime:        now.Add(time.Second).Format(time.DateTime),
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("update", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		commonEventHistoryQueryOnly(&client.CommonEventQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			Version:               "v1",
+			Operation:             "delete",
+			CreatorID:             "test",
+			StartCreatedTime:      now.Format(time.DateTime),
+			EndCreatedTime:        now.Add(time.Second).Format(time.DateTime),
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("delete", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
 		assertEqual("", eventInfos[0].Value, "值为空不一致")
 }

+ 84 - 0
test/instance/sdk.go

@@ -137,6 +137,34 @@ func (toolKit *ToolKit) commonQuery(req *client.CommonQueryRequest, retInfosMap
 	return toolKit
 }
 
+func (toolKit *ToolKit) queryOnlyByWhereAndOrderBy(req *client.QueryByWhereAndOrderByRequest, retInfosMap *[]map[string]any) *ToolKit {
+	infosMap, err := dps.QueryOnlyByWhereAndOrderBy(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	if retInfosMap != nil {
+		*retInfosMap = make([]map[string]any, 0)
+		*retInfosMap = infosMap
+	}
+
+	return toolKit
+}
+
+func (toolKit *ToolKit) commonQueryOnly(req *client.CommonQueryRequest, retInfosMap *[]map[string]any) *ToolKit {
+	infosMap, err := dps.CommonQueryOnly(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	if retInfosMap != nil {
+		*retInfosMap = make([]map[string]any, 0)
+		*retInfosMap = infosMap
+	}
+
+	return toolKit
+}
+
 func (toolKit *ToolKit) queryByKeys(req *client.QueryByKeysRequest, retInfoMap *map[string]any) *ToolKit {
 	infoMap, err := dps.QueryByKeys(req)
 	if err != nil {
@@ -213,6 +241,34 @@ func (toolKit *ToolKit) commonEventQuery(req *client.CommonEventQueryRequest, re
 	return toolKit
 }
 
+func (toolKit *ToolKit) eventQueryOnlyByKeys(req *client.EventQueryByKeysRequest, retInfos *[]client.EventInfo) *ToolKit {
+	infos, err := dps.EventQueryOnlyByKeys(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	if retInfos != nil {
+		*retInfos = make([]client.EventInfo, 0)
+		*retInfos = infos
+	}
+
+	return toolKit
+}
+
+func (toolKit *ToolKit) commonEventQueryOnly(req *client.CommonEventQueryRequest, retInfos *[]client.EventInfo) *ToolKit {
+	infos, err := dps.CommonEventQueryOnly(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	if retInfos != nil {
+		*retInfos = make([]client.EventInfo, 0)
+		*retInfos = infos
+	}
+
+	return toolKit
+}
+
 func (toolKit *ToolKit) countEventByKeys(req *client.CountEventByKeysRequest, retCount *int64) *ToolKit {
 	count, err := dps.CountEventByKeys(req)
 	if err != nil {
@@ -275,6 +331,34 @@ func (toolKit *ToolKit) commonEventHistoryQuery(req *client.CommonEventQueryRequ
 	return toolKit
 }
 
+func (toolKit *ToolKit) eventHistoryQueryOnlyByKeys(req *client.EventQueryByKeysRequest, retInfos *[]client.EventInfo) *ToolKit {
+	infos, err := dps.EventHistoryQueryOnlyByKeys(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	if retInfos != nil {
+		*retInfos = make([]client.EventInfo, 0)
+		*retInfos = infos
+	}
+
+	return toolKit
+}
+
+func (toolKit *ToolKit) commonEventHistoryQueryOnly(req *client.CommonEventQueryRequest, retInfos *[]client.EventInfo) *ToolKit {
+	infos, err := dps.CommonEventHistoryQueryOnly(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	if retInfos != nil {
+		*retInfos = make([]client.EventInfo, 0)
+		*retInfos = infos
+	}
+
+	return toolKit
+}
+
 func (toolKit *ToolKit) countEventHistoryByKeys(req *client.CountEventByKeysRequest, retCount *int64) *ToolKit {
 	count, err := dps.CountEventHistoryByKeys(req)
 	if err != nil {

+ 96 - 0
test/v1/sdk.go

@@ -160,6 +160,38 @@ func (toolKit *ToolKit) commonQuery(req *client.CommonQueryRequest, retInfosMap
 	return toolKit
 }
 
+func (toolKit *ToolKit) queryOnlyByWhereAndOrderBy(req *client.QueryByWhereAndOrderByRequest, retInfosMap *[]map[string]any) *ToolKit {
+	statement, infosMap, err := clientInstance.QueryOnlyByWhereAndOrderBy(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	fmt.Println(statement)
+
+	if retInfosMap != nil {
+		*retInfosMap = make([]map[string]any, 0)
+		*retInfosMap = infosMap
+	}
+
+	return toolKit
+}
+
+func (toolKit *ToolKit) commonQueryOnly(req *client.CommonQueryRequest, retInfosMap *[]map[string]any) *ToolKit {
+	statement, infosMap, err := clientInstance.CommonQueryOnly(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	fmt.Println(statement)
+
+	if retInfosMap != nil {
+		*retInfosMap = make([]map[string]any, 0)
+		*retInfosMap = infosMap
+	}
+
+	return toolKit
+}
+
 func (toolKit *ToolKit) queryByKeys(req *client.QueryByKeysRequest, retInfoMap *map[string]any) *ToolKit {
 	statement, infoMap, err := clientInstance.QueryByKeys(req)
 	if err != nil {
@@ -246,6 +278,38 @@ func (toolKit *ToolKit) commonEventQuery(req *client.CommonEventQueryRequest, re
 	return toolKit
 }
 
+func (toolKit *ToolKit) eventQueryOnlyByKeys(req *client.EventQueryByKeysRequest, retInfos *[]client.EventInfo) *ToolKit {
+	statement, infos, err := clientInstance.EventQueryOnlyByKeys(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	fmt.Println(statement)
+
+	if retInfos != nil {
+		*retInfos = make([]client.EventInfo, 0)
+		*retInfos = infos
+	}
+
+	return toolKit
+}
+
+func (toolKit *ToolKit) commonEventQueryOnly(req *client.CommonEventQueryRequest, retInfos *[]client.EventInfo) *ToolKit {
+	statement, infos, err := clientInstance.CommonEventQueryOnly(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	fmt.Println(statement)
+
+	if retInfos != nil {
+		*retInfos = make([]client.EventInfo, 0)
+		*retInfos = infos
+	}
+
+	return toolKit
+}
+
 func (toolKit *ToolKit) countEventByKeys(req *client.CountEventByKeysRequest, retCount *int64) *ToolKit {
 	statement, count, err := clientInstance.CountEventByKeys(req)
 	if err != nil {
@@ -316,6 +380,38 @@ func (toolKit *ToolKit) commonEventHistoryQuery(req *client.CommonEventQueryRequ
 	return toolKit
 }
 
+func (toolKit *ToolKit) eventHistoryQueryOnlyByKeys(req *client.EventQueryByKeysRequest, retInfos *[]client.EventInfo) *ToolKit {
+	statement, infos, err := clientInstance.EventHistoryQueryOnlyByKeys(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	fmt.Println(statement)
+
+	if retInfos != nil {
+		*retInfos = make([]client.EventInfo, 0)
+		*retInfos = infos
+	}
+
+	return toolKit
+}
+
+func (toolKit *ToolKit) commonEventHistoryQueryOnly(req *client.CommonEventQueryRequest, retInfos *[]client.EventInfo) *ToolKit {
+	statement, infos, err := clientInstance.CommonEventHistoryQueryOnly(req)
+	if err != nil {
+		toolKit.t.Fatal(err)
+	}
+
+	fmt.Println(statement)
+
+	if retInfos != nil {
+		*retInfos = make([]client.EventInfo, 0)
+		*retInfos = infos
+	}
+
+	return toolKit
+}
+
 func (toolKit *ToolKit) countEventHistoryByKeys(req *client.CountEventByKeysRequest, retCount *int64) *ToolKit {
 	statement, count, err := clientInstance.CountEventHistoryByKeys(req)
 	if err != nil {

+ 186 - 0
test/v1/v1_test.go

@@ -415,6 +415,32 @@ func TestInsertBatch(t *testing.T) {
 		assertEqual(id2, resultsMap[0]["id"], "ID不一致").
 		assertEqual(name2, resultsMap[0]["name"], "名称不一致").
 		assertEqual(now2.UnixMilli(), resultsMap[0]["time"].(time.Time).Local().UnixMilli(), "时间不一致").
+		assertEqual(tableNum2, resultsMap[0]["table_num"], "表数量不一致").
+		queryOnlyByWhereAndOrderBy(&client.QueryByWhereAndOrderByRequest{
+			TablePrefixWithSchema: tablePrefix,
+			Version:               "v1",
+			Where: map[string][]any{
+				"id = ? AND name = ? AND table_num = ?": {id1, name1, tableNum1},
+			},
+			PageNo:   1,
+			PageSize: 1,
+		}, &resultsMap).
+		assertEqual(id1, resultsMap[0]["id"], "ID不一致").
+		assertEqual(name1, resultsMap[0]["name"], "名称不一致").
+		assertEqual(now1.UnixMilli(), resultsMap[0]["time"].(time.Time).Local().UnixMilli(), "时间不一致").
+		assertEqual(tableNum1, resultsMap[0]["table_num"], "表数量不一致").
+		commonQueryOnly(&client.CommonQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			Version:               "v1",
+			Where: map[string][]any{
+				"id = ? AND name = ? AND table_num = ?": {id2, name2, tableNum2},
+			},
+			PageNo:   1,
+			PageSize: 1,
+		}, &resultsMap).
+		assertEqual(id2, resultsMap[0]["id"], "ID不一致").
+		assertEqual(name2, resultsMap[0]["name"], "名称不一致").
+		assertEqual(now2.UnixMilli(), resultsMap[0]["time"].(time.Time).Local().UnixMilli(), "时间不一致").
 		assertEqual(tableNum2, resultsMap[0]["table_num"], "表数量不一致")
 }
 
@@ -801,6 +827,74 @@ func TestEventQuery(t *testing.T) {
 		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
 		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
 		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		eventQueryOnlyByKeys(&client.EventQueryByKeysRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(2, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		assertEqual(id, eventInfos[1].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[1].Version, "版本不一致").
+		assertEqual("update", eventInfos[1].Operation, "操作不一致").
+		assertEqual("test", eventInfos[1].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[1].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[1].Value, "值为空不一致").
+		eventQueryOnlyByKeys(&client.EventQueryByKeysRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			PageNo:                1,
+			PageSize:              1,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		commonEventQueryOnly(&client.CommonEventQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			Version:               "v1",
+			Operation:             "create",
+			CreatorID:             "test",
+			StartCreatedTime:      now.Format(time.DateTime),
+			EndCreatedTime:        now.Add(time.Second).Format(time.DateTime),
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		commonEventQueryOnly(&client.CommonEventQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			Version:               "v1",
+			Operation:             "update",
+			CreatorID:             "test",
+			StartCreatedTime:      now.Format(time.DateTime),
+			EndCreatedTime:        now.Add(time.Second).Format(time.DateTime),
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("update", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
 		delete(&client.DeleteRequest{
 			TablePrefixWithSchema: tablePrefix,
 			Version:               "v1",
@@ -938,5 +1032,97 @@ func TestEventQuery(t *testing.T) {
 		assertEqual("delete", eventInfos[0].Operation, "操作不一致").
 		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
 		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertEqual("", eventInfos[0].Value, "值为空不一致").
+		eventHistoryQueryOnlyByKeys(&client.EventQueryByKeysRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(3, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		assertEqual(id, eventInfos[1].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[1].Version, "版本不一致").
+		assertEqual("update", eventInfos[1].Operation, "操作不一致").
+		assertEqual("test", eventInfos[1].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[1].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[1].Value, "值为空不一致").
+		assertEqual(id, eventInfos[2].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[2].Version, "版本不一致").
+		assertEqual("delete", eventInfos[2].Operation, "操作不一致").
+		assertEqual("test", eventInfos[2].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[2].CreateTime, "创建事件为空").
+		assertEqual("", eventInfos[2].Value, "值为空不一致").
+		eventHistoryQueryOnlyByKeys(&client.EventQueryByKeysRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			PageNo:                1,
+			PageSize:              1,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		commonEventHistoryQueryOnly(&client.CommonEventQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			Version:               "v1",
+			Operation:             "create",
+			CreatorID:             "test",
+			StartCreatedTime:      now.Format(time.DateTime),
+			EndCreatedTime:        now.Add(time.Second).Format(time.DateTime),
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("create", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		commonEventHistoryQueryOnly(&client.CommonEventQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			Version:               "v1",
+			Operation:             "update",
+			CreatorID:             "test",
+			StartCreatedTime:      now.Format(time.DateTime),
+			EndCreatedTime:        now.Add(time.Second).Format(time.DateTime),
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("update", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
+		assertNotEmpty(eventInfos[0].Value, "值为空不一致").
+		commonEventHistoryQueryOnly(&client.CommonEventQueryRequest{
+			TablePrefixWithSchema: tablePrefix,
+			KeyValues:             []string{id},
+			Version:               "v1",
+			Operation:             "delete",
+			CreatorID:             "test",
+			StartCreatedTime:      now.Format(time.DateTime),
+			EndCreatedTime:        now.Add(time.Second).Format(time.DateTime),
+			PageNo:                0,
+			PageSize:              0,
+		}, &eventInfos).
+		assertEqual(1, len(eventInfos), "事件数量不一致").
+		assertEqual(id, eventInfos[0].Key, "关键字段不一致").
+		assertEqual("v1", eventInfos[0].Version, "版本不一致").
+		assertEqual("delete", eventInfos[0].Operation, "操作不一致").
+		assertEqual("test", eventInfos[0].CreatorID, "创建者ID不一致").
+		assertNotEmpty(eventInfos[0].CreateTime, "创建事件为空").
 		assertEqual("", eventInfos[0].Value, "值为空不一致")
 }