8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-27 20:43:03 +01:00
Commit Graph

249 Commits

Author SHA1 Message Date
dimitr
00bc7b9025 Cleanup the deprecated configuration stuff. 2009-12-28 13:27:10 +00:00
asfernandes
d3ac9ac6cc More refactoring: name changes, accessors, consts, removed not good references (statement referencing scratch and metadata indirectly) 2009-12-23 00:57:08 +00:00
dimitr
69e4ad5fbf Misc. 2009-12-21 16:53:21 +00:00
asfernandes
488eb40fe0 Refactor DSQL, continuing the work I started in 2.5:
- Renamed CompiledStatement to DsqlCompilerScratch and removed inheritance to dsql_req.
- Introduced DsqlCompilerStatement, moving things from dsql_req - not completelly shareable yet.
- Make dsql_req reference a DsqlCompilerStatement. DsqlCompilerScratch may be discarded in the future.
- Replaced AlterCharSetNode usage by PreparedStatement for the default collation in database creation.
- Changed METD API.
2009-12-20 21:01:10 +00:00
asfernandes
20ed875d57 Replaced linked list of dsql parameters by array 2009-12-19 18:50:38 +00:00
asfernandes
9ec1c36a55 Cleanup 2009-11-28 19:39:23 +00:00
asfernandes
d38d8dccbd Some changes aiming a future replacement of the metadata character set 2009-11-28 16:39:54 +00:00
robocop
9c71413426 Style. 2009-11-16 09:18:24 +00:00
asfernandes
fb1e53fb67 Improvement CORE-2697 - Support the "? in SELECT some_col FROM some_table" subqueries 2009-10-30 14:47:25 +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
asfernandes
d6266054b7 Fixed CORE-2660 - COUNT(*) incorrectly returns 0 when a condition of an outer join doesn't match 2009-10-04 21:47:52 +00:00
robocop
dc9e7e7a4a Paul Beach confirmed this Darwin code is no longer necessary. 2009-08-01 05:37:08 +00:00
robocop
74537636b9 Comments. 2009-04-18 14:13:26 +00:00
asfernandes
a829a9c88b Cleanup for NOD_CONST_SPECIAL. It's not needed anymore. 2009-04-10 20:18:17 +00:00
asfernandes
0a62b752eb Misc 2009-04-05 13:04:10 +00:00
asfernandes
891845836d CORE-2298 - Add support for "some_col = ? or ? IS NULL" conditions 2009-02-05 14:29:28 +00:00
asfernandes
ced3b0010e Rollback CORE-2298 2009-01-29 20:36:29 +00:00
asfernandes
9784181a33 Improvement CORE-2298 - Add support for "some_col = ? or ? IS NULL" conditions 2009-01-28 21:37:45 +00:00
robocop
4e167d6fa6 Style. 2009-01-08 09:26:06 +00:00
robocop
b627ad2a39 Style. 2009-01-07 09:30:57 +00:00
robocop
8dca837420 Style. 2009-01-06 05:53:34 +00:00
asfernandes
53f18ba5fc Fixed CORE-2265 - Grouping by function doesn't work properly
(This is related to CORE-1246 changes)
2009-01-04 18:41:36 +00:00
asfernandes
56af6ebd7c Correction 2009-01-03 19:04:32 +00:00
robocop
750485cc8a Some platforms have problems promoting char to int inside the ctype functions (the value becomes negative). If someone has better idea than this fix, please commit it. 2009-01-03 10:00:58 +00:00
asfernandes
364fb47606 Misc 2008-10-03 00:45:13 +00:00
robocop
0c85fac2d4 CORE-1799: improve the almost useless "expression evaluation not supported" error message.
Did the DSQL part for now.
2008-09-27 09:51:53 +00:00
asfernandes
8513170298 Removed false assertion with statement:
select 1 + ? from rdb$database
2008-09-15 15:34:14 +00:00
asfernandes
db4e1bda25 Misc 2008-09-15 15:25:18 +00:00
asfernandes
50ab76f9a7 Fixed:
CORE-2067 - GROUP by and RDB$DB_KEY problems
CORE-2068 - Comparision with IN and subquery with RDB$DB_KEY returns wrong result
CORE-2069 - Incorrect VIEW expansion when RDB$DB_KEY is used in view body
2008-09-07 21:50:00 +00:00
asfernandes
b550749a47 Fixed CORE-1246 - Incorrect column values with outer joins and derived tables 2008-09-07 19:44:48 +00:00
asfernandes
9150e6f4f2 This should fix regressions related to fixes of:
CORE-501 - Optimization problem with COALESCE
CORE-1343 - Bug with a simple case and a subquery
CORE-2041 - update or insert with gen_id() with wrong generator value

