roman-simakov
573e93e5a6
Fixed CORE-735: User rights for metadata changes.
...
We check DDL in DDL nodes and skip at vio level. vio level still exists for direct metadata editing.
2014-07-08 07:35:27 +00:00
alexpeshkoff
0e8e251e03
Avoid non-standard use of RDB$ROLES.RDB$SYSTEM_FLAG
2014-06-24 10:16:24 +00:00
robocop
de7ed79414
Fixing several issues with my previous commit:
...
Use increment [by], no step.
Enable again code in ini.epp because it's needed when restoring (but not when creating gens directly in a new db).
Gbak has code to fix system generators and we should allow it.
Nbackup cannot update the history generator when doing a backup.
Field name renamed to rdb$generator_increment.
2014-04-09 07:17:34 +00:00
robocop
cadd8accc4
Implemented STEP for generators/sequences and took the opportunity to make the blrOp param const. Please rebuild the databases.
2014-04-09 02:28:38 +00:00
robocop
29e36dc4f3
The 0th generator becomes unnamed. Only internal requests can access it (zero length names are not allowed from outside). RDB$GENERATORS is no longer a reserved name.System generators cannot be changed by user requests, but can be queried with gen_id(g, 0) if the permissions (ACL) allow that. We don't track dependencies on sys generators, it's not necessary.
2014-04-04 06:39:09 +00:00
robocop
aa136baedb
Add the missing ACL_end because walk_acl() doesn't detect the end of the stream and reads trash instead, producing the strange message (unrecognized ACL) instead of the denied access right.
2014-03-11 06:11:39 +00:00
alexpeshkoff
c29c991134
Use correct blr code for boolean field
2014-01-09 15:52:24 +00:00
alexpeshkoff
64b4f89d43
Changed syntax of user definition operators according to discussion in devel
...
Added virtual table sec$user_attributes with parsed user's attributes
Implemented CORE-2004: Ability to alter user inactive/active
Implemented CORE-2063: Added CREATE OR ALTER USER operator
Implemented CORE-3931: Ability to set comment for the user
2013-12-17 14:20:25 +00:00
dimitr
69961e9bae
Fixed CORE-4164: Owner name is missing for generators/exceptions restored from a backup.
...
Also propagated the sysflag/owner/secclass assignment and validation to all object types and wiped out the duplicating system triggers.
Warning: testing is required!
2013-08-04 15:19:31 +00:00
dimitr
0c9a9fdf4c
Made the ALTER SEQUENCE RESTART behavior standard compliant.
2013-06-18 18:22:31 +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
1cfac2b169
Refactor dsql_fld, TypeClause and ParameterClause. Eliminate some warnings.
2012-12-05 02:07:37 +00:00
asfernandes
c0b11f52ff
Improvement CORE-3972 - Allow the selection of SQL_INT64, SQL_DATE and SQL_TIME in dialect 1.
...
Fix for CORE-3964 - It is not possible to create a ddl-trigger with "any DDL statement" clause.
2012-11-04 00:17:50 +00:00
asfernandes
5218168e06
Fixed a problem when the default collation is changed.
2012-09-24 16:14:48 +00:00
asfernandes
ba9f68d5d0
Misc.
2012-08-13 01:20:32 +00:00
dimitr
14afc20e04
Propagate the solution for fld_counter to both metadata caches. This fixes the regression of not being able to select from the MON$ tables in Dialect 1.
2012-07-29 10:35:13 +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
dimitr
0e41945307
1) Made the functions logic in sync with the procedures one.
...
2) Simplified the privileges creation code.
2012-01-09 09:48:14 +00:00
asfernandes
ac5713d843
Misc.
2012-01-09 00:08:58 +00:00
dimitr
e956e2e6c0
1) Restricted ALTER/DROP permissions to the object owners only. Now this applies to domains, charsets, collations, generators and exceptions. This fixes CORE-304: Metadata security hole - any user can alter/drop generators and exceptions.
...
2) Opened the gates to implement the standard USAGE privilege (CORE-2884). SQL support and validation logic are still to be developed.
3) Added the grant option to the owner permissions for packages, procedures and functions.
4) Misc cleanup and refactoring.
2012-01-08 14:05:29 +00:00
hvlad
ebd923423b
Additional fix for CORE-3502 and CORE-3503
2011-05-31 14:18:27 +00:00
hvlad
fef1f49c94
Shared page cache implementation
2011-05-09 10:15:19 +00:00
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
alexpeshkoff
e05c1a825f
Moved some more .h-files to common from jrd as Vlad suggested
2010-10-13 10:39:52 +00:00
alexpeshkoff
2dc25a44bb
OSRI and new posix build
2010-10-12 08:02:57 +00:00
asfernandes
be078848df
Create system constraints for better error reporting. Change to GBAK must be backported to avoid future problems.
2010-07-26 02:14:48 +00:00
alexpeshkoff
d24cd9cbd7
Implemented self-registering plugins format (same plugin can be easily linked statically
...
or as dynamic library, depending upon platform requirements). Self-registering plugins
need not export any functions, instead they call fb_register_plugin() on startup.
Reworked all user management to use self-registering plugins.
Removed system table RDB$USERS. PLG$USERS is not created automatically by plugin, but
will be later (work in progress).
2010-07-23 12:04:18 +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
20b0bbaf82
Refactor CREATE/ALTER/DROP DOMAIN
2010-07-06 00:49:33 +00:00
asfernandes
7dcfc876f7
Var shadow/misc seen by Claudio
2010-04-27 15:30:46 +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
f9154aca75
Misc
2010-04-07 02:04:22 +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
asfernandes
aba41ed8cb
Misc
2010-02-27 02:41:00 +00:00
dimitr
4b5e5aad28
Fixed the accidentally broken security on system tables.
2010-02-25 10:20:19 +00:00
hvlad
672cdb5704
Fixed bug CORE-2824 : Small memory and handles leak at every connect\disconnect
2010-01-23 16:28:40 +00:00
asfernandes
7ff112a901
Some syntactic sugar
2010-01-03 00:19:14 +00:00
asfernandes
5c407c739c
Convert an uncached GDML query to equivalent SQL with PreparedStatement
2010-01-02 23:29:32 +00:00
asfernandes
674c7293e3
Tweaks to PreparedStatement::Builder and support for output parameters (without "demo" code yet)
2010-01-02 21:46:11 +00:00
asfernandes
65867dbaec
Simplification
2010-01-01 03:00:25 +00:00
asfernandes
fc370c986e
A new way to use PreparedStatement. That one preserves code readability and is very like the preprocessed code.
2009-12-31 17:08:07 +00:00
asfernandes
acbd61f20f
Support for named parameters for PreparedStatement using C++ variables
2009-12-28 22:18:40 +00:00
asfernandes
a9d2966f3e
Misc
2009-12-28 10:21:51 +00:00
asfernandes
631ed08aea
Misc
2009-12-27 16:49:46 +00:00
asfernandes
b2fe37a833
Transform two GDML STORE statements that run on database creation time to DSQL statements and preload DSQL cache objects to make that possible
2009-12-26 22:06:24 +00:00
dimitr
afd310b8b7
Sorry, this was a bad idea. Backup/restore cycle doesn't preserve IDs.
...
To be reconsidered some other day.
2009-12-24 14:29:19 +00:00
dimitr
60f81819c3
Cleanup. These system triggers are not required anymore, IDs are assigned by the engine itself.
2009-12-24 14:24:04 +00:00
asfernandes
78bf2fc824
Cleanup
2009-12-17 23:25:11 +00:00