Cannot do foreign key renaming for multiple fields coming from different original parent table in 3.4.1
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
調査の方向性
MATLAB 2020a で A、B、C、D の宣言シーケンスを再現し、その後、304 行目の dj.internal.Declare.makeFK と、152 行目の dj.internal.Declare.declare にあるその呼び出し元を調べます。失敗する複数の親をまたぐ名前変更と、動作する単一の親の場合を比較します。完了条件は、D がマッピングされたフィールドの不一致エラーなしに、名前を変更した両方の外部キー フィールドを宣言できることです。
索引モデルが issue の本文から書いたものです。
説明
Cannot declare a table with foreign key renaming for multiple fields
Reproducibility
Include:
- OS MACOS
- MATLAB Version 2020a
- MySQL version 10.4.13-MariaDB Homebrew
- MySQL Deployment Strategy local-native
- DataJoint Version 3.4.1
- Minimum number of steps to reliably reproduce the issue:
%{
pk_a: varchar(12)
%}
classdef A < dj.Manual
end
%{
pk_b : varchar(12)
%}
classdef B < dj.Manual
end
%{
-> subject.A
-> subject.B
%}
classdef C < dj.Manual
end
%{
(pk_da, pk_db) -> subject.C
%}
classdef D < dj.Manual
end
- Complete error stack as a result of evaluating the above steps
When declaring D, I got the following error:
>> subject.D
ans =
Object subject.D
Error using dj.internal.Declare.makeFK (line 304)
Mapped fields (pk_da,pk_db) and () must match in the foreign key.
Error in dj.internal.Declare.declare (line 152)
dj.internal.Declare.makeFK( ...
Error in dj.internal.Table/create (line 624)
[sql, external_stores] = dj.internal.Declare.declare(self, def);
Error in dj.internal.Table/get.plainTableName (line 116)
self.create
Error in dj.internal.Table/get.tableHeader (line 83)
self.tableHeader = self.schema.headers(self.plainTableName);
Error in dj.internal.GeneralRelvar/compile (line 676)
header = derive(tab.tableHeader);
Error in dj.internal.GeneralRelvar/get.header (line 43)
header = self.compile;
Error in dj.internal.GeneralRelvar/disp (line 73)
hdr = self.header;
If I do
%{
pk1: varchar(12)
pk2: varchar(12)
%}
classdef A < dj.Manual
end
%{
(f1, f2) -> subject.A(pk1, pk2)
%}
classdef B < dj.Manual
end
It worked.
- 主要言語
- MATLAB
- スター
- 41
- フォーク
- 42
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
datajoint/datajoint-matlab のほかの issue
-
awaiting-triage enhancement
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
datajoint/datajoint-matlab#437 ·
-
awaiting-triage bug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
datajoint/datajoint-matlab#436 ·
-
awaiting-triage enhancement
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
datajoint/datajoint-matlab#431 · コメント 2 件 ·
-
awaiting-triage bug
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
datajoint/datajoint-matlab#430 · コメント 2 件 ·
-
SSL Connection errorオープンawaiting-triage bug
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
datajoint/datajoint-matlab#425 · コメント 3 件 ·
datajoint/datajoint-matlab の issue をすべて見る
似ている issue
-
type:bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
VH-Lab/DID-matlab#220 ·
メンテナーはふだん 1 日以内に返信
-
ATSU: received telex messages lose their line breaks on the MCDU対応中かも @wimatte が 2 日前に担当しました。 オープンRequest
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
flybywiresim/aircraft#10986 ·
メンテナーはふだん 1 日以内に返信
-
Distrib: Compile standalone version with >= R2023b as macOS (28) will not support Runtime R2023aオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
brainstorm-tools/brainstorm3#952 · コメント 3 件 ·
-
MATLAB/Octave: allow M=0 (empty NU arrays), as the low-level language APIs, and documentation, do対応中かも @ahbarnett が 2 日前に担当しました。 オープンbug easy
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
flatironinstitute/finufft#937 · コメント 4 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信