code: func (q *Query) Clone(targetQ *Query) {
  	rawSQL := *q.RawSQL
  	targetQ.RawSQL = &rawSQL
  
  	targetQ.limitResults = q.limitResults
  	targetQ.whereClauses = q.whereClauses
  	targetQ.orderClauses = q.orderClauses
  	targetQ.fromClauses = q.fromClauses
  	targetQ.belongsToThroughClauses = q.belongsToThroughClauses
  	targetQ.joinClauses = q.joinClauses
  	targetQ.groupClauses = q.groupClauses
  	targetQ.havingClauses = q.havingClauses
  	targetQ.addColumns = q.addColumns
  
  	if q.Paginator != nil {
  		paginator := *q.Paginator
  		targetQ.Paginator = &paginator
  	}
  
  	if q.Connection != nil {
  		connection := *q.Connection
  		targetQ.Connection = &connection
  	}
  }
docs: // Clone will fill targetQ query with the connection used in q, if
  // targetQ is not empty, Clone will override all the fields.