8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 20:43:02 +01:00
This commit is contained in:
asfernandes 2014-07-18 01:52:24 +00:00
parent 5d654929f6
commit 6488dfed7f
7 changed files with 16 additions and 14 deletions

View File

@ -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,

View File

@ -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

View File

@ -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 */

View File

@ -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:

View File

@ -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;

View File

@ -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, " ");
} }

View File

@ -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]))