和英辞典Vocabulary dictionary

漢字辞典 Kanji dictionary

文法辞典 Grammar dictionary

例文検索 Sentence lookup

test
 

掲示板 Forums - advanced search, removing terms and merging schedules

Top > renshuu.org > Bugs / Problems



avatar
ブルブルクン
Level: 1416

This is a bug I've seen for a long time but I've finally sat down and tried to repro it for real.

  1. Create two schedules from lists. Put terms ABCD into schedule abcd and ABEF into schedule abef. AB are identical in both.
  2. Do an advanced search for schedule abcd.
  3. Remove the results from abef.
  4. Now abef only contains EF. abcd is unchanged and contains ABCD.
  5. Merge abcd and abef.
  6. Expected: the merged schedule contains ABCDEF. Bug: the merged schedule contains CDEF.

I believe there are other weird things that can happen too. This is just one instance.

Edit: it seems like it only happens when you make schedules from lists, not if you make the schedule without the list.

0
21 days ago
avatar
マイコー
Level: 346

Ooooh, this is a tricky one. I know exactly what is happening.

So, when you add a list to a schedule, it naturally maintains the binding to that list. You're not actually adding ABCD into it. You're adding "the contents of this list".

Now, with just the single schedule, if you go in and remove AB from it, you're not changing the contents of the list - that wouldn't make sense. Instead, you're putting a "mark" over it, which basically says "include the contents of this list, but keep AB out".

So that's what is happening here - the merge system always takes one of the schedules and makes it the primary schedule - that's the one for retaining the settings.

So schedule 1 has those terms in it, marked as DO NOT USE (so the link to the list can be maintained)

Schedule 2 (secondary) gets added to it.

However, the system does not have a sense of "this schedule has two copies of AB in it" (in your example). The database table that contains the list of terms (extracted from the lists) has one entry for each unique term. It's still holding onto the "DO NOT USE" marker from schedule 1, since it is considered the primary table.

I think the best way to approach this (but I'll need to see if the code makes this doable is to, at the point of merge, see if any of the DO NOT USE terms are present in one of the secondary schedules. If so, then remove that marker.

1
17 days ago
avatar
マイコー
Level: 346

Update: easier than I thought! Should be fixed.

1
17 days ago
avatar
ブルブルクン
Level: 1416

Nice, I think this is working now.

0
17 days ago
Getting the posts




Top > renshuu.org > Bugs / Problems


Loading the list
Lv.

Sorry, there was an error on renshuu! If it's OK, please describe what you were doing. This will help us fix the issue.

Characters to show:





Use your mouse or finger to write characters in the box.
■ Katakana ■ Hiragana