dimitr
15e4367810
Small refactoring.
2013-03-17 17:35:53 +00:00
alexpeshkoff
5c0cec6d9f
Fixed CORE-3360: update ... returning ... raises -551 (no perm to update) for a column present only in the returning clause
2013-03-11 15:43:33 +00:00
asfernandes
6de58d0ccb
Cleanup.
2013-03-08 15:31:25 +00:00
dimitr
86f4b02ef3
1) Cleanup and renaming in the SCL code.
...
2) Reimplemented the USAGE privilege as a separate one.
3) Added USAGE permission checks for generators/sequences and exceptions.
4) Supported USAGE in GRANT/REVOKE for all object types.
5) Refactored SET GENERATOR and ALTER SEQUENCE as true DDL. blr_set_generator is supported only for backward compatibility, it's not generated by DSQL anymore.
6) Added START WITH clause for [RE]CREATE SEQUENCE and CREATE OR ALTER SEQUENCE.
7) Fixed a number of related errors.
2013-03-07 13:59:03 +00:00
asfernandes
48fd751c6e
Fixing FB_MESSAGE macro and external functions and procedures.
...
Isolate external routines them from request-based ones.
2013-03-04 01:42:58 +00:00
alexpeshkoff
fc12495d0e
Modified IStatement interface in our API:
...
1. Never allocate empty statement - always use att->prepare() to create statement interface
2. Separated IStatement into 2 parts - statement itself and resultset.
3. Added stmt->openCursor() (and att->openCursor() for unprepared statements) to create IResultSet.
4. Always use IMessageMetadata (former IParametersMetadata) to pass message fromat info from client,
therefore avoiding need in BLR generation in client applications.
2013-02-17 12:08:53 +00:00
asfernandes
fb01fe56fc
Fix SELECT FOR UPDATE problem related to r57615 change.
2013-02-09 01:51:27 +00:00
asfernandes
66ba00e124
Misc.
2013-02-08 01:48:28 +00:00
dimitr
a7a6a45ec2
Misc adjustments.
2013-01-24 07:05:34 +00:00
asfernandes
970677e8de
Get rid of dsql_str and fix metadata strings.
2012-12-25 17:34:50 +00:00
asfernandes
9b72aa53bc
Misc.
2012-12-19 00:56:57 +00:00
dimitr
fd24c3e3e0
Yet another complementary bugfix for CORE-4004.
2012-12-12 07:48:34 +00:00
dimitr
3971e49b30
Another bunch of changes for CORE-4004: Sometimes long-running operations cannot be interrupted by asynchronous shutdown / cancellation requests. The looper nodes should never ignore req_unwind and transform it to something else.
...
Review and testing would be appreciated, especially in regard to EXE_assignment.
2012-12-06 12:09:11 +00:00
asfernandes
1cfac2b169
Refactor dsql_fld, TypeClause and ParameterClause. Eliminate some warnings.
2012-12-05 02:07:37 +00:00
dimitr
60d8b9fd37
Additional fixes for CORE-3981 (Sub-optimal predicate checking while selecting from a view) that also resolve the regression CORE-3986 (GSEC couldn't change user password after fix for CORE-3981).
2012-11-20 10:39:37 +00:00
asfernandes
a31f48a6a2
Misc.
2012-11-19 23:32:44 +00:00
dimitr
74db9507c2
Fixed CORE-3979: Server crashes while unwinding changes in an autonomous transaction.
2012-11-17 15:31:21 +00:00
asfernandes
62ac6e3b31
Fixed CORE-3966 - Creating a stored procedure with an "update or insert" statement with MATCHING fails.
2012-11-04 02:28:33 +00:00
asfernandes
b7d87a6cfa
Misc.
2012-10-16 00:51:42 +00:00
hvlad
513ce5e1ce
Additional patch for improvement CORE-3362 : Cursors should ignore changes made by the same statement.
...
- SubQueryNode (sub-select's) and RseBoolNode (exists(), in\any\all) now knows if it is a part of some outer select (ForNode) or it is a standalone statement.
- VIO\get_undo_data was reworked to better fit undo-log implementation, corresponding changes in VIO_chase_record_version also done
- AV in VIO\get_undo_data was fixed
2012-09-24 14:26:33 +00:00
asfernandes
594bea6af3
Fixed CORE-3893 - Cannot restore tpcc database in FB 3.0.
2012-07-20 02:41:58 +00:00
dimitr
19eaa2f355
Wiped out the legacy compatibility option.
2012-07-11 12:54:08 +00:00
asfernandes
07747144f7
Unify DSQL/JRD sub-nodes.
2012-05-03 16:43:29 +00:00
asfernandes
a2b389f1db
Getting rid of dsql_nod.
2012-04-25 01:42:47 +00:00
robocop
70d5ebdfdf
- Got rid of the fixed array that kept the stream count in the first element and 255 streams after it.
...
- Changed streams from UCHAR to ULONG as Dmitry wanted
- Got rid of some redundant flags to indicate BLR level
- Misc changes (for example, converted to test for DBB_read_only in Database to a function)
- BLR v6 is left commented (waiting for a better solution to appear, if any exists)
- This change is not going to raise the engine limits until a solution is found to express more than 255 streams in BLR.
2012-04-12 09:02:13 +00:00
asfernandes
2f3d4918da
Refactored nod_rows.
2012-04-07 04:21:46 +00:00
asfernandes
617ef670ed
Refactored nod_select_expr, nod_with and nod_list (union).
2012-04-07 03:03:28 +00:00
asfernandes
38083d12dc
Refactored nod_field_name, nod_var_name, nod_array and nod_collate.
2012-03-25 01:08:55 +00:00
asfernandes
3e81925010
Refactor DDL nodes removing references to non-value/-rse dsql_nod.
2012-03-18 21:37:13 +00:00
asfernandes
dd46c387fb
Misc.
2012-03-17 02:26:59 +00:00
dimitr
0ea7ae11f3
Fixed CORE-3092: ROW_COUNT is not cleared before the singleton INSERT statement,
2012-03-15 10:40:45 +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
8f46d9300e
1) Make a new kind of Node (TransactionNode).
...
2) Make main parser statement return requests instead of nodes.
3) Some related cleanup (ddlData, ddlScratch).
4) Added dsqlPass to dsql_req and children, to get rid of ugly logic in prepareStatement.
2012-02-25 19:56:37 +00:00
dimitr
c879beaa21
Fixed the assert/crash when using the cursors at runtime.
2012-02-23 15:39:57 +00:00
asfernandes
b522566474
Remove legacy statements residuals.
2012-02-20 02:02:04 +00:00
robocop
5d2a0118c0
I don't see the point in creating temporary strings in these cases.
2012-02-15 03:43:06 +00:00
asfernandes
6b5a322e8b
Refactor SELECT.
2012-02-10 03:06:57 +00:00
asfernandes
9a85f4f48b
Refactor SET TRANSACTION command.
2012-02-06 20:10:50 +00:00
robocop
21cd78a0fd
Cleanup: unused functions, parameters & variables.
2012-01-24 03:37:43 +00:00
asfernandes
e2f2a24151
Fixed CORE-3737 - EXECUTE BLOCK parameters definitions are not respected and may cause wrong behavior related to character sets.
2012-01-19 17:30:58 +00:00
robocop
e2914070b9
Misc.
2012-01-19 04:54:39 +00:00
asfernandes
9564611f90
Improvement CORE-3343 - RETURNING clause is not supported in positioned (WHERE CURRENT OF) UPDATE and DELETE statements.
2012-01-06 14:33:01 +00:00
dimitr
08cff42833
Let's avoid duplication of shared constants.
2011-12-22 08:07:17 +00:00
asfernandes
56400c594a
Rename methods to match error constants as per Claudio request.
2011-11-10 14:35:40 +00:00
asfernandes
906ea4729e
Misc.
2011-10-27 01:04:14 +00:00
asfernandes
372d48c97b
Improvement CORE-3639 - Allow the use of multiple WHEN MATCHED / NOT MATCHED clauses in MERGE, as per the SQL 2008 specification.
...
Also updated MERGE and RETURNING docs, and fixed a bug with MERGE WHEN MATCHED DELETE and RETURNING.
2011-10-23 01:31:11 +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
asfernandes
c9a5a513d0
Mark sub procedure scratch as a procedure.
2011-10-03 15:52:14 +00:00
asfernandes
5ae632cf0b
Feature CORE-1288 - Sub Procedures.
...
They're very simple for now. No access to parent variables nor to call neighbour procedures.
Tests at http://firebird.cvs.sourceforge.net/viewvc/firebird/fbtcs/GTCS/tests/FB_SQL_SUBPROC_1.output .
2011-10-02 22:11:41 +00:00
asfernandes
65ec2b5151
Fixed the padding of external procedure messages. Also removed obsolete checks in the touched code.
2011-08-28 18:31:44 +00:00