Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit58ecc51

Browse files
Transaction object types clarifying
1 parent8bc1289 commit58ecc51

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 createa transactionalvariable 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
returnpackage;
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
returnvariable;
15231523
}
@@ -1589,7 +1589,7 @@ freeValue(VarState *varstate, Oid typid)
15891589
staticvoid
15901590
removeState(TransObject*object,TransObjectTypetype,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
boolfound;
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
caseROLLBACK_TO_SAVEPOINT:
1931-
rollbackSavepoint(object,i ?TOP_VARIABLE :TOP_PACKAGE);
1931+
rollbackSavepoint(object,i ?TRANS_VARIABLE :TRANS_PACKAGE);
19321932
break;
19331933
caseRELEASE_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
typedefenumTransObjectType
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)

[8]ページ先頭

©2009-2025 Movatter.jp