mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 20:43:02 +01:00
Misc.
This commit is contained in:
parent
5d654929f6
commit
6488dfed7f
@ -7,13 +7,13 @@ Author:
|
|||||||
|
|
||||||
Syntax is:
|
Syntax is:
|
||||||
|
|
||||||
GRANT CREATE <OBJECT> TO [USER | ROLE] <user/role name> [with grant option];
|
GRANT CREATE <OBJECT> TO [USER | ROLE] <user/role name> [WITH GRANT OPTION];
|
||||||
GRANT ALTER ANY <OBJECT> TO [USER | ROLE] <user/role name> [with grant option];
|
GRANT ALTER ANY <OBJECT> TO [USER | ROLE] <user/role name> [WITH GRANT OPTION];
|
||||||
GRANT DROP ANY <OBJECT> TO [USER | ROLE] <user/role name> [with grant option];
|
GRANT DROP ANY <OBJECT> TO [USER | ROLE] <user/role name> [WITH GRANT OPTION];
|
||||||
|
|
||||||
REVOKE [grant option for] CREATE <OBJECT> FROM [USER | ROLE] <user/role name>;
|
REVOKE [GRANT OPTION FOR] CREATE <OBJECT> FROM [USER | ROLE] <user/role name>;
|
||||||
REVOKE [grant option for] ALTER ANY <OBJECT> FROM [USER | ROLE] <user/role name>;
|
REVOKE [GRANT OPTION FOR] ALTER ANY <OBJECT> FROM [USER | ROLE] <user/role name>;
|
||||||
REVOKE [grant option for] DROP ANY <OBJECT> FROM [USER | ROLE] <user/role name>;
|
REVOKE [GRANT OPTION FOR] DROP ANY <OBJECT> FROM [USER | ROLE] <user/role name>;
|
||||||
|
|
||||||
Where <OBJECT> could be:
|
Where <OBJECT> could be:
|
||||||
TABLE, VIEW, PROCEDURE, FUNCTION, PACKAGE, GENERATOR, SEQUENCE, DOMAIN,
|
TABLE, VIEW, PROCEDURE, FUNCTION, PACKAGE, GENERATOR, SEQUENCE, DOMAIN,
|
||||||
|
@ -108,7 +108,7 @@ private:
|
|||||||
const bool m_copy; // was m_base copied into m_table for modifications?
|
const bool m_copy; // was m_base copied into m_table for modifications?
|
||||||
const bool m_minLength; // is the field in_sw_min_length meaningful?
|
const bool m_minLength; // is the field in_sw_min_length meaningful?
|
||||||
in_sw_tab_t* m_table; // modifiable copy
|
in_sw_tab_t* m_table; // modifiable copy
|
||||||
FB_SIZE_T* m_opLengths; // array of in_sw_name's lengths to avoid recalculation
|
FB_SIZE_T* m_opLengths; // array of in_sw_name's lengths to avoid recalculation
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CLASSES_SWITCHES
|
#endif // CLASSES_SWITCHES
|
||||||
|
@ -888,7 +888,7 @@ void GDS_breakpoint(int);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FB_UNUSED(value) do { if (value) {} } while (false)
|
#define FB_UNUSED(value) do { if (value) {} } while (false)
|
||||||
#define FB_UNUSED_VAR(value) (void)value;
|
#define FB_UNUSED_VAR(value) (void) value
|
||||||
|
|
||||||
// 30 Dec 2002. Nickolay Samofatov
|
// 30 Dec 2002. Nickolay Samofatov
|
||||||
// This needs to be checked for all supported platforms
|
// This needs to be checked for all supported platforms
|
||||||
@ -977,7 +977,10 @@ static const TEXT* const FB_LONG_MONTHS_UPPER[] =
|
|||||||
|
|
||||||
const FB_SIZE_T FB_MAX_SIZEOF = ~FB_SIZE_T(0); // Assume FB_SIZE_T is unsigned
|
const FB_SIZE_T FB_MAX_SIZEOF = ~FB_SIZE_T(0); // Assume FB_SIZE_T is unsigned
|
||||||
|
|
||||||
inline FB_SIZE_T fb_strlen(const char* str) { return static_cast<FB_SIZE_T>(strlen(str)); }
|
inline FB_SIZE_T fb_strlen(const char* str)
|
||||||
|
{
|
||||||
|
return static_cast<FB_SIZE_T>(strlen(str));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif /* COMMON_COMMON_H */
|
#endif /* COMMON_COMMON_H */
|
||||||
|
@ -387,7 +387,6 @@ bool_t xdr_float(XDR* xdrs, float* ip)
|
|||||||
**************************************/
|
**************************************/
|
||||||
fb_assert(sizeof(float) == sizeof(SLONG));
|
fb_assert(sizeof(float) == sizeof(SLONG));
|
||||||
|
|
||||||
|
|
||||||
switch (xdrs->x_op)
|
switch (xdrs->x_op)
|
||||||
{
|
{
|
||||||
case XDR_ENCODE:
|
case XDR_ENCODE:
|
||||||
|
@ -64,9 +64,9 @@ typedef void* FB_API_HANDLE;
|
|||||||
#ifdef FB_USE_SIZE_T
|
#ifdef FB_USE_SIZE_T
|
||||||
/* NS: This is how things were done in original Firebird port to 64-bit platforms
|
/* NS: This is how things were done in original Firebird port to 64-bit platforms
|
||||||
Basic classes use these quantities. However in many places in the engine and
|
Basic classes use these quantities. However in many places in the engine and
|
||||||
external libraries 32-bit quantities are used to hold sizes of objects.
|
external libraries 32-bit quantities are used to hold sizes of objects.
|
||||||
This produces many warnings. This also produces incredibly dirty interfaces,
|
This produces many warnings. This also produces incredibly dirty interfaces,
|
||||||
when functions take size_t as argument, but only handle 32 bits internally
|
when functions take size_t as argument, but only handle 32 bits internally
|
||||||
without any bounds checking. */
|
without any bounds checking. */
|
||||||
typedef size_t FB_SIZE_T;
|
typedef size_t FB_SIZE_T;
|
||||||
typedef intptr_t FB_SSIZE_T;
|
typedef intptr_t FB_SSIZE_T;
|
||||||
|
@ -7417,7 +7417,7 @@ static unsigned print_item(TEXT** s, const IsqlVar* var, const unsigned length)
|
|||||||
isqlGlob.printf("%-*.*s%s", var->length, var->length, str2, NEWLINE);
|
isqlGlob.printf("%-*.*s%s", var->length, var->length, str2, NEWLINE);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
IcuUtil::pad(p, var->charSet,
|
IcuUtil::pad(p, var->charSet,
|
||||||
static_cast<unsigned>(strnlen(var->value.asChar, var->length)), var->value.asChar, length, false);
|
static_cast<unsigned>(strnlen(var->value.asChar, var->length)), var->value.asChar, length, false);
|
||||||
strcat(p, " ");
|
strcat(p, " ");
|
||||||
}
|
}
|
||||||
|
@ -263,7 +263,7 @@ struct btree_page
|
|||||||
UCHAR btr_nodes[1];
|
UCHAR btr_nodes[1];
|
||||||
};
|
};
|
||||||
|
|
||||||
// NS 2014-07-17: You can define this thing as "const FB_SIZE_t ...", and it works
|
// NS 2014-07-17: You can define this thing as "const FB_SIZE_t ...", and it works
|
||||||
// for standards-conforming compilers (recent GCC and MSVC will do)
|
// for standards-conforming compilers (recent GCC and MSVC will do)
|
||||||
// But older versions might have a problem, so I leave #define in place for now
|
// But older versions might have a problem, so I leave #define in place for now
|
||||||
#define BTR_SIZE static_cast<FB_SIZE_T>(offsetof(Ods::btree_page, btr_nodes[0]))
|
#define BTR_SIZE static_cast<FB_SIZE_T>(offsetof(Ods::btree_page, btr_nodes[0]))
|
||||||
|
Loading…
Reference in New Issue
Block a user