|
3 | 3 | * procedural language
|
4 | 4 | *
|
5 | 5 | * IDENTIFICATION
|
6 |
| - * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.45 2001/07/11 18:54:18 momjian Exp $ |
| 6 | + * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.46 2001/07/12 17:42:07 momjian Exp $ |
7 | 7 | *
|
8 | 8 | * This software is copyrighted by Jan Wieck - Hamburg.
|
9 | 9 | *
|
|
47 | 47 | #include "plpgsql.h"
|
48 | 48 | #include "pl.tab.h"
|
49 | 49 |
|
50 |
| -#include "miscadmin.h" |
51 | 50 | #include "access/heapam.h"
|
52 | 51 | #include "catalog/pg_proc.h"
|
53 | 52 | #include "catalog/pg_type.h"
|
@@ -106,8 +105,6 @@ static int exec_stmt_exit(PLpgSQL_execstate * estate,
|
106 | 105 | PLpgSQL_stmt_exit * stmt);
|
107 | 106 | static int exec_stmt_return(PLpgSQL_execstate * estate,
|
108 | 107 | PLpgSQL_stmt_return * stmt);
|
109 |
| -static int exec_stmt_setauth(PLpgSQL_execstate * estate, |
110 |
| - PLpgSQL_stmt_setauth * stmt); |
111 | 108 | static int exec_stmt_raise(PLpgSQL_execstate * estate,
|
112 | 109 | PLpgSQL_stmt_raise * stmt);
|
113 | 110 | static int exec_stmt_execsql(PLpgSQL_execstate * estate,
|
@@ -229,9 +226,6 @@ plpgsql_exec_function(PLpgSQL_function * func, FunctionCallInfo fcinfo)
|
229 | 226 | case PLPGSQL_STMT_RETURN:
|
230 | 227 | stmttype = "return";
|
231 | 228 | break;
|
232 |
| - case PLPGSQL_STMT_SETAUTH: |
233 |
| - stmttype = "setauth"; |
234 |
| - break; |
235 | 229 | case PLPGSQL_STMT_RAISE:
|
236 | 230 | stmttype = "raise";
|
237 | 231 | break;
|
@@ -283,10 +277,7 @@ plpgsql_exec_function(PLpgSQL_function * func, FunctionCallInfo fcinfo)
|
283 | 277 | estate.retistuple = func->fn_retistuple;
|
284 | 278 | estate.retisset = func->fn_retset;
|
285 | 279 | estate.exitlabel = NULL;
|
286 |
| - estate.invoker_uid = GetUserId(); |
287 |
| - estate.definer_uid = func->definer_uid; |
288 |
| - estate.auth_level = PLPGSQL_AUTH_INVOKER; |
289 |
| - |
| 280 | + |
290 | 281 | estate.found_varno = func->found_varno;
|
291 | 282 | estate.ndatums = func->ndatums;
|
292 | 283 | estate.datums = palloc(sizeof(PLpgSQL_datum *) * estate.ndatums);
|
@@ -406,9 +397,6 @@ plpgsql_exec_function(PLpgSQL_function * func, FunctionCallInfo fcinfo)
|
406 | 397 | elog(ERROR, "control reaches end of function without RETURN");
|
407 | 398 | }
|
408 | 399 |
|
409 |
| - if (estate.auth_level!=PLPGSQL_AUTH_INVOKER) |
410 |
| - SetUserId(estate.invoker_uid); |
411 |
| - |
412 | 400 | /*
|
413 | 401 | * We got a return value - process it
|
414 | 402 | */
|
@@ -589,9 +577,6 @@ plpgsql_exec_trigger(PLpgSQL_function * func,
|
589 | 577 | estate.retistuple = func->fn_retistuple;
|
590 | 578 | estate.retisset = func->fn_retset;
|
591 | 579 | estate.exitlabel = NULL;
|
592 |
| - estate.invoker_uid = GetUserId(); |
593 |
| - estate.definer_uid = func->definer_uid; |
594 |
| - estate.auth_level = PLPGSQL_AUTH_INVOKER; |
595 | 580 |
|
596 | 581 | estate.found_varno = func->found_varno;
|
597 | 582 | estate.ndatums = func->ndatums;
|
@@ -775,9 +760,6 @@ plpgsql_exec_trigger(PLpgSQL_function * func,
|
775 | 760 | elog(ERROR, "control reaches end of trigger procedure without RETURN");
|
776 | 761 | }
|
777 | 762 |
|
778 |
| - if (estate.auth_level!=PLPGSQL_AUTH_INVOKER) |
779 |
| - SetUserId(estate.invoker_uid); |
780 |
| - |
781 | 763 | /*
|
782 | 764 | * Check that the returned tuple structure has the same attributes,
|
783 | 765 | * the relation that fired the trigger has.
|
@@ -1040,10 +1022,6 @@ exec_stmt(PLpgSQL_execstate * estate, PLpgSQL_stmt * stmt)
|
1040 | 1022 | rc = exec_stmt_return(estate, (PLpgSQL_stmt_return *) stmt);
|
1041 | 1023 | break;
|
1042 | 1024 |
|
1043 |
| - case PLPGSQL_STMT_SETAUTH: |
1044 |
| - rc = exec_stmt_setauth(estate, (PLpgSQL_stmt_setauth *) stmt); |
1045 |
| - break; |
1046 |
| - |
1047 | 1025 | case PLPGSQL_STMT_RAISE:
|
1048 | 1026 | rc = exec_stmt_raise(estate, (PLpgSQL_stmt_raise *) stmt);
|
1049 | 1027 | break;
|
@@ -1667,29 +1645,6 @@ exec_stmt_return(PLpgSQL_execstate * estate, PLpgSQL_stmt_return * stmt)
|
1667 | 1645 | return PLPGSQL_RC_RETURN;
|
1668 | 1646 | }
|
1669 | 1647 |
|
1670 |
| -/* ---------- |
1671 |
| - * exec_stmt_setauth Changes user ID to/from |
1672 |
| - * that of the function owner's |
1673 |
| - * ---------- |
1674 |
| - */ |
1675 |
| - |
1676 |
| -static int |
1677 |
| -exec_stmt_setauth(PLpgSQL_execstate * estate, PLpgSQL_stmt_setauth * stmt) |
1678 |
| -{ |
1679 |
| - switch(stmt->auth_level) |
1680 |
| - { |
1681 |
| - case PLPGSQL_AUTH_DEFINER: |
1682 |
| - SetUserId(estate->definer_uid); |
1683 |
| - break; |
1684 |
| - case PLPGSQL_AUTH_INVOKER: |
1685 |
| - SetUserId(estate->invoker_uid); |
1686 |
| - break; |
1687 |
| - } |
1688 |
| - |
1689 |
| - estate->auth_level=stmt->auth_level; |
1690 |
| - return PLPGSQL_RC_OK; |
1691 |
| -} |
1692 |
| - |
1693 | 1648 |
|
1694 | 1649 | /* ----------
|
1695 | 1650 | * exec_stmt_raise Build a message and throw it with
|
|
0 commit comments