8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 07:23:03 +01:00
Commit Graph

101 Commits

Author SHA1 Message Date
Adriano dos Santos Fernandes
141f62611b Changing descriptors to store in memory date/time tz in UTC and usage of ICU for time zone regions.
This version is fixedly configured only with America/Sao_Paulo and America/Los_Angeles.
2018-11-12 13:18:00 -02:00
Adriano dos Santos Fernandes
d268f7344f Change time zone displacement field by a opaque zone field. 2018-11-12 13:18:00 -02:00
Adriano dos Santos Fernandes
7100879498 Initial implementation of time zone support - CORE-694.
TODO:
- Support regions.
- Reevaluate decision of store date/time components in memory in its own time zone instead of normalized to UTC.
- Fix ISQL's SET TIME command.
- Allow usage of "WITHOUT TIME ZONE" with TIME/TIMESTAMP data types.
- Think about compatibility of CURRENT_TIME/CURRENT_TIMEZONE.
- Support AT { LOCAL | TIME ZONE <zone> } expression.
- Support as needed and fix assertions when altering field types.
- Change conversion to string to put a space before the time zone.
- Big endian version of SKD_time_tz and SKD_timestamp_tz.
2018-11-12 13:18:00 -02:00
Adriano dos Santos Fernandes
18edaa66e7 Port CVT2_compare_priority from work/time-zone-support to fix regression in 3acc93f.
The codes for yet unmerged TZ support should not be a problem.

Regressions verified by Pavel Zotov, where these statements were not raising exception anymore:

select cast('true' as blob) > false as result from rdb$database;
select list(b, '') > false as result from (select 'true' as b from rdb$database);
2018-08-08 22:55:43 -03:00
AlexPeshkoff
3acc93f51b Fixed some usage patterns of dec_fixed values - thanks to Adriano 2018-05-14 18:10:12 +03:00
6198bc8ee1 High precision datatype support - Numeric(34,x) (#108)
* Raise underflow when close to 0 decfloat value casted to double
* High precision NUMERIC datatype based on DECFLOAT
* Fixed bulk insert mode in isql for decfloat values
* Enforce correct decQuad format after arithmetic operations
* Minimum docs for high precision NUMERIC/DECIMAL

* Some fixes of code suggested by Adriano:
- Use "const" keyword for Decimal128 constants declared internally
- Remove unneeded buffer initialization
- Remove unused function makeDecimalFixed()
- Follow firebird naming conventions to make code better readable and avoid possible conflicts with various .h files
- Added forgotten scale for DecimalFixed
2017-10-03 17:06:08 +03:00
5aede150e3 Decimal floating point numbers - first draft 2016-11-11 17:59:55 +03:00
Adriano dos Santos Fernandes
d7eb6fe4d0 Fixed CORE-5167 - Allow implicit conversion between boolean and string. 2016-04-04 14:49:44 -03:00
alexpeshkoff
7fed9ff78c cleanup 2015-03-05 16:18:46 +00:00
skidder
7c743fc291 Fix build warnings 2014-07-17 18:48:46 +00:00
robocop
10a253d613 Make comparisons return plain int (PVS-Studio). 2014-02-25 06:20:09 +00:00
asfernandes
6a0a6f2d13 Misc. 2012-11-05 01:14:04 +00:00
dimitr
3dd0507b96 Wiped out the code that never worked due to the missing support for native quads. 2012-11-01 01:36:27 +00:00
alexpeshkoff
2a01e4bcf9 Implemented CORE-3861: Make it possible to encrypt database
Also some cleanups, the most important are:                                                                                                                   
- meaningful ctor on Jrd::Lock, helping to avoid code dup                                                                                                     
- avoid unneeded h-file dependencies, making boot build engine dependent
2012-05-31 16:53:42 +00:00
dimitr
c1505af051 Slightly changed the logic to make it easier to understand. 2012-03-22 07:57:06 +00:00
dimitr
8080bb2100 Front-ported CORE-3553: Nested loop plan is chosen instead of the sort merge for joining independent streams using keys of different types. 2012-03-14 16:04:06 +00:00
alexpeshkoff
4e795f4047 Include platform definitions file common.h in firebird.h. Use OS-specific ThreadId instead artificial FB_THREAD_ID, avoiding unneeded casts in the code. This should fix BSD and MAC ports. 2012-03-01 08:55:43 +00:00
asfernandes
07f2d7117e Misc. 2012-02-20 21:52:29 +00:00
robocop
eed418a89e Make blb resemble more a class: private data members, convert some functions into methods, add methods with code that was in other files, etc. 2012-02-15 03:34:21 +00:00
robocop
186c817caa Playing with fire: converting some static functions into member functions. I tried to check every change I did. 2012-02-07 03:17:52 +00:00
dimitr
e956e2e6c0 1) Restricted ALTER/DROP permissions to the object owners only. Now this applies to domains, charsets, collations, generators and exceptions. This fixes CORE-304: Metadata security hole - any user can alter/drop generators and exceptions.
2) Opened the gates to implement the standard USAGE privilege (CORE-2884). SQL support and validation logic are still to be developed.
3) Added the grant option to the owner permissions for packages, procedures and functions.
4) Misc cleanup and refactoring.
2012-01-08 14:05:29 +00:00
dimitr
7c124b4487 Small optimizations in the mover/converter code. 2011-11-05 18:07:04 +00:00
asfernandes
c9ec26c0c3 Feature CORE-726 - Boolean data type 2010-12-18 02:17:06 +00:00
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +00:00
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +00:00
alexpeshkoff
fa6607bd24 Fixed unregistered bug - invalid datetime2string conversion, reported by Claudio 2010-01-23 14:14:16 +00:00
asfernandes
9ec1c36a55 Cleanup 2009-11-28 19:39:23 +00:00
robocop
216f93b38e Style. 2009-11-23 05:39:35 +00:00
asfernandes
ed0e0daeb3 - External Engines implementation.
- Plugins API.

