{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":52091419,"defaultBranch":"main","name":"sql_lexer","ownerLogin":"appsignal","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-02-19T14:02:53.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/3984134?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1722515189.0","currentOid":""},"activityList":{"items":[{"before":"1348e9be2030ca0d62137212fe2618cc57f01266","after":"c9f793cbc0aadd766a160d0ed7dd53865a611c3c","ref":"refs/heads/main","pushedAt":"2024-08-01T13:00:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Bump patch version","shortMessageHtmlLink":"Bump patch version"}},{"before":"1fec973c3cbba81be32e512b7de8652a688f313d","after":"1348e9be2030ca0d62137212fe2618cc57f01266","ref":"refs/heads/main","pushedAt":"2024-08-01T13:00:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Bump minor version","shortMessageHtmlLink":"Bump minor version"}},{"before":"d7042addbf2dadf46e66e772d4649675e6337d58","after":"1fec973c3cbba81be32e512b7de8652a688f313d","ref":"refs/heads/main","pushedAt":"2024-08-01T12:57:23.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Merge pull request #32 from appsignal/fix-true-false-sanitization\n\nFix TRUE and FALSE sanitization","shortMessageHtmlLink":"Merge pull request #32 from appsignal/fix-true-false-sanitization"}},{"before":"6a24b37d96bca5b2e0d26ff96cf0ad46d99d3027","after":"e637f54f1a2b27d4752f3e788b356ab416dcce1b","ref":"refs/heads/fix-true-false-sanitization","pushedAt":"2024-08-01T12:29:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Omit repeated VALUES groups\n\nWhen an `INSERT INTO (...) VALUES (...)` has many parenthesis groups\n(`VALUES (...), (...)`) omit all but the first, replacing the rest\nwith an ellipsis.","shortMessageHtmlLink":"Omit repeated VALUES groups"}},{"before":null,"after":"6a24b37d96bca5b2e0d26ff96cf0ad46d99d3027","ref":"refs/heads/fix-true-false-sanitization","pushedAt":"2024-08-01T12:26:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Omit repeated VALUES groups\n\nWhen an `INSERT INTO (...) VALUES (...)` has many parenthesis groups\n(`VALUES (...), (...)`) omit all but the first, replacing the rest\nwith an ellipsis.","shortMessageHtmlLink":"Omit repeated VALUES groups"}},{"before":"b222762f1c36ceaab56b4de8035c996e48ba0037","after":"d7042addbf2dadf46e66e772d4649675e6337d58","ref":"refs/heads/main","pushedAt":"2024-02-01T12:54:48.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Merge pull request #31 from appsignal/test-empty-string-sanitization\n\nTest empty string sanitization","shortMessageHtmlLink":"Merge pull request #31 from appsignal/test-empty-string-sanitization"}},{"before":"73672b38d71d2503a0ed9dba5be4c7f124bebdd6","after":"eb9a9d8b6b924966ba978aa5d8c11498874229f7","ref":"refs/heads/test-empty-string-sanitization","pushedAt":"2024-01-31T18:27:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Test empty string sanitization","shortMessageHtmlLink":"Test empty string sanitization"}},{"before":null,"after":"73672b38d71d2503a0ed9dba5be4c7f124bebdd6","ref":"refs/heads/test-empty-string-sanitization","pushedAt":"2024-01-31T18:25:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Test empty string sanitization","shortMessageHtmlLink":"Test empty string sanitization"}},{"before":"0d7bbc06e6f4c75bfb723f74431e7ce5c3a97258","after":"b222762f1c36ceaab56b4de8035c996e48ba0037","ref":"refs/heads/main","pushedAt":"2024-01-15T15:13:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Bump to version 0.9.6\n\nFix an issue where values in a `VALUES` clause would not be sanitised\nif any of the preceding values in the clause was a string with a\nleading type indicator (for example, the binary string `x\"foo\"` in\nMySQL)","shortMessageHtmlLink":"Bump to version 0.9.6"}},{"before":"5d66bdfc716b3d41c05258d80d0deb22f7306738","after":"0d7bbc06e6f4c75bfb723f74431e7ce5c3a97258","ref":"refs/heads/main","pushedAt":"2024-01-12T14:11:10.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Merge pull request #30 from appsignal/fix-solidcache-json-sanitisation\n\nFix SolidCache JSON sanitisation","shortMessageHtmlLink":"Merge pull request #30 from appsignal/fix-solidcache-json-sanitisation"}},{"before":"5c8e028b4fb483d1291023715b3af8b10fc937b6","after":"3184e8669902ed16b0bfa1aea6b84502fb45776c","ref":"refs/heads/fix-solidcache-json-sanitisation","pushedAt":"2024-01-12T13:58:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Fix SolidCache JSON sanitisation\n\nThe issue lies on the fact that a binary MySQL string (`x\"...\"`)\nappears before a regular MySQL string (`\"...\"`). This trips the\nsanitiser, which recognises the leading `x` as a literal value type\nindicator. After the literal value type indicator state is over,\nthe sanitiser forgets that it's inside a VALUES statement.\n\nFix this by removing the literal value type indicator state and\nkeeping the state as-is when encountering the literal value type\nindicator token.\n\nCo-authored-by: Luismi Ramirez ","shortMessageHtmlLink":"Fix SolidCache JSON sanitisation"}},{"before":"68ee0555d75156705941be3d06739fe522df3e2f","after":"5c8e028b4fb483d1291023715b3af8b10fc937b6","ref":"refs/heads/fix-solidcache-json-sanitisation","pushedAt":"2024-01-12T13:56:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Fix SolidCache JSON sanitisation\n\nThe issue lies on the fact that a binary MySQL string (`x\"...\"`)\nappears before a regular MySQL string (`\"...\"`). This trips the\nsanitiser, which recognises the leading `x` as a literal value type\nindicator. After the literal value type indicator state is over,\nthe sanitiser forgets that it's inside a VALUES statement.\n\nFix this by removing the literal value type indicator state and\nkeeping the state as-is when encountering the literal value type\nindicator token.","shortMessageHtmlLink":"Fix SolidCache JSON sanitisation"}},{"before":"ff3de0e9359e4df7b57cd18aae9415f52e8845f2","after":"68ee0555d75156705941be3d06739fe522df3e2f","ref":"refs/heads/fix-solidcache-json-sanitisation","pushedAt":"2024-01-12T13:25:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Fix SolidCache JSON sanitisation\n\nThe issue lies on the fact that a binary MySQL string (`x\"...\"`)\nappears before a regular MySQL string (`\"...\"`). This trips the\nsanitiser, which recognises the leading `x` as a literal value type\nindicator. After the literal value type indicator state is over,\nthe sanitiser forgets that it's inside a VALUES statement.\n\nFix this by keeping track of a \"context state\" to return to after\ncertain state transitions, instead of always returning to the\ndefault state.\n\nCo-authored-by: Luismi Ramirez ","shortMessageHtmlLink":"Fix SolidCache JSON sanitisation"}},{"before":null,"after":"ff3de0e9359e4df7b57cd18aae9415f52e8845f2","ref":"refs/heads/fix-solidcache-json-sanitisation","pushedAt":"2024-01-12T12:16:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Fix SolidCache JSON sanitisation\n\nThe issue lies on the fact that a binary MySQL string (`x\"...\"`)\nappears before a regular MySQL string (`\"...\"`). This trips the\nsanitiser, which recognises the leading `x` as a literal value type\nindicator. After the literal value type indicator state is over,\nthe sanitiser forgets that it's inside a VALUES statement.\n\nFix this by keeping track of a \"context state\" to return to after\ncertain state transitions, instead of always returning to the\ndefault state.\n\nCo-authored-by: Luismi Ramirez ","shortMessageHtmlLink":"Fix SolidCache JSON sanitisation"}},{"before":"ed0ad03ca82c8408f63aadf0f7e2db32b3f8131f","after":"5d66bdfc716b3d41c05258d80d0deb22f7306738","ref":"refs/heads/main","pushedAt":"2023-09-05T07:58:06.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"luismiramirez","name":"Luismi Ramírez","path":"/luismiramirez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1941121?s=80&v=4"},"commit":{"message":"Merge pull request #29 from appsignal/strip-otel-comments\n\nSanitize all comments","shortMessageHtmlLink":"Merge pull request #29 from appsignal/strip-otel-comments"}},{"before":null,"after":"283de74fab43160c3e05b278428b878d667cd9a5","ref":"refs/heads/strip-otel-comments","pushedAt":"2023-09-04T13:50:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"luismiramirez","name":"Luismi Ramírez","path":"/luismiramirez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1941121?s=80&v=4"},"commit":{"message":"Sanitize all comments\n\nDue to OpenTelemetry integrations, some queries might contain unique\ninformation such as the parent trace ids that make what we identify as\nunique queries to be not unique.\n\nThis commit sanitizes all comments to avoid that from happening.","shortMessageHtmlLink":"Sanitize all comments"}},{"before":"9573053ef59ff62a0d9da29a49c127c3d704b282","after":"ed0ad03ca82c8408f63aadf0f7e2db32b3f8131f","ref":"refs/heads/main","pushedAt":"2023-07-27T09:06:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"luismiramirez","name":"Luismi Ramírez","path":"/luismiramirez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1941121?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"b9d9424338e98e34757a986603e51ca4f5107064","after":null,"ref":"refs/heads/sanitize-then-else","pushedAt":"2023-07-27T09:05:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"luismiramirez","name":"Luismi Ramírez","path":"/luismiramirez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1941121?s=80&v=4"}},{"before":"3ea4f71abd7f0201cbec733a1b5ea4b35a4fb03e","after":"9573053ef59ff62a0d9da29a49c127c3d704b282","ref":"refs/heads/main","pushedAt":"2023-07-27T09:05:05.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"luismiramirez","name":"Luismi Ramírez","path":"/luismiramirez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1941121?s=80&v=4"},"commit":{"message":"Merge pull request #28 from appsignal/sanitize-then-else\n\nAdd THEN and ELSE as logical operators","shortMessageHtmlLink":"Merge pull request #28 from appsignal/sanitize-then-else"}},{"before":"022eac008ef1e6c4749cfdedc3857c51feb2cec9","after":"b9d9424338e98e34757a986603e51ca4f5107064","ref":"refs/heads/sanitize-then-else","pushedAt":"2023-07-26T08:17:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"luismiramirez","name":"Luismi Ramírez","path":"/luismiramirez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1941121?s=80&v=4"},"commit":{"message":"Add THEN and ELSE as logical operators\n\nMake the lexer know about the existence of the `THEN` and `ELSE` word as\nlogical operators to tokenize and sanitize them.","shortMessageHtmlLink":"Add THEN and ELSE as logical operators"}},{"before":"c98665d310ec08930d50abd52fb07d9089872c8d","after":"022eac008ef1e6c4749cfdedc3857c51feb2cec9","ref":"refs/heads/sanitize-then-else","pushedAt":"2023-07-26T08:15:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"luismiramirez","name":"Luismi Ramírez","path":"/luismiramirez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1941121?s=80&v=4"},"commit":{"message":"Add THEN and ELSE as logical operators\n\nMake the lexer know about the existence of the `THEN` and `ELSE` word as\nlogical operators to tokenize and sanitize them.","shortMessageHtmlLink":"Add THEN and ELSE as logical operators"}},{"before":null,"after":"c98665d310ec08930d50abd52fb07d9089872c8d","ref":"refs/heads/sanitize-then-else","pushedAt":"2023-07-26T08:03:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"luismiramirez","name":"Luismi Ramírez","path":"/luismiramirez","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1941121?s=80&v=4"},"commit":{"message":"Add THEN and ELSE as logical operators\n\nMake the lexer know about the existence of the `THEN` and `ELSE` word as\nlogical operators to tokenize them.","shortMessageHtmlLink":"Add THEN and ELSE as logical operators"}},{"before":"ff429580ce85dc3342ac7ee356c6d65eaef81aa4","after":"3ea4f71abd7f0201cbec733a1b5ea4b35a4fb03e","ref":"refs/heads/main","pushedAt":"2023-03-09T11:20:16.229Z","pushType":"push","commitsCount":1,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"8510322a40ae9b239f46495fb5336d08937c7171","after":"ff429580ce85dc3342ac7ee356c6d65eaef81aa4","ref":"refs/heads/main","pushedAt":"2023-03-07T10:09:42.015Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"unflxw","name":"Noemi","path":"/unflxw","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45180344?s=80&v=4"},"commit":{"message":"Merge pull request #27 from appsignal/sanitise-within-functions\n\nSanitise within functions","shortMessageHtmlLink":"Merge pull request #27 from appsignal/sanitise-within-functions"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEjyZG5wA","startCursor":null,"endCursor":null}},"title":"Activity · appsignal/sql_lexer"}