Uploaded image for project: 'QuickFIX/J'
  1. QuickFIX/J
  2. QFJ-306

JdbcStore has an incorrect query for the UPDATE, when it wants to update a message whose sequence was already entered...

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Default
    • Resolution: Fixed
    • Affects Version/s: 1.3.1
    • Fix Version/s: 1.3.2
    • Component/s: Engine
    • Labels:
      None
    • Environment:
      Everywhere

      Description

      The problem is in the function with prototype

      public boolean set(int sequence, String message)

      The mistaken code says:

      update.setInt(offset++, sequence);
      update.setString(offset, message);

      But ought to be:

      update.setString(offset++, message);
      update.setInt(offset, sequence);

      instead.

      If we see the place where INSERT_UPDATE_MESSAGE is defined

      INSERT_UPDATE_MESSAGE = "UPDATE " + messageTableName + " SET message=? " + "WHERE "
      + idWhereClause + " and msgseqnum=?";

      it is clear that the message ought to be stored before the sequence number.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              tmowad Tom Mowad
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: