Skip to content

Commit 58ecc51

Browse files
Transaction object types clarifying
1 parent 8bc1289 commit 58ecc51

File tree

3 files changed

+30
-30
lines changed

3 files changed

+30
-30
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ SELECT pgv_get('pack', 'var_text', NULL::text);
304304
before transaction block
305305
```
306306

307-
If you create variable after `BEGIN` or `SAVEPOINT` statements and than rollback
307+
If you create a transactional variable after `BEGIN` or `SAVEPOINT` statements and than rollback
308308
to previous state - variable will not be exist:
309309

310310
```sql

pg_variables.c

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -350,8 +350,8 @@ variable_insert(PG_FUNCTION_ARGS)
350350
if (variable->is_transactional &&
351351
!isObjectChangedInCurrentTrans(transObj))
352352
{
353-
createSavepoint(transObj, TOP_VARIABLE);
354-
addToChangesStack(transObj, TOP_VARIABLE);
353+
createSavepoint(transObj, TRANS_VARIABLE);
354+
addToChangesStack(transObj, TRANS_VARIABLE);
355355
}
356356
}
357357

@@ -438,8 +438,8 @@ variable_update(PG_FUNCTION_ARGS)
438438
if (variable->is_transactional &&
439439
!isObjectChangedInCurrentTrans(transObject))
440440
{
441-
createSavepoint(transObject, TOP_VARIABLE);
442-
addToChangesStack(transObject, TOP_VARIABLE);
441+
createSavepoint(transObject, TRANS_VARIABLE);
442+
addToChangesStack(transObject, TRANS_VARIABLE);
443443
}
444444

445445
/* Update a record */
@@ -518,8 +518,8 @@ variable_delete(PG_FUNCTION_ARGS)
518518
if (variable->is_transactional &&
519519
!isObjectChangedInCurrentTrans(transObject))
520520
{
521-
createSavepoint(transObject, TOP_VARIABLE);
522-
addToChangesStack(transObject, TOP_VARIABLE);
521+
createSavepoint(transObject, TRANS_VARIABLE);
522+
addToChangesStack(transObject, TRANS_VARIABLE);
523523
}
524524

525525
/* Delete a record */
@@ -841,7 +841,7 @@ remove_variable(PG_FUNCTION_ARGS)
841841
if (found)
842842
{
843843
/* Regular variable */
844-
removeState(&variable->transObject, TOP_VARIABLE,
844+
removeState(&variable->transObject, TRANS_VARIABLE,
845845
GetActualState(variable));
846846
}
847847
else
@@ -859,8 +859,8 @@ remove_variable(PG_FUNCTION_ARGS)
859859
transObject = &variable->transObject;
860860
if (!isObjectChangedInCurrentTrans(transObject))
861861
{
862-
createSavepoint(transObject, TOP_VARIABLE);
863-
addToChangesStack(transObject, TOP_VARIABLE);
862+
createSavepoint(transObject, TRANS_VARIABLE);
863+
addToChangesStack(transObject, TRANS_VARIABLE);
864864
}
865865
GetActualState(variable)->is_valid = false;
866866
}
@@ -922,8 +922,8 @@ removePackageInternal(Package *package)
922922
transObject = &package->transObject;
923923
if (!isObjectChangedInCurrentTrans(transObject))
924924
{
925-
createSavepoint(transObject, TOP_PACKAGE);
926-
addToChangesStack(transObject, TOP_PACKAGE);
925+
createSavepoint(transObject, TRANS_PACKAGE);
926+
addToChangesStack(transObject, TRANS_PACKAGE);
927927
}
928928
GetActualState(package)->is_valid = false;
929929
}
@@ -1315,8 +1315,8 @@ getPackageByName(text* name, bool create, bool strict)
13151315
/* Make new history entry of package */
13161316
if (!isObjectChangedInCurrentTrans(transObj))
13171317
{
1318-
createSavepoint(transObj, TOP_PACKAGE);
1319-
addToChangesStack(transObj, TOP_PACKAGE);
1318+
createSavepoint(transObj, TRANS_PACKAGE);
1319+
addToChangesStack(transObj, TRANS_PACKAGE);
13201320
}
13211321

13221322
GetActualState(package)->is_valid = true;
@@ -1335,8 +1335,8 @@ getPackageByName(text* name, bool create, bool strict)
13351335

13361336
if (!isObjectChangedInCurrentTrans(transObj))
13371337
{
1338-
createSavepoint(transObj, TOP_VARIABLE);
1339-
addToChangesStack(transObj, TOP_VARIABLE);
1338+
createSavepoint(transObj, TRANS_VARIABLE);
1339+
addToChangesStack(transObj, TRANS_VARIABLE);
13401340
}
13411341
GetActualState(variable)->is_valid = false;
13421342
}
@@ -1375,7 +1375,7 @@ getPackageByName(text* name, bool create, bool strict)
13751375
packState->state.is_valid = true;
13761376

13771377
/* Add to changes list */
1378-
addToChangesStack(&package->transObject, TOP_PACKAGE);
1378+
addToChangesStack(&package->transObject, TRANS_PACKAGE);
13791379