And should fix this one (snapshot build bug):
CORE-2051 - don't work subquery in COALESCE
2008-09-01 13:18:02 +00:00
asfernandes
b910161f82 Fixed CORE-501 - Optimization problem with COALESCE 2008-08-20 01:54:45 +00:00
asfernandes
5d4084d30c Fixed CORE-2041 - update or insert with gen_id() with wrong generator value 2008-08-15 16:32:42 +00:00
alexpeshkoff
1785fb6ee3 fixing CORE-1964: Use of 0 instead of isc_arg_end to terminate list of ERR_post's (and cousines) arguments is invalid
finished cleanup of vararg in error diagnostics in DSQL
2008-08-15 11:21:47 +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
cf7af2292d Fixed CORE-1962 - Incorrect extraction of MILLISECONDs 2008-06-25 15:58:03 +00:00
robocop
b8ea332022 Misc. 2008-06-05 11:02:42 +00:00
asfernandes
d4bf9ab246 Split dsql_req into dsql_req and CompiledStatement. This should be my last refactoring to 2.5:
- dsql_req becomes a running request;
- CompiledStatement is derived from dsql_req. The compilation state previously in dsql_req comes to here;
- Rename many "request" parameters to "statement" where type is changed from dsql_req to CompiledStatement.
This changes makes easy the path to support compiled statement cache.
2008-05-24 03:19:52 +00:00
robocop
e44a99f339 Style and minor cleanup. 2008-05-10 03:44:57 +00:00
asfernandes
d75951e8e5 Misc 2008-04-18 01:37:44 +00:00
robocop
4580126101 Do not use flags for values that are exclusive (can't be combined). 2008-04-16 10:38:08 +00:00
robocop
876cb8c11c Better fix for the "unnamed field" bug. Thanks to Adriano for discovering a case that shouldn't be matched. 2008-04-14 07:05:49 +00:00
robocop
64ea67ddf6 The "unnamed field" bug strikes again. :-( 2008-04-11 03:45:42 +00:00
dimitr
1dcf8baa39 Put an extra check. Does anyone think that the condition should be "length > 0" instead? 2008-04-04 16:59:01 +00:00
dimitr
e18a16e3cb Removed OldParameterOrdering. 2008-03-25 16:42:10 +00:00
dimitr
13f5cc92e1 Major cleanup of the old-style blk and allocator-based blk_type. 2008-03-19 16:09:00 +00:00
dimitr
99caa91b85 DSQL integration into the engine. 2008-02-28 13:48:16 +00:00
asfernandes
4b58bb06f1 Feature CORE-1760 - Support hex numeric and string literals 2008-02-27 16:00:31 +00:00
dimitr
c7db4d6a64 Get rid of DsqlMemoryPool. 2008-02-20 15:24:21 +00:00
robocop
fbdc3dbb2b Style, constness and macro cleanup. 2008-02-03 11:20:48 +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
eac5ac337b The merge continued. 2008-01-16 06:52:43 +00:00
asfernandes
54b36766c0 Misc 2007-11-17 00:38:16 +00:00
paulbeach
7602a29b94 HPUX Port 2007-11-12 14:26:44 +00:00
asfernandes
b2669fac42 Misc 2007-10-27 18:09:32 +00:00
robocop
874d8bb906 Fix CORE-1508.
I applied a simple fix because I think that expressions like
-gen_id() don't deserve to carry the alias "gen_id", etc.
But it makes sense for constants and NULL.
2007-10-24 06:23:53 +00:00
alexpeshkoff
407cf7e1d8 Changes suggested by Claudio and Adriano. Further cleanup 2007-10-19 11:51:58 +00:00
asfernandes
30f5bffea4 Misc 2007-10-19 01:25:11 +00:00
asfernandes
3073cc8a13 Fixed the problem (with POWER) described in a comment of CORE-1514 2007-10-17 15:27:13 +00:00
alexpeshkoff
e4271ba6fa Fixed CORE-1501: Wrong access to SLONG data in dsql_nod 2007-10-17 14:35:31 +00:00
asfernandes
cc2b3ccb9a 1) Fixed CORE-1510 - Bad XSQLVAR [NULL flags] for (2*COALESCE(NULL,NULL)) - thanks to Dmitry Kovalenko
2) Fixed few problems with NULLs and new system functions
2007-10-12 00:52:47 +00:00
asfernandes
93642be94a Fixed CORE-1492 - BLOB isn't compatible with [VAR]CHAR in COALESCE 2007-10-04 15:33:34 +00:00
asfernandes
b5a23c12d1 Improvements:
1) CORE-1387 - Add MILLISECONDS handling to EXTRACT, DATEADD and DATEDIFF functions
2) CORE-663 - EXTRACT(WEEK FROM DATE)
2007-07-31 01:22:59 +00:00
asfernandes
f8c2d590a0 Rollback fix for CORE-1245 and CORE-1246 and defer to better times, as each change causes regressions 2007-06-09 19:31:10 +00:00
asfernandes
f4be0d2421 Fixed CORE-1315 - Data type unknown, for most functions ported from Yaffil 2007-06-09 19:18:21 +00:00
hvlad
6d7c5c7a5d Quick fix for CORE-1315 : Data type unknown. To be reviewed by Adriano 2007-06-08 13:24:28 +00:00
asfernandes
595a185dd3 Rework fix for CORE-1245 to fix:
CORE-1246 - Incorrect column values with outer joins and derived tables,
CORE-1306 - Indices not used for views
2007-06-08 02:20:00 +00:00
asfernandes
cfe0ad95cf Fixed CORE-1227 - LIST() function seems not work if used twice or more in a query 2007-05-05 19:28:46 +00:00
asfernandes
166fc0b865 Misc 2007-04-13 01:37:44 +00:00
asfernandes
8c7076b67f Port of Yaffil builtin functions 2007-04-12 15:56:34 +00:00
robocop
409ff041dd Misc and replaced "IB" by "FB" where it made sense to me. 2007-02-11 09:04:54 +00:00
dimitr
550df186da Front-ported bugfix for CORE-1094. 2007-01-19 12:11:16 +00:00
asfernandes
d2e0434a07 Fixed CORE-1012 - IBO problems with FB >= 1.5.3 "Error with joins and auto-generated search query" 2006-12-01 13:49:11 +00:00
asfernandes
7c100231a9 Misc 2006-10-07 17:06:59 +00:00
dimitr
726169caed Fixed CORE-924. 2006-09-12 08:52:03 +00:00
robocop
af8ecc26ca Solve three problems with arrays:
- Don't allow to apply scalar/subscript syntax to fields that aren't array.
- Detect if we get corrupt database containing array with more than 16 dimensions.
- Reject attempt to subscript array with more than 16 dimensions and thus fix the buffer overrun.
2006-09-10 09:05:40 +00:00
asfernandes
5c26d54f02 1) Fixed CORE-899 - Problems with explicit cursors in unwanted states
2) Make RDB$DB_KEY in outer joins returns NULL when appropriate
2006-09-07 01:55:49 +00:00
asfernandes
ad5a99420d Fixed CORE-896 - SUBSTRING with NULL offset or length don't return NULL 2006-08-16 00:09:27 +00:00
asfernandes
4180a46169 1) Make SUBSTRING of BLOB work
2) More refactoration on describing result of expressions (concatenate and substring)
2006-08-12 03:17:01 +00:00
asfernandes
eb4fb2f491 1) Concatenate of BLOBs
2) Start a refactoration on descriptor manipulations
2006-08-10 02:53:16 +00:00
asfernandes
273da882bc Misc 2006-07-31 01:46:52 +00:00
robocop
34e37d54ae Fix CORE-200
Handle column names in subqueries.
Put some more names for common operations and special data.
Disable nod_count since it's not generated by our parser.
2006-07-30 05:09:41 +00:00
asfernandes
84c593b954 Correction for problem with CURRENT_USER/ROLE and client charset 2006-07-12 18:44:08 +00:00
robocop
73c9775c2a Tag time differences and timestamp differences as NUMERIC sub_type if they produce exact numeric results. 2006-05-28 07:46:35 +00:00
asfernandes
c3348f77b9 Fix problem when trimming not-nullable blobs 2006-05-14 14:32:43 +00:00
asfernandes
40bfb5f0f4 Make TRIM of blob work - returning a blob 2006-05-13 01:27:35 +00:00
dimitr
8b45562f81 The DSQL code of the LIST function. Unstable yet. 2006-04-24 17:24:26 +00:00
asfernandes
3b54c24652 Let LOWER/UPPER (blob) work - returning a blob 2006-04-16 18:45:40 +00:00
dimitr
f084389653 Fixed the regression caused by my changes re. Dialect 1. 2006-04-05 04:38:03 +00:00
asfernandes
e781d29e1e Fixed problem caused by usage of UNICODE_FSS system domains in users views and tables - thanks to Dmitry 2006-01-21 14:55:16 +00:00
paul_reeves
6baee04435 Forward port OldColumnNaming from Fb 1.5.3 2006-01-17 04:40:31 +00:00
dimitr
96f644b6bd Fixed a few wrong error messages + minor cleanup. 2005-12-12 17:36:19 +00:00
robocop
68f3568b0f Close the remaining, third item in SF Bug #217042. Now the four items are solved.
However, this third item was the tip of the iceberg: computed fields silently dropped implicit or explicit charset/collation/sub_type specification, whether it was derived from the expression or dictated by an explicit cast.
Also, had to invent a new flag to deal with relations being just created now and whose db_key_length obviously doesn't exist. Still looking for better solution.
2005-10-08 06:52:57 +00:00
dimitr
51a8e6dd62 Fixed dialect 1 regression caused by my recent changes. 2005-09-16 10:50:57 +00:00
asfernandes
13910d5c73 Fix issue of SQLVAR.sqllen from non-system MBCS fields, thanks to Roman 2005-09-14 18:09:40 +00:00
robocop
36f8683511 Get rid of my old hack to solve a problem between John/Mark's FIRST/SKIP parameters type and dialect detection. The dialect is in the request. 2005-09-03 08:03:39 +00:00
dimitr
898cb02240 1) Made output parameter naming a common procedure instead of select-list private code.
2) Allowed value expressions in the RETURNING clause.
2005-09-02 05:30:16 +00:00
asfernandes
0b1eb55d62 Fixed SF field-test #1249187 - 2.0a3: String literals dest. for large CHAR fields truncated 2005-08-21 15:52:30 +00:00
dimitr
6494351243 Fixed a number of issues for Dialect 1 and Dialect 3 (string arithmetics) + some cleanup.
The issues are:
1) '1.5' / '0.5' doesn't work in Dialect 1
2) avg ('1.5') doesn't work in Dialect 1
3) 5 * '1.5' produces INT result instead of DOUBLE PRECISION in Dialect 1
4) sum ('1.5') produces NUMERIC(15, 2) result instead of DOUBLE PRECISION in Dialect 1
5) - '1.5' doesn't work in Dialect 1
6) '1.5' * '0.5' and '1.5' / '0.5' are not forbidden in Dialect 3
2005-08-06 05:29:31 +00:00