Etherpad-lite: рдПрдХ рдЧреИрд░-рдкреНрд░рддрд┐рд╕рд╛рдж рдИрдерд░ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ * рдирд╛рдо рд╡рд╛рд▓реЗ рдкреИрдб рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдЕрдкреНрд░реИрд▓ 2017  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ether/etherpad-lite

рдкреИрдб рдирд╛рдо * рдирд┐рд░реНрдпрд╛рдд рдкрд░ 100% CPU рдЙрдкрдпреЛрдЧ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдИрдерд░рдкреИрдб рдирд┐рд░реНрдпрд╛рдд рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ, рдХрд┐ * рд╕рднреА рдкреИрдб рдирд╛рдореЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рдкреВрд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ "рдлреЛрдмреНрдмрд░" рдирд╛рдордХ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЗрддрд┐рд╣рд╛рд╕ рд╡рд╛рд▓реЗ рдкреИрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ "рдлреВ *" рдирд╛рдордХ рдПрдХ рдирдП рдмрдирд╛рдП рдЧрдП рдкреИрдб рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдлрд╝реЛрдмреЛрдмрд╛рдЬрд╝ рдФрд░ рдлрд╝реВрдлрд╝реВ рдЬреИрд╕реЗ рдЕрдиреНрдп рдкреИрдб рдореМрдЬреВрдж рд╣реИрдВред

рдлреВ * рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдпрд╛рдд рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдлреЛрдмреНрдмрд░ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдпрд╛рдд рд╕реЗ рдмрдбрд╝реА рдереАред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпреВрдкреА? рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рдЧреЛрдкрдиреАрдпрддрд╛ рдХрд╛ рдореБрджреНрджрд╛ рд╣реИред

рд╕рднреА 13 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

https://github.com/ether/etherpad-lite/tree/fix/export-wildcards рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВред рдкреВрд░реНрд╡ рдореЗрдВ https://github.com/ether/etherpad-lite/commit/a0fb65205c7d7ff95f00eb9fd88e93b300f30c3d рдЙрдкрд╕рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдФрд░ рдЙрд╕ рдЙрдкрд╕рд░реНрдЧ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рдкреИрдб рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ред

рдЗрд╕ рдмрдЧ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ ueberdb рдореЗрдВ рдХреНрд╡реЗрд░реА-рдмрд┐рд▓реНрдбрд░ рднрд╛рдЧ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдПрдХ sql рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рдкреИрдб рдХрд╛ рдирд╛рдо рдкреВрд░реНрд╡ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИред ___ рдПрдХ 3 рдЕрдХреНрд╖рд░ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рднреА рдкреИрдб рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдЧрд╛ред

рджреЗрдЦ:
https://dev.mysql.com/doc/refman/5.7/en/pattern-matching.html
https://github.com/Pita/ueberDB/blob/5c2ef4dc1476ef24bc475885817816c3e602ec8b/mysql_db.js

Ueberdb рдХреБрдВрдЬреА рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ (рдФрд░ * рдкреИрдЪ рдХрд┐рдП рдЧрдП рдИрдерд░рдкреИрдб рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди _ рднреА рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг рд╣реИ):
key store key LIKE рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ?

рдзрдиреНрдпрд╡рд╛рдж! рдХреНрдпреЛрдВрдХрд┐ ueberdb рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдмреИрдХрдПрдВрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд╢рд╛рдпрдж рдЙрдиреНрд╣реЗрдВ рднреА рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛?

рдпрд╣ рднреА рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдкреИрдб рдирд╛рдореЛрдВ рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдлрд╝рд┐рд▓реНрдЯрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╣рд┐рдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЗрдВ рдмрдЪрддреЗ рд╣реИрдВред рдореИрдВ рдХрд▓ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░реВрдВрдЧрд╛ред

рдХрдо рд╕реЗ рдХрдо sqlite рдФрд░ postgresql рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреАред

рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдмреИрдХрдПрдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред

рдЦреЗрдж рд╣реИ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ ...
mysql, postgresql, sqlite рдФрд░ crate рдЙрдкрдпреЛрдЧ% рдФрд░ _
рдХреИрд╕реЗрдВрдбреНрд░рд╛, рдХрд╛рдЙрдЪ, рд░реАрдерд┐рдВрдХ, рдореЛрдВрдЧреЛ, рдЧрдВрджрд╛, рд░реЗрдбрд┐рд╕ рд╢рд╛рдпрдж рдкреАрд╕реАрдЖрд░рдИ-рд╢реИрд▓реА рд░реЗрдЧреЗрдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ

leveldb рдФрд░ lmdb findKeys рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ

рдпреВрдкреА? рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рдЧреЛрдкрдиреАрдпрддрд╛ рдХрд╛ рдореБрджреНрджрд╛ рд╣реИред

FWIW, рд╣рдордиреЗ рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдИрдерд░рдкреИрдб рдирд┐рд░реНрдпрд╛рдд рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рдерд╛ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдИрдерд░рдкреИрдб рдирд┐рд░реНрдпрд╛рдд рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкреИрдбрдореИрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ txt рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рд╕реАрдзреЗ db рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдмрд┐рдВрджреБ рд╕реЗ рдПрдереЗрдкрдб рдХреЗ рдЗрдВрдЯрд░реНрдирд▓ рдХреЗ 0 рдЬреНрдЮрд╛рди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдирд┐рд░реНрдпрд╛рдд txt рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд╢рд╛рдпрдж рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдХрд┐ рдкреИрдбрдореИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдерд░рдкреИрдб рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп DB рд╕реНрддрд░ рдкрд░ рд▓рдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП?

рдирдорд╕реНрддреЗ,
рдЗрд╕ рдмрдЧ рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ https://github.com/Pita/ueberDB рдореЗрдВ рднреА рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рдиреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ (рдЬреЛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреА рдХреНрд╡реЗрд░реА рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддреА рд╣реИ), рд▓реЗрдХрд┐рди рдкреИрдб рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдЬрд╛рдиреЗ рдмрд┐рдирд╛ рдИрдерд░рдкреИрдб рд╕рд░реНрд╡рд░ рдХреА рдкреВрд░реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

рдЗрд╕рд▓рд┐рдП рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рд╕рднреА рд╡рд░реНрдЧ рд╡рд┐рд╢реЗрд╖ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ ueberDB рдореЗрдВ рддрдп рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

Https://github.com/ether/etherpad-lite/commit/806c9207e365304ef0f3130d7d3ec59f362f8f9d рдореЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ findKeys рдЕрдм рдФрд░ рдирд╣реАрдВ рдмреБрд▓рд╛ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣реИрд▓реЛ, рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИ

рдЬреИрд╕реЗ рд╣реА рдореИрдВ рдПрдХ рдкреИрдб рдЦреЛрд▓рддрд╛ рд╣реВрдВ, рдиреЛрдб рдмрд╣реБрдд рд▓рд╛рд▓рдЪреА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ 100% CPU рдЙрдкрдпреЛрдЧ, рдХреГрдкрдпрд╛ рдХрд░реЗрдВ ????

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

aswen picture aswen  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Unifex picture Unifex  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Pita picture Pita  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

g4rf picture g4rf  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ddeenniiss picture ddeenniiss  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