agrosner / DBFlow

A blazing fast, powerful, and very simple ORM android database library that writes database code for you.
MIT License
4.87k stars 598 forks source link

SQL query is not created properly if foreignKey is reference to a table with multiple primaryKey #1739

Open punnyaannjoy opened 4 months ago

punnyaannjoy commented 4 months ago

Wrong SQL query is generated when parent table having more than one primary key is referenced through foreign key in the child table

DBFlow Version: 4.2.4

Bug or Feature Request: Fix the logic for creating SQL query when Parent table with more than 1 primary key is referenced through foreignKey in the child table

Description:

When a child table reference a parent table (having more than one primaryKey) through Foreign Key, the SQL query generated for the child table is wrong

Here is the example of the query generated for UPDATE operation.

@Override
public final String getUpdateStatementQuery() {
 return "UPDATE ContactPhoneMapping SET contact_primaryId=?,contact_secondaryId=?,phoneNo=?,type=? WHERE contact_primaryId=?,contact_secondaryId=? AND phoneNo=?";
}


Notice that "AND" is missing in the where condition for "contact_primaryId" and "contact_secondaryId"

loquitowen commented 4 months ago

这是来自QQ邮箱的假期自动回复邮件。   您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。

punnyaannjoy commented 3 months ago

@agrosner any suggestion on the above issue?

loquitowen commented 3 months ago

这是来自QQ邮箱的假期自动回复邮件。   您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。