- Feature CORE-2700 - UDR (User Defined Routines) Engine - C++ API supporting functions, triggers and stored procedures.
- Feature CORE-2470 - Support for alternate format of strings literals.
- Feature CORE-2310 - DDL triggers.
- Feature CORE-2312 - PSQL Packages.
- Feature CORE-1209 - CONTINUE statement.
- Feature CORE-1180 - DDL syntax to change (not) nullable state of columns.
- Feature CORE-2090 - Support OVER () clause with current aggregate functions.

- Fixed CORE-2699 - Common table expression context could be used with parameters.

- Introduce ODS 12.0.

- Work in progress in type-safe parser.
- Refactor some DDL commands (procedures and triggers) from DYN to DdlNodes.
- Refactor virtual tables to use a class hierarchy instead of namespaces. This is basic thing, not based on the changes done in Vulcan. Window functions is based on this work.
- Refactor COMMENT ON and DROP FUNCTION from DYN to DdlNodes. COMMENT ON do not use GDML anymore, it uses DSQL with PreparedStatement class.
- Refactor EXECUTE BLOCK to StmtNodes.
- Refactor the IUDF to SysFunctions. That eliminates RDB$GET_CONTEXT and RDB$SET_CONTEXT from RDB$FUNCTIONS.
2009-10-21 00:42:38 +00:00
robocop
7fbd4bfb8c Comments and style. 2009-08-23 09:50:47 +00:00
alexpeshkoff
459f146017 One more wrong comparison - thanks to Adriano 2009-07-15 09:31:41 +00:00
alexpeshkoff
023432dc35 Fixed comparison sign - thanks to Claudio 2009-07-14 08:24:59 +00:00
robocop
de4be11750 Misc. 2009-07-13 10:00:43 +00:00
alexpeshkoff
fe4aec8a12 Fixed CORE-2550: Bus error when working with DB_KEY on bigendian machines. Introduced dtype_dbkey inside engine. 2009-07-09 14:04:42 +00:00
robocop
c23b36160b Misc. 2009-05-02 14:56:43 +00:00
alexpeshkoff
8c983fec26 Fixed alignment issues with on-stack vary strings 2009-04-29 14:00:32 +00:00
robocop
77bd687168 Style. 2009-01-14 08:22:32 +00:00
robocop
2fadc0e456 Style. 2008-12-22 09:00:05 +00:00
asfernandes
8fbf0e8e8c Remove trailing spaces (.cpp files) 2008-12-05 01:20:14 +00:00
alexpeshkoff
7c8427bc35 Separated CVT functions to common and jrd parts.
This made possible to avoid ugly CVT_move export.

Cleanup of errors handling in CVT functions.
2008-07-10 15:57:33 +00:00
alexpeshkoff
a2e416210b Fixed CORE-1964: Use of 0 instead of isc_arg_end to terminate list of ERR_post's (and cousines) arguments is invalid.
Also cleaned up use of gds__log() in a few places.
2008-06-26 09:47:59 +00:00
asfernandes
53a2090f65 Misc 2008-04-27 02:39:51 +00:00
robocop
f6140e2a20 Cleanup. 2008-04-24 07:18:56 +00:00
alexpeshkoff
39896cb955 Fixed CORE-1671: atexit() calls in client libraries cause segfaults
and CORE-1079: Every attach of fbclient/fbembed library leaks 64KB of memory

To do it:
- created new template GlobalPtr, controlling access to destructors of global objects.
- applied it to global objects.

Also some related cleanup.
2008-01-23 15:52:40 +00:00
dimitr
db7d3ecd4c The merge continued. 2008-01-16 08:31:31 +00:00
alexpeshkoff
eea9070f48 Optimized RuntimeStaticstics (and related part of ThreadDb) for performance - some tests run 25faster 2007-12-03 15:46:39 +00:00
dimitr
211645e3dc Getting rid of the old allocator routines. 2006-05-23 10:17:00 +00:00
asfernandes
871c339ea7 Remove code duplication 2006-05-17 16:25:36 +00:00
alexpeshkoff
62a24d46e4 1. Moved data structures, written to database file, into ods.h.
2. Added new types of clumplets to ClumpletReader and ClupmletWriter.
3. Applied modified ClumpletReader and ClupmletWriter to /remote and partially /jrd.
4. Added active protection from remote brute-force attack to services API.
2005-11-27 20:53:09 +00:00
robocop
2f600f8bc3 Solved SF Bug# 1184099.
To be reviewed by Adriano.
2005-11-08 05:59:06 +00:00