Commit graph

218 commits

Author SHA1 Message Date
dlenev@mysql.com
06e3647274 Fix for bug #9796 "Query Cache caches queries with CURRENT_USER()
function".

We should not cache queries using CURRENT_USER() function as we do it
for some other functions, e.g. USER() function.
2005-04-11 00:30:23 +04:00
bar@mysql.com
d50d213162 Merge 2005-03-05 18:20:35 +04:00
bar@mysql.com
7e8e033290 type_blob.result, func_system.result, func_str.result, ctype_collate.result:
fixing test results accordingly.
func_system.test:
  New test that illegal mix of collations does not happen anymore.
item_strfunc.h:
    safe_charset_converter() was added for system constants.
item_strfunc.cc:
  safe_charset_converter() was added for system constants.
item_func.cc, item.h, item.cc:
  Bug#8291: Illegal collation mix with USER() function.
  After discussion with PeterG and Serge, a new coercibility
  level for "system constants" was introduced, between
  COERRIBLE and IMPLICIT. Thus:
  SELECT col1 = USER() FROM t1; - is done according to col1 collation.
  SELECT 'string' = USER(); - is done according to USER() collation.
  At the same time, "nagg" and "strong" members were removed as unused.
item_create.cc:
  Version is a system constant too.
2005-03-04 14:20:49 +04:00
hf@deer.(none)
b94a482ee9 Precision Math implementation 2005-02-09 02:50:45 +04:00
serg@serg.mylan
d8f35cec21 Merge serg.mylan:/usr/home/serg/Abk/mysql-4.1
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-01-26 09:05:58 +01:00
serg@serg.mylan
7084b494c4 innobase/include/univ.i
remove a change that broke the test
2005-01-26 08:57:43 +01:00
serg@serg.mylan
c76405a7ee merged 2005-01-24 19:41:42 +01:00
serg@serg.mylan
67ba2e367a fixes/cleanups according to Coverity report 2005-01-24 15:48:25 +01:00
monty@mysql.com
071001950e Merge with 4.1 to get in latest bug fixes 2004-11-04 15:06:24 +02:00
bar@mysql.com
7577c8bfc9 A fix according to Monty's request:
"uint *errors" is now a non-optional parameter in String:copy()
and copy_and_convert().
2004-10-29 17:00:39 +05:00
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
bell@sanja.is.com.ua
5abb148d01 items for functions which is converted to constants internally to support its correct printing added (BUG#4663) 2004-08-24 18:46:27 +03:00
dlenev@brandersnatch.localdomain
f49d4f5350 Fix for bug #4508 "CONVERT_TZ() function with new time zone as param crashes server".
Instead of trying to open time zone tables during calculation of CONVERT_TZ() function
or setting of @@time_zone variable we should open and lock them with the rest of 
statement's table (so we should add them to global table list) and after that use such 
pre-opened tables for loading info about time zones.
2004-08-10 12:42:31 +04:00
monty@mysql.com
1e31199995 Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
pem@mysql.comhem.se
34ddd9c515 Fixed BUG#3486: FOUND_ROWS() fails inside stored procedure [and prepared statement]. 2004-06-22 19:38:07 +02:00
dlenev@brandersnatch.localdomain
09ba29e539 WL#1264 "Per-thread time zone support infrastructure".
Added basic per-thread time zone functionality (based on public
domain elsie-code). Now user can select current time zone
(from the list of time zones described in system tables).
All NOW-like functions honor this time zone, values of TIMESTAMP
type are interpreted as values in this time zone, so now
our TIMESTAMP type behaves similar to Oracle's TIMESTAMP WITH
LOCAL TIME ZONE (or proper PostgresSQL type).
  
WL#1266 "CONVERT_TZ() - basic time with time zone conversion 
function".
  
Fixed problems described in Bug #2336 (Different number of warnings 
when inserting bad datetime as string or as number). This required
reworking of datetime realted warning hadling (they now generated 
at Field object level not in conversion functions).
  
Optimization: Now Field class descendants use table->in_use member
instead of current_thd macro.
2004-06-18 10:11:31 +04:00
bar@mysql.com
c64d93b274 Allocate memory when a character set is requested:
- For simple character sets: from_uni convertion table.
- For UCA: alternative weight arrays.
Use mbminlen instead of MY_CS_NONTEXT
2004-06-11 16:29:16 +05:00
pem@mysql.com
dfd59e296e Merge 4.1 -> 5.0. 2004-04-07 19:07:44 +02:00
serg@serg.mylan
46c03de1a9 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2004-03-05 00:20:24 +01:00
serg@serg.mylan
de6d3b8dff UNHEX() function 2004-03-04 23:18:54 +01:00
monty@mashka.mysql.fi
93dd971bed Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mashka.mysql.fi:/home/my/mysql-4.1
2004-03-04 10:07:32 +02:00
monty@mashka.mysql.fi
afd8f38f4e Optimized GIS functions 2004-03-04 08:50:37 +02:00
serg@serg.mylan
ed2e1aa14d my_gethwaddr() for linux/freebsd
UUID() function
2004-02-27 20:30:08 +01:00
pem@mysql.com
c8585f3283 Merge 4.1 into 5.0. 2004-02-10 18:44:02 +01:00
hf@deer.(none)
6dcda5153b SCRUM:
WL#1163 (Making spatial code optional)
Pack of changes to do in sql/ code.
2004-01-15 21:06:22 +04:00
sergefp@mysql.com
23b25675f2 Merge mysql.com:/home/psergey/mysql-5.0-latest-pull
into mysql.com:/dbdata/psergey/mysql-5.0-imerge-unique
2003-12-20 00:54:38 +03:00
sergefp@mysql.com
a8456e6801 Numerous small fixes to index_merge read time estimates code 2003-12-20 00:53:14 +03:00
pem@mysql.com
12187684ca Merging lex-pointer change from 4.1 to 5.0. 2003-12-19 20:13:48 +01:00
konstantin@oak.local
d37da004f6 THD::lex now points to THD::main_lex like in 5.0
All tests pass (client_test included)
2003-12-19 20:52:13 +03:00
gluh@gluh.mysql.r18.ru
d9a412dcc3 post-merge fixes 2003-12-08 15:18:29 +04:00
gluh@gluh.mysql.r18.ru
ec8749249a WL#530&531: TIMESTAMPADD, TIMESTAMPDIFF functions
Syntax for TIMESTAMPADD:

TIMESTAMPADD(interval, integer_expression, datetime_expression)

interval:= FRAC_SECOND | SECOND | MINUTE | HOUR | DAY | WEEK | MONTH | 
QUARTER | YEAR

Supported SQL_TSI_  prefix  (like SQL_TSI_SECOND)

Syntax for TIMESTAMPDIFF:

TIMESTAMPDIFF(interval, datetime_expression1, datetime_expression2)

interval:= FRAC_SECOND | SECOND | MINUTE | HOUR | DAY | WEEK | MONTH | 
QUARTER | YEAR

