///
export class HelpService {
getNodeTypeDescription(nodeType: string) {
return NODE_DESCRIPTIONS[nodeType.toUpperCase()];
}
}
export var NODE_DESCRIPTIONS = {
'LIMIT':'returns a specified number of rows from a record set.',
'SORT': 'sorts a record set based on the specified sort key.',
'NESTED LOOP': `merges two record sets by looping through every record in the first set and
trying to find a match in the second set. All matching records are returned.`,
'MERGE JOIN': `merges two record sets by first sorting them on a join key.`,
'HASH': `generates a hash table from the records in the input recordset. Hash is used by
Hash Join.`,
'HASH JOIN': `joins to record sets by hashing one of them (using a Hash Scan).`,
'AGGREGATE': `groups records together based on a GROUP BY or aggregate function (like sum()
).`,
'HASHAGGREGATE': `groups records together based on a GROUP BY or aggregate function (like sum()). Hash Aggregate uses
a hash to first organize the records by a key.`,
'SEQ SCAN': `finds relevant records by sequentially scanning the input record set. When reading from a table,
Seq Scans (unlike Index Scans) perform a single read operation (only the table is read).`,
'INDEX SCAN': `finds relevant records based on an Index. Index Scans perform 2 read operations: one to
read the index and another to read the actual value from the table.`,
'INDEX ONLY SCAN': `finds relevant records based on an Index. Index Only Scans perform a single read operation
from the index and do not read from the corresponding table.`,
'BITMAP HEAP SCAN': 'searches through the pages returned by the Bitmap Index Scan for relevant rows.',
'BITMAP INDEX SCAN': `uses a Bitmap Index (index which uses 1 bit per page) to find all relevant pages.
Results of this node are fed to the Bitmap Heap Scan.`,
'CTE SCAN': `performs a sequential scan of Common Table Expression (CTE) query results. Note that
results of a CTE are materialized (calculated and temporarily stored).`
};