Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
cf3de5a3
Commit
cf3de5a3
authored
Nov 21, 2018
by
wjx@disanbo.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix execdellocal
parent
075a66c1
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
281 additions
and
42 deletions
+281
-42
exec_del_local.go
plugin/dapp/lottery/executor/exec_del_local.go
+4
-4
exec_del_local.go
plugin/dapp/retrieve/executor/exec_del_local.go
+20
-15
exec_local.go
plugin/dapp/retrieve/executor/exec_local.go
+22
-16
retrieve_unit_test.go
plugin/dapp/retrieve/executor/retrieve_unit_test.go
+228
-0
exec_del_local.go
plugin/dapp/ticket/executor/exec_del_local.go
+5
-5
rpc_test.go
plugin/dapp/ticket/rpc/rpc_test.go
+2
-2
No files found.
plugin/dapp/lottery/executor/exec_del_local.go
View file @
cf3de5a3
...
@@ -43,20 +43,20 @@ func (l *Lottery) execDelLocal(tx *types.Transaction, receiptData *types.Receipt
...
@@ -43,20 +43,20 @@ func (l *Lottery) execDelLocal(tx *types.Transaction, receiptData *types.Receipt
// ExecDelLocal_Create Action
// ExecDelLocal_Create Action
func
(
l
*
Lottery
)
ExecDelLocal_Create
(
payload
*
pty
.
LotteryCreate
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
l
*
Lottery
)
ExecDelLocal_Create
(
payload
*
pty
.
LotteryCreate
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
return
nil
,
nil
return
l
.
execDelLocal
(
tx
,
receiptData
)
}
}
// ExecDelLocal_Buy Action
// ExecDelLocal_Buy Action
func
(
l
*
Lottery
)
ExecDelLocal_Buy
(
payload
*
pty
.
LotteryBuy
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
l
*
Lottery
)
ExecDelLocal_Buy
(
payload
*
pty
.
LotteryBuy
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
return
nil
,
nil
return
l
.
execDelLocal
(
tx
,
receiptData
)
}
}
// ExecDelLocal_Draw Action
// ExecDelLocal_Draw Action
func
(
l
*
Lottery
)
ExecDelLocal_Draw
(
payload
*
pty
.
LotteryDraw
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
l
*
Lottery
)
ExecDelLocal_Draw
(
payload
*
pty
.
LotteryDraw
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
return
nil
,
nil
return
l
.
execDelLocal
(
tx
,
receiptData
)
}
}
// ExecDelLocal_Close Action
// ExecDelLocal_Close Action
func
(
l
*
Lottery
)
ExecDelLocal_Close
(
payload
*
pty
.
LotteryClose
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
l
*
Lottery
)
ExecDelLocal_Close
(
payload
*
pty
.
LotteryClose
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
return
nil
,
nil
return
l
.
execDelLocal
(
tx
,
receiptData
)
}
}
plugin/dapp/retrieve/executor/exec_del_local.go
View file @
cf3de5a3
...
@@ -48,20 +48,13 @@ func DelRetrieveInfo(info *rt.RetrieveQuery, Status int64, db dbm.KVDB) (*types.
...
@@ -48,20 +48,13 @@ func DelRetrieveInfo(info *rt.RetrieveQuery, Status int64, db dbm.KVDB) (*types.
}
}
}
}
func
(
c
*
Retrieve
)
execDelLocal
(
tx
*
types
.
Transaction
,
receipt
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
set
,
err
:=
c
.
DriverBase
.
ExecDelLocal
(
tx
,
receipt
,
index
)
if
err
!=
nil
{
return
nil
,
err
}
if
receipt
.
GetTy
()
!=
types
.
ExecOk
{
return
set
,
nil
}
return
set
,
nil
}
// ExecDelLocal_Backup Action
// ExecDelLocal_Backup Action
func
(
c
*
Retrieve
)
ExecDelLocal_Backup
(
backup
*
rt
.
BackupRetrieve
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
c
*
Retrieve
)
ExecDelLocal_Backup
(
backup
*
rt
.
BackupRetrieve
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
set
,
_
:=
c
.
execDelLocal
(
tx
,
receiptData
,
index
)
set
:=
&
types
.
LocalDBSet
{}
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
set
,
nil
}
rlog
.
Debug
(
"Retrieve ExecDelLocal_Backup"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
backup
.
BackupAddress
,
DefaultAddress
:
backup
.
DefaultAddress
,
DelayPeriod
:
backup
.
DelayPeriod
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveBackup
}
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
backup
.
BackupAddress
,
DefaultAddress
:
backup
.
DefaultAddress
,
DelayPeriod
:
backup
.
DelayPeriod
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveBackup
}
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrieveBackup
,
c
.
GetLocalDB
())
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrieveBackup
,
c
.
GetLocalDB
())
...
@@ -78,7 +71,11 @@ func (c *Retrieve) ExecDelLocal_Backup(backup *rt.BackupRetrieve, tx *types.Tran
...
@@ -78,7 +71,11 @@ func (c *Retrieve) ExecDelLocal_Backup(backup *rt.BackupRetrieve, tx *types.Tran
// ExecDelLocal_Prepare Action
// ExecDelLocal_Prepare Action
func
(
c
*
Retrieve
)
ExecDelLocal_Prepare
(
pre
*
rt
.
PrepareRetrieve
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
c
*
Retrieve
)
ExecDelLocal_Prepare
(
pre
*
rt
.
PrepareRetrieve
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
set
,
_
:=
c
.
execDelLocal
(
tx
,
receiptData
,
index
)
set
:=
&
types
.
LocalDBSet
{}
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
set
,
nil
}
rlog
.
Debug
(
"Retrieve ExecDelLocal_Prepare"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
pre
.
BackupAddress
,
DefaultAddress
:
pre
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
c
.
GetBlockTime
(),
RemainTime
:
zeroRemainTime
,
Status
:
retrievePrepare
}
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
pre
.
BackupAddress
,
DefaultAddress
:
pre
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
c
.
GetBlockTime
(),
RemainTime
:
zeroRemainTime
,
Status
:
retrievePrepare
}
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrievePrepare
,
c
.
GetLocalDB
())
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrievePrepare
,
c
.
GetLocalDB
())
...
@@ -95,7 +92,11 @@ func (c *Retrieve) ExecDelLocal_Prepare(pre *rt.PrepareRetrieve, tx *types.Trans
...
@@ -95,7 +92,11 @@ func (c *Retrieve) ExecDelLocal_Prepare(pre *rt.PrepareRetrieve, tx *types.Trans
// ExecDelLocal_Perform Action
// ExecDelLocal_Perform Action
func
(
c
*
Retrieve
)
ExecDelLocal_Perform
(
perf
*
rt
.
PerformRetrieve
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
c
*
Retrieve
)
ExecDelLocal_Perform
(
perf
*
rt
.
PerformRetrieve
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
set
,
_
:=
c
.
execDelLocal
(
tx
,
receiptData
,
index
)
set
:=
&
types
.
LocalDBSet
{}
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
set
,
nil
}
rlog
.
Debug
(
"Retrieve ExecDelLocal_Perform"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
perf
.
BackupAddress
,
DefaultAddress
:
perf
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePerform
}
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
perf
.
BackupAddress
,
DefaultAddress
:
perf
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePerform
}
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrievePerform
,
c
.
GetLocalDB
())
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrievePerform
,
c
.
GetLocalDB
())
...
@@ -112,7 +113,11 @@ func (c *Retrieve) ExecDelLocal_Perform(perf *rt.PerformRetrieve, tx *types.Tran
...
@@ -112,7 +113,11 @@ func (c *Retrieve) ExecDelLocal_Perform(perf *rt.PerformRetrieve, tx *types.Tran
// ExecDelLocal_Cancel Action
// ExecDelLocal_Cancel Action
func
(
c
*
Retrieve
)
ExecDelLocal_Cancel
(
cancel
*
rt
.
CancelRetrieve
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
c
*
Retrieve
)
ExecDelLocal_Cancel
(
cancel
*
rt
.
CancelRetrieve
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
set
,
_
:=
c
.
execDelLocal
(
tx
,
receiptData
,
index
)
set
:=
&
types
.
LocalDBSet
{}
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
set
,
nil
}
rlog
.
Debug
(
"Retrieve ExecDelLocal_Cancel"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
cancel
.
BackupAddress
,
DefaultAddress
:
cancel
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveCancel
}
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
cancel
.
BackupAddress
,
DefaultAddress
:
cancel
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveCancel
}
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrieveCancel
,
c
.
GetLocalDB
())
kv
,
err
:=
DelRetrieveInfo
(
&
info
,
retrieveCancel
,
c
.
GetLocalDB
())
...
...
plugin/dapp/retrieve/executor/exec_local.go
View file @
cf3de5a3
...
@@ -51,19 +51,13 @@ func SaveRetrieveInfo(info *rt.RetrieveQuery, Status int64, db dbm.KVDB) (*types
...
@@ -51,19 +51,13 @@ func SaveRetrieveInfo(info *rt.RetrieveQuery, Status int64, db dbm.KVDB) (*types
}
}
}
}
func
(
c
*
Retrieve
)
execLocal
(
receipt
types
.
ExecTypeGet
)
(
*
types
.
LocalDBSet
,
error
)
{
dbSet
:=
&
types
.
LocalDBSet
{}
if
receipt
.
GetTy
()
!=
types
.
ExecOk
{
return
dbSet
,
nil
}
rlog
.
Debug
(
"Retrieve ExecLocal"
)
return
dbSet
,
nil
}
// ExecLocal_Backup Action
// ExecLocal_Backup Action
func
(
c
*
Retrieve
)
ExecLocal_Backup
(
backup
*
rt
.
BackupRetrieve
,
tx
*
types
.
Transaction
,
receiptData
types
.
ExecTypeGet
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
c
*
Retrieve
)
ExecLocal_Backup
(
backup
*
rt
.
BackupRetrieve
,
tx
*
types
.
Transaction
,
receiptData
types
.
ExecTypeGet
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
set
,
_
:=
c
.
execLocal
(
receiptData
)
set
:=
&
types
.
LocalDBSet
{}
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
set
,
nil
}
rlog
.
Debug
(
"Retrieve ExecLocal_Backup"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
backup
.
BackupAddress
,
DefaultAddress
:
backup
.
DefaultAddress
,
DelayPeriod
:
backup
.
DelayPeriod
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveBackup
}
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
backup
.
BackupAddress
,
DefaultAddress
:
backup
.
DefaultAddress
,
DelayPeriod
:
backup
.
DelayPeriod
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveBackup
}
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrieveBackup
,
c
.
GetLocalDB
())
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrieveBackup
,
c
.
GetLocalDB
())
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -79,7 +73,11 @@ func (c *Retrieve) ExecLocal_Backup(backup *rt.BackupRetrieve, tx *types.Transac
...
@@ -79,7 +73,11 @@ func (c *Retrieve) ExecLocal_Backup(backup *rt.BackupRetrieve, tx *types.Transac
// ExecLocal_Prepare Action
// ExecLocal_Prepare Action
func
(
c
*
Retrieve
)
ExecLocal_Prepare
(
pre
*
rt
.
PrepareRetrieve
,
tx
*
types
.
Transaction
,
receiptData
types
.
ExecTypeGet
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
c
*
Retrieve
)
ExecLocal_Prepare
(
pre
*
rt
.
PrepareRetrieve
,
tx
*
types
.
Transaction
,
receiptData
types
.
ExecTypeGet
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
set
,
_
:=
c
.
execLocal
(
receiptData
)
set
:=
&
types
.
LocalDBSet
{}
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
set
,
nil
}
rlog
.
Debug
(
"Retrieve ExecLocal_Prepare"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
pre
.
BackupAddress
,
DefaultAddress
:
pre
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePrepare
}
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
pre
.
BackupAddress
,
DefaultAddress
:
pre
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePrepare
}
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrievePrepare
,
c
.
GetLocalDB
())
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrievePrepare
,
c
.
GetLocalDB
())
...
@@ -94,9 +92,13 @@ func (c *Retrieve) ExecLocal_Prepare(pre *rt.PrepareRetrieve, tx *types.Transact
...
@@ -94,9 +92,13 @@ func (c *Retrieve) ExecLocal_Prepare(pre *rt.PrepareRetrieve, tx *types.Transact
return
set
,
nil
return
set
,
nil
}
}
// ExecLocal_Perf Action
// ExecLocal_Perform Action
func
(
c
*
Retrieve
)
ExecLocal_Perf
(
perf
*
rt
.
PerformRetrieve
,
tx
*
types
.
Transaction
,
receiptData
types
.
ExecTypeGet
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
c
*
Retrieve
)
ExecLocal_Perform
(
perf
*
rt
.
PerformRetrieve
,
tx
*
types
.
Transaction
,
receiptData
types
.
ExecTypeGet
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
set
,
_
:=
c
.
execLocal
(
receiptData
)
set
:=
&
types
.
LocalDBSet
{}
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
set
,
nil
}
rlog
.
Debug
(
"Retrieve ExecLocal_Perf"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
perf
.
BackupAddress
,
DefaultAddress
:
perf
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePerform
}
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
perf
.
BackupAddress
,
DefaultAddress
:
perf
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePerform
}
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrievePerform
,
c
.
GetLocalDB
())
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrievePerform
,
c
.
GetLocalDB
())
...
@@ -113,7 +115,11 @@ func (c *Retrieve) ExecLocal_Perf(perf *rt.PerformRetrieve, tx *types.Transactio
...
@@ -113,7 +115,11 @@ func (c *Retrieve) ExecLocal_Perf(perf *rt.PerformRetrieve, tx *types.Transactio
// ExecLocal_Cancel Action
// ExecLocal_Cancel Action
func
(
c
*
Retrieve
)
ExecLocal_Cancel
(
cancel
*
rt
.
CancelRetrieve
,
tx
*
types
.
Transaction
,
receiptData
types
.
ExecTypeGet
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
c
*
Retrieve
)
ExecLocal_Cancel
(
cancel
*
rt
.
CancelRetrieve
,
tx
*
types
.
Transaction
,
receiptData
types
.
ExecTypeGet
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
set
,
_
:=
c
.
execLocal
(
receiptData
)
set
:=
&
types
.
LocalDBSet
{}
if
receiptData
.
GetTy
()
!=
types
.
ExecOk
{
return
set
,
nil
}
rlog
.
Debug
(
"Retrieve ExecLocal_Cancel"
)
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
cancel
.
BackupAddress
,
DefaultAddress
:
cancel
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveCancel
}
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
cancel
.
BackupAddress
,
DefaultAddress
:
cancel
.
DefaultAddress
,
DelayPeriod
:
zeroDelay
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveCancel
}
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrieveCancel
,
c
.
GetLocalDB
())
kv
,
err
:=
SaveRetrieveInfo
(
&
info
,
retrieveCancel
,
c
.
GetLocalDB
())
...
...
plugin/dapp/retrieve/executor/retrieve_unit_test.go
View file @
cf3de5a3
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
package
executor
package
executor
import
(
import
(
"bytes"
"errors"
"errors"
"fmt"
"fmt"
"testing"
"testing"
...
@@ -75,9 +76,163 @@ func TestExecPerform(t *testing.T) {
...
@@ -75,9 +76,163 @@ func TestExecPerform(t *testing.T) {
}
}
}
}
func
TestExecLocalBackup
(
t
*
testing
.
T
)
{
var
targetDBSet
types
.
LocalDBSet
var
targetErr
error
var
dbset
*
types
.
LocalDBSet
var
err
error
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
backupAddr
,
DefaultAddress
:
defaultAddr
,
DelayPeriod
:
70
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveBackup
}
value
:=
types
.
Encode
(
&
info
)
kv
:=
&
types
.
KeyValue
{
Key
:
calcRetrieveKey
(
backupAddr
,
defaultAddr
),
Value
:
value
}
targetDBSet
.
KV
=
append
(
targetDBSet
.
KV
,
kv
)
tx
:=
ConstructBackupTx
()
var
receiptData
types
.
ReceiptData
receiptData
.
Ty
=
types
.
ExecOk
dbset
,
err
=
retrieve
.
ExecLocal
(
tx
,
&
receiptData
,
0
)
if
err
!=
nil
{
t
.
Error
(
testNormErr
)
}
if
!
CompareRetrieveExecLocalRes
(
&
targetDBSet
,
err
,
dbset
,
targetErr
)
{
t
.
Error
(
testNormErr
)
}
}
func
TestExecLocalPrepare
(
t
*
testing
.
T
)
{
var
targetDBSet
types
.
LocalDBSet
var
targetErr
error
var
dbset
*
types
.
LocalDBSet
var
err
error
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
backupAddr
,
DefaultAddress
:
defaultAddr
,
DelayPeriod
:
70
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePrepare
}
value
:=
types
.
Encode
(
&
info
)
kv
:=
&
types
.
KeyValue
{
Key
:
calcRetrieveKey
(
backupAddr
,
defaultAddr
),
Value
:
value
}
targetDBSet
.
KV
=
append
(
targetDBSet
.
KV
,
kv
)
tx
:=
ConstructPrepareTx
()
var
receiptData
types
.
ReceiptData
receiptData
.
Ty
=
types
.
ExecOk
dbset
,
err
=
retrieve
.
ExecLocal
(
tx
,
&
receiptData
,
0
)
if
err
!=
nil
{
t
.
Error
(
testNormErr
)
}
if
!
CompareRetrieveExecLocalRes
(
&
targetDBSet
,
err
,
dbset
,
targetErr
)
{
t
.
Error
(
testNormErr
)
}
}
func
TestExecLocalPerform
(
t
*
testing
.
T
)
{
var
targetDBSet
types
.
LocalDBSet
var
targetErr
error
var
dbset
*
types
.
LocalDBSet
var
err
error
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
backupAddr
,
DefaultAddress
:
defaultAddr
,
DelayPeriod
:
70
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePerform
}
value
:=
types
.
Encode
(
&
info
)
kv
:=
&
types
.
KeyValue
{
Key
:
calcRetrieveKey
(
backupAddr
,
defaultAddr
),
Value
:
value
}
targetDBSet
.
KV
=
append
(
targetDBSet
.
KV
,
kv
)
tx
:=
ConstructPerformTx
()
var
receiptData
types
.
ReceiptData
receiptData
.
Ty
=
types
.
ExecOk
dbset
,
err
=
retrieve
.
ExecLocal
(
tx
,
&
receiptData
,
0
)
if
err
!=
nil
{
t
.
Error
(
testNormErr
)
}
if
!
CompareRetrieveExecLocalRes
(
&
targetDBSet
,
err
,
dbset
,
targetErr
)
{
t
.
Error
(
testNormErr
)
}
}
func
TestExecDelLocalPerform
(
t
*
testing
.
T
)
{
var
targetDBSet
types
.
LocalDBSet
var
targetErr
error
var
dbset
*
types
.
LocalDBSet
var
err
error
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
backupAddr
,
DefaultAddress
:
defaultAddr
,
DelayPeriod
:
70
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrievePrepare
}
value
:=
types
.
Encode
(
&
info
)
kv
:=
&
types
.
KeyValue
{
Key
:
calcRetrieveKey
(
backupAddr
,
defaultAddr
),
Value
:
value
}
targetDBSet
.
KV
=
append
(
targetDBSet
.
KV
,
kv
)
tx
:=
ConstructPerformTx
()
var
receiptData
types
.
ReceiptData
receiptData
.
Ty
=
types
.
ExecOk
dbset
,
err
=
retrieve
.
ExecDelLocal
(
tx
,
&
receiptData
,
0
)
if
err
!=
nil
{
t
.
Error
(
testNormErr
)
}
if
!
CompareRetrieveExecLocalRes
(
&
targetDBSet
,
err
,
dbset
,
targetErr
)
{
t
.
Error
(
testNormErr
)
}
}
func
TestExecDelLocalPrepare
(
t
*
testing
.
T
)
{
var
targetDBSet
types
.
LocalDBSet
var
targetErr
error
var
dbset
*
types
.
LocalDBSet
var
err
error
info
:=
rt
.
RetrieveQuery
{
BackupAddress
:
backupAddr
,
DefaultAddress
:
defaultAddr
,
DelayPeriod
:
70
,
PrepareTime
:
zeroPrepareTime
,
RemainTime
:
zeroRemainTime
,
Status
:
retrieveBackup
}
value
:=
types
.
Encode
(
&
info
)
kv
:=
&
types
.
KeyValue
{
Key
:
calcRetrieveKey
(
backupAddr
,
defaultAddr
),
Value
:
value
}
targetDBSet
.
KV
=
append
(
targetDBSet
.
KV
,
kv
)
tx
:=
ConstructPrepareTx
()
var
receiptData
types
.
ReceiptData
receiptData
.
Ty
=
types
.
ExecOk
dbset
,
err
=
retrieve
.
ExecDelLocal
(
tx
,
&
receiptData
,
0
)
if
err
!=
nil
{
t
.
Error
(
testNormErr
)
}
if
!
CompareRetrieveExecLocalRes
(
&
targetDBSet
,
err
,
dbset
,
targetErr
)
{
t
.
Error
(
testNormErr
)
}
}
func
TestExecDelLocalBackup
(
t
*
testing
.
T
)
{
var
targetDBSet
types
.
LocalDBSet
var
targetErr
error
var
dbset
*
types
.
LocalDBSet
var
err
error
kv
:=
&
types
.
KeyValue
{
Key
:
calcRetrieveKey
(
backupAddr
,
defaultAddr
),
Value
:
nil
}
targetDBSet
.
KV
=
append
(
targetDBSet
.
KV
,
kv
)
tx
:=
ConstructBackupTx
()
var
receiptData
types
.
ReceiptData
receiptData
.
Ty
=
types
.
ExecOk
dbset
,
err
=
retrieve
.
ExecDelLocal
(
tx
,
&
receiptData
,
0
)
if
err
!=
nil
{
t
.
Error
(
testNormErr
)
}
if
!
CompareRetrieveExecLocalRes
(
&
targetDBSet
,
err
,
dbset
,
targetErr
)
{
t
.
Error
(
testNormErr
)
}
}
func
constructRetrieveInstance
()
drivers
.
Driver
{
func
constructRetrieveInstance
()
drivers
.
Driver
{
r
:=
newRetrieve
()
r
:=
newRetrieve
()
r
.
SetStateDB
(
NewTestDB
())
r
.
SetStateDB
(
NewTestDB
())
r
.
SetLocalDB
(
NewTestLDB
())
return
r
return
r
}
}
...
@@ -118,6 +273,43 @@ func ConstructPerformTx() *types.Transaction {
...
@@ -118,6 +273,43 @@ func ConstructPerformTx() *types.Transaction {
return
tx
return
tx
}
}
func
CompareRetrieveExecLocalRes
(
dbset1
*
types
.
LocalDBSet
,
err1
error
,
dbset2
*
types
.
LocalDBSet
,
err2
error
)
bool
{
//fmt.Println(err1, err2, dbset1, dbset2)
if
err1
!=
err2
{
fmt
.
Println
(
err1
,
err2
)
return
false
}
if
dbset1
==
nil
&&
dbset2
==
nil
{
return
true
}
if
(
dbset1
==
nil
)
!=
(
dbset2
==
nil
)
{
return
false
}
if
dbset1
.
KV
==
nil
&&
dbset2
.
KV
==
nil
{
return
true
}
if
(
dbset1
.
KV
==
nil
)
!=
(
dbset2
.
KV
==
nil
)
{
return
false
}
if
len
(
dbset1
.
KV
)
!=
len
(
dbset2
.
KV
)
{
return
false
}
for
i
:=
range
dbset1
.
KV
{
if
!
bytes
.
Equal
(
dbset1
.
KV
[
i
]
.
Key
,
dbset2
.
KV
[
i
]
.
Key
)
{
return
false
}
if
!
bytes
.
Equal
(
dbset1
.
KV
[
i
]
.
Value
,
dbset2
.
KV
[
i
]
.
Value
)
{
return
false
}
}
return
true
}
func
CompareRetrieveExecResult
(
rec1
*
types
.
Receipt
,
err1
error
,
rec2
*
types
.
Receipt
,
err2
error
)
bool
{
func
CompareRetrieveExecResult
(
rec1
*
types
.
Receipt
,
err1
error
,
rec2
*
types
.
Receipt
,
err2
error
)
bool
{
if
err1
!=
err2
{
if
err1
!=
err2
{
fmt
.
Println
(
err1
,
err2
)
fmt
.
Println
(
err1
,
err2
)
...
@@ -133,6 +325,42 @@ func CompareRetrieveExecResult(rec1 *types.Receipt, err1 error, rec2 *types.Rece
...
@@ -133,6 +325,42 @@ func CompareRetrieveExecResult(rec1 *types.Receipt, err1 error, rec2 *types.Rece
return
true
return
true
}
}
type
TestLDB
struct
{
db
.
TransactionDB
cache
map
[
string
][]
byte
}
func
NewTestLDB
()
*
TestLDB
{
return
&
TestLDB
{
cache
:
make
(
map
[
string
][]
byte
)}
}
func
(
e
*
TestLDB
)
Get
(
key
[]
byte
)
(
value
[]
byte
,
err
error
)
{
if
value
,
ok
:=
e
.
cache
[
string
(
key
)];
ok
{
//elog.Error("getkey", "key", string(key), "value", string(value))
return
value
,
nil
}
return
nil
,
types
.
ErrNotFound
}
func
(
e
*
TestLDB
)
Set
(
key
[]
byte
,
value
[]
byte
)
error
{
//elog.Error("setkey", "key", string(key), "value", string(value))
e
.
cache
[
string
(
key
)]
=
value
return
nil
}
func
(
e
*
TestLDB
)
BatchGet
(
keys
[][]
byte
)
(
values
[][]
byte
,
err
error
)
{
return
nil
,
types
.
ErrNotFound
}
//从数据库中查询数据列表,set 中的cache 更新不会影响这个list
func
(
e
*
TestLDB
)
List
(
prefix
,
key
[]
byte
,
count
,
direction
int32
)
([][]
byte
,
error
)
{
return
nil
,
types
.
ErrNotFound
}
func
(
e
*
TestLDB
)
PrefixCount
(
prefix
[]
byte
)
int64
{
return
0
}
type
TestDB
struct
{
type
TestDB
struct
{
db
.
TransactionDB
db
.
TransactionDB
cache
map
[
string
][]
byte
cache
map
[
string
][]
byte
...
...
plugin/dapp/ticket/executor/exec_del_local.go
100644 → 100755
View file @
cf3de5a3
...
@@ -39,25 +39,25 @@ func (t *Ticket) execDelLocal(receiptData *types.ReceiptData) (*types.LocalDBSet
...
@@ -39,25 +39,25 @@ func (t *Ticket) execDelLocal(receiptData *types.ReceiptData) (*types.LocalDBSet
// ExecDelLocal_Genesis exec del local genesis
// ExecDelLocal_Genesis exec del local genesis
func
(
t
*
Ticket
)
ExecDelLocal_Genesis
(
payload
*
ty
.
TicketGenesis
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
t
*
Ticket
)
ExecDelLocal_Genesis
(
payload
*
ty
.
TicketGenesis
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
return
nil
,
nil
return
t
.
execDelLocal
(
receiptData
)
}
}
// ExecDelLocal_Topen exec del local open
// ExecDelLocal_Topen exec del local open
func
(
t
*
Ticket
)
ExecDelLocal_Topen
(
payload
*
ty
.
TicketOpen
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
t
*
Ticket
)
ExecDelLocal_Topen
(
payload
*
ty
.
TicketOpen
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
return
nil
,
nil
return
t
.
execDelLocal
(
receiptData
)
}
}
// ExecDelLocal_Tbind exec del local bind
// ExecDelLocal_Tbind exec del local bind
func
(
t
*
Ticket
)
ExecDelLocal_Tbind
(
payload
*
ty
.
TicketBind
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
t
*
Ticket
)
ExecDelLocal_Tbind
(
payload
*
ty
.
TicketBind
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
return
nil
,
nil
return
t
.
execDelLocal
(
receiptData
)
}
}
// ExecDelLocal_Tclose exec del local close
// ExecDelLocal_Tclose exec del local close
func
(
t
*
Ticket
)
ExecDelLocal_Tclose
(
payload
*
ty
.
TicketClose
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
t
*
Ticket
)
ExecDelLocal_Tclose
(
payload
*
ty
.
TicketClose
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
return
nil
,
nil
return
t
.
execDelLocal
(
receiptData
)
}
}
// ExecDelLocal_Miner exec del local miner
// ExecDelLocal_Miner exec del local miner
func
(
t
*
Ticket
)
ExecDelLocal_Miner
(
payload
*
ty
.
TicketMiner
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
func
(
t
*
Ticket
)
ExecDelLocal_Miner
(
payload
*
ty
.
TicketMiner
,
tx
*
types
.
Transaction
,
receiptData
*
types
.
ReceiptData
,
index
int
)
(
*
types
.
LocalDBSet
,
error
)
{
return
nil
,
nil
return
t
.
execDelLocal
(
receiptData
)
}
}
plugin/dapp/ticket/rpc/rpc_test.go
100644 → 100755
View file @
cf3de5a3
...
@@ -43,8 +43,8 @@ func TestChannelClient_BindMiner(t *testing.T) {
...
@@ -43,8 +43,8 @@ func TestChannelClient_BindMiner(t *testing.T) {
storevalue
.
Values
=
append
(
storevalue
.
Values
,
accv
)
storevalue
.
Values
=
append
(
storevalue
.
Values
,
accv
)
api
.
On
(
"StoreGet"
,
mock
.
Anything
)
.
Return
(
storevalue
,
nil
)
api
.
On
(
"StoreGet"
,
mock
.
Anything
)
.
Return
(
storevalue
,
nil
)
var
addrs
=
make
([]
string
,
1
)
//
var addrs = make([]string, 1)
addrs
=
append
(
addrs
,
"1Jn2qu84Z1SUUosWjySggBS9pKWdAP3tZt"
)
//
addrs = append(addrs, "1Jn2qu84Z1SUUosWjySggBS9pKWdAP3tZt")
var
in
=
&
ty
.
ReqBindMiner
{
var
in
=
&
ty
.
ReqBindMiner
{
BindAddr
:
"1Jn2qu84Z1SUUosWjySggBS9pKWdAP3tZt"
,
BindAddr
:
"1Jn2qu84Z1SUUosWjySggBS9pKWdAP3tZt"
,
OriginAddr
:
"1Jn2qu84Z1SUUosWjySggBS9pKWdAP3tZt"
,
OriginAddr
:
"1Jn2qu84Z1SUUosWjySggBS9pKWdAP3tZt"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment