github
html_url | issue_url | id | node_id | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
https://github.com/simonw/datasette/pull/653#issuecomment-582141626 | https://api.github.com/repos/simonw/datasette/issues/653 | 582141626 | MDEyOklzc3VlQ29tbWVudDU4MjE0MTYyNg== | 9599 | 2020-02-04T22:13:31Z | 2020-02-04T22:13:31Z | OWNER | Looks like SQLite supports `/* ... */` style comments as well. I don't think supporting those should be a requirement to land this though. https://www.sqlite.org/lang_comment.html | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
541331755 | |
https://github.com/simonw/datasette/pull/653#issuecomment-582141086 | https://api.github.com/repos/simonw/datasette/issues/653 | 582141086 | MDEyOklzc3VlQ29tbWVudDU4MjE0MTA4Ng== | 9599 | 2020-02-04T22:12:00Z | 2020-02-04T22:12:00Z | OWNER | You may well be right there! Let's add a test that demonstrates it. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
541331755 | |
https://github.com/simonw/datasette/pull/653#issuecomment-582106085 | https://api.github.com/repos/simonw/datasette/issues/653 | 582106085 | MDEyOklzc3VlQ29tbWVudDU4MjEwNjA4NQ== | 418191 | 2020-02-04T20:43:43Z | 2020-02-04T20:43:43Z | CONTRIBUTOR | but this also doesn't have to land at all if it doesn't match your use case. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
541331755 | |
https://github.com/simonw/datasette/pull/653#issuecomment-582105810 | https://api.github.com/repos/simonw/datasette/issues/653 | 582105810 | MDEyOklzc3VlQ29tbWVudDU4MjEwNTgxMA== | 418191 | 2020-02-04T20:43:01Z | 2020-02-04T20:43:01Z | CONTRIBUTOR | I *think* the existing code will be OK even if I strip the lines in the middle of a new line delimited string. It's only used for the validation, SQLite handles the `--` just fine and the whole SQL textarea still gets sent once it passes validation. I can add your test case to my branch later this evening though. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
541331755 | |
https://github.com/simonw/datasette/pull/653#issuecomment-582103856 | https://api.github.com/repos/simonw/datasette/issues/653 | 582103856 | MDEyOklzc3VlQ29tbWVudDU4MjEwMzg1Ng== | 9599 | 2020-02-04T20:38:18Z | 2020-02-04T20:38:18Z | OWNER | We can probably solve this without a SQL parser though. Really all we care about here is that if the FIRST lines of the statement begin with `--` we ignore them and only validate the statement starting from the first non-commented line. I think we can do that without single quoted strings causing us confusion. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
541331755 | |
https://github.com/simonw/datasette/pull/653#issuecomment-582101530 | https://api.github.com/repos/simonw/datasette/issues/653 | 582101530 | MDEyOklzc3VlQ29tbWVudDU4MjEwMTUzMA== | 9599 | 2020-02-04T20:32:11Z | 2020-02-04T20:32:11Z | OWNER | This is the kind of problem that has made me think that Datasette would really benefit from including a smart SQLite-syntax SQL parser. Writing one is a bit of a challenge though! There's an example (derived from SQLite SELECT statements) included in pyparsing here but I've not spent much time evaluating it: https://github.com/pyparsing/pyparsing/blob/master/examples/select_parser.py | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
541331755 | |
https://github.com/simonw/datasette/pull/653#issuecomment-582100643 | https://api.github.com/repos/simonw/datasette/issues/653 | 582100643 | MDEyOklzc3VlQ29tbWVudDU4MjEwMDY0Mw== | 9599 | 2020-02-04T20:29:56Z | 2020-02-04T20:29:56Z | OWNER | I think there's one nasty edge-case here that we need to worry about: SQLite allows newlines inside of single quoted strings and I've actually started using that in quite a few places - it's great for [embedding markdown in a string](https://github.com/simonw/datasette-render-markdown) for example. The way you're stripping comments right now splits on newlines and removes any lines that start with `--`. I believe that will mangle the following example: ```sql select '# Hello there * This is a list * of items -- [And a link](https://github.com/simonw/datasette-render-markdown).' as demo_markdown ``` | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
541331755 |