Supported SQL_TSI_  prefix  (like SQL_TSI_SECOND)
2003-12-08 14:41:41 +04:00
pem@mysql.com
28a2c6a96b Merging 4.1->5.0. 2003-11-19 15:19:46 +01:00
bell@sanja.is.com.ua
b404412877 changed name of bit on more descriptive (after rewie change) 2003-11-18 22:04:01 +02:00
bell@sanja.is.com.ua
cb19ad9ac1 fixed using 'uncachable' tag and RAND_TABLE_BIT setting 2003-11-17 20:53:40 +02:00
gluh@gluh.mysql.r18.ru
5ade64831e WL#1253: LAST_DAY 2003-11-17 18:02:08 +04:00
monty@narttu.mysql.fi
6b79cd5c23 Merge 2003-11-03 22:48:03 +02:00
monty@narttu.mysql.fi
a444a3449f Simplified 'wrong xxx name' error messages by introducing 'general' ER_WRONG_NAME error
Cleaned up (and disabled part of) date/time/datetime format patch. One can't anymore change default read/write date/time/formats.
This is becasue the non standard datetime formats can't be compared as strings and MySQL does still a lot of datetime comparisons as strings
Changed flag argument to str_to_TIME() and get_date() from bool to uint
Removed THD from str_to_xxxx functions and Item class.
Fixed core dump when doing --print-defaults
Move some common string functions to strfunc.cc
Dates as strings are now of type my_charset_bin instead of default_charset()
Introduce IDENT_QUOTED to not have to create an extra copy of simple identifiers (all chars < 128)
Removed xxx_FORMAT_TYPE enums and replaced them with the old TIMESTAMP_xxx enums
Renamed some TIMESTAMP_xxx enums to more appropriate names
Use defines instead of integers for date/time/datetime string lengths
Added to build system and use the new my_strtoll10() function.
2003-11-03 14:01:59 +02:00
bell@sanja.is.com.ua
5ad2f38f5d amall fix 2003-10-31 11:52:01 +02:00
bell@sanja.is.com.ua
33346e26af added code covarage for functions convert(), nullif(), crc32(), is_used_lock(), char_lengtrh(), bit_xor()
added string length for more speed
made code covarage for print() method of Item
fixed printability of some items (SCRUM) (WL#1274)
2003-10-30 12:57:26 +02:00
pem@mysql.com
337238b78a Merging 4.1->5.0 2003-10-22 16:10:22 +02:00
gluh@gluh.mysql.r18.ru
62b0b8b800 Scrum task 835 - text-to-datetime conversion function 2003-10-20 13:24:18 +05:00
pem@mysql.com
8d884c02bb Merging 4.1 -> 5.0 2003-09-24 11:29:38 +02:00
serg@serg.mylan
7d2b0a0ce7 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-09-03 15:40:19 +02:00
kostja@oak.local
36dd82c1d5 merge commit, hope that none of bar and dlenev changes were
lost.
2003-09-03 14:12:10 +04:00
serg@serg.mylan
755455e15c merged 2003-09-03 12:07:18 +02:00
pem@mysql.com
7f158dd12a Merge 4.1 into 5.0 2003-08-26 11:51:09 +02:00
serg@serg.mylan
08d7f298ee fixed a crash on COMPRESS() and other zlib-dependent functions when compiled w/o zlib
moved them all from different places to item_strfunc.{h,cc}
checksum table command
Com_xxx status variables updated
2003-08-21 16:15:06 +02:00
bar@bar.mysql.r18.ru
8c55440ba4 CAST(expr AS CHAR(10)) is now working 2003-08-21 14:15:25 +05:00
kostja@oak.local
50d3291aee manual merge 2003-07-31 17:11:52 +04:00
serg@serg.mylan
a32f4609b2 Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-07-14 10:54:22 +02:00
kostja@oak.local
941a8623ca resolved conflict with pulled changeset 2003-07-09 18:24:43 +04:00
pem@mysql.telia.com
9c3a7a6ba3 Merge 4.1 into 5.0 (first pass). 2003-07-08 17:50:23 +02:00
gluh@gluh.mysql.r18.ru
5709ed20ab SAPDB date/time finctions 2003-07-08 15:06:05 +05:00
gluh@gluh.mysql.r18.ru
e6eef74812 Merge gluh@gw:/home/bk/mysql-4.1
into gluh.mysql.r18.ru:/home/gluh/mysql-4.1.DTFUNC
2003-07-08 12:57:00 +05:00
serg@serg.mylan
e11efbddfa renamed enum Item_cast as it's not a 'class Item' child 2003-07-06 17:12:45 +02:00
kostja@oak.local
1d20b23247 Bug fixes for authentication
OLD_PASSWORD made a keyword to allow set password=old_password('abc') constructions.
2003-07-04 20:52:04 +04:00
bar@bar.mysql.r18.ru
7371150f2d New class DTCollation (SQL:2003 calls it "declared type collation")
It's a combination of collation and its derivation (precedence order)
2003-06-24 15:11:07 +05:00
gluh@gluh.mysql.r18.ru
91e3245b67 Merge gluh@gw:/home/bk/mysql-4.1
into gluh.mysql.r18.ru:/home/gluh/mysql-4.1.DTFUNC
2003-06-23 13:02:28 +05:00
gluh@gluh.mysql.r18.ru
66af4b5c9a Internal commit 2003-06-23 12:56:44 +05:00
ram@mysql.r18.ru
a89a7eb327 Renamed xxx_as_text() and xxx__from_text(). 2003-06-20 14:53:37 +05:00
ram@mysql.r18.ru
528386fc78 Added AsWKT() alias for AsText().
Renamed as_text().
2003-06-20 14:31:47 +05:00
bar@bar.mysql.r18.ru
514afa7a88 SPACE() is now ucs2 compatible 2003-06-03 18:24:57 +05:00
bar@bar.mysql.r18.ru
1ef8b2e34a LTRIM, RTRIM and TRIM now honors coercibility
LTRIM, RTRIM and TRIM now work fine with ucs2
2003-06-03 16:57:14 +05:00
bar@bar.mysql.r18.ru
759214fa41 MY_CS_NONTEXT flag for sprintf() incompatible charsets (ucs2 if the only one now)
Some default_charset_info were removed
2003-06-03 14:59:17 +05:00
bell@sanja.is.com.ua
0b1dda4023 manual types casting to satisfy gcc 3.2.1 compiler 2003-05-28 18:02:14 +03:00
bar@bar.mysql.r18.ru
5fa6c4589e CAST(expr AS char) now supports character set with conversion:
SELECT CAST(_latin1'string' AS CHAR CHARACTER SET latin2)
2003-05-28 17:57:58 +05:00
bar@bar.mysql.r18.ru
5b643e5527 USER, DATABASE and VERSION functions returns now IMPLICIT coercibility 2003-05-22 18:41:47 +05:00
monty@narttu.mysql.fi
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
guilhem@mysql.com
da0e28b7d6 Proper replication of CONNECTION_ID() and 4.1 PASSWORD() (bugs 177 and 344),
new test for this.
2003-05-13 22:50:28 +02:00
vva@eagle.mysql.r18.ru
afd581edd3 made lex a pointer in THD 2003-05-05 14:54:37 -04:00
serg@serg.mylan
d13e4fc532 CURRENT_USER() and "access denied" error messages now report hostname exactly as it was specified in the GRANT command (with wildcards, that is) 2003-04-29 00:15:18 +02:00
vva@eagle.mysql.r18.ru
11666b5281 small compress/uncompress modification after monty's review 2003-04-22 18:41:47 -04:00
vva@eagle.mysql.r18.ru
02ad1b95e3 Merge 2003-04-10 10:25:21 -04:00
vva@eagle.mysql.r18.ru
950fa7aa8a added compress/uncompress function 2003-04-09 20:50:30 -04:00
ram@mysql.r18.ru
2180fa858b AsWKB() function has been added. 2003-04-03 15:13:14 +05:00
hf@genie.(none)
43d3472642 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into genie.(none):/home/hf/work/mysql-4.1.lck
2003-03-21 11:06:15 +04:00
bar@bar.mysql.r18.ru
22cb247c74 Strings comparison is now done according to "Collating sequences used for
comparison" table, "SQL Complete, Really", page 162
2003-03-19 19:13:28 +04:00
ram@mysql.r18.ru
031ac2a7b2 SRID support.
GeomertyFromWKB() function.
SRID() function.
::store() methods for Field_geom.
Code cleanup.
2003-03-18 15:30:32 +04:00
hf@genie.(none)
410782fd5f SCRUM
IS_USED_LOCK('lock') implementation
2003-03-14 13:10:33 +04:00
bar@bar.mysql.r18.ru
3046c3ca34 Many files:
Coercibility, initial stage
item_func.h:
  Coercibility, initial stage
2003-02-28 19:22:20 +04:00
monty@narttu.mysql.fi
3b073a08e0 Portability fixes
Don't define crc32 if we are not linking with gzip
2003-02-27 03:44:44 +02:00
monty@mashka.mysql.fi
7388c5f161 merge 2003-02-08 01:12:58 +02:00
monty@mashka.mysql.fi
1b9b042654 Fix problem in MIN/MAX optimisation (from last patch)
Don't make OLD_PASSWORD() a reserved word
2003-02-07 17:57:07 +02:00
monty@mashka.mysql.fi
023d6dd39b Merge with 4.0.11 2003-02-04 21:52:14 +02:00
bell@sanja.is.com.ua
0c5b323d0f fixed bugs in temporary tables in subselect implementation (SCRUM)
merging with switching on static tables optimization (SCRUM)
fixed subselects with uncacheable results
added test for fixed bugs from bugreports
2003-01-28 14:48:12 +02:00
monty@mashka.mysql.fi
6b71279382 merge 2003-01-28 09:02:51 +02:00
serg@serg.mysql.com
78f492b112 do not force CONNECTION_ID(), FOUND_ROWS(), PI(), CURRENT_USER(),
and VERSION() to be uppercase in e.g. "select pi()"
2003-01-28 00:55:41 +01:00
monty@mashka.mysql.fi
fa7a94ed14 Added timeout for wait_for_master_pos
Fixed comparision of log-binary name to handle comparison when file name extension wraps from .999 to .1000
Don't replicate CREATE/DROP DATABASE if wild_xxx_table=database.% is used.
2003-01-25 15:07:51 +02:00
monty@mashka.mysql.fi
6d6f051178 Added support for DROP TEMPORARY TABLE
Removed mysql_warnings() API function.
Post merge fixes.
2003-01-04 15:37:20 +02:00
monty@mashka.mysql.fi
07daf3169e Merge with 4.0.8 2003-01-03 00:04:33 +02:00
monty@mashka.mysql.fi
3ca695ea0b Cut hostnames at HOSTNAME_LENGTH to avoid theoretical hostname overruns
Changed long packat handling to check for packets of length 0xffffff.
This does however break packet handling for older clients.
If you are using packets >= 16M then you need to upgrade client and server
after this patch.
2002-12-26 18:26:37 +02:00
serg@serg.mysql.com
09ed694094 current_user() to return priv_user 2002-12-05 21:38:27 +01:00
peter@mysql.com
08f51eaedd Merging.... 2002-11-29 22:03:14 +03:00
monty@mashka.mysql.fi
3d1af24f0f Merge work:/home/bk/mysql-4.1 into mashka.mysql.fi:/home/my/mysql-4.1 2002-11-25 17:34:51 +02:00
monty@mashka.mysql.fi
5dbea1b7a2 Merge with 4.0 2002-11-25 12:19:28 +02:00
monty@mashka.mysql.fi
dfb60ca085 Added new ANSI functions LOCALTIME, LOCALTIMESTAMP and CURRENT_USER
Added CEIL as an alias for CEILING
Cleaned up CHECK constraint handling.
(We don't anymore require braces after CHECK)
Added casting to CHAR.
2002-11-24 15:47:19 +02:00
pem@mysql.com
ae2192ed53 Moved safe_to_cache_query from thd to lex.
This is required for prepared statements and stored procedures.
2002-11-22 14:50:53 +01:00
peter@mysql.com
d21402052c One more commit to do the merge of new 4.1 tree 2002-10-06 13:42:16 +04:00
monty@narttu.mysql.fi
7134ffec21 Merge with 4.0.3
Some simple optimzations, more comments and indentation changes.
Add ` around database in 'use database' in binary log.
Moved max_error_count and max_warning_count to variables struct.
Removed SHOW_WARNS_COUNT and SHOW_ERRORS_COUNT calls.
Changed string functions to use character set of first string argument as default return characterset
(Each string function can change the above assumption if needed)
2002-08-30 12:40:40 +03:00
ram@ram.(none)
b7403f3d84 new QUOTE() fuction has been added 2002-08-08 20:25:53 +05:00
bar@bar.udmsearch.izhnet.ru
28062413a8 New CRC32() SQL function 2002-08-06 19:29:33 +05:00
peter@mysql.com
684bf18e4d Arjens LOG functions changes with small changes and tests added to mysql-test 2002-07-17 12:11:48 +04:00
monty@hundin.mysql.fi
f87efa928b Update for running gcc 3.x (mainly on HPUX)
Portability fixes for HPUX
Rename of CHECK_LOCK to IS_FREE_LOCK
Apply lower_case_table_names also to databases
Cleanup of describe code
Don't allow \ in database names
2002-06-30 18:57:21 +03:00
Sinisa@sinisa.nasamreza.org
816dc4eb28 Added functions :
* binary XOR
* logical XOR
* CHECK_LOCK("lock_name")
2002-06-29 16:25:09 +03:00
peter@linux.local
89b161d05d This changeset is mostly new version of previous commit modified according
to Monty's code style and optimization comments
2002-06-11 13:37:48 +04:00
bar@gw.udmsearch.izhnet.ru
196aa19cf6 Now string values are created and filled with charset field
SELECT func(charset2) FROM t ORDER BY 1 works in correct charset
2002-05-17 16:29:52 +05:00
bar@gw.udmsearch.izhnet.ru
735b27d578 Added GIS extension 2002-02-22 15:24:42 +04:00
serg@serg.mysql.com
5f1599e4b4 merged 2002-01-03 20:00:45 +00:00
serg@serg.mysql.com
ef8436beff BIT_LENGTH ODBC function 2002-01-03 19:47:14 +00:00
monty@hundin.mysql.fi
2597b1aadd New CAST syntax
Cleanup of multi-table-delete in sql_yacc.yy
Changed syntax of MAXIMUM QUERIES PER HOUR to MAX_QUERIES_PER_HOUR to
not get too many reserved words.
2002-01-03 00:46:43 +02:00
monty@hundin.mysql.fi
1d3e058c4b Added FLUSH DES_KEY_FILE.
New HEX() function.
Final (?) cleanup of des_encrypt() / des_decrypt().
Added missing files to Makefiles.
2001-12-13 15:53:18 +02:00
monty@hundin.mysql.fi
b658662ae4 Update copyright
Fixed memory leak on shutdown (Affects the embedded version & MyODBC)
2001-12-06 14:10:51 +02:00
monty@hundin.mysql.fi
1d26537da5 Query cache.
Remove some warnings
2001-12-02 14:34:01 +02:00
monty@donna.mysql.fi
417dd72856 Added SQL_CALC_FOUND_ROWS and FOUND_ROWS() 2001-04-12 00:54:35 +03:00
sasha@mysql.sashanet.com
d0f4235a2e rpl000016.test sync
rpl000001.result	BitKeeper file /home/sasha/src/bk/mysql/mysql-test/r/rpl000001.result
ignore  	Added BitKeeper/tmp/bkr3sAHD to the ignore list
slave.h 	MASTER_POS_WAIT
lex.h   	MASTER_POS_WAIT
slave.cc	MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in 
slave.cc	debug abort count
sql_repl.cc	announce the log name at the start of the log with a fake rotate event
item_create.h	MASTER_POS_WAIT
item_func.cc	MASTER_POS_WAIT
item_func.h	MASTER_POS_WAIT
sql_class.h	enter_cond(), exit_cond() helper inliners
item_create.cc	added MASTER_POS_WAIT
mysql-test-run.sh	speed improvement fixes
rpl000007.test	sync
rpl000003.test	sleep -> sync
rpl000004.test	sleep -> sync, fixed clean up bug
rpl000014.test	sync
rpl000009.test	sync
rpl000013.test	sync
rpl000001.test	sleep -> sync
rpl000008.test	sync
rpl000006.test	sync on cleanup
rpl000011.test	sync
rpl000012.test	sync
rpl000005.test	sleep -> sync
rpl000010.test	sync
rpl000015.test	sync
rpl000002.test	sleep -> sync
rpl000014.result	we now know the master log name as soon as we connect
mysql.cc	added optional agrument to --wait
mysqltest.c	added save_master_pos and sync_with_master commands
2001-01-17 05:47:33 -07:00
monty@tik.mysql.com
7a013339f8 Bug fixes, TRUNCATE, safer passwords on command line and connect timeout 2000-11-13 23:55:10 +02:00
monty@donna.mysql.com
f0952ce3e1 FLUSH TABLE table_list
Fixes for RENAME TABLE
Portability fixes
2000-08-22 00:18:32 +03:00
bk@work.mysql.com
f4c589ff6c Import changeset 2000-07-31 21:29:14 +02:00