8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 00:03:03 +01:00
This commit is contained in:
asfernandes 2010-01-21 02:51:32 +00:00
parent 355d996462
commit 2faab16698
8 changed files with 21 additions and 21 deletions

View File

@ -177,4 +177,3 @@ public:
} // namespace Firebird
#endif

View File

@ -4381,14 +4381,15 @@ plan_expression : plan_type '(' plan_item_list ')'
{ $$ = make_node (nod_plan_expr, 1, make_list ($3)); }
;
plan_type : JOIN
| SORT MERGE
| MERGE
| HASH
| SORT
|
{ $$ = NULL; }
;
plan_type
:
{ $$ = NULL; }
| JOIN
| SORT MERGE
| MERGE
| HASH
| SORT
;
plan_item_list : plan_item
| plan_item ',' plan_item_list
@ -5326,10 +5327,10 @@ window_function
;
window_partition_opt
: PARTITION BY value_list
{ $$ = $3; }
|
:
{ $$ = NULL; }
| PARTITION BY value_list
{ $$ = $3; }
;
delimiter_opt

View File

@ -8204,7 +8204,7 @@ static dsql_nod* pass1_rse_impl( DsqlCompilerScratch* dsqlScratch, dsql_nod* inp
}
rse = parent_rse;
// Here we shouldn't have any window mapping.
// Here we shouldn't have any window mapping. We could have 1 or no map for the aggregate.
size_t mapCount = parent_context->ctx_maps.getCount();
fb_assert(mapCount <= 1);
@ -11695,6 +11695,7 @@ void DSQL_pretty(const dsql_nod* node, int column)
dsql_map* map = (*nodeMap)->map;
if (map != NULL)
trace_line("%s map\n", buffer);
while (map)
{
trace_line("%s position %d\n", buffer, map->map_position);

View File

@ -37,7 +37,7 @@ using Firebird::TempFile;
// Static definitions/initializations
const size_t MIN_TEMP_BLOCK_SIZE = 64 * 1024;
const size_t MIN_TEMP_BLOCK_SIZE = 64 * 1024;
Firebird::GlobalPtr<Firebird::Mutex> TempSpace::initMutex;
Firebird::TempDirectoryList* TempSpace::tempDirs = NULL;

View File

@ -3656,7 +3656,7 @@ void MET_scan_partners(thread_db* tdbb, jrd_rel* relation)
**************************************
*
* Functional description
* Scan of foreign references on other relations' primary keys and
* Scan of foreign references on other relations' primary keys and
* scan of primary dependencies on relation's primary key.
*
**************************************/
@ -3665,7 +3665,7 @@ void MET_scan_partners(thread_db* tdbb, jrd_rel* relation)
Database* dbb = tdbb->getDatabase();
Database::CheckoutLockGuard guard(dbb, dbb->dbb_meta_mutex);
if (relation->rel_flags & REL_check_partners)
if (relation->rel_flags & REL_check_partners)
{
scan_partners(tdbb, relation);
}
@ -5075,7 +5075,7 @@ void scan_partners(thread_db* tdbb, jrd_rel* relation)
**************************************
*
* Functional description
* Scan of foreign references on other relations' primary keys and
* Scan of foreign references on other relations' primary keys and
* scan of primary dependencies on relation's primary key.
*
**************************************/

View File

@ -126,4 +126,3 @@ Firebird::MetaName MET_get_relation_field(Jrd::thread_db*, const Firebird::MetaN
void MET_update_partners(Jrd::thread_db*);
#endif // JRD_MET_PROTO_H

View File

@ -595,7 +595,7 @@ PAG PAG_allocate(thread_db* tdbb, WIN* window)
start, init_pages);
}
if (init_pages)
if (init_pages)
{
CCH_MARK(tdbb, &pip_window);
pipMarked = true;

View File

@ -2437,8 +2437,8 @@ void VIO_modify(thread_db* tdbb, record_param* org_rpb, record_param* new_rpb, j
}
}
// hvlad: prepare_update() take EX lock on data page. Subsequent call of
// IDX_modify_flag_uk_modified() will read database - if relation's partners
// hvlad: prepare_update() take EX lock on data page. Subsequent call of
// IDX_modify_flag_uk_modified() will read database - if relation's partners
// list has not been scanned yet. It could lead to single thread deadlock
// if the same page should be fetched for read.
// Explicit scan of relation's partners allows to avoid possible deadlock.