asfernandes
ccaaca7c72
Misc
2011-01-29 17:24:29 +00:00
dimitr
e0f5a68da0
More work on enlarging the message buffers. To be continued.
2011-01-28 18:50:27 +00:00
dimitr
1f5e2c7d4e
Tuned the code a little in order to avoid redundant retrievals. As a side effect, it downgrades three-way joins to two-way ones, thus helping the optimizer to choose a good plan in the worst (zero selectivity) cases. This should resolve CORE-2933 (Very slow execution of a script that creates a lot of metadata) and CORE-3237 (Slow compilation of stored procedures) without tweaking the optimizer constants.
2011-01-14 06:51:51 +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
a13dd3e6fe
Refactor nod_domain_validation
2010-11-07 20:26:11 +00:00
asfernandes
7b652bcb9a
Misc
2010-10-15 01:55:57 +00:00
dimitr
af23581244
Front ported my recent changes. I'm unable to verify the compilation now, sorry.
2010-10-14 05:27:08 +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
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
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
e736c7d15c
Misc
2010-08-25 00:42:17 +00:00
asfernandes
48d83b8fef
Refactor nod_rse, nod_relation, nod_procedure, nod_union, nod_aggregate and nod_window.
2010-08-24 03:25:01 +00:00
asfernandes
18a6a6b4f9
More consts
2010-08-13 15:22:00 +00:00
asfernandes
8657f4b599
Better internal handling of dependencies
2010-08-11 02:59:33 +00:00
asfernandes
dadc0f560c
Const correction for EVL, EXE and they subsystems. Adjustments to CMP and OPT.
2010-08-09 15:48:51 +00:00
dimitr
da183a98ed
Reworked the SEC$USERS implementation so that no new physical table type and data access method would be required. More changes are likely to follow soon.
2010-07-13 12:31:35 +00:00
alexpeshkoff
88db8b2fbc
ODS change: made RDB$USERS system table, added virtual table SEC$USERS
2010-07-09 12:51:05 +00:00
asfernandes
75af3ccf65
Misc/cleanup
2010-06-22 00:53:35 +00:00
alexpeshkoff
f28f040e0f
Fixed CORE-3024: Error "no current record for fetch operation" after ALTER VIEW (and a lot of other possible inconsistencies)
2010-06-15 12:27:33 +00:00
asfernandes
0d71f0d52d
Misc
2010-06-12 16:32:46 +00:00
robocop
9eaa31856a
Cleanup.
2010-04-29 05:15:57 +00:00
asfernandes
c1ac5ddc87
Misc
2010-04-23 01:59:21 +00:00
asfernandes
0c47a04538
1) Use RAII with the non-cached requests.
...
2) Change GPRE generated code to something that fits the future SMP-aware engine, replacing calls of "request = CMP_compile2(...)" by "request.compile(...)". Boot build required.
2010-04-19 22:49:18 +00:00
asfernandes
4763533669
Refactor jrd_req into JrdStatement (shared part) and jrd_req (execution of a statement).
...
Fixed some bugs found in the way.
2010-04-18 22:19:11 +00:00
asfernandes
39498cb65b
Use AutoCacheRequest in all cacheable system requests. Fixes some request leakages.
2010-04-18 15:04:52 +00:00
robocop
4499f8af4c
Totally misc.
2010-04-14 09:47:51 +00:00
asfernandes
070c67f96a
Misc
2010-04-13 22:50:15 +00:00
hvlad
bef8ae7376
Fix for bug CORE-2956 : Problems with requests of procedure's parameters.
...
To be reviewed by Dmitry.
2010-04-12 21:19:55 +00:00
robocop
ac551e2b71
Cleanup.
2010-04-04 08:52:10 +00:00
asfernandes
e1ba33a2ae
Fix problem of the system transaction storing pointer to random or already deallocated attachment. Full build (or kind of) required.
2010-04-02 21:48:15 +00:00
robocop
7a4640366d
Misc.
2010-01-30 09:58:01 +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
robocop
0da76615ab
Fix misinterpretation of MET_get_dependencies's parameters done years ago with Alex' conversion to MetaName class.
2010-01-26 08:29:03 +00:00
asfernandes
2faab16698
Misc
2010-01-21 02:51:32 +00:00
hvlad
a9d654f034
Refactoring : extract part of MET_lookup_partner() as independent function MET_scan_partners()
2010-01-19 18:33:03 +00:00
asfernandes
9c1bab1793
Feature CORE-1385 Identity columns - in its basic form
2010-01-13 19:14:15 +00:00
asfernandes
7de2c38703
Misc
2010-01-09 22:15:18 +00:00
asfernandes
a5ab8a2b33
Make referencing and execution (try) of unimplemented packaged routines work correctly
2009-12-31 11:24:28 +00:00
asfernandes
0057047932
Misc
2009-12-30 00:50:39 +00:00
robocop
fc62cfe6e7
Misc.
2009-12-28 11:46:55 +00:00
asfernandes
d8c99a9be2
1) Make procedures and functions member of the same hierarchy (Routine class)
...
2) Some completion for external functions
2009-12-27 22:05:22 +00:00
robocop
a621b9838f
Totally misc.
2009-12-26 13:22:52 +00:00
dimitr
a3886ecb19
PSQL functions (continued).
2009-12-25 13:30:38 +00:00
dimitr
18ed3075f1
I believe this code has been originally intended to work this way.
2009-12-25 07:09:02 +00:00
robocop
0564019d2f
Misc and cleanup.
2009-12-24 11:48:17 +00:00
dimitr
debe65bcfb
Support for PSQL functions (other JRD changes). Still work in progress.
2009-12-21 17:43:01 +00:00
asfernandes
1b1f90d06c
Work in progress on RDB$VIEW_RELATIONS
2009-12-17 15:07:02 +00:00
asfernandes
7a78601ef2
1) Use metadata character set in DSQL cache
...
2) Make exceptions in metadata charset and convert them to the client charset - this should fix CORE-2431
3) Support for "internal" (engine) DSQL statements and use in COMMENT ON
2009-12-05 14:21:52 +00:00
robocop
5cfc9dc78b
CORE-2787: Make rdb$system_flag not null.
...
Please do a full rebuild.
2009-12-03 12:52:10 +00:00
asfernandes
9ec1c36a55
Cleanup
2009-11-28 19:39:23 +00:00
dimitr
08e0e238c6
An attempt to fix CORE-2766: page 0 is of wrong type (expected 6, found 1).
...
Mutex is used just to wait on a event with allowed recursive execution.
2009-11-28 12:53:52 +00:00
asfernandes
3f5aded4e3
Misc
2009-11-28 01:44:42 +00:00
robocop
9dc71e817d
Cleanup.
2009-11-27 06:59:21 +00:00
robocop
f955568fc9
The architect created ODS12 and saw it was good, then he said "thy shall be the only one among your race", dropped the older ones and sent the developers to the four corners of the cyberspace to convert the masses to ODS12.
2009-11-27 02:33:40 +00:00
asfernandes
a3dd1d0482
Misc
2009-11-26 00:20:59 +00:00
robocop
804ad6048a
Restrict us to ODS11 and ODS12 until the dust settles down.
2009-11-24 11:42:56 +00:00
robocop
ee086aeb80
Parameters style.
2009-11-21 05:20:18 +00:00
robocop
0f16326892
Comments.
2009-11-21 03:23:47 +00:00
robocop
6dcb9c1d01
We align the parentheses with the code.
2009-11-19 09:52:30 +00:00
asfernandes
218f419b5c
Fixed related issues:
...
CORE-1518 - Adding a non-null restricted column to a populated table renders the table inconsistent
CORE-2696 - "alter table" command can add a field which has "not null" definition
CORE-1748 - Unrestorable backup
CORE-1355 - Zero display instead of NULL
2009-11-18 14:24:47 +00:00
robocop
9ce4040042
Replace the now obsolete dbb_minor_original by dbb_minor_version.
2009-11-18 12:02:00 +00:00
robocop
190876b2ff
Style.
2009-11-07 11:58:54 +00:00
robocop
16361cada8
Misc.
2009-11-01 10:58:16 +00:00
robocop
07dc116ed2
Misc.
2009-10-30 10:50:59 +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
alexpeshkoff
b19dacee16
Ported fix for CORE-2634: Performance regression when restoring database with big metadata
2009-09-29 10:35:16 +00:00
asfernandes
4759973045
Fixed CORE-2576 - Server may crash parsing wrong or truncated BLR
...
Full rebuild required - CMP_compile2 prototype changed
2009-08-02 04:10:07 +00:00
robocop
dc9e7e7a4a
Paul Beach confirmed this Darwin code is no longer necessary.
2009-08-01 05:37:08 +00:00
robocop
33bc8670c2
Misc and constants.
2009-07-19 13:31:05 +00:00
robocop
f10e1b72eb
Style.
2009-06-27 06:23:36 +00:00
robocop
5dadf14ad0
Small cleanup.
2009-06-26 10:19:49 +00:00
robocop
f3fdc5b5c7
Give idx_id and associated values a consistent data type and treatment.
2009-06-21 06:04:18 +00:00
robocop
eb87a35b27
Mark code maybe done for future extension.
2009-06-07 09:51:06 +00:00
robocop
2d7cb94844
Unused params
...
Some BLR checks
2009-04-28 13:08:04 +00:00
asfernandes
e88a67ee52
Fixed CORE-2427 - ALTER VIEW doesn't clear dependencies on old views
2009-04-24 15:39:30 +00:00
robocop
a730fbf074
Get rid of more typedefs.
2009-04-03 10:07:55 +00:00
hvlad
d62242470b
Fixed AV in boot build.
2009-03-15 20:09:15 +00:00
hvlad
145fe79c84
Release database triggers in MET_clear_cache
2009-03-15 18:04:04 +00:00
robocop
fab6a3a6cf
Get rid of superflous parentheses.
2009-02-28 11:57:40 +00:00
hvlad
5a1aac379b
Fixed bug CORE-2293 : Wrong dependent object type (RELATION) in RDB$DEPEDENCIES for VIEW's
2009-01-26 13:44:16 +00:00
robocop
3689f15321
Style.
2009-01-20 08:33:59 +00:00
dimitr
df4744cc07
My extra check becomes more and more complicated to be proven correct while it protects from a purely theoretical issue that was never observed yet.
...
So I've decided to restore the condition to its original state.
2009-01-18 20:03:30 +00:00
dimitr
41da071448
Fixed unreliable error handling in MET_procedure().
2009-01-06 17:39:04 +00:00
robocop
2c6dcd5f38
Booleans.
2009-01-02 09:48:57 +00:00
dimitr
b44189150a
A quick fix for CORE-2257: Internal consistency check while altering dependent procedures.
...
To be reviewed some day, along with the whole ALTER mechanism.
2008-12-29 18:40:45 +00:00
dimitr
2b87e94242
Use explicit iterators instead of the implicit (built-in) ones due to the thread-safety requirements.
...
This change affects GenericMap only, as it's used globally in a few places and we have a proven crash there.
I have a more complete solution (total cleanup of default accessors from BePlusTree and SparseBitmap) in my local tree (thanks to Dmitry Kovalenko), but it's incomplete (requires more changes inside the engine) and IMHO risky (~20 core modules are affected), so I'd like to defer finalization of this cleanup till v3.0.
All objects of these types seem being protected by dbb_sync, so they shouldn't cause us any problems currently.
2008-12-19 14:57:01 +00:00
robocop
0a94d6fee8
Style.
2008-12-18 10:57:12 +00:00
robocop
e4650d5027
Promote thread_data* as function argument. Only exception where both tdbb and dbb were left together as arguments is nbak.cpp's call to CCH_rollover_to_shadow to avoid any side effect in the changed code, but anyway, that function calls SDW_rollover_to_shadow that takes the dbb from the tdbb and not explicitly.
2008-12-14 09:28:25 +00:00
alexpeshkoff
d8ea120ded
AIX port - use FB_ prefix for alignment constants
2008-11-05 11:26:23 +00:00
hvlad
905708b4f2
Fixed bug CORE-2098 : View over global temporary table
2008-10-09 20:07:37 +00:00
alexpeshkoff
a06ae8dd0c
1. Fixed illegal use of local variable in MET_trigger_msg() - thanks to Claudio.
...
2. Fixed minor bug - use of MetaName in PAR_symbol_to_gdscode() was illegal
cause maximum length of error name can be up to 32 symbols,
which does not fit into MetaName limit (31). And we already have 4 such names!
2008-09-03 11:23:00 +00:00
alexpeshkoff
13a15d4bfe
1. Final fix for CORE-1964 - finished vararg cleanup in jrd.
...
2. Generic cleanup of error reporting functions all around engine.
2008-08-27 12:20:47 +00:00
dimitr
c58544e6d5
Attempt to fix CORE-210: "CS server crash altering SP in 2 connect" and implement CORE-2052: "Allow the Classic Server to see the altered stored procedure immediately after the modifier transaction commit" with a single change.
2008-08-25 05:28:50 +00:00
asfernandes
6a5e1cc144
Fixed CORE-1894 - Circular dependencies between computed fields crashs the engine
2008-08-08 16:01:58 +00:00
asfernandes
e3d0de7cf1
Fix bug - missing isc_arg_cstring
2008-08-03 20:52:37 +00:00
asfernandes
12d3f6106a
Do not update RDB$DEPENDENCIES in system transaction, to be consistent with most of metadata updates and as work in progress for possible solution for CORE-1894
2008-07-21 15:49:24 +00:00
asfernandes
ce4bf91533
Misc
2008-07-01 01:12:02 +00:00
dimitr
50adebd7e7
Fixed CORE-1965: Lock manager crash (invalid lock ID) under concurrent DDL load.
2008-06-27 12:11:09 +00:00