{"html_url": "https://github.com/simonw/datasette/issues/1#issuecomment-338523957", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1", "id": 338523957, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODUyMzk1Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-23T01:09:05Z", "updated_at": "2017-10-24T02:42:12Z", "author_association": "OWNER", "body": "I also need to solve for weird primary keys. If it\u2019s a single integer or a single char field that\u2019s easy. But what if it is a compound key with more than one chat field? What delimiter can I use that will definitely be safe?\r\n\r\nLet\u2019s say I use hyphen. Now I need to find a durable encoding for any hyphens that might exist in the key fields themselves.\r\n\r\nHow about I use URLencoding for every non-alpha-numeric character? That will turn hyphens into (I think) %2D. It should also solve for unicode characters, but it means the vast majority of keys (integers) will display neatly, including a compound key of eg 5678-345\r\n\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267513424, "label": "Addressable pages for every row in a table"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/24#issuecomment-338834213", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/24", "id": 338834213, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODgzNDIxMw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T00:23:05Z", "updated_at": "2017-10-24T00:23:05Z", "author_association": "OWNER", "body": "If I can\u2019t setect a primary key, I won\u2019t provide a URL for those records", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267828746, "label": "Implement full URL design"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/17#issuecomment-338852971", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/17", "id": 338852971, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODg1Mjk3MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T02:26:47Z", "updated_at": "2017-10-24T02:26:47Z", "author_association": "OWNER", "body": "I'm not going to bother with this.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267732005, "label": "In development mode, should still pick up new .db files"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/7#issuecomment-338853083", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/7", "id": 338853083, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODg1MzA4Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T02:27:25Z", "updated_at": "2017-10-24T02:27:25Z", "author_association": "OWNER", "body": "Fixed in 9d219140694551453bfa528e0624919eb065f9d6", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267516650, "label": "Framework where by every page is JSON plus a template"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1#issuecomment-338857568", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1", "id": 338857568, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODg1NzU2OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T02:57:12Z", "updated_at": "2017-10-24T02:57:12Z", "author_association": "OWNER", "body": "I can find the primary keys using:\r\n\r\n PRAGMA table_info(myTable)\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267513424, "label": "Addressable pages for every row in a table"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/23#issuecomment-338859620", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/23", "id": 338859620, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODg1OTYyMA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T03:11:42Z", "updated_at": "2017-10-24T03:11:42Z", "author_association": "OWNER", "body": "I\u2019m going to implement everything in https://docs.djangoproject.com/en/1.11/ref/models/querysets/#field-lookups with the exception of range and the various date ones.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267788884, "label": "Support Django-style filters in querystring arguments"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/23#issuecomment-338859709", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/23", "id": 338859709, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODg1OTcwOQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T03:12:18Z", "updated_at": "2017-10-24T03:12:42Z", "author_association": "OWNER", "body": "I\u2019m going to need to write unit tests for this, is this depends on #9", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267788884, "label": "Support Django-style filters in querystring arguments"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1#issuecomment-338861511", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1", "id": 338861511, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODg2MTUxMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T03:24:17Z", "updated_at": "2017-10-24T03:24:17Z", "author_association": "OWNER", "body": "Some tables won't have primary keys, in which case I won't generate pages for individual records.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267513424, "label": "Addressable pages for every row in a table"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/9#issuecomment-338863155", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/9", "id": 338863155, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODg2MzE1NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T03:36:58Z", "updated_at": "2017-10-24T03:36:58Z", "author_association": "OWNER", "body": "I\u2019m going to use py.test and start with all tests in a single tests.py module", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267517348, "label": "Initial test suite"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1#issuecomment-338872286", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1", "id": 338872286, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODg3MjI4Ng==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T04:46:06Z", "updated_at": "2017-10-24T04:46:06Z", "author_association": "OWNER", "body": "I'm going to use `,` as the separator between elements of a compound primary key. If those elements themselves include a comma I will use `%2C` in its place.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267513424, "label": "Addressable pages for every row in a table"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/9#issuecomment-338882110", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/9", "id": 338882110, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODg4MjExMA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T05:55:33Z", "updated_at": "2017-10-24T05:55:33Z", "author_association": "OWNER", "body": "Well, I've started it at least.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267517348, "label": "Initial test suite"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1#issuecomment-338882207", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1", "id": 338882207, "node_id": "MDEyOklzc3VlQ29tbWVudDMzODg4MjIwNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T05:56:04Z", "updated_at": "2017-10-24T05:56:04Z", "author_association": "OWNER", "body": "Next step: generate links to these.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267513424, "label": "Addressable pages for every row in a table"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/24#issuecomment-339003850", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/24", "id": 339003850, "node_id": "MDEyOklzc3VlQ29tbWVudDMzOTAwMzg1MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T14:12:00Z", "updated_at": "2017-10-24T14:12:00Z", "author_association": "OWNER", "body": "As of b46e370ee6126aa2fa85cf789a31da38aed98496 this is done.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267828746, "label": "Implement full URL design"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/29#issuecomment-339019873", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/29", "id": 339019873, "node_id": "MDEyOklzc3VlQ29tbWVudDMzOTAxOTg3Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T14:58:33Z", "updated_at": "2017-10-24T14:58:33Z", "author_association": "OWNER", "body": "Here's what I've got now:\r\n\r\n\"localhost_8006_northwind-40d049b_categories_json\"\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 268050821, "label": "Handle bytestring records encoding to JSON"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/5#issuecomment-339027711", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/5", "id": 339027711, "node_id": "MDEyOklzc3VlQ29tbWVudDMzOTAyNzcxMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T15:21:30Z", "updated_at": "2017-10-24T15:21:30Z", "author_association": "OWNER", "body": "I have code to detect primary keys on tables... but what should I do for tables that lack primary keys? How should I even sort them?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267516066, "label": "Implement sensible query pagination"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/5#issuecomment-339028979", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/5", "id": 339028979, "node_id": "MDEyOklzc3VlQ29tbWVudDMzOTAyODk3OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T15:25:08Z", "updated_at": "2017-10-24T15:25:08Z", "author_association": "OWNER", "body": "Looks like I can use the SQLite specific \u201crowid\u201d in that case. It isn\u2019t guaranteed to stay consistent across a VACUUM but that\u2019s ok because we are immutable anyway.\r\n\r\n https://www.sqlite.org/lang_createtable.html#rowid", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267516066, "label": "Implement sensible query pagination"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/23#issuecomment-339138809", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/23", "id": 339138809, "node_id": "MDEyOklzc3VlQ29tbWVudDMzOTEzODgwOQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-10-24T21:32:46Z", "updated_at": "2017-10-24T21:32:46Z", "author_association": "OWNER", "body": "May as well support most of https://sqlite.org/lang_expr.html", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 267788884, "label": "Support Django-style filters in querystring arguments"}, "performed_via_github_app": null}