diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 1999-05-13 07:29:22 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 1999-05-13 07:29:22 +0000 |
| commit | 507a0a2ab09144f524e3239b7fc201ad1ad1b78e (patch) | |
| tree | 77c434943724f627e3c901f06443f02ae57d467b /doc/src/sgml/arch-dev.sgml | |
| parent | f80642137cc0d2dbdaea68b8e439de0d50a5c01f (diff) | |
| download | postgresql-507a0a2ab09144f524e3239b7fc201ad1ad1b78e.tar.gz | |
Rip out QueryTreeList structure, root and branch. Querytree
lists are now plain old garden-variety Lists, allocated with palloc,
rather than specialized expansible-array data allocated with malloc.
This substantially simplifies their handling and eliminates several
sources of memory leakage.
Several basic types of erroneous queries (syntax error, attempt to
insert a duplicate key into a unique index) now demonstrably leak
zero bytes per query.
Diffstat (limited to 'doc/src/sgml/arch-dev.sgml')
| -rw-r--r-- | doc/src/sgml/arch-dev.sgml | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/doc/src/sgml/arch-dev.sgml b/doc/src/sgml/arch-dev.sgml index 7bc8e8482e..b8d03725be 100644 --- a/doc/src/sgml/arch-dev.sgml +++ b/doc/src/sgml/arch-dev.sgml @@ -3758,7 +3758,7 @@ $\ldots$/src/backend/tcop/postgres.c}. List * pg_parse_and_plan(char *query_string, Oid *typev, int nargs, - QueryTreeList **queryListP, + List **queryListP, CommandDest dest) { . @@ -4032,7 +4032,7 @@ instead. if(IsA(tree, SelectStmt)) { - QueryTreeList *qtree; + List *qtrees; /* If we get to the tree given in first_select * return parsetree instead of performing @@ -4044,9 +4044,8 @@ instead. else { /* transform the unprocessed Query nodes */ - qtree = - parse_analyze(lcons(tree, NIL), NULL); - result = (Node *)qtree->qtrees[0]; + qtrees = parse_analyze(lcons(tree, NIL), NULL); + result = (Node *) lfirst(qtrees); } } if(IsA(tree,Expr)) |
