issue_comments
25 rows where author_association = "MEMBER" and issue = 187591179 sorted by updated_at descending
This data as json, CSV (advanced)
Suggested facets: reactions, created_at (date), updated_at (date)
issue 1
- Towards a (temporary?) workaround for datetime issues at the xarray-level · 25 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | performed_via_github_app | issue |
---|---|---|---|---|---|---|---|---|---|---|---|
276719845 | https://github.com/pydata/xarray/issues/1084#issuecomment-276719845 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NjcxOTg0NQ== | shoyer 1217238 | 2017-02-01T17:17:46Z | 2017-02-01T17:19:48Z | MEMBER | @spencerkclark I still think subclassing pandas.Index is the best path forward. Subclassing DatetimeIndex is a non-starter because it presumes the use of datetime64 internally. Subclassing PeriodIndex is also potentially viable, but would require hooking pretty deeply into pandas's internal machinery with an API that isn't really designed to be extended externally. For example, frequency conversion is done in C. From a data model perspective, it might work to use custom frequencies for different calendars, but it's not the cleanest abstraction -- really the frequency and the calendar are two separate notions. From a practical perspective, it's also less promising because it would require writing much of the logic from netcdftime to reimplement arithmetic and so on. And there would still be issues with datetime strings and converting back and forth to datetimes. The downside of using pandas.Index is that resampling won't work out of the box. But we can work around that in xarray, and potentially even in pandas if we add an a simple dispatching mechanism into |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
276719997 | https://github.com/pydata/xarray/issues/1084#issuecomment-276719997 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NjcxOTk5Nw== | jreback 953992 | 2017-02-01T17:18:17Z | 2017-02-01T17:18:17Z | MEMBER | @spencerahill as I said above, you should not need to subclass at all, just define a new frequency, maybe something like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
276695798 | https://github.com/pydata/xarray/issues/1084#issuecomment-276695798 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NjY5NTc5OA== | spencerkclark 6628425 | 2017-02-01T15:57:29Z | 2017-02-01T15:57:29Z | MEMBER | @shoyer @jhamman I will defer to both of you on this issue. In light of recent discussion, what do you think is the preferred approach? It seems like three avenues have been discussed (here and in pandas-dev/pandas#15258):
It's not immediately obvious to me that avenues 2 and 3 would be clean and straightforward, but if there is a way to easily adapt them for custom calendars — even unusual ones like "all-leap" (29-day Februaries every year) and "360-day" (30-day Februaries every year) calendars, which cannot be fully represented by ordinary Are we back to the drawing board, or should we continue along the path of avenue 1? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
276168323 | https://github.com/pydata/xarray/issues/1084#issuecomment-276168323 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NjE2ODMyMw== | jreback 953992 | 2017-01-30T19:43:09Z | 2017-01-30T19:43:09Z | MEMBER | @jhamman you just need a different frequency, in fact this one is pretty close: https://github.com/pandas-dev/pandas/blob/master/pandas/tseries/offsets.py#L2257 just a matter of defining a fixed-day month frequency (numpy has this by default anyhow). PeriodIndex would then happily take this. |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
276166062 | https://github.com/pydata/xarray/issues/1084#issuecomment-276166062 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NjE2NjA2Mg== | max-sixty 5635139 | 2017-01-30T19:35:05Z | 2017-01-30T19:35:05Z | MEMBER | Is there a way to add a new calendar to |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
276140088 | https://github.com/pydata/xarray/issues/1084#issuecomment-276140088 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NjE0MDA4OA== | jhamman 2443309 | 2017-01-30T18:03:07Z | 2017-01-30T18:03:07Z | MEMBER | @jreback - Unless I've totally missed something, |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
275969458 | https://github.com/pydata/xarray/issues/1084#issuecomment-275969458 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NTk2OTQ1OA== | jreback 953992 | 2017-01-30T02:42:58Z | 2017-01-30T02:42:58Z | MEMBER | just my 2c here. You are going to end up writing a huge amount of code to re-implement essentially |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
275963433 | https://github.com/pydata/xarray/issues/1084#issuecomment-275963433 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NTk2MzQzMw== | shoyer 1217238 | 2017-01-30T01:31:30Z | 2017-01-30T01:31:30Z | MEMBER | @spencerkclark I'm looking forward to the PR! I understand that pandas wants a |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
275962520 | https://github.com/pydata/xarray/issues/1084#issuecomment-275962520 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NTk2MjUyMA== | spencerkclark 6628425 | 2017-01-30T01:20:37Z | 2017-01-30T01:20:37Z | MEMBER |
Sure thing -- for now I've left things as they are, but I'll take this advice if we decide otherwise.
I hadn't thought about that; I agree it would be nice to have that flexibility if needed. Just to indicate some more progress here, I've updated the gist with @shoyer's date parser, which eliminates issues for years less than 100 (thanks again!), and some additional modifications needed to add support for use in Series and DataFrame objects. I've started to work on writing some unit tests offline; if there is nothing glaring in the updated gist, I may post a work-in-progress PR in the next week or so, where we can discuss the finer details of the implementation of the NetCDFTimeIndex (and its tests), and how we might want to integrate it into xarray. Does that sound like a reasonable idea? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
274379833 | https://github.com/pydata/xarray/issues/1084#issuecomment-274379833 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NDM3OTgzMw== | shoyer 1217238 | 2017-01-23T01:55:26Z | 2017-01-23T01:55:26Z | MEMBER |
If you want to take this approach, name it something different and then use to parse inputs to One advantage of having our parser is that it would be pretty easy to extend as necessary, e.g., to handle negative years as specified by Wikipedia:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
274379117 | https://github.com/pydata/xarray/issues/1084#issuecomment-274379117 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NDM3OTExNw== | spencerkclark 6628425 | 2017-01-23T01:48:09Z | 2017-01-23T01:48:09Z | MEMBER | @shoyer many thanks for the ISO-8601 date parser! That should be pretty straightforward to swap with the logic I use for date parsing in the gist, and will be much more robust.
Would it be safer to name the implementation of
Yes, this would be interesting to try. I'll test things out tomorrow and see how it goes. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
274374525 | https://github.com/pydata/xarray/issues/1084#issuecomment-274374525 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NDM3NDUyNQ== | shoyer 1217238 | 2017-01-23T00:51:39Z | 2017-01-23T00:51:39Z | MEMBER | As for the implementation in your gist, it looks pretty solid to me. One possible concern is that we are overwriting It might also be worth testing this index in a pandas DataFrame/Series. I don't expect things to work 100% but it might be enough to be useful. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
274372547 | https://github.com/pydata/xarray/issues/1084#issuecomment-274372547 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NDM3MjU0Nw== | shoyer 1217238 | 2017-01-23T00:21:49Z | 2017-01-23T00:22:44Z | MEMBER |
Honestly, it's probably more reliable to just parse ISO-8601 ourselves, which is intentionally pretty simple. That will give us complete control. Here's something simple I wrote to parse ISO-8601 using a regex: ```python import re def named(name, pattern): return '(?P<' + name + '>' + pattern + ')' def optional(x): return '(?:' + x + ')?' def trailing_optional(xs): if not xs: return '' return xs[0] + optional(trailing_optional(xs[1:])) def build_pattern(date_sep='-', datetime_sep='T', time_sep='\:'): pieces = [(None, 'year', '\d{4}'), (date_sep, 'month', '\d{2}'), (date_sep, 'day', '\d{2}'), (datetime_sep, 'hour', '\d{2}'), (time_sep, 'minute', '\d{2}'), (time_sep, 'second', '\d{2}' + optional('.\d+'))] pattern_list = [] for sep, name, sub_pattern in pieces: pattern_list.append((sep if sep else '') + named(name, sub_pattern)) # TODO: allow timezone offsets? return '^' + trailing_optional(pattern_list) + '$' def parse_iso8601(datetime_string): basic_pattern = build_pattern(date_sep='', time_sep='') extended_pattern = build_pattern() patterns = [basic_pattern, extended_pattern] for pattern in patterns: match = re.match(pattern, datetime_string) if match: return match.groupdict() raise ValueError('no ISO-8601 match for string: %s' % datetime_string) test casesprint parse_iso8601('1999')
print parse_iso8601('19990101')
print parse_iso8601('1999-01-01')
print parse_iso8601('1999-01-01T12')
print parse_iso8601('1999-01-01T12:34')
print parse_iso8601('1999-01-01T12:34:56.78')
print parse_iso8601('19990101T123456.78')
|
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
274367967 | https://github.com/pydata/xarray/issues/1084#issuecomment-274367967 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NDM2Nzk2Nw== | spencerkclark 6628425 | 2017-01-22T23:10:49Z | 2017-01-22T23:12:14Z | MEMBER | Thanks @shoyer. It appears using the In [10]: p._parse('0016-01-01', yearfirst=True, dayfirst=False)
Out[10]: (_result(year=16, month=1, day=1), None)
In [12]: p._parse('0001', yearfirst=True, dayfirst=False)
Out[12]: (_result(day=1), None)
I'm not particularly tied to one date parsing approach over another (here I was just mimicking pandas). In an ideal world, what would be your preference? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
274364774 | https://github.com/pydata/xarray/issues/1084#issuecomment-274364774 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NDM2NDc3NA== | shoyer 1217238 | 2017-01-22T22:22:55Z | 2017-01-22T22:22:55Z | MEMBER | @spencerkclark It looks like I'm not super happy with using the private |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
274362263 | https://github.com/pydata/xarray/issues/1084#issuecomment-274362263 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3NDM2MjI2Mw== | spencerkclark 6628425 | 2017-01-22T21:46:25Z | 2017-01-22T21:46:25Z | MEMBER | @shoyer @jhamman outside of an upstream issue in If you think this is a path forward here, I suppose the next order of business would be for me to open up an issue in For instance, I would expect line 5 to produce a date with In [2]: dateutil.version Out[2]: '2.5.3' In [3]: from dateutil import parser In [4]: p = parser.parser() In [5]: p._parse('0001-01-16') Out[5]: (_result(year=16, month=1, day=1), None) In [6]: p._parse('0016-01-01') Out[6]: (_result(year=16, month=1, day=1), None) ``` and here I would want line 7 to return a result with In [8]: p._parse('0100') Out[8]: (_result(year=100), None) ``` I recognize that I'm using the private API version of the parse function; however this is also what pandas does in its core (to enable picking off the resolution of the string specified). It has the additional use for me here of allowing me to convert the Thanks again for your help. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
270036251 | https://github.com/pydata/xarray/issues/1084#issuecomment-270036251 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI3MDAzNjI1MQ== | spencerkclark 6628425 | 2017-01-03T00:27:49Z | 2017-01-03T00:27:49Z | MEMBER | @shoyer that all sounds good. I'll get to work over the next few weeks and see what I can do. Thanks for your help. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
269878256 | https://github.com/pydata/xarray/issues/1084#issuecomment-269878256 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI2OTg3ODI1Ng== | shoyer 1217238 | 2016-12-31T19:09:19Z | 2017-01-01T00:18:20Z | MEMBER | @spencerkclark
The good news here is that almost all this logic lives in pandas's Python code and should be straightforward to duplicate. I can point you to the relevant locations if you're having trouble figuring this out.
It should be quite straightforward to integrate this into xarray's existing serialization logic.
We could go either way here, but for now I think it makes sense to keep this in xarray proper. Here's why:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
269845642 | https://github.com/pydata/xarray/issues/1084#issuecomment-269845642 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI2OTg0NTY0Mg== | spencerkclark 6628425 | 2016-12-31T03:01:57Z | 2016-12-31T03:01:57Z | MEMBER | Thanks @jhamman, that's great to hear. At this moment I don't have any concrete things I'm waiting on from you. I haven't had the chance to iterate more on this since last month, but as I've thought about it more, for the custom datetime index to really "feel" like the pandas That being said, before pushing too far ahead, I think it's probably important to put things in a form that's more amenable to code review, testing, and collaboration. From a mechanics perspective, do we want this sort of index to live totally inside |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
269584644 | https://github.com/pydata/xarray/issues/1084#issuecomment-269584644 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI2OTU4NDY0NA== | jhamman 2443309 | 2016-12-29T05:43:19Z | 2016-12-29T18:13:35Z | MEMBER | @shoyer, @jhamman , @spencerkclark, @spencerahill , and @darothen - I think I've got netcdftime sufficiently detatched from NetCDF4-Python that I think we can keep moving forward. Along the lines of what you're notebook showed last month, you should just be able to swap out |
{ "total_count": 2, "+1": 2, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
265174968 | https://github.com/pydata/xarray/issues/1084#issuecomment-265174968 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI2NTE3NDk2OA== | spencerkclark 6628425 | 2016-12-06T15:13:41Z | 2016-12-06T15:13:41Z | MEMBER | @shoyer brings up a good point regarding partial datetime string indexing. For instance in my basic example, indexing with truncated string dates of the form This would mean that the same string specification could have different behavior for For instance, using the current setup in my basic example with sub-daily resolution data, selecting a time using Out [22] <xarray.DataArray ()> array(0) Coordinates: time object 2000-01-01 00:00:00 ``` but using a ``` In [23] from datetime import datetime In [24] dates = [datetime(2000, 1, 1, 0), datetime(2000, 1, 1, 3)] In [25] da = xr.DataArray(np.arange(2), coords=[dates], dims=['time']) In [26] da.sel(time='2000-01-01') Out [26] <xarray.DataArray (time: 2)> array([0, 1]) Coordinates: * time (time) datetime64[ns] 2000-01-01 2000-01-01T03:00:00 ``` I think if we were to include string-based indexing, it would be best if it were completely consistent with the So ultimately this raises the question, would we want to add just the field accessors to enable group-by operations for now and add string-based selection (and other features like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
265113215 | https://github.com/pydata/xarray/issues/1084#issuecomment-265113215 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI2NTExMzIxNQ== | shoyer 1217238 | 2016-12-06T10:20:58Z | 2016-12-06T10:20:58Z | MEMBER | @spencerahill Those are absolutely not essential -- I think your basic example is probably already enough to be useful. Perhaps the most complete list of time series functionality in xarray can be found on this doc page: http://xarray.pydata.org/en/stable/time-series.html |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
264884735 | https://github.com/pydata/xarray/issues/1084#issuecomment-264884735 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI2NDg4NDczNQ== | shoyer 1217238 | 2016-12-05T15:32:30Z | 2016-12-05T15:32:30Z | MEMBER | @spencerkclark This looks pretty sane to me, though of course it's still missing a few nice things you can do with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
264742277 | https://github.com/pydata/xarray/issues/1084#issuecomment-264742277 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI2NDc0MjI3Nw== | spencerkclark 6628425 | 2016-12-04T23:58:12Z | 2016-12-04T23:58:12Z | MEMBER | @shoyer @jhamman this is my first time digging in to the internals of pandas / xarray, so please forgive me if this is off-track, but I've started experimenting with a subclass of As a proof of concept, it currently enables groupby operations through a crude version of the I have yet to look into serialization or how / if this could be integrated into xarray, but does this seem like an approach worth pursuing to address this issue? cc @spencerahill |
{ "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 | |
258713425 | https://github.com/pydata/xarray/issues/1084#issuecomment-258713425 | https://api.github.com/repos/pydata/xarray/issues/1084 | MDEyOklzc3VlQ29tbWVudDI1ODcxMzQyNQ== | shoyer 1217238 | 2016-11-06T21:48:30Z | 2016-11-06T21:48:30Z | MEMBER | To be clear, the subclassing question is whether we should subclass Index or not. This would entail overriding a lot of methods, and would probably break in the future (with pandas 2.0). I definitely do not recommend subclassing PeriodIndex -- that could be very fragile. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Towards a (temporary?) workaround for datetime issues at the xarray-level 187591179 |
Advanced export
JSON shape: default, array, newline-delimited, object
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, [performed_via_github_app] TEXT, [issue] INTEGER REFERENCES [issues]([id]) ); CREATE INDEX [idx_issue_comments_issue] ON [issue_comments] ([issue]); CREATE INDEX [idx_issue_comments_user] ON [issue_comments] ([user]);
user 5