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

398 Commits

Author SHA1 Message Date
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
asfernandes
38ba5852ae Cleanup: remove blr_prot_mask and blr_lock_state support 2010-10-16 15:34:52 +00:00
alexpeshkoff
250a808107 Temporary disable suggested by me solution for request format check - needs better checks, as is breaks CREATE DATABASE 2010-10-13 13:35:40 +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
c6932824f7 Full fix for CORE-3024 2010-10-13 09:15:48 +00:00
asfernandes
91384eb587 Misc 2010-10-12 17:40:27 +00:00
alexpeshkoff
83d6a2f88c Restored a lot of changes, rolled back by me unintentionally 2010-10-12 11:36:51 +00:00
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +00:00
asfernandes
ac3c00d503 1) Refactored LOWER, UPPER and TRIM.
2) Fixed CORE-3174 - Expression index with TRIM may lead to incorrect indexed lookup
2010-10-09 18:39:45 +00:00
asfernandes
4d00fec2d6 Refactor parameters and GEN_ID. 2010-10-09 01:57:37 +00:00
robocop
25b691353e Misc. 2010-09-23 09:53:50 +00:00
asfernandes
9b8171d5c1 1) Refactor nod_value_if.
2) Created ExprNode::expressionEqual method to replace a new big and ugly switch.
3) Make boolean referencers use BoolExprNode instead of jrd_nod, except nod_validate for now. This includes BinaryBoolNode and NotBoolNode working without jrd_nod references.
4) Rework in the impure allocation code (replace "csb_impure += ..." by CMP_impure calls).
2010-09-20 16:07:50 +00:00
asfernandes
c1b5abfdf2 1) Refactor all types of boolean nodes.
2) Remove the scratch from the nodes.
2010-09-17 03:15:32 +00:00