Performance issue

Hi @GuillaumeGautreau,

The regression issue is now fixed.

However, I can see that the generated SQL command which is generated when displaying my crm_user_exchanges collection, still does include all the users columns.

As a reminder, I have the following relationships defined:

db.users.hasMany(db.crm_user_exchanges);
db.crm_user_exchanges.belongsTo(db.users, { as: ‘user’, foreignKey: ‘user_id’, targetKey: ‘id’ });

When I display a record of my users collection, and then accessing the crm_user_exchanges related data (associated with that record), the generated SQL looks like the following one:

SELECT
“users”.“id”,
“crm_user_exchanges”.“id” AS “crm_user_exchanges.id”, “crm_user_exchanges”.“created_at” AS “crm_user_exchanges.created_at”,
“crm_user_exchanges”.“updated_at” AS “crm_user_exchanges.updated_at”, “crm_user_exchanges”.“deleted_at” AS “crm_user_exchanges.deleted_at”,
“crm_user_exchanges”.“subject” AS “crm_user_exchanges.subject”,

… all crm_user_exchanges columns …

“crm_user_exchanges.order_col”, “crm_user_exchanges”.“level” AS “crm_user_exchanges.level”,
“crm_user_exchanges->user”.“id” AS “crm_user_exchanges.user.id”,
“crm_user_exchanges->user”.“created_at” AS “crm_user_exchanges.user.created_at”,
“crm_user_exchanges->user”.“updated_at” AS “crm_user_exchanges.user.updated_at”, “crm_user_exchanges->user”.“deleted_at” AS “crm_user_exchanges.user.deleted_at”,
“crm_user_exchanges->user”.“email” AS “crm_user_exchanges.user.email”,
“crm_user_exchanges->user”.“is_email_verified” AS “crm_user_exchanges.user.is_email_verified”,

… all users columns … why? … only the columns required in the Reference should be used

FROM “vusers” AS “users”
LEFT OUTER JOIN “vcrm_user_exchanges” AS “crm_user_exchanges” ON “users”.“id” = “crm_user_exchanges”.“user_id”
LEFT OUTER JOIN “vusers” AS “crm_user_exchanges->user” ON “crm_user_exchanges”.“user_id” = “crm_user_exchanges->user”.“id”
WHERE
“users”.“id” = ‘1f04fe74-b47f-4d6e-aa83-91973c78997e’
ORDER BY
“crm_user_exchanges”.“order_col” ASC LIMIT 20 OFFSET 0;

All the users columns are still present, this is my issue.

My setup:

“database_type”: “postgres”,
“liana”: “forest-express-sequelize”,
“liana_version”: “6.3.11”,
“engine”: “nodejs”,
“engine_version”: “12.13.1”,
“framework”: “express”,
“framework_version”: “^4.17.1”,
“orm_version”: “4.44.0”

Thanks