Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • Q quickfix
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 48
    • Issues 48
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 25
    • Merge requests 25
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • quickfixgo
  • quickfix
  • Merge requests
  • !462

Fix repeating group read tags lost

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge github/fork/hyde-zhang/bugfix/repeating-group-read-tags-lost into main Sep 24, 2021
  • Overview 10
  • Commits 1
  • Pipelines 0
  • Changes 2

Created by: hyde-zhang

The RepeatingGroup tags are not created during the read process. Tag values are there but tags are not copied over / read. If CopyInto is used to copy from old FieldMap to new, existing tags from old one will be lost during the fields setting process

Can try to reproduce like this:

	symGroup := quoterequest.NewNoRelatedSymRepeatingGroup()
	sym := symGroup.Add()
	sym.SetSymbol("symbol")
	sym.SetOrderQty(decimal.NewFromFloat(1), 4)
	sym.SetQuoteRequestType(enum.QuoteRequestType_AUTOMATIC)
	
	fixmsg := quoterequest.New(field.NewQuoteReqID("testId"))
	fixmsg.SetNoRelatedSym(symGroup)

	msg := quoterequest.FromMessage(fixmsg.ToMessage())
	if syms, err := msg.GetNoRelatedSym(); err == nil {

		newSyms := quoterequest.NewNoRelatedSymRepeatingGroup()
		newSym := newSyms.Add()

		sym := syms.Get(0)
		sym.CopyInto(&newSym.FieldMap) // SUT

		newSym.SetCurrency("USD")
		msg.SetNoRelatedSym(newSyms)
		// log msg.ToMessage() will show only Currency (15) tag
		// 8=FIX.4.4 9=29 35=R 131=testId 146=1 15=USD 10=213 
		// Whereas it should be
		// 8=FIX.4.4 9=55 35=R 131=testId 146=1 55=symbol 303=2 38=1.0000 15=USD 10=224
	}
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/hyde-zhang/bugfix/repeating-group-read-tags-lost