Commit Graph

68 Commits

Author SHA1 Message Date
ltrk2
47455fa1f0 Bring interval subtraction from datetime in line with addition 2022-12-14 15:39:41 -05:00
Azat Khuzhin
4e76629aaf Fixes for -Wshorten-64-to-32
- lots of static_cast
- add safe_cast
- types adjustments
  - config
  - IStorage::read/watch
  - ...
- some TODO's (to convert types in future)

P.S. That was quite a journey...

v2: fixes after rebase
v3: fix conflicts after #42308 merged
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-10-21 13:25:19 +02:00
Alexey Milovidov
5224fc4d7f Fix strange code 2022-09-19 08:53:20 +02:00
Alexey Milovidov
d1275091e8 Fix strange code 2022-09-19 08:53:20 +02:00
Alexey Milovidov
730655d4fd Fix 8/9 of trash 2022-09-19 08:53:20 +02:00
Alexey Milovidov
91baedf03a Fix 6/7 of trash 2022-09-19 08:53:20 +02:00
Robert Schulze
164fc3d296
style: improve code aesthetics 2022-08-17 20:39:37 +00:00
zvonand
9367a8df68 no_sanitize_undefined 2022-02-18 14:53:22 +03:00
zvonand
8d34797212 AST fix try 123 2022-02-18 13:45:47 +03:00
zvonand
6d47a715dc fix decimal overflow 2022-02-18 10:18:07 +03:00
zvonand
90c857c5e3 merge 2022-02-17 18:23:37 +03:00
vdimir
65452ac089
Fix checkOverflow in FunctionDateOrDateTimeAddInterval 2022-02-16 14:30:37 +00:00
zvonand
cf244689a2 fixed filling transform 2022-02-16 15:14:25 +03:00
zvonand
f60a944483 fixed toStartOfInterval 2022-02-16 02:43:08 +03:00
vdimir
a5c34fafd4
Check overflow in addSeconds/Minues/etc functions 2022-02-15 19:04:59 +00:00
zvonand
888542e29b add[interval] no longer oses decimal components
Not only support for better subsecond logic, but also fewer conversions
-> faster operation
2022-02-14 02:52:56 +03:00
zvonand
2454f1dd13 Decimal components attempt 2022-02-14 00:04:09 +03:00
zvonand
48c1b8b62b Updated IntervalParser 2022-02-13 13:01:48 +03:00
zvonand
0c5e8a0beb upload 2022-02-12 19:37:06 +03:00
zvonand
da1ba60202 upload 2022-02-11 13:35:50 +03:00
zvonand
0fe1fdb6ca add[...]Seconds basically work 2022-02-09 20:19:01 +03:00
zvonand
d8b40e7deb basic add[...]seconds added
TODO: fix DT64 scale resolution when input and func's scale are not the
same
2022-02-09 10:28:15 +03:00
zvonand
9456d89fad Move current work from old laptop
skip-checks: true
2022-02-07 21:44:14 +03:00
Amos Bird
0b7a94c2be Saturate date/datetime to zero 2022-01-03 02:07:08 +03:00
Alexey Milovidov
29d28c531f Move code around to avoid dlsym on Musl 2021-12-24 12:25:27 +03:00
Alexey Milovidov
fe6b7c77c7 Rename "common" to "base" 2021-10-02 10:13:14 +03:00
Pavel Kruglov
70b51133c1 Try to simplify code 2021-08-09 18:01:08 +03:00
Pavel Kruglov
0662df8b76 Fix performance with JIT, add arguments to function isSuitableForShortCircuitArgumentsExecution 2021-08-09 17:54:14 +03:00
Pavel Kruglov
e792fa588f Mark all Functions as sutable or not for executing as short circuit arguments 2021-08-09 17:50:09 +03:00
kssenii
3ba2d114d5 Revert "Merge pull request #26352 from ClickHouse/revert-25774-datatype-date32"
This reverts commit 94a210650f, reversing
changes made to 0893b9ff8e.
2021-07-15 11:41:52 +00:00
alexey-milovidov
9ba4064c86
Revert "Datatype Date32, support range 1925 to 2283" 2021-07-15 10:53:35 +03:00
neng.liu
4669839fbb add comment and update ya.make 2021-07-11 04:55:42 -07:00
NengLiu
1d7d973dea change addWeeks delta's datatype from Int64 to Int32 2021-07-09 11:42:32 +08:00
NengLiu
e172ca240b change addQuarter delta's datatype from Int64 to Int32 2021-07-09 11:35:12 +08:00
neng.liu
100d30a5ba fix pr comment 2021-07-08 00:06:36 -07:00
neng.liu
ec7604b013 add parquet test and fix add interval error when type is date32 2021-06-28 16:36:54 +08:00
Neng Liu
aadc2af5cb add some functional test 2021-06-22 19:10:56 +08:00
Neng Liu
7ed1728a37 Merge branch 'master' into datatype-date32
# Conflicts:
#	src/DataTypes/IDataType.h
#	src/Functions/CustomWeekTransforms.h
2021-06-22 10:00:18 +08:00
neng.liu
45e9e9f8bb fix some compile problem 2021-06-17 08:08:29 -07:00
Neng Liu
b6eab5fd2f add datetype32 function support 2021-06-17 16:05:30 +08:00
mergify[bot]
d68d5e0ef1
Merge branch 'master' into rename-const-context-ptr 2021-06-04 14:41:41 +00:00
Kruglov Pavel
8acf031c1b
Merge pull request #24398 from Avogar/fix-deltasum
Fix logical error AggregateFunctionFactory returned nullptr
2021-06-03 19:40:06 +03:00
Nikolai Kochetov
dbaa6ffc62 Rename ContextConstPtr to ContextPtr. 2021-06-01 15:20:52 +03:00
Alexander Kuzmenkov
3f57fc085b remove mutable context references from functions interface
Also remove it from some visitors.
2021-05-28 19:45:37 +03:00
Pavel Kruglov
42d57138f2 replace all isDateOrDateTime invocations to explicit calls to isDate and isDateTime and isDateTime64 2021-05-28 15:34:49 +03:00
Maksim Kita
d923d9e6ef Function move file 2021-05-17 10:30:42 +03:00
Maksim Kita
947f28d430 IFunction refactoring 2021-05-15 20:33:15 +03:00
Ivan
495c6e03aa
Replace all Context references with std::weak_ptr (#22297)
* Replace all Context references with std::weak_ptr

* Fix shared context captured by value

* Fix build

* Fix Context with named sessions

* Fix copy context

* Fix gcc build

* Merge with master and fix build

* Fix gcc-9 build
2021-04-11 02:33:54 +03:00
Alexey Milovidov
4de5afed4e Whitespaces 2021-03-24 02:07:13 +03:00
Vasily Nemkov
2d03d330bc Extended range of DateTime64 to years 1925 - 2238
The Year 1925 is a starting point because most of the timezones
switched to saner (mostly 15-minutes based) offsets somewhere
during 1924 or before. And that significantly simplifies implementation.

2238 is to simplify arithmetics for sanitizing LUT index access;
there are less than 0x1ffff days from 1925.

* Extended DateLUTImpl internal LUT to 0x1ffff items, some of which
  represent negative (pre-1970) time values.
  As a collateral benefit, Date now correctly supports dates up to 2149
  (instead of 2106).
* Added a new strong typedef ExtendedDayNum, which represents dates
  pre-1970 and post 2149.
* Functions that used to return DayNum now return ExtendedDayNum.
* Refactored DateLUTImpl to untie DayNum from the dual role of being
  a value and an index (due to negative time). Index is now a different
  type LUTIndex with explicit conversion functions from DatNum, time_t,
  and ExtendedDayNum.
* Updated DateLUTImpl to properly support values close to epoch start
  (1970-01-01 00:00), including negative ones.
* Reduced resolution of DateLUTImpl::Values::time_at_offset_change
  to multiple of 15-minutes to allow storing 64-bits of time_t in
  DateLUTImpl::Value while keeping same size.
* Minor performance updates to DateLUTImpl when building month LUT
  by skipping non-start-of-month days.
* Fixed extractTimeZoneFromFunctionArguments to work correctly
  with DateTime64.
* New unit-tests and stateless integration tests for both DateTime
  and DateTime64.
2021-02-24 17:08:35 +02:00