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

410 Commits

Author SHA1 Message Date
Adriano dos Santos Fernandes
a71ec888e4
Improvement #7590 - Improve DECLARE VARIABLE to accept complete value expressions. (#7608) 2023-09-18 08:02:05 -03:00
Adriano dos Santos Fernandes
98f678d4ee Rename class jrd_req to Request. 2022-02-13 10:51:30 -03:00
Dmitry Yemanov
19f2bfdd01 Refactored the optimizer. Better debug logging. 2022-02-09 10:20:16 +03:00
Adriano dos Santos Fernandes
3c22c23874 Improvement #4769 - Allow sub-routines to access variables/parameters
defined at the outer/parent level [CORE4449].

Remove blr_parameter3.

Comment unused blr_run_count.
2022-01-30 12:15:03 -03:00
Adriano dos Santos Fernandes
ee088c22e3
Rework messages processing, simplifying the build and avoiding store generated files in git. (#6958) 2021-09-15 08:37:17 -03:00
Dmitry Yemanov
34cb7c8c25 Refactoring: simplify the rescheduling usage 2020-06-03 09:44:01 +03:00
Dmitry Yemanov
3ce4605e3c Implemented CORE-6278: Efficient table scans for DBKEY-based range conditions 2020-04-07 10:04:40 +03:00
Alexander Peshkov
2d2df601a3
None gmt fallback (#260)
Added new form of set bind: SET BIND OF TIME ZONE TO EXTENDED
2020-03-04 19:14:58 +03:00
Alexander Peshkov
861d536fc2
Int128 - new datatype (#220)
* Int128 support - work in progress

* Work in progress

* Int128 datatype appears to be mostly OK except sort & index

* Fixed divide scaling, added sorting & network (xdr) support

* Binding control, aggregate nodes, cleanup and documentation

* Fixed VS2017 AppVeyor build

* Next attempt to fix vs2017 build

* Next attempt to fix vs2017 build

* Next attempt to fix vs2017 build

* Update MSVC build.

* Set VS architecture correctly

* Fixed a number of issues noticed by Mark
2019-09-16 20:59:54 +03:00
Adriano dos Santos Fernandes
45d5e3aa7a
Refactor public include files (#205)
Refactor include files.
2019-06-03 11:45:00 -03:00
Adriano dos Santos Fernandes
e438bdeb60 Fixed CORE-6033 - SUBSTRING(CURRENT_TIMESTAMP) does not work. 2019-03-22 12:45:06 -03: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
32ca23b4fc Fix CORE-5874 - Provide name of read-only column incorrectly referenced in UPDATE ... SET xxx. 2018-07-16 12:19:49 -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
Adriano dos Santos Fernandes
c28e734cc7 Improvement CORE-5563 - Use exception instead bugcheck for EVL_expr. 2017-06-13 16:28:23 +00:00
Adriano dos Santos Fernandes
d8fea3ec91 Avoid method calls in NULL objects.
It's undefined behavior even with non-virtual methods not accessing *this.
2017-06-09 17:10:46 +00:00
5aede150e3 Decimal floating point numbers - first draft 2016-11-11 17:59:55 +03:00
dimitr
52bb948978 This should fix CORE-5016: Server crashes during GC when DELETE is executed after adding new referencing column. 2015-11-16 12:09:38 +00:00
asfernandes
78f14027d6 Fixed CORE-4943 - Dialect 1 casting date to string breaks when in the presence a domain with a check constraint. 2015-09-24 16:19:18 +00:00
alexpeshkoff
7fed9ff78c cleanup 2015-03-05 16:18:46 +00:00
dimitr
6ae3e2cbaf 1) Fixed CORE-4383: Index and BLOBs garbage collection doesn't work for update_in_place().
2) Applied the same approach to temporary GC records.
3) Refactored the Record class to avoid reallocations, to improve encapsulation and to simplify the code.
4) Slightly refactored UndoItem to isolate its logic from the Record class.
5) Reduced the in-memory size of the undo log.
6) Slightly better alternative to the legacy NULL reporting for outer joins.
7) Minor fixes and adjustments in BufferedStream.
2015-02-19 14:15:00 +00:00
dimitr
3f83c345f3 Misc. 2015-02-18 12:55:06 +00:00
asfernandes
9c9dd72977 Misc. 2013-11-24 03:21:11 +00:00
dimitr
d0d26c6622 Fixed the underlying issue that made CORE-4255 possible. 2013-11-07 18:41:27 +00:00
asfernandes
d0c79a4508 Cleanup. 2013-03-31 18:23:54 +00:00
dimitr
15e4367810 Small refactoring. 2013-03-17 17:35:53 +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
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
c627005a89 Feature CORE-3626 - Subfunctions in PSQL and EXECUTE BLOCK.
Tests at http://firebird.cvs.sourceforge.net/viewvc/firebird/fbtcs/GTCS/tests/FB_SQL_SUBFUNC_1.output.

