"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/jrd/inf.cpp" between
Firebird-3.0.2.32703-0.tar.bz2 and Firebird-3.0.4.33054-0.tar.bz2

About: Firebird is a relational database offering many ANSI SQL standard features.

inf.cpp  (Firebird-3.0.2.32703-0.tar.bz2):inf.cpp  (Firebird-3.0.4.33054-0.tar.bz2)
skipping to change at line 735 skipping to change at line 735
case fb_info_page_contents: case fb_info_page_contents:
if (tdbb->getAttachment()->locksmith()) if (tdbb->getAttachment()->locksmith())
{ {
length = gds__vax_integer(items, 2); length = gds__vax_integer(items, 2);
items += 2; items += 2;
const SLONG page_num = gds__vax_integer(items, le ngth); const SLONG page_num = gds__vax_integer(items, le ngth);
items += length; items += length;
win window(PageNumber(DB_PAGE_SPACE, page_num)); win window(PageNumber(DB_PAGE_SPACE, page_num));
Ods::pag* page = CCH_FETCH(tdbb, &window, LCK_WAI Ods::pag* page = CCH_FETCH(tdbb, &window, LCK_rea
T, pag_undefined); d, pag_undefined);
info = INF_put_item(item, dbb->dbb_page_size, rei info = INF_put_item(item, dbb->dbb_page_size, pag
nterpret_cast<UCHAR*>(page), info, end); e, info, end);
CCH_RELEASE_TAIL(tdbb, &window); CCH_RELEASE_TAIL(tdbb, &window);
if (!info) if (!info)
{ {
if (transaction) if (transaction)
TRA_commit(tdbb, transaction, fal se); TRA_commit(tdbb, transaction, fal se);
return; return;
} }
continue; continue;
} }
skipping to change at line 766 skipping to change at line 766
case fb_info_pages_free: case fb_info_pages_free:
length = INF_convert(PageSpace::maxAlloc(dbb) - PageSpace ::usedPages(dbb), buffer); length = INF_convert(PageSpace::maxAlloc(dbb) - PageSpace ::usedPages(dbb), buffer);
break; break;
case fb_info_crypt_state: case fb_info_crypt_state:
length = INF_convert(dbb->dbb_crypto_manager ? length = INF_convert(dbb->dbb_crypto_manager ?
dbb->dbb_crypto_manager->getCurrentState() : 0, b uffer); dbb->dbb_crypto_manager->getCurrentState() : 0, b uffer);
break; break;
case fb_info_crypt_key:
if (tdbb->getAttachment()->locksmith())
{
const char* key = dbb->dbb_crypto_manager->getKey
Name();
if (!(info = INF_put_item(item, static_cast<USHOR
T>(strlen(key)), key, info, end)))
{
if (transaction)
TRA_commit(tdbb, transaction, fal
se);
return;
}
continue;
}
buffer[0] = item;
item = isc_info_error;
length = 1 + INF_convert(isc_adm_task_denied, buffer + 1)
;
break;
case fb_info_conn_flags:
length = INF_convert(tdbb->getAttachment()->att_remote_fl
ags, buffer);
break;
default: default:
buffer[0] = item; buffer[0] = item;
item = isc_info_error; item = isc_info_error;
length = 1 + INF_convert(isc_infunk, buffer + 1); length = 1 + INF_convert(isc_infunk, buffer + 1);
break; break;
} }
if (!(info = INF_put_item(item, length, buffer, info, end))) if (!(info = INF_put_item(item, length, buffer, info, end)))
{ {
if (transaction) if (transaction)
skipping to change at line 789 skipping to change at line 812
} }
if (transaction) if (transaction)
TRA_commit(tdbb, transaction, false); TRA_commit(tdbb, transaction, false);
*info++ = isc_info_end; *info++ = isc_info_end;
} }
UCHAR* INF_put_item(UCHAR item, UCHAR* INF_put_item(UCHAR item,
USHORT length, USHORT length,
const UCHAR* string, const void* data,
UCHAR* ptr, UCHAR* ptr,
const UCHAR* end, const UCHAR* end,
const bool inserting) const bool inserting)
{ {
/************************************** /**************************************
* *
* I N F _ p u t _ i t e m * I N F _ p u t _ i t e m
* *
************************************** **************************************
* *
skipping to change at line 819 skipping to change at line 842
{ {
*ptr = isc_info_truncated; *ptr = isc_info_truncated;
return NULL; return NULL;
} }
*ptr++ = item; *ptr++ = item;
STUFF_WORD(ptr, length); STUFF_WORD(ptr, length);
if (length) if (length)
{ {
memmove(ptr, string, length); memmove(ptr, data, length);
ptr += length; ptr += length;
} }
return ptr; return ptr;
} }
ULONG INF_request_info(const jrd_req* request, const ULONG item_length, const UC HAR* items, ULONG INF_request_info(const jrd_req* request, const ULONG item_length, const UC HAR* items,
const ULONG output_length, UCHAR* info) const ULONG output_length, UCHAR* info)
{ {
/************************************** /**************************************
 End of changes. 4 change blocks. 
6 lines changed or deleted 34 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)