home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

16 rows where "updated_at" is on date 2020-05-10 sorted by updated_at descending

✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

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

author_association 4

  • MEMBER 6
  • OWNER 5
  • CONTRIBUTOR 4
  • NONE 1

user 3

  • simonw 11
  • RhetTbull 4
  • philroche 1

issue 3

  • bpylist.archiver.CircularReference: archive has a cycle with uid(13) 10
  • Support decimal.Decimal type 5
  • Escaping named parameters in canned queries 1
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
626396379 https://github.com/dogsheep/dogsheep-photos/issues/21#issuecomment-626396379 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/21 MDEyOklzc3VlQ29tbWVudDYyNjM5NjM3OQ== RhetTbull 41546558 2020-05-10T22:01:48Z 2020-05-10T22:01:48Z CONTRIBUTOR

Frustrates me when package authors create a "drop in" replacement with the same import name...this kind of thing has bitten me more than once! Would've been nicer I think for bpylist2 to do "import bpylist2 as bpylist"

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bpylist.archiver.CircularReference: archive has a cycle with uid(13) 615474990  
626395781 https://github.com/dogsheep/dogsheep-photos/issues/21#issuecomment-626395781 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/21 MDEyOklzc3VlQ29tbWVudDYyNjM5NTc4MQ== simonw 9599 2020-05-10T21:57:09Z 2020-05-10T21:57:09Z MEMBER

Yes, I just recreated my virtual environment from scratch and the error went away.

The problem occurred when I ran pip install datasette-bplist in the same virtual environment - https://github.com/simonw/datasette-bplist/blob/master/setup.py depends on bpylist which is incompatible with bpylist2.

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bpylist.archiver.CircularReference: archive has a cycle with uid(13) 615474990  
626395641 https://github.com/dogsheep/dogsheep-photos/issues/21#issuecomment-626395641 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/21 MDEyOklzc3VlQ29tbWVudDYyNjM5NTY0MQ== RhetTbull 41546558 2020-05-10T21:55:54Z 2020-05-10T21:55:54Z CONTRIBUTOR

Did removing old bpylist solve the original problem or do you still have a photo that throws circular reference?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bpylist.archiver.CircularReference: archive has a cycle with uid(13) 615474990  
626395507 https://github.com/dogsheep/dogsheep-photos/issues/21#issuecomment-626395507 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/21 MDEyOklzc3VlQ29tbWVudDYyNjM5NTUwNw== RhetTbull 41546558 2020-05-10T21:54:45Z 2020-05-10T21:54:45Z CONTRIBUTOR

@simonw does Photos show valid reverse geolocation info? Are you sure you're using bpylist2 and not bpylist? They're both unfortunately imported as "bpylist" so if you somehow got the wrong (original bpylist) version installed, it could be the issue.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bpylist.archiver.CircularReference: archive has a cycle with uid(13) 615474990  
626395209 https://github.com/dogsheep/dogsheep-photos/issues/21#issuecomment-626395209 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/21 MDEyOklzc3VlQ29tbWVudDYyNjM5NTIwOQ== simonw 9599 2020-05-10T21:52:42Z 2020-05-10T21:52:42Z MEMBER

Aha! It looks like I accidentally installed the old bplist into the same environment: $ pip freeze | grep bpylist bpylist==0.1.4 bpylist2==3.0.0

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bpylist.archiver.CircularReference: archive has a cycle with uid(13) 615474990  
626395103 https://github.com/dogsheep/dogsheep-photos/issues/21#issuecomment-626395103 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/21 MDEyOklzc3VlQ29tbWVudDYyNjM5NTEwMw== simonw 9599 2020-05-10T21:51:36Z 2020-05-10T21:51:36Z MEMBER

@RhetTbull I tried that workaround and it turns out I'm getting this error on ALL of my photos now!

It's weird: a few day ago this wasn't happening. Now it's happening to everything. I'm not sure what I might have changed.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bpylist.archiver.CircularReference: archive has a cycle with uid(13) 615474990  
626390317 https://github.com/dogsheep/dogsheep-photos/issues/21#issuecomment-626390317 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/21 MDEyOklzc3VlQ29tbWVudDYyNjM5MDMxNw== RhetTbull 41546558 2020-05-10T21:11:24Z 2020-05-10T21:50:58Z CONTRIBUTOR

Ugh....Yeah, I think easiest is to catch the exception and return no place as you suggest. This particular bit of code involves un-archiving a serialized NSKeyedArchiver which uses an object table and it is certainly possible to create a circular reference that way. Because this is happening in the decode, the circular reference must be in the original data. Does Photos show valid reverse geolocation info for the photo in question? If so, Photos may be doing something beyond a simple decode of the binary plist. For now, I'll push a patch to catch the exception.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bpylist.archiver.CircularReference: archive has a cycle with uid(13) 615474990  
626394989 https://github.com/dogsheep/dogsheep-photos/issues/21#issuecomment-626394989 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/21 MDEyOklzc3VlQ29tbWVudDYyNjM5NDk4OQ== simonw 9599 2020-05-10T21:50:36Z 2020-05-10T21:50:36Z MEMBER

https://github.com/Marketcircle/bpylist/pull/2 looks relevant here.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bpylist.archiver.CircularReference: archive has a cycle with uid(13) 615474990  
626391307 https://github.com/simonw/sqlite-utils/issues/110#issuecomment-626391307 https://api.github.com/repos/simonw/sqlite-utils/issues/110 MDEyOklzc3VlQ29tbWVudDYyNjM5MTMwNw== simonw 9599 2020-05-10T21:19:04Z 2020-05-10T21:19:04Z OWNER

