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

356 Commits

Author SHA1 Message Date
dimitr
d64f97e260 Fixed CORE-2061: ALTER VIEW WITH CHECK OPTION crashes the engine. 2008-09-02 07:27:15 +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
alexpeshkoff
b3e51d59e2 fixed release gcc build 2008-08-27 11:06:11 +00:00
robocop
3ffc6889d4 Correction. 2008-08-23 11:08:21 +00:00
asfernandes
736659c1a1 Misc 2008-08-16 15:42:38 +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
robocop
720b2655b9 Implement new message for DSQL. 2008-06-28 04:33:29 +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
d30d6410ea Misc 2008-06-13 01:42:58 +00:00
alexpeshkoff
5f0278b14e Added GRANTED BY clause to GRANT and REVOKE commands.
Fixed CORE-1869: Roles granting/revoking logic differs between 2.0 and 2.1.
2008-06-10 10:55:48 +00:00
robocop
b8ea332022 Misc. 2008-06-05 11:02:42 +00:00
robocop
ab2987a3aa Style.
Remove useless parentheses.
2008-06-03 06:19:21 +00:00
alexpeshkoff
093901c134 fixed gcc 3 build 2008-05-28 13:11:36 +00:00
robocop
88859fdc51 Make operations a bit faster by enabling the vector to add an array of values in a single pass (the same idea as insert's overloaded version). 2008-05-25 12:16:20 +00:00
robocop
4acad057dc Give explicit names to vars that save state for later restoration. 2008-05-25 11:44:11 +00:00
asfernandes
84603f1169 Misc 2008-05-25 01:39:16 +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
asfernandes
d52dc96278 1) Move the new Node classes to appropriate files
2) Creation of StmtNode
3) Conversion of IN AUTONOMOUS TRANSACTION to InAutonomousTransactionNode (inherited from StmtNode) - it makes this feature almost self-contained

Please do a boot build or at least run blr_table.
2008-05-19 13:47:48 +00:00
asfernandes
e469bd562a Cleanup on the "proc_flag" logic: store it on the request and changes when necessary. 2008-05-17 16:51:07 +00:00
alexpeshkoff
27a97e2a6a 1. Modified syntax of ALTER ROLE command according to Dmitry's request.
2. Avoid any use of predefined NT group name "Domain Admins".
3. Fixed DYN code generation for USER operations.

                     ***** WARNING *****
