)]}'
{"cinder/db/sqlalchemy/api.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5afcc954b30418e49a47231098c8ba374e5105b0","unresolved":false,"context_lines":[{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    # Mysql is not doing case sensitive filtering, so we force it"},{"line_number":399,"context_line":"    conn_str \u003d CONF.database.connection"},{"line_number":400,"context_line":"    if conn_str.startswith(\u0027mysql\u0027) and conn_str[5] in [\u0027+\u0027, \u0027:\u0027]:"},{"line_number":401,"context_line":"        cmp_value \u003d func.binary(value)"},{"line_number":402,"context_line":"        like_op \u003d \u0027LIKE BINARY\u0027"},{"line_number":403,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_68eaed10","line":400,"updated":"2016-08-16 17:26:32.000000000","message":"Why can\u0027t we leave just:\nif conn_str.startswith(\u0027mysql\u0027):\n?","commit_id":"50e6073539a721fc57d0bfaf43dc7f4b3706b501"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"1299486954372bcfc15d5fd2469f33123c9d7b15","unresolved":false,"context_lines":[{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    # Mysql is not doing case sensitive filtering, so we force it"},{"line_number":399,"context_line":"    conn_str \u003d CONF.database.connection"},{"line_number":400,"context_line":"    if conn_str.startswith(\u0027mysql\u0027) and conn_str[5] in [\u0027+\u0027, \u0027:\u0027]:"},{"line_number":401,"context_line":"        cmp_value \u003d func.binary(value)"},{"line_number":402,"context_line":"        like_op \u003d \u0027LIKE BINARY\u0027"},{"line_number":403,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_a0397ff4","line":400,"in_reply_to":"3ac371cc_25576127","updated":"2016-08-17 08:07:37.000000000","message":"It is precisely because of that rule that I added the check to the sixth character, because the correct thing to do is check that \"mysql\" is the complete dialect string and not just a part of it.\n\nA dialect called \"mysqlnot\" would trigger a false positive if we don\u0027t do the complete check.\n\nI know this is not a real possibility at the moment, but I prefer coding for correctness when possible, and in this case I believe it is quite cheap to do the right check.\n\nAlthough I would say that the list should be changed to a tuple since it\u0027s cheaper and has the same results.\n\nIf we agree to leave the full dialect check I\u0027ll just submit another patch to change the list to a tuple.","commit_id":"50e6073539a721fc57d0bfaf43dc7f4b3706b501"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"b000a51ae33ef0c92cebe2424db554847d766161","unresolved":false,"context_lines":[{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    # Mysql is not doing case sensitive filtering, so we force it"},{"line_number":399,"context_line":"    conn_str \u003d CONF.database.connection"},{"line_number":400,"context_line":"    if conn_str.startswith(\u0027mysql\u0027) and conn_str[5] in [\u0027+\u0027, \u0027:\u0027]:"},{"line_number":401,"context_line":"        cmp_value \u003d func.binary(value)"},{"line_number":402,"context_line":"        like_op \u003d \u0027LIKE BINARY\u0027"},{"line_number":403,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_25576127","line":400,"in_reply_to":"3ac371cc_68eaed10","updated":"2016-08-17 07:44:03.000000000","message":"Agree,according to the analyse rule:\n```\ndialect[+driver]://user:password@host/dbname[?key\u003dvalue..]\n```\nI think the **conn_str.startswith(\u0027mysql\u0027)** is enough","commit_id":"50e6073539a721fc57d0bfaf43dc7f4b3706b501"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"9ec4a5466bf2c73e1fc875b0fc4a9cc798443f4c","unresolved":false,"context_lines":[{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    # Mysql is not doing case sensitive filtering, so we force it"},{"line_number":399,"context_line":"    conn_str \u003d CONF.database.connection"},{"line_number":400,"context_line":"    if conn_str.startswith(\u0027mysql\u0027) and conn_str[5] in [\u0027+\u0027, \u0027:\u0027]:"},{"line_number":401,"context_line":"        cmp_value \u003d func.binary(value)"},{"line_number":402,"context_line":"        like_op \u003d \u0027LIKE BINARY\u0027"},{"line_number":403,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ac371cc_46fb8447","line":400,"in_reply_to":"3ac371cc_a0397ff4","updated":"2016-08-17 08:27:16.000000000","message":"Actually,I thought about it,I think it\u0027s enough because we can not see what will happen in the future,maybe there will be a dialect called *mysqlnot*,maybe the rule will be upgraded as below(almost not):\n```\ndialect[*driver]://user:password@host/dbname[?key\u003dvalue..]\n```\nso IMO,I\u0027d like to handle this when it\u0027s necessary(just personal preference)","commit_id":"50e6073539a721fc57d0bfaf43dc7f4b3706b501"}]}