Also did:
- Refactor to share more code/data between procedures and functions.
- Fixed some PSQL functions problems.
2011-10-16 20:36:07 +00:00
dimitr
1be45eb531 Misc. 2011-02-12 20:26:24 +00:00
asfernandes
f1ac2b2ab5 Simplified fix for problem with default values in formats. 2011-02-11 00:43:15 +00:00
dimitr
5725a784e8 Misc. 2011-02-06 15:39:37 +00:00
asfernandes
c9ec26c0c3 Feature CORE-726 - Boolean data type 2010-12-18 02:17:06 +00:00
asfernandes
acfea28169 Make expression evaluation faster 2010-12-05 00:54:54 +00:00
asfernandes
9c42d4e5af Finish the statements refactor in the engine. Get rid of jrd_nod. 2010-12-04 22:15:03 +00:00
asfernandes
a3064848d6 Make ExprNodes and RecordSourceNodes reference others directly instead of via jrd_nod.
Store ValueExprNodes instead of jrd_nod in the metadata cache.
Make RecordSourceNode child of ExprNode as they share most operations.
Get rid of the JRD visitors in favor of direct calls.
Convert assignments statement lists created inside expressions to separate source and targets ValuesExprNodes.
2010-11-21 03:47:29 +00:00
asfernandes
4dea3a42a1 Remove dependency of jrd_nod in ExprNode 2010-11-14 22:31:42 +00:00
asfernandes
3eb252ec5f Refactored DSQL nodes: nod_derived_field, nod_map, nod_dbkey and nod_rec_version.
Refactored JRD nodes: blr_field (JRD side only), blr_dbkey, blr_record_version and blr_stmt_expr.
2010-11-14 17:25:48 +00:00
asfernandes
0d19fe7688 Refactor blr_index (nod_scalar) 2010-11-08 23:17:01 +00:00
asfernandes
5ee982afb9 Refactor blr_derived_expr 2010-11-07 22:12:14 +00:00
asfernandes
a13dd3e6fe Refactor nod_domain_validation 2010-11-07 20:26:11 +00:00
asfernandes
1d702dae81 Refactor blr_via, blr_from, blr_maximum, blr_minimum, blr_count, blr_average and blr_total 2010-11-07 02:18:58 +00:00
asfernandes
d68e42b731 Cleanup: nod_average2 and nod_total2 was very broken 2010-11-05 15:05:50 +00:00
asfernandes
2b6106938e Refactor variables 2010-11-02 17:05:01 +00:00
asfernandes
e65fd8fea8 1) Refactor CAST.
2) Fixed CORE-3204 - Constraint violation error of CAST is not raised inside views
2010-11-01 23:57:31 +00:00
asfernandes
3317eeeebc Refactor literal values. 2010-10-24 00:26:00 +00:00
asfernandes
16ff0c51ce Refactor NULL expression 2010-10-22 15:00:22 +00:00
asfernandes
2e0da292df Refactor EXTRACT 2010-10-16 18:53:25 +00:00
asfernandes
2dcef5c7ce Refactor *_LENGTH functions 2010-10-16 18:17:00 +00:00
asfernandes
aa78df6f91 Refactor SUBSTRING 2010-10-16 17:42:04 +00:00