After this commit all previous backups of 2.5 databases with turned on
admins mapping become unrestorable. ODS is not changed.
2008-05-14 11:24:45 +00:00
asfernandes
7d34ead84e 1) Allow to reference others fields in the expression of ALTER...COMPUTED
2) Documentation
2008-05-11 20:05:12 +00:00
hvlad
a1b08862f0 Corrected fix for bug CORE-1875. Noted by Adriano. 2008-05-01 07:22:11 +00:00
hvlad
62b5c645e5 Fixed bug CORE-1875 : Error on script with current_date 2008-04-30 20:04:18 +00:00
hvlad
6ee4242552 Fixed bug CORE-1841 : If some VIEW used derived tables and long table names\aliases, It is possible to overflow RDB$VIEW_RELATIONS.RDB$CONTEXT_NAME.
Attention : ODS changed !
2008-04-29 16:39:17 +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
6f31045e33 Misc. 2008-04-16 09:25:36 +00:00
asfernandes
77e97a47c0 Feature requests CORE-1737 and CORE-1803:
1) ALTER CHARACTER SET <charset> SET DEFAULT COLLATION <collation>
2) CREATE DATABASE ... [ DEFAULT CHARACTER SET <charset> [ COLLATION <collation> ] ]
2008-04-15 02:18:38 +00:00
asfernandes
9037d1908a Hope this fix one "problem" detected by Valgrind 2008-04-09 20:01:41 +00:00
asfernandes
017e3a9cd0 Misc 2008-04-06 15:02:35 +00:00
asfernandes
29fbfbb8ff Misc 2008-04-06 14:45:51 +00:00
dimitr
4c9045523f Removed the wrong assert. Adriano, please make sure the rest of the logic is ready for a zero field_string.
Test case: CREATE VIEW vt (id) AS SELECT id, 5 FROM t;
2008-04-04 18:26:38 +00:00
dimitr
29229a10a6 Simplify the optional default value parsing and processing. This also fixes CORE-1512. 2008-04-04 16:53:29 +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
ff090e6a7b Cleanup. 2008-03-12 16:42:51 +00:00
robocop
62c9dd45c6 Let's better use UCHAR for binary streams. 2008-03-05 08:40:55 +00:00
robocop
8888ecb544 Let's better use UCHAR for binary streams. 2008-03-04 06:03:34 +00:00
asfernandes
e88fd596d9 Let DSQL cache lock logic in SS too - per Dmitry request 2008-03-03 15:40:56 +00:00
asfernandes
7a2dedaa39 Go direct to engine internals from DSQL, without need to exit/enter the attachment lock - more to follow 2008-03-02 21:16:16 +00:00
asfernandes
35688cd5d9 Cleanup: remove y-valve functions DSQL_CACHE and INTL_FUNCTION 2008-03-01 19:14:46 +00:00
dimitr
99caa91b85 DSQL integration into the engine. 2008-02-28 13:48:16 +00:00
dimitr
c7db4d6a64 Get rid of DsqlMemoryPool. 2008-02-20 15:24:21 +00:00
hvlad
0c51514806 Frontport fix for bug CORE-1724 : Common table expressions cannot be used in computed columns and quantified predicates (IN / ANY / ALL) 2008-02-07 14:10:25 +00:00
asfernandes
01745502a9 Fixed problem when altering non existent database trigger 2008-02-05 14:46:04 +00:00
alexpeshkoff
da233e16bf Fixed error in TCS's DSQL_DOMAIN_01 and PROC_LEVEL0_TESTS_2 - long domain name was silently truncated instead of throwing an error 2008-02-05 11:48:59 +00:00
asfernandes
ed51d0728b DSQL sync. changes 2008-02-01 20:18:11 +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
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
alexpeshkoff
e4271ba6fa Fixed CORE-1501: Wrong access to SLONG data in dsql_nod 2007-10-17 14:35:31 +00:00
dimitr
4b15669f26 Misc. 2007-08-27 10:19:41 +00:00
asfernandes
8c202cdd61 Fixed CORE-1378 - Domain names and charset issues 2007-07-24 16:28:08 +00:00
asfernandes
b63bbb7c59 Fix for:
CORE-1286 - Bug with COMPUTED BY fields
CORE-1292 - Can't create table using long username and UTF8 as attachment charset
2007-06-02 19:13:29 +00:00
alexpeshkoff
a49f8a016f misc 2007-04-28 14:11:30 +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
alexpeshkoff
d63491e3c5 Finished gcc-warnings cleanup 2007-04-11 16:05:40 +00:00
robocop
77f0788ba0 Misc. 2007-02-02 10:56:53 +00:00
asfernandes
cec7eaa8b6 Some changes based on Claudio's comments 2007-01-21 15:35:35 +00:00
asfernandes
f30ee6b63e Use debug informations in EXECUTE BLOCK 2007-01-20 14:18:18 +00:00
asfernandes
87aa10c9cd Validate input parameters 2007-01-18 00:26:14 +00:00
asfernandes
aca179f398 Full domain support and NOT NULL in PSQL 2007-01-17 01:19:01 +00:00
asfernandes
d168869475 Added RDB$NULL_FLAG and RDB$PARAMETER_MECHANISM to RDB$PROCEDURE_PARAMETERS 2006-11-24 00:25:13 +00:00
asfernandes
570b6cd4b4 1) CORE-645 and CORE-745: Database triggers
2) CORE-711: Make syntax for "CREATE TRIGGER" compliant with SQL2003
2006-11-05 18:30:36 +00:00
asfernandes
c29c3dccb3 Misc 2006-11-04 03:03:45 +00:00
hvlad
f48f2af25b Few corrections pointed by Claudio 2006-11-03 09:42:42 +00:00
hvlad
58d381edd7 1. Remove blr_src_info code as it is prevents database downgrade from ODS 11.1
2. Put debug information (mapping between blr offset and source line\column and names of local variables) into new blob field RDB$DEBUG_INFO
This is first step to implement native SQL debugger i believe
2006-10-30 20:58:06 +00:00
robocop
98ac099832 Skip irrelevant characters at the beginning of trigger's body.
Granted, this has little practical effect because (unlike procedures) trigger bodies include the AS keyword, so garbage between AS and BEGIN is not detected.
2006-09-14 09:43:00 +00:00
robocop
7dab022ddf Prevent users from creating explicit domains that resemble implicit domains because this trick confuses our internal checks:
SQL> create domain rdb$1 int;
Statement failed, SQLCODE = -637
Dynamic SQL Error
-SQL error code = -637
-Implicit domain name RDB$1 not allowed in user created domain
2006-08-31 09:06:15 +00:00
asfernandes
9efd321894 Fixed crash with CREATE VIEW ... AS SELECT and the number of columns of the SELECT is greated than the number of columns of the VIEW 2006-08-30 02:31:41 +00:00
asfernandes
b7af27215e Allow usage of domains in PSQL (with TYPE OF syntax) 2006-08-19 02:52:39 +00:00
asfernandes
8b31e78863 Misc 2006-08-14 03:34:02 +00:00
robocop
aa0007fcef Misc and better skipping of irrelevant characters in procedure bodies (do not spoil user formatting as requested by Dmitry). 2006-08-13 06:42:28 +00:00
asfernandes
6c707c12a1 Misc 2006-08-08 02:42:10 +00:00
asfernandes
e538061c38 Implementation of CREATE/DROP COLLATION and ISQL show/extraction of collations 2006-08-07 16:39:21 +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
robocop
bcf2cb8701 1.- COALESCE/CASE and VIA (subqueries) allowed breach in computed field checks (no array and no blob).
2.- Misc: since gbak allows not only to backup metadata only but to restore metadata only (even from a full backup), changed the help message.
2006-07-30 02:59:29 +00:00
asfernandes
ea0435247a Misc 2006-07-18 02:45:35 +00:00
dimitr
d5b27fdb17 1) Fixed CORE-831.
2) Solved CORE-779 (partially intermixed with another changes that will be committed tomorrow).
2006-07-17 12:44:18 +00:00
asfernandes
a86cf35ad4 Synchronization of DSQL metadata cache objects in classic-server 2006-07-10 03:12:10 +00:00
asfernandes
1a0df78e29 Allow the use of COLLATE in parameters (input and output) and variables in PSQL - feature request (CORE-684) COLLATE IN STORED PROCEDURES, OR IN PARAMETERS 2006-06-26 20:58:13 +00:00
robocop
00b890174a Blob sub_types greater than 1 (text) are for our internal ussage. Negative blob sub_types are for users. Stop users from creating columns with blob sub_types beyond. Probably the same check has to be done in DYN. 2006-06-02 08:44:19 +00:00
hvlad
701f2cbda4 Global temporary tables implementation 2006-05-21 22:07:35 +00:00
asfernandes
a3b411a4c1 Misc 2006-05-20 00:59:22 +00:00
alexpeshkoff
b056a118b5 1. Avoid use of STL
2. Reworked exceptions to make status_exception always hold correct status vector
3. Avoid use of RTTI
2006-05-19 15:17:02 +00:00
dimitr
8b45562f81 The DSQL code of the LIST function. Unstable yet. 2006-04-24 17:24:26 +00:00
dimitr
a3b2c23aff CREATE VIEW should be aware that a column alias doesn't necessarily mean an expression. 2006-01-26 11:21:12 +00:00
robocop
1ca7a582f9 EXPRESSION_INDICES code is considered stable and therefore there's no need to keep it protected by macros. Please do a full rebuild. 2006-01-14 07:00:44 +00:00
dimitr
a34cf16466 Let's generate blr_blob2 for PSQL blobs instead of blr_quad.
This allow PSQL blobs to carry the charset/collation attributes.
2005-11-25 14:58:50 +00:00
robocop
405346ba33 Fix SF-bug field-test #1192225. 2005-10-30 08:15:29 +00:00
dimitr
5e8af7b048 Implemented RECREATE TRIGGER. 2005-10-29 09:15:37 +00:00
dimitr
953aa2dfd0 Fixed the bug noticed by Claudio. 2005-10-28 05:37:34 +00:00
dimitr
85388cd3c7 1) Fixed check constraints
2) A bit simplified generation of check option triggers
3) Cleanup of unused parser stuff
2005-10-26 18:21:32 +00:00
dimitr
23eb1ca985 Change the visibility rules for uncommitted relations.
The goal is to simplify them and fix known issues with ALTER TABLE.
Hopefully, this won't cause any side effects.
2005-10-21 08:47:26 +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
robocop
01e8fab3e0 Trim unneeded blanks and some control characters between DEFAULT clause and the default value itself in procedure parameters, too.
Trim unneded blanks and some control characters before the BEGIN or DECLARE clauses in a procedure body.
2005-09-30 07:50:39 +00:00
arnobrinkman
3326dd95ff Fix another "with check option" issue <sigh> 2005-09-27 20:41:18 +00:00
dimitr
3e575cc3ba Let's recognize an attempt to alter a not existing table earlier than in DYN.
In particular, this prevents a server crash introduced by some recent DDL checks.
2005-09-19 14:48:26 +00:00
robocop
aab2d20725 - Get rid of DBB_v3 in DSQL and put a message just in case we find ODS<=7 (impossible in theory, since FB wouldn't open such db).
- Put mnemonics for two hardcoded error msgs I hijacked from DYN years ago. Now they are defined for the SQLERR facility.
2005-09-10 07:15:24 +00:00
dimitr
d946030bed Small correction. 2005-09-09 09:07:08 +00:00
dimitr
9309486dba Clear the DSQL metadata cache after ALTER EXTERNAL FUNCTION statement. 2005-09-09 06:40:44 +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
f93bf8d46a Fixed problem of implict NOT NULL (in PRIMARY KEY constraint) being generated with the same constraint name of the PK.
Thanks to my brother Adilson for the test case.
2005-08-29 18:41:21 +00:00
robocop
22742ccdd7 Tweak DYN to solve several issues:
- Allow to set and drop defaults for table's fields (as it has been possible with domains).
- Stop people from setting a default value for array types.
- Close checking holes that allowed people to change from scalar types to array types and vice/versa.
- Improve some error messages.
2005-08-14 05:48:20 +00:00
arnobrinkman
8b39342fdf Fix "WITH CHECK OPTION" bug introduced with tighter alias handling.
In fact the tighter alias handling was showing a hidden "bug".
2005-07-27 18:57:15 +00:00
arnobrinkman
22ac7c9cdc Fix derived table issues with NEW/OLD contexts (Triggers/check-constraints)
Also adjust IN predicate behaviour to derived table.
PLAN parsing for derived tables will be fixed later.
2005-07-25 14:43:28 +00:00
robocop
e28ed6b27c Try to indicate position of incomplete commands.
Some casts because statuses are fixed 32 quantities, not natural int types.
2005-06-16 05:11:08 +00:00
asfernandes
890494ac7c 1) Fixed SF #1016040 Missing external libraries causes engine exception
2) Use better error messages
2005-06-14 03:16:54 +00:00
hvlad
f07656ec54 Fixed SF bug #1211325 (BLOBs in external tables) 2005-06-11 11:36:59 +00:00
robocop
3a8cd43a05 Please Dmitry and try to report the line/column of an incomplete statement. 2005-06-11 00:20:22 +00:00
dimitr
00e0976294 Fixed bug with lost charset/collation in local variables,
reported by Eugene Kilin.
2005-06-08 13:42:59 +00:00
asfernandes
3647497a08 Misc. 2005-06-06 20:18:12 +00:00
asfernandes
559ce29c51 1) Replace length_ to strlen as noted by Claudio and Dmitry
2) Change USHORT to ULONG in intl.cpp
2005-06-06 18:14:10 +00:00
dimitr
15151d5bba Fixed charset/collation issues for view columns. 2005-06-06 11:06:01 +00:00
robocop
b8d1f00f94 - Corrections and changes to Adriano's commit, subject to his inspection.
- Solved an endless loop with trim and zero-length trim characters, etc.
- Some places are signaled with FB_COMPILER_MESSAGE for prompt attention.
2005-06-06 08:30:03 +00:00
asfernandes
59213efe7e Merge INTL branch into HEAD 2005-05-27 22:45:31 +00:00
robocop
3aaa840483 Misc. 2005-05-22 03:11:41 +00:00
robocop
b490df3a41 ALTER EXTERNAL FUNCTION: be able to change the entry_point or the module_name when the UDF cannot be dropped to correct the declaration because it's used in some view, procedure, trigger or check. 2005-05-22 02:42:17 +00:00
robocop
da0a6bba5b Getting rid of commented code that belonged to the dead shared cache and/or WAL plus fixing some indentation. 2005-05-19 07:34:46 +00:00
robocop
0285f6bf76 - Implement the proposed COMMENT keyword to allow descriptions in database objects. Subject to change or withdrawal.
- Enhance some messages. Reuse some msg numbers that were duplicate.
- Fix some issues found in Alex recent MetaName-related commits.
2005-05-17 07:17:25 +00:00
alexpeshkoff
b8929eecbf front-ported my fix from 1.5.2 - fixed AV in ALTER TABLE 2005-05-12 18:23:01 +00:00
dimitr
7c8fc55056 Fix for the bug reported by Bill Oliver. 2005-05-06 18:09:49 +00:00
dimitr
cce77ac325 Fixed issue reported by Adriano. 2005-04-16 18:21:09 +00:00
robocop
318cd7ae44 Fix DY's copy/paste bug. 2005-03-27 04:51:21 +00:00
dimitr
d25fcdc0c4 Implemented RECREATE EXCEPTION and CREATE OR ALTER EXCEPTION. 2005-03-26 16:11:52 +00:00
robocop
2f752f36aa Totally misc. 2005-03-04 00:01:42 +00:00
dimitr
e3a9d86662 Simplify code paths a bit. 2005-02-21 13:18:49 +00:00
dimitr
d7e75a86b1 Fixed some metadata issues with views. 2005-02-05 12:48:33 +00:00
robocop
72e54eb27d First attempt to fix SF Bug #512975.
Please let me know if the problem disappears or there's a bad side effect that I didn't detect.
2005-01-17 09:16:40 +00:00
robocop
6eabbaf772 Fix irrelevant SF Bug #512975.
CR-LF => blank. No trimming is made.
2005-01-12 05:09:42 +00:00
dimitr
f2d2ad2542 1. Allowed implicit NOT NULL declaration for a PRIMARY KEY constraint (per SQL-99)
2. Minor fixes and cleanup
2005-01-04 13:17:16 +00:00
robocop
d65307b497 Style. 2004-12-24 08:52:39 +00:00
robocop
950216de4e Misc. 2004-12-08 05:58:41 +00:00
dimitr
882b8defe4 Restored datatype. 2004-12-03 06:49:01 +00:00
dimitr
28ed1df100 1. Parser cleanup
2. SQL-99 synonyms for generators DDL/DML
3. Implemented REVOKE ADMIN OPTION FROM
2004-12-02 22:53:51 +00:00
robocop
af6a16107a Misc. 2004-11-30 06:18:39 +00:00
robocop
fd2bcc04e4 frb_sys_flag becomes fb_sys_flag 2004-11-29 09:09:42 +00:00
dimitr
a1bbad7ccf The entire RSE handling in the parser is slightly rewritten. New join syntax is introduced.
Notes:
1) Some features are disabled (via isc_wish_list) yet due to their incomplete implementation.
2) The parser may become unstable or cause regressions. It will be fixed ASAP.
2004-10-13 18:37:53 +00:00
robocop
ed17cfafbf Style:
if<space>(
for<space>(
switch<space>(
while<space>(
2004-10-04 08:15:00 +00:00
robocop
31ba754981 After talking to Ann, decided to disable several items:
- obsolete items like WAL and JOURNAL (cleaned in the past)
- crud from attempts never finished like the shared cache manager for Classic
- DSQL nodes that aren't used. This allowed freeing some keywords.
The functionality was disabled by commenting the code. No code has been deleted.
2004-10-03 04:49:04 +00:00
robocop
33c2a7eb17 Totally misc: typo in comment 2004-09-09 08:58:13 +00:00
alexpeshkoff
5ba5453a30 fixed AV in DECLARE FILTER 2004-09-08 12:01:30 +00:00
dimitr
cf89467735 Let's describe literal NULLs correctly in expressions. 2004-09-04 18:24:12 +00:00
robocop
092dd6297e BY SCALAR_ARRAY param can't be used as a return param.
There's no support for that. It's only input param to the UDF.
2004-08-27 09:24:39 +00:00
robocop
1994913da7 Bring DSQL up to date with UDF capabilities in the engine.
Introduce SCALAR_ARRAY token.
2004-08-27 04:52:32 +00:00
dimitr
56e0b95ca5 Allow the DDL engine to understand literal NULLs in computed fields. 2004-08-17 11:19:41 +00:00
alexpeshkoff
31039a254e next step preparing to allocate auto objects memory from appropriate pool 2004-08-16 12:28:43 +00:00
skidder
43e98c3f52 Fix crash when changing data type for field and specify wrong type or domain name 2004-07-01 00:46:10 +00:00