ah, i do have something to add. i realized i can “ask” sql what is actually in the database.
at the beginning of addUpdates(), i do:
(Pdb) self.col.db.execute("select flds from notes where csum = ?", 2856611645)
[['<div align="center">مٌتِأَهِل</div>\x1f<div align="center">moteahel <p></div><p><div><div align="left">evlenmiş</div>']]
(Pdb) y = [x for x in rows if x[2].find("moteahel") != -1]
(Pdb) y[0][2]
'<div align="center">مٌتِأَهِل</div>\x1f<div align="center">moteahel <p></div><p><div><div align="left">evlenmiş</div>'
then, od -x. first is the value returned from the database; the second, what is in the
argument to addUpdates():
bash apollo2 (master): {52122} od -x
مٌتِأَهِل
0000000 85d9 8cd9 aad8 90d9 a3d8 8ed9 87d9 90d9
0000020 84d9 000a
0000023
bash apollo2 (master): {52123} od -x
مٌتِأَهِل
0000000 85d9 8cd9 aad8 90d9 a7d8 8ed9 94d9 87d9
0000020 90d9 84d9 000a
0000025
then, back in addUpdates():
(Pdb) z = self.col.db.execute("select flds from notes where csum = ?", 2856611645)
(Pdb) z
[['<div align="center">مٌتِأَهِل</div>\x1f<div align="center">moteahel <p></div><p><div><div align="left">evlenmiş</div>']]
(Pdb) y = [x for x in rows if x[2].find("moteahel") != -1]
(Pdb) zz = z[0][0].split("\x1f")[0]
(Pdb) zz
'<div align="center">مٌتِأَهِل</div>'
(Pdb) y
[[1616121457, -1, '<div align="center">مٌتِأَهِل</div>\x1f<div align="center">moteahel <p></div><p><div><div align="left">evlenmiş</div>', '', 1616085188287, '<div align="center">مٌتِأَهِل</div>\x1f<div align="center">moteahel <p></div><p><div><div align="left">evlenmiş</div>', ''], [1616121457, -1, '<div align="center">مٌتِأَهِل</div><p><div align="right">anlam</div>\x1f<div align="center">evlenmiş <p></div><p><div><div align="left">moteahel</div>', '', 1616085188288, '<div align="center">مٌتِأَهِل</div><p><div align="right">anlam</div>\x1f<div align="center">evlenmiş <p></div><p><div><div align="left">moteahel</div>', '']]
(Pdb) yy = y[0][2].split("\x1f")[0]
(Pdb) yy
'<div align="center">مٌتِأَهِل</div>'
(Pdb) fieldChecksum(zz)
2856611645
(Pdb) fieldChecksum(yy)
3012355254
(Pdb) fieldChecksum(unicodedata.normalize('NFC', zz))
2856611645
(Pdb) fieldChecksum(unicodedata.normalize('NFC', yy))
2856611645
so, the data we are trying to add isn’t stable under normalize(). and
someone (anki? python sql? sql?) is normalizing before writing to
the disk (or something).
cheers.