diff --git a/AUTHORS b/AUTHORS index 876a37d707..bb23c72d54 100644 --- a/AUTHORS +++ b/AUTHORS @@ -11,6 +11,7 @@ Other contributors, listed alphabetically, are: * Ali Afshar -- image formatter * Thomas Aglassinger -- Easytrieve, JCL, Rexx, Transact-SQL and VBScript lexers +* Maxence Ahlouche -- PostgreSQL Explain lexer * Muthiah Annamalai -- Ezhil lexer * Kumar Appaiah -- Debian control lexer * Andreas Amann -- AppleScript lexer @@ -162,6 +163,7 @@ Other contributors, listed alphabetically, are: * Paulo Moura -- Logtalk lexer * Mher Movsisyan -- DTD lexer * Dejan Muhamedagic -- Crmsh lexer +* Adrien Nayrat -- PostgreSQL Explain lexer * Ana Nelson -- Ragel, ANTLR, R console lexers * Kurt Neufeld -- Markdown lexer * Nam T. Nguyen -- Monokai style @@ -190,7 +192,7 @@ Other contributors, listed alphabetically, are: * Justin Reidy -- MXML lexer * Norman Richards -- JSON lexer * Corey Richardson -- Rust lexer updates -* Fabrizio Riguzzi -- cplint leder +* Fabrizio Riguzzi -- cplint leder * Lubomir Rintel -- GoodData MAQL and CL lexers * Andre Roberge -- Tango style * Georg Rollinger -- HSAIL lexer diff --git a/pygments/lexers/_mapping.py b/pygments/lexers/_mapping.py index e0015fe2c0..5fed20e321 100644 --- a/pygments/lexers/_mapping.py +++ b/pygments/lexers/_mapping.py @@ -370,6 +370,7 @@ 'PortugolLexer': ('pygments.lexers.pascal', 'Portugol', ('portugol',), ('*.alg', '*.portugol'), ()), 'PostScriptLexer': ('pygments.lexers.graphics', 'PostScript', ('postscript', 'postscr'), ('*.ps', '*.eps'), ('application/postscript',)), 'PostgresConsoleLexer': ('pygments.lexers.sql', 'PostgreSQL console (psql)', ('psql', 'postgresql-console', 'postgres-console'), (), ('text/x-postgresql-psql',)), + 'PostgresExplainLexer': ('pygments.lexers.sql', 'PostgreSQL EXPLAIN dialect', ('postgres-explain',), ('*.explain',), ('text/x-postgresql-explain',)), 'PostgresLexer': ('pygments.lexers.sql', 'PostgreSQL SQL dialect', ('postgresql', 'postgres'), (), ('text/x-postgresql',)), 'PovrayLexer': ('pygments.lexers.graphics', 'POVRay', ('pov',), ('*.pov', '*.inc'), ('text/x-povray',)), 'PowerShellLexer': ('pygments.lexers.shell', 'PowerShell', ('powershell', 'pwsh', 'posh', 'ps1', 'psm1'), ('*.ps1', '*.psm1'), ('text/x-powershell',)), diff --git a/pygments/lexers/_postgres_builtins.py b/pygments/lexers/_postgres_builtins.py index a67cc8256f..67bba103be 100644 --- a/pygments/lexers/_postgres_builtins.py +++ b/pygments/lexers/_postgres_builtins.py @@ -571,6 +571,61 @@ 'RETURN', 'REVERSE', 'SQLSTATE', 'WHILE', ) +# Most of these keywords are from ExplainNode function +# in src/backend/commands/explain.c + +EXPLAIN_KEYWORDS = ( + 'Aggregate', + 'Append', + 'Bitmap Heap Scan', + 'Bitmap Index Scan', + 'BitmapAnd', + 'BitmapOr', + 'CTE Scan', + 'Custom Scan', + 'Delete', + 'Foreign Scan', + 'Function Scan', + 'Gather Merge', + 'Gather', + 'Group', + 'GroupAggregate', + 'Hash Join', + 'Hash', + 'HashAggregate', + 'Incremental Sort', + 'Index Only Scan', + 'Index Scan', + 'Insert', + 'Limit', + 'LockRows', + 'Materialize', + 'Memoize', + 'Merge Append', + 'Merge Join', + 'Merge', + 'MixedAggregate', + 'Named Tuplestore Scan', + 'Nested Loop', + 'ProjectSet', + 'Recursive Union', + 'Result', + 'Sample Scan', + 'Seq Scan', + 'SetOp', + 'Sort', + 'SubPlan', + 'Subquery Scan', + 'Table Function Scan', + 'Tid Range Scan', + 'Tid Scan', + 'Unique', + 'Update', + 'Values Scan', + 'WindowAgg', + 'WorkTable Scan', +) + if __name__ == '__main__': # pragma: no cover import re diff --git a/pygments/lexers/sql.py b/pygments/lexers/sql.py index 043a3d17cf..a672148237 100644 --- a/pygments/lexers/sql.py +++ b/pygments/lexers/sql.py @@ -30,6 +30,9 @@ - highlights errors in the output and notification levels; - handles psql backslash commands. + `PostgresExplainLexer` + A lexer to highlight Postgres execution plan. + The ``tests/examplefiles`` contains a few test files with data to be parsed by these lexers. @@ -45,7 +48,7 @@ from pygments.lexers import get_lexer_by_name, ClassNotFound from pygments.lexers._postgres_builtins import KEYWORDS, DATATYPES, \ - PSEUDO_TYPES, PLPGSQL_KEYWORDS + PSEUDO_TYPES, PLPGSQL_KEYWORDS, EXPLAIN_KEYWORDS from pygments.lexers._mysql_builtins import \ MYSQL_CONSTANTS, \ MYSQL_DATATYPES, \ @@ -57,8 +60,8 @@ __all__ = ['PostgresLexer', 'PlPgsqlLexer', 'PostgresConsoleLexer', - 'SqlLexer', 'TransactSqlLexer', 'MySqlLexer', - 'SqliteConsoleLexer', 'RqlLexer'] + 'PostgresExplainLexer', 'SqlLexer', 'TransactSqlLexer', + 'MySqlLexer', 'SqliteConsoleLexer', 'RqlLexer'] line_re = re.compile('.*?\n') sqlite_prompt_re = re.compile(r'^(?:sqlite| ...)>(?= )') @@ -368,6 +371,191 @@ def get_tokens_unprocessed(self, data): return +class PostgresExplainLexer(RegexLexer): + """ + Handle PostgreSQL EXPLAIN output + + """ + + name = 'PostgreSQL EXPLAIN dialect' + aliases = ['postgres-explain'] + filenames = ['*.explain'] + mimetypes = ['text/x-postgresql-explain'] + + tokens = { + 'root': [ + (r'(:|\(|\)|ms|kB|->|\.\.|\,)', Punctuation), + (r'(\s+)', Whitespace), + + # This match estimated cost and effectively measured counters with ANALYZE + # Then, we move to instrumentation state + (r'(cost)(=?)', bygroups(Name.Class, Punctuation), 'instrumentation'), + (r'(actual)( )(=?)', bygroups(Name.Class, Whitespace, Punctuation), 'instrumentation'), + + # Misc keywords + (words(('actual', 'Memory Usage', 'Memory', 'Buckets', 'Batches', + 'originally', 'row', 'rows', 'Hits', 'Misses', + 'Evictions', 'Overflows'), suffix=r'\b'), + Comment.Single), + + (r'(hit|read|dirtied|written|write|time|calls)(=)', bygroups(Comment.Single, Operator)), + (r'(shared|temp|local)', Keyword.Pseudo), + + # We move to sort state in order to emphasize specific keywords (especially disk access) + (r'(Sort Method)(: )', bygroups(Comment.Preproc, Punctuation), 'sort'), + + # These keywords can be followed by an object, like a table + (r'(Sort Key|Group Key|Presorted Key|Hash Key)(:)( )', + bygroups(Comment.Preproc, Punctuation, Whitespace), 'object_name'), + (r'(Cache Key|Cache Mode)(:)( )', bygroups(Comment, Punctuation, Whitespace), 'object_name'), + + # These keywords can be followed by a predicate + (words(('Join Filter', 'Subplans Removed', 'Filter', 'Merge Cond', + 'Hash Cond', 'Index Cond', 'Recheck Cond', 'Heap Blocks', + 'TID Cond', 'Run Condition', 'Order By', 'Function Call', + 'Table Function Call', 'Inner Unique', 'Params Evaluated', + 'Single Copy', 'Sampling', 'One-Time Filter', 'Output', + 'Relations', 'Remote SQL'), suffix=r'\b'), + Comment.Preproc, 'predicate'), + + # Special keyword to handle ON CONFLICT + (r'Conflict ', Comment.Preproc, 'conflict'), + + # Special keyword for InitPlan or SubPlan + (r'(InitPlan|SubPlan)( )(\d+)( )', + bygroups(Keyword, Whitespace, Number.Integer, Whitespace), + 'init_plan'), + + (words(('Sort Method', 'Join Filter', 'Planning time', + 'Planning Time', 'Execution time', 'Execution Time', + 'Workers Planned', 'Workers Launched', 'Buffers', + 'Planning', 'Worker', 'Query Identifier', 'Time', + 'Full-sort Groups'), suffix=r'\b'), Comment.Preproc), + + # Emphasize these keywords + + (words(('Rows Removed by Join Filter', 'Rows Removed by Filter', + 'Rows Removed by Index Recheck', + 'Heap Fetches', 'never executed'), + suffix=r'\b'), Name.Exception), + (r'(I/O Timings)(:)( )', bygroups(Name.Exception, Punctuation, Whitespace)), + + (words(EXPLAIN_KEYWORDS, suffix=r'\b'), Keyword), + + # join keywords + (r'((Right|Left|Full|Semi|Anti) Join)', Keyword.Type), + (r'(Parallel |Async |Finalize |Partial )', Comment.Preproc), + (r'Backward', Comment.Preproc), + (r'(Intersect|Except|Hash)', Comment.Preproc), + + (r'(CTE)( )(\w*)?', bygroups(Comment, Whitespace, Name.Variable)), + + + # Treat "on" and "using" as a punctuation + (r'(on|using)', Punctuation, 'object_name'), + + + # strings + (r"'(''|[^'])*'", String.Single), + # numbers + (r'\d+\.\d+', Number.Float), + (r'(\d+)', Number.Integer), + + # boolean + (r'(true|false)', Name.Constant), + # explain header + (r'\s*QUERY PLAN\s*\n\s*-+', Comment.Single), + # Settings + (r'(Settings)(:)( )', bygroups(Comment.Preproc, Punctuation, Whitespace), 'setting'), + + # Handle JIT counters + (r'(JIT|Functions|Options|Timing)(:)', bygroups(Comment.Preproc, Punctuation)), + (r'(Inlining|Optimization|Expressions|Deforming|Generation|Emission|Total)', Keyword.Pseudo), + + # Handle Triggers counters + (r'(Trigger)( )(\S*)(:)( )', + bygroups(Comment.Preproc, Whitespace, Name.Variable, Punctuation, Whitespace)), + + ], + 'expression': [ + # matches any kind of parenthesized expression + # the first opening paren is matched by the 'caller' + (r'\(', Punctuation, '#push'), + (r'\)', Punctuation, '#pop'), + (r'(never executed)', Name.Exception), + (r'[^)(]+', Comment), + ], + 'object_name': [ + + # This is a cost or analyze measure + (r'(\(cost)(=?)', bygroups(Name.Class, Punctuation), 'instrumentation'), + (r'(\(actual)( )(=?)', bygroups(Name.Class, Whitespace, Punctuation), 'instrumentation'), + + # if object_name is parenthesized, mark opening paren as + # punctuation, call 'expression', and exit state + (r'\(', Punctuation, 'expression'), + (r'(on)', Punctuation), + # matches possibly schema-qualified table and column names + (r'\w+(\.\w+)*( USING \S+| \w+ USING \S+)', Name.Variable), + (r'\"?\w+\"?(?:\.\"?\w+\"?)?', Name.Variable), + (r'\'\S*\'', Name.Variable), + + # if we encounter a comma, another object is listed + (r',\n', Punctuation, 'object_name'), + (r',', Punctuation, 'object_name'), + + # special case: "*SELECT*" + (r'"\*SELECT\*( \d+)?"(.\w+)?', Name.Variable), + (r'"\*VALUES\*(_\d+)?"(.\w+)?', Name.Variable), + (r'"ANY_subquery"', Name.Variable), + + # Variable $1 ... + (r'\$\d+', Name.Variable), + # cast + (r'::\w+', Name.Variable), + (r' +', Whitespace), + (r'"', Punctuation), + (r'\[\.\.\.\]', Punctuation), + (r'\)', Punctuation, '#pop'), + ], + 'predicate': [ + # if predicate is parenthesized, mark paren as punctuation + (r'(\()([^\n]*)(\))', bygroups(Punctuation, Name.Variable, Punctuation), '#pop'), + # otherwise color until newline + (r'[^\n]*', Name.Variable, '#pop'), + ], + 'instrumentation': [ + (r'=|\.\.', Punctuation), + (r' +', Whitespace), + (r'(rows|width|time|loops)', Name.Class), + (r'\d+\.\d+', Number.Float), + (r'(\d+)', Number.Integer), + (r'\)', Punctuation, '#pop'), + ], + 'conflict': [ + (r'(Resolution: )(\w+)', bygroups(Comment.Preproc, Name.Variable)), + (r'(Arbiter \w+:)', Comment.Preproc, 'object_name'), + (r'(Filter: )', Comment.Preproc, 'predicate'), + ], + 'setting': [ + (r'([a-z_]*?)(\s*)(=)(\s*)(\'.*?\')', bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String)), + (r'\, ', Punctuation), + ], + 'init_plan': [ + (r'\(', Punctuation), + (r'returns \$\d+(,\$\d+)?', Name.Variable), + (r'\)', Punctuation, '#pop'), + ], + 'sort': [ + (r':|kB', Punctuation), + (r'(quicksort|top-N|heapsort|Average|Memory|Peak)', Comment.Prepoc), + (r'(external|merge|Disk|sort)', Name.Exception), + (r'(\d+)', Number.Integer), + (r' +', Whitespace), + ], + } + + class SqlLexer(RegexLexer): """ Lexer for Structured Query Language. Currently, this lexer does diff --git a/tests/examplefiles/postgres-explain/plan.txt b/tests/examplefiles/postgres-explain/plan.txt new file mode 100644 index 0000000000..f3d0d0a39e --- /dev/null +++ b/tests/examplefiles/postgres-explain/plan.txt @@ -0,0 +1,148 @@ +Unique (cost=49756390.50..52412720.47 rows=265632997 width=44) (actual rows=16963 loops=1) + Buffers: shared hit=484 read=869278 dirtied=782137 written=782104, temp read=1864338 written=1864338 + -> Sort (cost=49756390.50..50420472.99 rows=265632997 width=44) (actual rows=389203091 loops=1) + Sort Key: four.india, four.quebec, four.romeo + Sort Method: external merge Disk: 14914368kB + Buffers: shared hit=484 read=869278 dirtied=782137 written=782104, temp read=1864338 written=1864338 + -> Append (cost=1074.72..7801815.20 rows=265632997 width=44) (actual rows=389203091 loops=1) + Buffers: shared hit=475 read=869278 dirtied=782137 written=782104 + -> Hash Join (cost=1074.72..5144647.71 rows=265632995 width=28) (actual rows=389203089 loops=1) + Hash Cond: (mike.romeo = four.romeo) + Buffers: shared read=869212 dirtied=782137 written=782104 + -> Seq Scan on mike (cost=0.00..1630351.96 rows=76168096 width=4) (actual rows=76329862 loops=1) + Buffers: shared read=868671 dirtied=782137 written=782104 + -> Hash (cost=778.21..778.21 rows=23721 width=28) (actual rows=23752 loops=1) + Buckets: 32768 Batches: 1 Memory Usage: 1676kB + Buffers: shared read=541 + -> Seq Scan on four (cost=0.00..778.21 rows=23721 width=28) (actual rows=23753 loops=1) + Buffers: shared read=541 + -> Seq Scan on four papa (cost=0.00..837.51 rows=2 width=28) (actual rows=2 loops=1) + Filter: ((quebec)::text = 'echo'::text) + Rows Removed by Filter: 23751 + Buffers: shared hit=475 read=66 + +Unique (cost=35743307.84..37168307.40 rows=142499956 width=48) (actual rows=8336122 loops=1) + Buffers: shared hit=10664 read=1223591, temp read=1439499 written=1032459 + -> Sort (cost=35743307.84..36099557.73 rows=142499956 width=48) (actual rows=131104186 loops=1) + Sort Key: lima.tango_xray, lima.quebec, lima.xray + Sort Method: external merge Disk: 5874440kB + Buffers: shared hit=10664 read=1223591, temp read=1439499 written=1032459 + -> Append (cost=9917231.73..13876757.50 rows=142499956 width=48) (actual rows=131104186 loops=1) + Buffers: shared hit=10664 read=1223591, temp read=705180 written=298140 + -> Merge Join (cost=9917231.73..12113535.56 rows=142499955 width=32) (actual rows=131104184 loops=1) + Merge Cond: (lima.xray = tango_mike.xray) + Buffers: shared read=911596, temp read=705180 written=298140 + -> Sort (cost=1855656.88..1885891.23 rows=12093737 width=32) (actual rows=12125134 loops=1) + Sort Key: lima.xray + Sort Method: quicksort Memory: 1340493kB + Buffers: shared read=312027 + -> Seq Scan on lima (cost=0.00..432964.37 rows=12093737 width=32) (actual rows=12125134 loops=1) + Buffers: shared read=312027 + -> Sort (cost=8060359.88..8195110.08 rows=53900080 width=8) (actual rows=131104540 loops=1) + Sort Key: tango_mike.xray + Sort Method: external sort Disk: 1192552kB + Buffers: shared read=599569, temp read=501699 written=298140 + -> Seq Scan on tango_mike (cost=0.00..1138569.80 rows=53900080 width=8) (actual rows=55453373 loops=1) + Buffers: shared read=599569 + -> Gather (cost=1000.00..338222.39 rows=1 width=32) (actual rows=2 loops=1) + Workers Planned: 6 + Workers Launched: 6 + Buffers: shared hit=10664 read=311995 + -> Parallel Seq Scan on lima golf (cost=0.00..337222.29 rows=1 width=32) (actual rows=0 loops=7) + Filter: ((quebec)::text = 'echo'::text) + Rows Removed by Filter: 1732162 + Buffers: shared hit=122 read=311995 + +Group (cost=4164445.30..4175997.52 rows=385074 width=264) (actual time=206821.675..206875.256 rows=4486 loops=1) + Group Key: echo_whiskey0.kilo_bravo, [...] + Buffers: shared hit=1390631 read=993857 written=40265, local hit=26 + I/O Timings: read=1567607.774 write=488.689 + -> Sort (cost=4164445.30..4165407.98 rows=385074 width=264) (actual time=206821.611..206872.674 rows=4669 loops=1) + Sort Key: echo_whiskey0.kilo_bravo,[...] + Sort Method: quicksort Memory: 1737kB + Buffers: shared hit=1390631 read=993857 written=40265, local hit=26 + I/O Timings: read=1567607.774 write=488.689 + -> Hash Semi Join (cost=61200.47..4128720.49 rows=385074 width=264) (actual time=2241.552..206857.688 rows=4669 loops=1) + Hash Cond: ((echo_whiskey0.papa)::text = (golf.hotel)::text) + Buffers: shared hit=1390628 read=993857 written=40265, local hit=26 + I/O Timings: read=1567607.774 write=488.689 + -> Gather (cost=61043.48..4123268.73 rows=385074 width=232) (actual time=1487.139..206127.826 rows=380948 loops=1) + Workers Planned: 7 + Workers Launched: 7 + Buffers: shared hit=1390628 read=993857 written=40265 + I/O Timings: read=1567607.774 write=488.689 + -> Parallel Hash Join (cost=60043.48..4083761.33 rows=55011 width=232) (actual time=1479.129..206052.797 rows=47618 loops=8) + Hash Cond: (echo_whiskey0.victor_romeo = zulu_alpha1.delta) + Buffers: shared hit=1390628 read=993857 written=40265 + I/O Timings: read=1567607.774 write=488.689 + -> Parallel Hash Join (cost=58129.39..4081317.34 rows=55011 width=202) (actual time=882.995..205409.189 rows=47618 loops=8) + Hash Cond: (echo_whiskey0.romeo = zulu_alpha1kilo_oscar1.delta) + Buffers: shared hit=1390051 read=992531 written=40265 + I/O Timings: read=1567535.726 write=488.689 + -> Nested Loop (cost=56215.30..4078873.35 rows=55011 width=172) (actual time=880.305..205357.815 rows=47618 loops=8) + Buffers: shared hit=1388344 read=992531 written=40265 + I/O Timings: read=1567535.726 write=488.689 + -> Hash Join (cost=56214.87..3978622.48 rows=55011 width=176) (actual time=841.911..65184.969 rows=47618 loops=8) + Hash Cond: (echo_whiskey0.charlie_india = whiskey_delta0.charlie_india) + Buffers: shared hit=2842 read=854234 written=34524 + I/O Timings: read=499073.802 write=421.296 + -> Hash Join (cost=55668.42..3977931.56 rows=55011 width=132) (actual time=789.705..65085.512 rows=47618 loops=8) + Hash Cond: (echo_whiskey0.whiskey_six = juliet01.whiskey_six) + -> Parallel Bitmap Heap Scan on p_fait_radio_qdoc p_fait_radio_qdoc0 + Buffers: shared hit=357 read=853879 written=34524 + I/O Timings: read=499028.808 write=421.296 + -> (cost=55614.03..3976535.39 rows=211114 width=104) (cost=0.00..0.00 rows=0 width=0) (actual time=789.126..64998.813 rows=188462 loops=8) + Recheck Cond: ((kilo_bravo >= 'two'::date) AND (kilo_bravo < 'tango'::date)) + Filter: (((charlie_oscar)::text = 'xray'::text) AND ((six_foxtrot)::text = 'november'::text)) + Rows Removed by Filter: 140321 + Heap Blocks: exact=106838 + -> Bitmap Index Scan on p_fait_radio_qdoc_dt_examen_idx + Buffers: shared hit=8 read=853879 written=34524 + I/O Timings: read=499028.808 write=421.296 + -> (cost=0.00..55244.59 rows=2632802 width=0) (cost=0.00..0.00 rows=0 width=0) (actual time=538.316..538.325 rows=2630265 loops=1) + Index Cond: ((kilo_bravo >= 'two'::date) AND (kilo_bravo < 'tango'::date)) + Buffers: shared hit=3 read=7191 + I/O Timings: read=87.617 + -> Hash (cost=51.99..51.99 rows=191 width=36) (actual time=0.526..0.532 rows=191 loops=8) + Buckets: 1024 Batches: 1 Memory Usage: 23kB + Buffers: shared hit=349 + -> Seq Scan on juliet yankee (cost=0.00..51.99 rows=191 width=36) (actual time=0.070..0.492 rows=191 loops=8) + Filter: ((victor_tango)::text = ANY ('{"seven_tango",[...])) + Rows Removed by Filter: 542 + Buffers: shared hit=349 + -> Hash (cost=440.09..440.09 rows=8509 width=52) (actual time=52.166..52.167 rows=8509 loops=8) + Buckets: 16384 Batches: 1 Memory Usage: 842kB + Buffers: shared hit=2485 read=355 + I/O Timings: read=44.994 + -> Seq Scan on whiskey_delta kilo_six (cost=0.00..440.09 rows=8509 width=52) (actual time=24.144..50.757 rows=8509 loops=8) + Buffers: shared hit=2485 read=355 + I/O Timings: read=44.994 + -> Index Only Scan using echo_mike on seven_delta six_yankee (cost=0.43..1.82 rows=1 width=4) (actual time=2.942..2.942 rows=1 loops=380948) + Index Cond: (three = echo_whiskey0.three) + Heap Fetches: 380948 + Buffers: shared hit=1385502 read=138297 written=5741 + I/O Timings: read=1068461.924 write=67.392 + -> Parallel Hash (cost=1799.04..1799.04 rows=9204 width=38) (actual time=2.613..2.614 rows=1956 loops=8) + Buckets: 16384 Batches: 1 Memory Usage: 1376kB + Buffers: shared hit=1707 + -> Parallel Seq Scan on oscar zulu_hotel (cost=0.00..1799.04 rows=9204 width=38) (actual time=0.019..1.744 rows=1956 loops=8) + Buffers: shared hit=1707 + -> Parallel Hash (cost=1799.04..1799.04 rows=9204 width=38) (actual time=595.923..595.925 rows=1956 loops=8) + Buckets: 16384 Batches: 1 Memory Usage: 1504kB + Buffers: shared hit=381 read=1326 + I/O Timings: read=72.048 + -> Parallel Seq Scan on oscar quebec (cost=0.00..1799.04 rows=9204 width=38) (actual time=485.918..495.799 rows=1956 loops=8) + Buffers: shared hit=381 read=1326 + I/O Timings: read=72.048 + -> Hash (cost=84.22..84.22 rows=5822 width=8) (actual time=611.099..611.105 rows=5822 loops=1) + Buckets: 8192 Batches: 1 Memory Usage: 292kB + Buffers: local hit=26 + -> Seq Scan on golf (cost=0.00..84.22 rows=5822 width=8) (actual time=0.010..0.317 rows=5822 loops=1) + Buffers: local hit=26 +Planning time: 2.748 ms +JIT: + Functions: 361 + Options: Expressions true, Deforming true, Optimization true, Inlining true + Timing: Inlining 289.335 ms, Optimization 2473.925 ms, Total 4530.841 ms, Generation 43.386 ms, Emission 1724.195 ms +Execution time: 206882.405 ms + diff --git a/tests/examplefiles/postgres-explain/plan.txt.output b/tests/examplefiles/postgres-explain/plan.txt.output new file mode 100644 index 0000000000..64cea71930 --- /dev/null +++ b/tests/examplefiles/postgres-explain/plan.txt.output @@ -0,0 +1,2727 @@ +'Unique' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'49756390.50' Literal.Number.Float +'..' Punctuation +'52412720.47' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'265632997' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'44' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'16963' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'484' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'869278' Literal.Number.Integer +' ' Text.Whitespace +'dirtied' Comment.Single +'=' Operator +'782137' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'782104' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'temp' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1864338' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'1864338' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Sort' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'49756390.50' Literal.Number.Float +'..' Punctuation +'50420472.99' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'265632997' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'44' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'389203091' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Sort Key' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'four.india' Name.Variable +',' Punctuation +' ' Text.Whitespace +'four.quebec' Name.Variable +',' Punctuation +' ' Text.Whitespace +'four.romeo' Name.Variable +'\n' Text.Whitespace + +' ' Text.Whitespace +'Sort Method' Comment.Preproc +': ' Punctuation +'external' Name.Exception +' ' Text.Whitespace +'merge' Name.Exception +' ' Text.Whitespace +'Disk' Name.Exception +':' Punctuation +' ' Text.Whitespace +'14914368' Literal.Number.Integer +'kB' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'484' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'869278' Literal.Number.Integer +' ' Text.Whitespace +'dirtied' Comment.Single +'=' Operator +'782137' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'782104' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'temp' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1864338' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'1864338' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Append' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'1074.72' Literal.Number.Float +'..' Punctuation +'7801815.20' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'265632997' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'44' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'389203091' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'475' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'869278' Literal.Number.Integer +' ' Text.Whitespace +'dirtied' Comment.Single +'=' Operator +'782137' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'782104' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Hash Join' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'1074.72' Literal.Number.Float +'..' Punctuation +'5144647.71' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'265632995' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'28' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'389203089' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Hash Cond' Comment.Preproc +': (mike.romeo = four.romeo)' Name.Variable +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'869212' Literal.Number.Integer +' ' Text.Whitespace +'dirtied' Comment.Single +'=' Operator +'782137' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'782104' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Seq Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'mike' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'1630351.96' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'76168096' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'4' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'76329862' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'868671' Literal.Number.Integer +' ' Text.Whitespace +'dirtied' Comment.Single +'=' Operator +'782137' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'782104' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Hash' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'778.21' Literal.Number.Float +'..' Punctuation +'778.21' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'23721' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'28' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'23752' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Buckets' Comment.Single +':' Punctuation +' ' Text.Whitespace +'32768' Literal.Number.Integer +' ' Text.Whitespace +'Batches' Comment.Single +':' Punctuation +' ' Text.Whitespace +'1' Literal.Number.Integer +' ' Text.Whitespace +'Memory Usage' Comment.Single +':' Punctuation +' ' Text.Whitespace +'1676' Literal.Number.Integer +'kB' Punctuation +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'541' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Seq Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'four' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'778.21' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'23721' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'28' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'23753' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'541' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Seq Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'four' Name.Variable +' ' Text.Whitespace +'papa' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'837.51' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'2' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'28' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'2' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Filter' Comment.Preproc +": ((quebec)::text = 'echo'::text)" Name.Variable +'\n ' Text.Whitespace +'Rows Removed by Filter' Name.Exception +':' Punctuation +' ' Text.Whitespace +'23751' Literal.Number.Integer +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'475' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'66' Literal.Number.Integer +'\n\n' Text.Whitespace + +'Unique' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'35743307.84' Literal.Number.Float +'..' Punctuation +'37168307.40' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'142499956' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'48' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'8336122' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'10664' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1223591' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'temp' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1439499' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'1032459' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Sort' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'35743307.84' Literal.Number.Float +'..' Punctuation +'36099557.73' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'142499956' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'48' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'131104186' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Sort Key' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'lima.tango_xray' Name.Variable +',' Punctuation +' ' Text.Whitespace +'lima.quebec' Name.Variable +',' Punctuation +' ' Text.Whitespace +'lima.xray' Name.Variable +'\n' Text.Whitespace + +' ' Text.Whitespace +'Sort Method' Comment.Preproc +': ' Punctuation +'external' Name.Exception +' ' Text.Whitespace +'merge' Name.Exception +' ' Text.Whitespace +'Disk' Name.Exception +':' Punctuation +' ' Text.Whitespace +'5874440' Literal.Number.Integer +'kB' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'10664' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1223591' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'temp' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1439499' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'1032459' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Append' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'9917231.73' Literal.Number.Float +'..' Punctuation +'13876757.50' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'142499956' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'48' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'131104186' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'10664' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1223591' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'temp' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'705180' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'298140' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Merge Join' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'9917231.73' Literal.Number.Float +'..' Punctuation +'12113535.56' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'142499955' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'32' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'131104184' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Merge Cond' Comment.Preproc +': (lima.xray = tango_mike.xray)' Name.Variable +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'911596' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'temp' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'705180' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'298140' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Sort' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'1855656.88' Literal.Number.Float +'..' Punctuation +'1885891.23' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'12093737' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'32' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'12125134' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Sort Key' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'lima.xray' Name.Variable +'\n' Text.Whitespace + +' ' Text.Whitespace +'Sort Method' Comment.Preproc +': ' Punctuation +'quicksort' Comment.Prepoc +' ' Text.Whitespace +'Memory' Comment.Prepoc +':' Punctuation +' ' Text.Whitespace +'1340493' Literal.Number.Integer +'kB' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'312027' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Seq Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'lima' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'432964.37' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'12093737' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'32' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'12125134' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'312027' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Sort' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'8060359.88' Literal.Number.Float +'..' Punctuation +'8195110.08' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'53900080' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'131104540' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Sort Key' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'tango_mike.xray' Name.Variable +'\n' Text.Whitespace + +' ' Text.Whitespace +'Sort Method' Comment.Preproc +': ' Punctuation +'external' Name.Exception +' ' Text.Whitespace +'sort' Name.Exception +' ' Text.Whitespace +'Disk' Name.Exception +':' Punctuation +' ' Text.Whitespace +'1192552' Literal.Number.Integer +'kB' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'599569' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'temp' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'501699' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'298140' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Seq Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'tango_mike' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'1138569.80' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'53900080' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'55453373' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'599569' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Gather' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'1000.00' Literal.Number.Float +'..' Punctuation +'338222.39' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'32' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'2' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Workers Planned' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'6' Literal.Number.Integer +'\n ' Text.Whitespace +'Workers Launched' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'6' Literal.Number.Integer +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'10664' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'311995' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Parallel ' Comment.Preproc +'Seq Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'lima' Name.Variable +' ' Text.Whitespace +'golf' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'337222.29' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'32' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'0' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'7' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Filter' Comment.Preproc +": ((quebec)::text = 'echo'::text)" Name.Variable +'\n ' Text.Whitespace +'Rows Removed by Filter' Name.Exception +':' Punctuation +' ' Text.Whitespace +'1732162' Literal.Number.Integer +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'122' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'311995' Literal.Number.Integer +'\n\n' Text.Whitespace + +'Group' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'4164445.30' Literal.Number.Float +'..' Punctuation +'4175997.52' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'385074' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'264' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'206821.675' Literal.Number.Float +'..' Punctuation +'206875.256' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'4486' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Group Key' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'echo_whiskey0.kilo_bravo' Name.Variable +',' Punctuation +' ' Text.Whitespace +'[...]' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'1390631' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'993857' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'40265' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'local' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'26' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1567607.774' Literal.Number.Float +' ' Text.Whitespace +'write' Comment.Single +'=' Operator +'488.689' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Sort' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'4164445.30' Literal.Number.Float +'..' Punctuation +'4165407.98' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'385074' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'264' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'206821.611' Literal.Number.Float +'..' Punctuation +'206872.674' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'4669' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Sort Key' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'echo_whiskey0.kilo_bravo' Name.Variable +',' Punctuation +'[...]' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Sort Method' Comment.Preproc +': ' Punctuation +'quicksort' Comment.Prepoc +' ' Text.Whitespace +'Memory' Comment.Prepoc +':' Punctuation +' ' Text.Whitespace +'1737' Literal.Number.Integer +'kB' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'1390631' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'993857' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'40265' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'local' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'26' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1567607.774' Literal.Number.Float +' ' Text.Whitespace +'write' Comment.Single +'=' Operator +'488.689' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Hash' Keyword +' ' Text.Whitespace +'Semi Join' Keyword.Type +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'61200.47' Literal.Number.Float +'..' Punctuation +'4128720.49' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'385074' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'264' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'2241.552' Literal.Number.Float +'..' Punctuation +'206857.688' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'4669' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Hash Cond' Comment.Preproc +': ((echo_whiskey0.papa)::text = (golf.hotel)::text)' Name.Variable +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'1390628' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'993857' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'40265' Literal.Number.Integer +',' Punctuation +' ' Text.Whitespace +'local' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'26' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1567607.774' Literal.Number.Float +' ' Text.Whitespace +'write' Comment.Single +'=' Operator +'488.689' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Gather' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'61043.48' Literal.Number.Float +'..' Punctuation +'4123268.73' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'385074' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'232' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'1487.139' Literal.Number.Float +'..' Punctuation +'206127.826' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'380948' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Workers Planned' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'7' Literal.Number.Integer +'\n ' Text.Whitespace +'Workers Launched' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'7' Literal.Number.Integer +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'1390628' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'993857' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'40265' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1567607.774' Literal.Number.Float +' ' Text.Whitespace +'write' Comment.Single +'=' Operator +'488.689' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Parallel ' Comment.Preproc +'Hash Join' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'60043.48' Literal.Number.Float +'..' Punctuation +'4083761.33' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'55011' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'232' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'1479.129' Literal.Number.Float +'..' Punctuation +'206052.797' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'47618' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Hash Cond' Comment.Preproc +': (echo_whiskey0.victor_romeo = zulu_alpha1.delta)' Name.Variable +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'1390628' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'993857' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'40265' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1567607.774' Literal.Number.Float +' ' Text.Whitespace +'write' Comment.Single +'=' Operator +'488.689' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Parallel ' Comment.Preproc +'Hash Join' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'58129.39' Literal.Number.Float +'..' Punctuation +'4081317.34' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'55011' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'202' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'882.995' Literal.Number.Float +'..' Punctuation +'205409.189' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'47618' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Hash Cond' Comment.Preproc +': (echo_whiskey0.romeo = zulu_alpha1kilo_oscar1.delta)' Name.Variable +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'1390051' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'992531' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'40265' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1567535.726' Literal.Number.Float +' ' Text.Whitespace +'write' Comment.Single +'=' Operator +'488.689' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Nested Loop' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'56215.30' Literal.Number.Float +'..' Punctuation +'4078873.35' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'55011' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'172' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'880.305' Literal.Number.Float +'..' Punctuation +'205357.815' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'47618' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'1388344' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'992531' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'40265' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1567535.726' Literal.Number.Float +' ' Text.Whitespace +'write' Comment.Single +'=' Operator +'488.689' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Hash Join' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'56214.87' Literal.Number.Float +'..' Punctuation +'3978622.48' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'55011' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'176' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'841.911' Literal.Number.Float +'..' Punctuation +'65184.969' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'47618' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Hash Cond' Comment.Preproc +': (echo_whiskey0.charlie_india = whiskey_delta0.charlie_india)' Name.Variable +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'2842' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'854234' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'34524' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'499073.802' Literal.Number.Float +' ' Text.Whitespace +'write' Comment.Single +'=' Operator +'421.296' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Hash Join' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'55668.42' Literal.Number.Float +'..' Punctuation +'3977931.56' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'55011' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'132' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'789.705' Literal.Number.Float +'..' Punctuation +'65085.512' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'47618' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Hash Cond' Comment.Preproc +': (echo_whiskey0.whiskey_six = juliet01.whiskey_six)' Name.Variable +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Parallel ' Comment.Preproc +'Bitmap Heap Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'p_fait_radio_qdoc' Name.Variable +' ' Text.Whitespace +'p_fait_radio_qdoc0' Name.Variable +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'357' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'853879' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'34524' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'499028.808' Literal.Number.Float +' ' Text.Whitespace +'write' Comment.Single +'=' Operator +'421.296' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'55614.03' Literal.Number.Float +'..' Punctuation +'3976535.39' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'211114' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'104' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'0.00' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'0' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'0' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'789.126' Literal.Number.Float +'..' Punctuation +'64998.813' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'188462' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Recheck Cond' Comment.Preproc +": ((kilo_bravo >= 'two'::date) AND (kilo_bravo < 'tango'::date))" Name.Variable +'\n ' Text.Whitespace +'Filter' Comment.Preproc +": (((charlie_oscar)::text = 'xray'::text) AND ((six_foxtrot)::text = 'november'::text))" Name.Variable +'\n ' Text.Whitespace +'Rows Removed by Filter' Name.Exception +':' Punctuation +' ' Text.Whitespace +'140321' Literal.Number.Integer +'\n ' Text.Whitespace +'Heap Blocks' Comment.Preproc +': exact=106838' Name.Variable +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Bitmap Index Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'p_fait_radio_qdoc_dt_examen_idx' Name.Variable +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'8' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'853879' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'34524' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'499028.808' Literal.Number.Float +' ' Text.Whitespace +'write' Comment.Single +'=' Operator +'421.296' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'55244.59' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'2632802' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'0' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'0.00' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'0' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'0' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'538.316' Literal.Number.Float +'..' Punctuation +'538.325' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'2630265' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Index Cond' Comment.Preproc +": ((kilo_bravo >= 'two'::date) AND (kilo_bravo < 'tango'::date))" Name.Variable +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'3' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'7191' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'87.617' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Hash' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'51.99' Literal.Number.Float +'..' Punctuation +'51.99' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'191' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'36' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'0.526' Literal.Number.Float +'..' Punctuation +'0.532' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'191' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Buckets' Comment.Single +':' Punctuation +' ' Text.Whitespace +'1024' Literal.Number.Integer +' ' Text.Whitespace +'Batches' Comment.Single +':' Punctuation +' ' Text.Whitespace +'1' Literal.Number.Integer +' ' Text.Whitespace +'Memory Usage' Comment.Single +':' Punctuation +' ' Text.Whitespace +'23' Literal.Number.Integer +'kB' Punctuation +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'349' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Seq Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'juliet' Name.Variable +' ' Text.Whitespace +'yankee' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'51.99' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'191' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'36' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'0.070' Literal.Number.Float +'..' Punctuation +'0.492' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'191' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Filter' Comment.Preproc +': ((victor_tango)::text = ANY (\'{"seven_tango",[...]))' Name.Variable +'\n ' Text.Whitespace +'Rows Removed by Filter' Name.Exception +':' Punctuation +' ' Text.Whitespace +'542' Literal.Number.Integer +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'349' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Hash' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'440.09' Literal.Number.Float +'..' Punctuation +'440.09' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'8509' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'52' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'52.166' Literal.Number.Float +'..' Punctuation +'52.167' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'8509' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Buckets' Comment.Single +':' Punctuation +' ' Text.Whitespace +'16384' Literal.Number.Integer +' ' Text.Whitespace +'Batches' Comment.Single +':' Punctuation +' ' Text.Whitespace +'1' Literal.Number.Integer +' ' Text.Whitespace +'Memory Usage' Comment.Single +':' Punctuation +' ' Text.Whitespace +'842' Literal.Number.Integer +'kB' Punctuation +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'2485' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'355' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'44.994' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Seq Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'whiskey_delta' Name.Variable +' ' Text.Whitespace +'kilo_six' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'440.09' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'8509' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'52' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'24.144' Literal.Number.Float +'..' Punctuation +'50.757' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'8509' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'2485' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'355' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'44.994' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Index Only Scan' Keyword +' ' Text.Whitespace +'using' Punctuation +' ' Text.Whitespace +'echo_mike' Name.Variable +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'seven_delta' Name.Variable +' ' Text.Whitespace +'six_yankee' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.43' Literal.Number.Float +'..' Punctuation +'1.82' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'4' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'2.942' Literal.Number.Float +'..' Punctuation +'2.942' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'380948' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Index Cond' Comment.Preproc +': (three = echo_whiskey0.three)' Name.Variable +'\n ' Text.Whitespace +'Heap Fetches' Name.Exception +':' Punctuation +' ' Text.Whitespace +'380948' Literal.Number.Integer +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'1385502' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'138297' Literal.Number.Integer +' ' Text.Whitespace +'written' Comment.Single +'=' Operator +'5741' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1068461.924' Literal.Number.Float +' ' Text.Whitespace +'write' Comment.Single +'=' Operator +'67.392' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Parallel ' Comment.Preproc +'Hash' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'1799.04' Literal.Number.Float +'..' Punctuation +'1799.04' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'9204' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'38' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'2.613' Literal.Number.Float +'..' Punctuation +'2.614' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'1956' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Buckets' Comment.Single +':' Punctuation +' ' Text.Whitespace +'16384' Literal.Number.Integer +' ' Text.Whitespace +'Batches' Comment.Single +':' Punctuation +' ' Text.Whitespace +'1' Literal.Number.Integer +' ' Text.Whitespace +'Memory Usage' Comment.Single +':' Punctuation +' ' Text.Whitespace +'1376' Literal.Number.Integer +'kB' Punctuation +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'1707' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Parallel ' Comment.Preproc +'Seq Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'oscar' Name.Variable +' ' Text.Whitespace +'zulu_hotel' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'1799.04' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'9204' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'38' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'0.019' Literal.Number.Float +'..' Punctuation +'1.744' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'1956' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'1707' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Parallel ' Comment.Preproc +'Hash' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'1799.04' Literal.Number.Float +'..' Punctuation +'1799.04' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'9204' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'38' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'595.923' Literal.Number.Float +'..' Punctuation +'595.925' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'1956' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Buckets' Comment.Single +':' Punctuation +' ' Text.Whitespace +'16384' Literal.Number.Integer +' ' Text.Whitespace +'Batches' Comment.Single +':' Punctuation +' ' Text.Whitespace +'1' Literal.Number.Integer +' ' Text.Whitespace +'Memory Usage' Comment.Single +':' Punctuation +' ' Text.Whitespace +'1504' Literal.Number.Integer +'kB' Punctuation +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'381' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1326' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'72.048' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Parallel ' Comment.Preproc +'Seq Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'oscar' Name.Variable +' ' Text.Whitespace +'quebec' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'1799.04' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'9204' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'38' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'485.918' Literal.Number.Float +'..' Punctuation +'495.799' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'1956' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'shared' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'381' Literal.Number.Integer +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'1326' Literal.Number.Integer +'\n ' Text.Whitespace +'I/O Timings' Name.Exception +':' Punctuation +' ' Text.Whitespace +'read' Comment.Single +'=' Operator +'72.048' Literal.Number.Float +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Hash' Keyword +' ' Text.Whitespace +'(' Punctuation +'cost' Name.Class +'=' Punctuation +'84.22' Literal.Number.Float +'..' Punctuation +'84.22' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'5822' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(' Punctuation +'actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'611.099' Literal.Number.Float +'..' Punctuation +'611.105' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'5822' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n ' Text.Whitespace +'Buckets' Comment.Single +':' Punctuation +' ' Text.Whitespace +'8192' Literal.Number.Integer +' ' Text.Whitespace +'Batches' Comment.Single +':' Punctuation +' ' Text.Whitespace +'1' Literal.Number.Integer +' ' Text.Whitespace +'Memory Usage' Comment.Single +':' Punctuation +' ' Text.Whitespace +'292' Literal.Number.Integer +'kB' Punctuation +'\n ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'local' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'26' Literal.Number.Integer +'\n ' Text.Whitespace +'->' Punctuation +' ' Text.Whitespace +'Seq Scan' Keyword +' ' Text.Whitespace +'on' Punctuation +' ' Text.Whitespace +'golf' Name.Variable +' ' Text.Whitespace +'(cost' Name.Class +'=' Punctuation +'0.00' Literal.Number.Float +'..' Punctuation +'84.22' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'5822' Literal.Number.Integer +' ' Text.Whitespace +'width' Name.Class +'=' Punctuation +'8' Literal.Number.Integer +')' Punctuation +' ' Text.Whitespace +'(actual' Name.Class +' ' Text.Whitespace +'time' Name.Class +'=' Punctuation +'0.010' Literal.Number.Float +'..' Punctuation +'0.317' Literal.Number.Float +' ' Text.Whitespace +'rows' Name.Class +'=' Punctuation +'5822' Literal.Number.Integer +' ' Text.Whitespace +'loops' Name.Class +'=' Punctuation +'1' Literal.Number.Integer +')' Punctuation +'\n' Text.Whitespace + +' ' Text.Whitespace +'Buffers' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'local' Keyword.Pseudo +' ' Text.Whitespace +'hit' Comment.Single +'=' Operator +'26' Literal.Number.Integer +'\n' Text.Whitespace + +'Planning time' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'2.748' Literal.Number.Float +' ' Text.Whitespace +'ms' Punctuation +'\n' Text.Whitespace + +'JIT' Comment.Preproc +':' Punctuation +'\n ' Text.Whitespace +'Functions' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'361' Literal.Number.Integer +'\n ' Text.Whitespace +'Options' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'Expressions' Keyword.Pseudo +' ' Text.Whitespace +'true' Name.Constant +',' Punctuation +' ' Text.Whitespace +'Deforming' Keyword.Pseudo +' ' Text.Whitespace +'true' Name.Constant +',' Punctuation +' ' Text.Whitespace +'Optimization' Keyword.Pseudo +' ' Text.Whitespace +'true' Name.Constant +',' Punctuation +' ' Text.Whitespace +'Inlining' Keyword.Pseudo +' ' Text.Whitespace +'true' Name.Constant +'\n ' Text.Whitespace +'Timing' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'Inlining' Keyword.Pseudo +' ' Text.Whitespace +'289.335' Literal.Number.Float +' ' Text.Whitespace +'ms' Punctuation +',' Punctuation +' ' Text.Whitespace +'Optimization' Keyword.Pseudo +' ' Text.Whitespace +'2473.925' Literal.Number.Float +' ' Text.Whitespace +'ms' Punctuation +',' Punctuation +' ' Text.Whitespace +'Total' Keyword.Pseudo +' ' Text.Whitespace +'4530.841' Literal.Number.Float +' ' Text.Whitespace +'ms' Punctuation +',' Punctuation +' ' Text.Whitespace +'Generation' Keyword.Pseudo +' ' Text.Whitespace +'43.386' Literal.Number.Float +' ' Text.Whitespace +'ms' Punctuation +',' Punctuation +' ' Text.Whitespace +'Emission' Keyword.Pseudo +' ' Text.Whitespace +'1724.195' Literal.Number.Float +' ' Text.Whitespace +'ms' Punctuation +'\n' Text.Whitespace + +'Execution time' Comment.Preproc +':' Punctuation +' ' Text.Whitespace +'206882.405' Literal.Number.Float +' ' Text.Whitespace +'ms' Punctuation +'\n' Text.Whitespace