I'm going to set it up so that Python decimal.Decimal is treated in a FLOAT column, until someone convinces me otherwise!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Support decimal.Decimal type 613755043  
626391217 https://github.com/simonw/sqlite-utils/issues/110#issuecomment-626391217 https://api.github.com/repos/simonw/sqlite-utils/issues/110 MDEyOklzc3VlQ29tbWVudDYyNjM5MTIxNw== simonw 9599 2020-05-10T21:18:28Z 2020-05-10T21:18:28Z OWNER

sqlite-utils currently treats the SQLite NUMERIC concept as a float:

https://github.com/simonw/sqlite-utils/blob/daf2a245aa4e0b0cf62a94c1232cfb858821803b/tests/test_column_affinity.py#L28-L30

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Support decimal.Decimal type 613755043  
626391063 https://github.com/simonw/sqlite-utils/issues/110#issuecomment-626391063 https://api.github.com/repos/simonw/sqlite-utils/issues/110 MDEyOklzc3VlQ29tbWVudDYyNjM5MTA2Mw== simonw 9599 2020-05-10T21:17:16Z 2020-05-10T21:17:16Z OWNER

From https://www.sqlite.org/datatype3.html#type_affinity :

A column with NUMERIC affinity may contain values using all five storage classes. When text data is inserted into a NUMERIC column, the storage class of the text is converted to INTEGER or REAL (in order of preference) if the text is a well-formed integer or real literal, respectively. If the TEXT value is a well-formed integer literal that is too large to fit in a 64-bit signed integer, it is converted to REAL. For conversions between TEXT and REAL storage classes, only the first 15 significant decimal digits of the number are preserved. If the TEXT value is not a well-formed integer or real literal, then the value is stored as TEXT.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Support decimal.Decimal type 613755043  
626390822 https://github.com/simonw/sqlite-utils/issues/110#issuecomment-626390822 https://api.github.com/repos/simonw/sqlite-utils/issues/110 MDEyOklzc3VlQ29tbWVudDYyNjM5MDgyMg== simonw 9599 2020-05-10T21:15:28Z 2020-05-10T21:15:28Z OWNER

https://www.sqlite.org/datatype3.html#affinity_name_examples suggests that DECIMAL(10,5) should be mapped to the SQLite affinity of NUMERIC - which I've not worked with before.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Support decimal.Decimal type 613755043  
626390456 https://github.com/simonw/sqlite-utils/issues/110#issuecomment-626390456 https://api.github.com/repos/simonw/sqlite-utils/issues/110 MDEyOklzc3VlQ29tbWVudDYyNjM5MDQ1Ng== simonw 9599 2020-05-10T21:12:40Z 2020-05-10T21:12:40Z OWNER

It definitely makes sense to me that this library should support decimal.Decimal.

Here are the current supported types:

https://github.com/simonw/sqlite-utils/blob/396bee92364fc3a88f6c76969366dd1c4c9c944d/sqlite_utils/db.py#L35-L55

Should decimal.Decimal be stored as a text or float in SQLite I wonder?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Support decimal.Decimal type 613755043  
626388837 https://github.com/dogsheep/dogsheep-photos/issues/21#issuecomment-626388837 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/21 MDEyOklzc3VlQ29tbWVudDYyNjM4ODgzNw== simonw 9599 2020-05-10T20:59:32Z 2020-05-10T20:59:32Z MEMBER

So it appears it's possible for photo.place to raise that exception. A workaround could be to catch that and treat those photos as not having a place.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bpylist.archiver.CircularReference: archive has a cycle with uid(13) 615474990  
626388764 https://github.com/dogsheep/dogsheep-photos/issues/21#issuecomment-626388764 https://api.github.com/repos/dogsheep/dogsheep-photos/issues/21 MDEyOklzc3VlQ29tbWVudDYyNjM4ODc2NA== simonw 9599 2020-05-10T20:58:52Z 2020-05-10T20:58:52Z MEMBER

More from the debugger: ```

/Users/simon/.local/share/virtualenvs/photos-to-sqlite-0uGSHd6e/lib/python3.8/site-packages/osxphotos/photoinfo.py(614)place() -> self._place = PlaceInfo5(self._info["reverse_geolocation"]) And: /Users/simon/Dropbox/Development/photos-to-sqlite/photos_to_sqlite/utils.py(91)osxphoto_to_row() -> place = photo.place ```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
bpylist.archiver.CircularReference: archive has a cycle with uid(13) 615474990  
626340387 https://github.com/simonw/datasette/issues/254#issuecomment-626340387 https://api.github.com/repos/simonw/datasette/issues/254 MDEyOklzc3VlQ29tbWVudDYyNjM0MDM4Nw== philroche 247131 2020-05-10T14:54:13Z 2020-05-10T14:54:13Z NONE

This has now been resolved and is not present in current version of datasette.

Sample query @simonw mentioned now returns as expected.

https://aggreg8streams.tinyviking.ie/simplestreams?sql=select+*+from+cloudimage+where+%22content_id%22+%3D+%22com.ubuntu.cloud%3Areleased%3Adownload%22+order+by+id+limit+10

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Escaping named parameters in canned queries 322283067  

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 967.911ms · About: github-to-sqlite
  • Sort ascending
  • Sort descending
  • Facet by this
  • Hide this column
  • Show all columns
  • Show not-blank rows