home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

4 rows where issue = 548591089 sorted by updated_at descending

✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: reactions, created_at (date), updated_at (date)

user 2

  • simonw 2
  • dazzag24 2

author_association 2

  • NONE 2
  • OWNER 2

issue 1

  • Allow creation of virtual tables at startup · 4 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
761179229 https://github.com/simonw/datasette/issues/657#issuecomment-761179229 https://api.github.com/repos/simonw/datasette/issues/657 MDEyOklzc3VlQ29tbWVudDc2MTE3OTIyOQ== simonw 9599 2021-01-15T20:24:35Z 2021-01-15T20:24:35Z OWNER

I'm not sure how I missed this issue but it's almost a year later and I'm finally taking a look at your Parquet work.

This is yet more evidence that allowing plugins to provide their own custom Database objects would be a good idea.

I started exploring what Datasette would like on PostgreSQL in #670 - my concern was that I would need to add a large amount of database abstraction code which would dramatically increase the complexity of the core project, but my thinking now is that it might be tractable - Datasette doesn't actually construct SQL in complex ways anywhere outside of the TableView class so abstracting away just that bit should be feasible.

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Allow creation of virtual tables at startup 548591089  
761101878 https://github.com/simonw/datasette/issues/657#issuecomment-761101878 https://api.github.com/repos/simonw/datasette/issues/657 MDEyOklzc3VlQ29tbWVudDc2MTEwMTg3OA== simonw 9599 2021-01-15T18:16:01Z 2021-01-15T18:16:01Z OWNER

I think the startup() plugin hook at https://docs.datasette.io/en/stable/plugin_hooks.html#startup-datasette should be able to fit this. You can write a plugin which uses that hook to execute CREATE VIRTUAL TABLE against one or more databases when Datasette first starts running.

Would that work here?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Allow creation of virtual tables at startup 548591089  
576759416 https://github.com/simonw/datasette/issues/657#issuecomment-576759416 https://api.github.com/repos/simonw/datasette/issues/657 MDEyOklzc3VlQ29tbWVudDU3Njc1OTQxNg== dazzag24 1055831 2020-01-21T16:20:19Z 2020-01-21T16:20:19Z NONE

Hi,

I've completed some changes to my fork of datasette that allows it to automatically create the parquet virtual table when you supply it with a filename that has the ".parquet" extension.

I had to figure out how to make the "CREATE VIRTUAL TABLE" statement only be applied to the fake in memory parquet database and not to any others that were also being loaded. Thus it supports mixed mode databases e.g

datasette my_test.parquet normal_sqlite_file.db --load-extension=libparquet.so --load-extensio n=mod_spatialite.so

Please see my changes here:
https://github.com/dazzag24/datasette/commit/8e18394353114f17291fd1857073b1e0485a1faf

Thanks

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Allow creation of virtual tables at startup 548591089  
575321322 https://github.com/simonw/datasette/issues/657#issuecomment-575321322 https://api.github.com/repos/simonw/datasette/issues/657 MDEyOklzc3VlQ29tbWVudDU3NTMyMTMyMg== dazzag24 1055831 2020-01-16T20:01:43Z 2020-01-16T20:01:43Z NONE

I have successfully tested datasette using a parquet VIRTUAL TABLE. In the first terminal:

datasette airports.db --load-extension=libparquet

In another terminal I load the same sqlite db file using the sqlite3 cli client.

$ sqlite3 airports.db

and then load the parquet extension and create the virtual table.

sqlite> .load /home/darreng/metars/libparquet sqlite> CREATE VIRTUAL TABLE mytable USING parquet('/home/xx/data.parquet');

Now the parquet virtual table is usable by the datasette web UI.

Its not an ideal solution but is a proof that datasette works the parquet extension.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Allow creation of virtual tables at startup 548591089  

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
, [performed_via_github_app] TEXT);
CREATE INDEX [idx_issue_comments_issue]
                ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
                ON [issue_comments] ([user]);
Powered by Datasette · Queries took 22.586ms · About: github-to-sqlite
  • Sort ascending
  • Sort descending
  • Facet by this
  • Hide this column
  • Show all columns
  • Show not-blank rows