MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / merge_fields

Function merge_fields

src/gpre/sqe.cpp:1589–1623  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1587//
1588
1589static gpre_nod* merge_fields(gpre_nod* fields_1,
1590 gpre_nod* fields_2,
1591 int n,
1592 bool replace)
1593{
1594 assert_IS_NOD(fields_1);
1595 assert_IS_NOD(fields_2);
1596
1597 int count = fields_1->nod_count + fields_2->nod_count;
1598 if (replace)
1599 count--;
1600 gpre_nod* fields = MSC_node(nod_list, (SSHORT) count);
1601
1602 count = n;
1603 if (!replace)
1604 count++;
1605
1606 for (int i = 0; i < count; i++)
1607 fields->nod_arg[i] = fields_1->nod_arg[i];
1608
1609 for (int i = 0; i < fields_2->nod_count; i++)
1610 fields->nod_arg[i + count] = fields_2->nod_arg[i];
1611
1612 int offset = 0;
1613 if (replace)
1614 {
1615 count++;
1616 offset = 1;
1617 }
1618
1619 for (int i = count; i < fields_1->nod_count; i++)
1620 fields->nod_arg[i + fields_2->nod_count - offset] = fields_1->nod_arg[i];
1621
1622 return fields;
1623}
1624
1625
1626//____________________________________________________________

Callers 2

explode_asteriskFunction · 0.85
explode_asterisk_allFunction · 0.85

Calls 1

MSC_nodeFunction · 0.85

Tested by

no test coverage detected