Object types in RDB$TYPES vs. obj.h

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Object types in RDB$TYPES vs. obj.h

Jiří Činčura-2
Hi *,

getting all object types from RDB$TYPES in Firebird 3.0.2 gives me 0-19
values. But in obj.h I see
const int obj_relation                  = 0;
const int obj_view                              = 1;
const int obj_trigger                   = 2;
const int obj_computed                  = 3;
const int obj_validation                = 4;
const int obj_procedure                 = 5;
const int obj_expression_index  = 6;
const int obj_exception                 = 7;
const int obj_user                              = 8;
const int obj_field                             = 9;
const int obj_index                             = 10;
const int obj_charset                   = 11;
const int obj_user_group                = 12;
const int obj_sql_role                  = 13;
const int obj_generator                 = 14;
const int obj_udf                               = 15;
const int obj_blob_filter               = 16;
const int obj_collation                 = 17;
const int obj_package_header    = 18;
const int obj_package_body              = 19;

// objects types for ddl operations
const int obj_database                  = 20;
const int obj_relations                 = 21;
const int obj_views                             = 22;
const int obj_procedures                = 23;
const int obj_functions                 = 24;
const int obj_packages                  = 25;
const int obj_generators                = 26;
const int obj_domains                   = 27;
const int obj_exceptions                = 28;
const int obj_roles                             = 29;
const int obj_charsets                  = 30;
const int obj_collations                = 31;
const int obj_filters                   = 32;

const int obj_type_MAX                  = 33;   // keep this last!

// used in the parser only / no relation with obj_type_MAX
const int obj_user_or_role              = 34;
const int obj_schema                    = 35;
const int obj_parameter                 = 36;

Why the 20-32 isn't there?

--
Mgr. Jiří Činčura
https://www.tabsoverspaces.com/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
Reply | Threaded
Open this post in threaded view
|

Re: Object types in RDB$TYPES vs. obj.h

Alex Peshkoff
On 05/11/17 15:06, Jiří Činčura wrote:
> Hi *,
>
> getting all object types from RDB$TYPES in Firebird 3.0.2 gives me 0-19
> values. But in obj.h I see
>

.............

> Why the 20-32 isn't there?
>

Because that's not real objects - they just need to be in same digits
space to ensure correct operation of GRANT/REVOKE operators providing
access to pe r-type of object rights (like GRANT CREATE TABLE ....).




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel