These are nanosecond fraction of the last microsecond (It can be only from
0 to 999).

Ignite's Timestamp have a nanoseconds precision, so it can not be
represented
by the datetime type only.

You can find some details here: [1]

[1] -
https://apache-ignite-binary-protocol-client.readthedocs.io/en/latest/source/pyignite.datatypes.standard.html#pyignite.datatypes.standard.TimestampObject


Best Regards,
Igor



On Thu, May 16, 2019 at 9:02 AM Stéphane Thibaud <snthib...@gmail.com>
wrote:

> I see. Thank you. I am still a bit unsure about what the second value in
> the tuple represents. Are these indeed the nanoseconds? Apparently a Python
> datetime can have differing precisions (perhaps depending on platform)...
>
>
> Kind regards,
>
> Stéphane Thibaud
>
>
> 2019年5月16日(木) 0:10 Igor Sapego <isap...@apache.org>:
>
>> I believe, it's OK to pass tuple for timestamp in python, but you also
>> should
>> add a tip for the client to inform it you are going to store timestamp
>> value.
>>
>> Take a look at tests for example: [1]
>>
>> 1 -
>> https://github.com/apache/ignite/blob/master/modules/platforms/python/tests/test_datatypes.py#L80
>>
>> Best Regards,
>> Igor
>>
>>
>> On Wed, May 15, 2019 at 12:24 PM Stéphane Thibaud <snthib...@gmail.com>
>> wrote:
>>
>>> Thank you. I will try to create a code line to reproduce it, but I
>>> remember the following: when you do a 'select' query on a timestamp column
>>> with the Python thin client, you get a tuple. Because of that, I assumed
>>> that a tuple also had to be written in an update query.
>>>
>>>
>>> Kind regards,
>>>
>>> Stéphane Thibaud
>>>
>>> 2019年5月15日(水) 17:59 Igor Sapego <isap...@apache.org>:
>>>
>>>> Stéphane,
>>>>
>>>> Can you sharer a code line, how do you try to store timestamp value?
>>>>
>>>> Best Regards,
>>>> Igor
>>>>
>>>>
>>>> On Tue, May 14, 2019 at 7:23 PM Denis Mekhanikov <dmekhani...@gmail.com>
>>>> wrote:
>>>>
>>>>> Stéphane,
>>>>>
>>>>> Could you provide the code, that results in this exception?
>>>>> Do you try to insert the tuple as a single field via SQL? There is no
>>>>> such primitive as a tuple in SQL, so you should probably split timestamp
>>>>> into datetime and nanoseconds columns and store them separately as two
>>>>> different columns.
>>>>>
>>>>> Denis
>>>>>
>>>>> сб, 4 мая 2019 г. в 10:39, Stéphane Thibaud <snthib...@gmail.com>:
>>>>>
>>>>>> Hello Apache users,
>>>>>>
>>>>>> I am running into the following issue: when I try to store a
>>>>>> timestamp with nanosecond precision with the Python Thin client, I get 
>>>>>> the
>>>>>> stack trace below. I have specified the timestamp as a tuple of 
>>>>>> (datetime,
>>>>>> nanoseconds) as that is the format in which I also get timestamps back 
>>>>>> from
>>>>>> the apache ignite client. Strangely, I can set just a datetime, but then
>>>>>> the nanoseconds become zero. Am I doing it in the wrong way? Any
>>>>>> suggestions?
>>>>>>
>>>>>>
>>>>>>
>>>>>>     db.sql(query, query_args=[converted_row[c] for c in
>>>>>> table.column_names])
>>>>>>   File
>>>>>> "/home/snthibaud/PycharmProjects/tabee/venv/lib/python3.7/site-packages/pyignite/client.py",
>>>>>> line 401, in sql
>>>>>>     max_rows, timeout,
>>>>>>   File
>>>>>> "/home/snthibaud/PycharmProjects/tabee/venv/lib/python3.7/site-packages/pyignite/api/sql.py",
>>>>>> line 370, in sql_fields
>>>>>>     'include_field_names': include_field_names,
>>>>>>   File
>>>>>> "/home/snthibaud/PycharmProjects/tabee/venv/lib/python3.7/site-packages/pyignite/queries/__init__.py",
>>>>>> line 260, in from_python
>>>>>>     buffer += c_type.from_python(values[name])
>>>>>>   File
>>>>>> "/home/snthibaud/PycharmProjects/tabee/venv/lib/python3.7/site-packages/pyignite/datatypes/internal.py",
>>>>>> line 471, in from_python
>>>>>>     buffer += infer_from_python(x)
>>>>>>   File
>>>>>> "/home/snthibaud/PycharmProjects/tabee/venv/lib/python3.7/site-packages/pyignite/datatypes/internal.py",
>>>>>> line 399, in infer_from_python
>>>>>>     if is_hinted(value):
>>>>>>   File
>>>>>> "/home/snthibaud/PycharmProjects/tabee/venv/lib/python3.7/site-packages/pyignite/utils.py",
>>>>>> line 51, in is_hinted
>>>>>>     and issubclass(value[1], IgniteDataType)
>>>>>>   File "/usr/lib/python3.7/abc.py", line 143, in __subclasscheck__
>>>>>>     return _abc_subclasscheck(cls, subclass)
>>>>>> TypeError: issubclass() arg 1 must be a class
>>>>>>
>>>>>> Kind regards,
>>>>>>
>>>>>> Stéphane Thibaud
>>>>>>
>>>>>>
>>>>>>

Reply via email to