13801380
return package;
13811381
}
@@ -1487,7 +1487,7 @@ createVariableInternal(Package *package, text *name, Oid typid,
14871487
if (is_transactional &&
14881488
!isObjectChangedInCurrentTrans(transObject))
14891489
{
1490-
createSavepoint(transObject, TOP_VARIABLE);
1490+
createSavepoint(transObject, TRANS_VARIABLE);
14911491
}
14921492
}
14931493
else
@@ -1517,7 +1517,7 @@ createVariableInternal(Package *package, text *name, Oid typid,
15171517
GetActualState(variable)->is_valid = true;
15181518
/* If it is necessary, put variable to changedVars */
15191519
if (is_transactional)
1520-
addToChangesStack(transObject, TOP_VARIABLE);
1520+
addToChangesStack(transObject, TRANS_VARIABLE);
15211521

15221522
return variable;
15231523
}
@@ -1589,7 +1589,7 @@ freeValue(VarState *varstate, Oid typid)
15891589
static void
15901590
removeState(TransObject *object, TransObjectType type, TransState *stateToDelete)
15911591
{
1592-
if (type == TOP_VARIABLE)
1592+
if (type == TRANS_VARIABLE)
15931593
{
15941594
Variable *var = (Variable *) object;
15951595
freeValue((VarState *) stateToDelete, var->typid);
@@ -1604,7 +1604,7 @@ removeObject(TransObject *object, TransObjectType type)
16041604
bool found;
16051605
HTAB *hash;
16061606

1607-
if (type == TOP_PACKAGE)
1607+
if (type == TRANS_PACKAGE)
16081608
{
16091609
Package *package = (Package *) object;
16101610

@@ -1639,7 +1639,7 @@ createSavepoint(TransObject *transObj, TransObjectType type)
16391639
*prevState;
16401640

16411641
prevState = GetActualState(transObj);
1642-
if (type==TOP_PACKAGE)
1642+
if (type==TRANS_PACKAGE)
16431643
newState = (TransState *) MemoryContextAllocZero(ModuleContext,
16441644
sizeof(PackState));
16451645
else
@@ -1663,7 +1663,7 @@ rollbackSavepoint(TransObject *object, TransObjectType type)
16631663
TransState *state;
16641664

16651665
state = GetActualState(object);
1666-
if (type == TOP_PACKAGE)
1666+
if (type == TRANS_PACKAGE)
16671667
{
16681668
if (!state->is_valid)
16691669
{
@@ -1676,11 +1676,11 @@ rollbackSavepoint(TransObject *object, TransObjectType type)
16761676
else
16771677
{
16781678
/* Remove current state */
1679-
removeState(object, TOP_VARIABLE, state);
1679+
removeState(object, TRANS_VARIABLE, state);
16801680

16811681
/* Remove variable if it was created in rolled back transaction */
16821682
if (dlist_is_empty(&object->states))
1683-
removeObject(object, TOP_VARIABLE);
1683+
removeObject(object, TRANS_VARIABLE);
16841684
}
16851685
}
16861686

@@ -1843,7 +1843,7 @@ addToChangesStack(TransObject *transObj, TransObjectType type)
18431843

18441844
csn = get_actual_changes_list();
18451845
co = makeChangedObject(transObj, csn->ctx);
1846-
dlist_push_head(type == TOP_PACKAGE ? csn->changedPacksList :
1846+
dlist_push_head(type == TRANS_PACKAGE ? csn->changedPacksList :
18471847
csn->changedVarsList, &co->node);
18481848

18491849
/* Give this object current subxact level */
@@ -1928,7 +1928,7 @@ processChanges(Action action)
19281928
switch (action)
19291929
{
19301930
case ROLLBACK_TO_SAVEPOINT:
1931-
rollbackSavepoint(object, i ? TOP_VARIABLE : TOP_PACKAGE);
1931+
rollbackSavepoint(object, i ? TRANS_VARIABLE : TRANS_PACKAGE);
19321932
break;
19331933
case RELEASE_SAVEPOINT:
19341934
/*
@@ -1951,7 +1951,7 @@ processChanges(Action action)
19511951
isObjectChangedInUpperTrans(object))
19521952
{
19531953
/* We just have to drop previous state */
1954-
releaseSavepoint(object, i ? TOP_VARIABLE : TOP_PACKAGE);
1954+
releaseSavepoint(object, i ? TRANS_VARIABLE : TRANS_PACKAGE);
19551955
}
19561956
else
19571957
{

pg_variables.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,8 @@ typedef struct ChangedObject
134134
/* Type of transactional object instance */
135135
typedef enum TransObjectType
136136
{
137-
TOP_PACKAGE,
138-
TOP_VARIABLE
137+
TRANS_PACKAGE,
138+
TRANS_VARIABLE
139139
} TransObjectType;
140140

141141
/* Element of stack with 'changedVars' and 'changedPacks' list heads*/

0 commit comments

Comments
 (0)