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

517 Commits

Author SHA1 Message Date
asfernandes
4f9b9161b4 Feature CORE-2006 - SUBSTRING with regular expression (SIMILAR TO) capability 2010-02-21 01:47:54 +00:00
dimitr
7afdf35892 Enabled WITH LOCK for non-DISTINCT unions. It's expected to work correctly. 2010-02-16 16:28:54 +00:00
asfernandes
c737d6a807 Create ExprNode class hierarchy.
Convert CONCATENATE and aggregate functions to it.

Fix some bugs:
- select sum(n) over (order by n2), sum(n) over (), n, n2 from x1;
- select (select 1 from x1 b where list(1, a.n) = 1) from x1 a;
2010-02-13 20:29:29 +00:00
robocop
e14bd3a279 Comment. 2010-01-31 05:10:30 +00:00
asfernandes
abf4ab92d3 More comments, misc and fix for aggregate inside window ORDER BY clause 2010-01-30 23:08:04 +00:00
asfernandes
4a202ba5a5 Misc 2010-01-30 14:45:41 +00:00
asfernandes
ee511fc7ec Comments (explanations and non-used code) 2010-01-30 02:32:57 +00:00
robocop
e5a0c430aa Misc. 2010-01-29 11:07:42 +00:00
asfernandes
465ec12478 Misc 2010-01-29 01:16:34 +00:00
asfernandes
81c3826fd1 Misc 2010-01-28 17:22:37 +00:00
asfernandes
8a0c6c9ea9 Simplify DSQL removing a lot of copy-and-paste and recursion that change some parameters some times.
Some assertion errors may have been introduced. It would be easy to revert them.
2010-01-28 15:18:11 +00:00
robocop
446097fe8e Be explicit, change "qualifier" to "package" in QualifiedName (needed anyway if/when schemas are added). 2010-01-27 04:32:27 +00:00
asfernandes
16f77c21a2 Cleanup 2010-01-27 02:20:19 +00:00
robocop
1d87d749f0 Misc. 2010-01-26 08:20:27 +00:00
asfernandes
b68658534f Feature CORE-2823 - Support the ORDER BY subclause for current aggregate functions (except LIST) 2010-01-23 03:02:53 +00:00
asfernandes
cf4e283f7d Separate aggregate/union maps from window maps 2010-01-21 18:33:18 +00:00
asfernandes
2faab16698 Misc 2010-01-21 02:51:32 +00:00
dimitr
ebf7907918 Misc. 2010-01-20 07:34:31 +00:00
asfernandes
9eadb6c355 Move the code to below thanks to Dmitry review.
This allow us to save a context number.
2010-01-19 18:26:28 +00:00
asfernandes
57b443e2d1 Complement Dmitry fix 2010-01-19 17:52:39 +00:00
dimitr
90beb3cb8c Hopefully, this change resolves CORE-2812: Prohibit any improper mixture of explicit and implicit joins.
A wider testing would be much appreciated.
2010-01-19 09:31:43 +00:00
dimitr
d35f6e316b 1) Simplify the explicit plan handling between the parser and the engine. It makes no sense to pass the join type as it's ignored internally.
2) Support hash joins in the plan output and in the parser. For the latter, it's just the syntax sugar, same as loop vs merge join (see above).
2010-01-19 09:25:29 +00:00
asfernandes
7fbee2c76b Feature OVER (PARTITION BY ...) clause for window functions 2010-01-18 21:37:47 +00:00
asfernandes
c3f9ef27e8 Refactor CREATE GENERATOR/SEQUENCE 2010-01-10 17:32:40 +00:00
asfernandes
63f481da40 1) Refactor the EXCEPTION statement
2) Cleanup DSQL nod_abort
2010-01-05 17:32:42 +00:00
dimitr
67a26916d9 Simplified the code a bit more (removed the redundant processing). 2010-01-04 07:54:26 +00:00
dimitr
778ea0d9bf Small refactoring (code simplification). 2010-01-03 10:33:22 +00:00
asfernandes
95e5fd5873 Fix problem of mixing dbkey and record version on the same internal parameter 2009-12-26 02:21:56 +00:00
asfernandes
534b8c020e Misc 2009-12-25 19:29:58 +00:00
robocop
105bb19114 Shortcut. 2009-12-24 12:56:31 +00:00
robocop
cd4c00ab21 Misc. 2009-12-24 10:42:32 +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
asfernandes
8968888820 Getters and setters for DsqlCompiledStatement and consts 2009-12-22 15:36:10 +00:00
asfernandes
dd6331f002 Some fixes; Misc. 2009-12-22 00:08:49 +00:00
dimitr
1f3694c903 Support for PSQL functions (only the DSQL part so far). Still work in progress. 2009-12-21 17:23:07 +00:00
asfernandes
985bc2db87 Separate the scratch, statement and request flags. Don't ask me why I didn't change them to bools. 2009-12-20 22:42:43 +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
robocop
b2798cbd87 Misc. 2009-12-16 08:07:36 +00:00
asfernandes
b137cdfd80 Misc 2009-12-14 23:55:56 +00:00
robocop
dae574f7f1 Misc, style and unused vars. 2009-12-13 10:41:53 +00:00
asfernandes
fe95abee91 Make WITH LOCK work with window functions 2009-12-11 14:47:41 +00:00
hvlad
1dc03fa3b9 Fixed bug CORE-2783 : AV using recursive query as subquery in SELECT list and ORDER'ing by them 2009-12-09 23:06:29 +00:00
asfernandes
9ec1c36a55 Cleanup 2009-11-28 19:39:23 +00:00
asfernandes
7c11f5b6b0 Misc 2009-11-22 00:09:30 +00:00
asfernandes
200a63b1b4 Reduce usage of legacy (and unsafe) nodes related to PSQL parameters and variables.
Use btyacc feature "inherited attributes" (kind of parameters for non-terminals).
2009-11-21 20:42:27 +00:00
robocop
4d1783f379 Style. 2009-11-19 09:37:10 +00:00
robocop
d0fe2b0d6b Style. 2009-11-15 12:21:33 +00:00
asfernandes
957aa3e32b Fix problem reported by Bill - usage of variable in non-PSQL block crashs the server. Test case:
--
-- Defect S0320338
-- EXTRA COLON CAUSES ISQL TO CRASH
--
create database 'test.fdb';

create table USER_DATA (
    BASE_DATA_ID numeric(18,0) not null,
    OWNER_IDENTITY_ID numeric(18,0),
    primary key (BASE_DATA_ID)
);

create table IDENTITY (
    IDENTITY_ID numeric(18,0) not null,
    OBJECT_VERSION numeric(18,0) not null,
    IS_ACTIVE char(1),
    IS_GROUP char(1),
    OMRID varchar(80) not null unique,
    NAME varchar(80) not null,
    IDENTITY_PROXY_ID numeric(18,0) unique,
    primary key (IDENTITY_ID)
);

SELECT ident.IDENTITY_PROXY_ID
FROM USER_DATA ud
JOIN IDENTITY ident on ud.OWNER_IDENTITY_ID = ident.IDENTITY_ID
WHERE ud.BASE_DATA_ID = :OBJECT_ID;
-- this query should fail, but not crash

drop database;
2009-11-03 23:16:37 +00:00
asfernandes
914d6f383d Fixed CORE-2723 - When execute command UPDATE OR INSERT the server crashes 2009-11-01 18:51:48 +00:00