crnl2nl
This commit is contained in:
parent
7a3a3836bb
commit
abff571985
@ -196,9 +196,11 @@ class DBPools:
|
|||||||
sor = await self.getSqlor(dbname)
|
sor = await self.getSqlor(dbname)
|
||||||
try:
|
try:
|
||||||
ret = await func(sor,dbname,*args,**kw)
|
ret = await func(sor,dbname,*args,**kw)
|
||||||
|
await sor.conn.commit()
|
||||||
return ret
|
return ret
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print('error',sor)
|
print('error',sor)
|
||||||
|
sor.conn.rollback()
|
||||||
raise e
|
raise e
|
||||||
finally:
|
finally:
|
||||||
await self.freeSqlor(sor)
|
await self.freeSqlor(sor)
|
||||||
@ -209,19 +211,21 @@ class DBPools:
|
|||||||
@wraps(func)
|
@wraps(func)
|
||||||
async def wrap_func(dbname,NS,callback=None,**kw):
|
async def wrap_func(dbname,NS,callback=None,**kw):
|
||||||
sor = await self.getSqlor(dbname)
|
sor = await self.getSqlor(dbname)
|
||||||
|
ret = None
|
||||||
try:
|
try:
|
||||||
desc = func(dbname,NS,callback=callback,**kw)
|
desc = func(dbname,NS,callback=callback,**kw)
|
||||||
ret = await sor.runSQL(desc,NS,callback,**kw)
|
ret = await sor.runSQL(desc,NS,callback,**kw)
|
||||||
|
await sor.conn.commit()
|
||||||
if NS.get('dummy'):
|
if NS.get('dummy'):
|
||||||
return NS['dummy']
|
return NS['dummy']
|
||||||
else:
|
else:
|
||||||
return []
|
return []
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print('error:',e)
|
print('error:',e)
|
||||||
|
await sor.conn.rollback()
|
||||||
raise e
|
raise e
|
||||||
finally:
|
finally:
|
||||||
await self.freeSqlor(sor)
|
await self.freeSqlor(sor)
|
||||||
return ret
|
|
||||||
return wrap_func
|
return wrap_func
|
||||||
|
|
||||||
def runSQLPaging(self,func):
|
def runSQLPaging(self,func):
|
||||||
|
@ -160,14 +160,14 @@ class SQLor(object):
|
|||||||
markedSQL,datas = self.maskingSQL(sql,NS)
|
markedSQL,datas = self.maskingSQL(sql,NS)
|
||||||
datas = self.dataConvert(datas)
|
datas = self.dataConvert(datas)
|
||||||
try:
|
try:
|
||||||
markedSQL = markedSQL.encode('utf8')
|
# markedSQL = markedSQL.encode('utf8')
|
||||||
if self.async_mode:
|
if self.async_mode:
|
||||||
await cursor.execute(markedSQL,datas)
|
await cursor.execute(markedSQL,datas)
|
||||||
else:
|
else:
|
||||||
cursor.execute(markedSQL,datas)
|
cursor.execute(markedSQL,datas)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print( "markedSQL=",markedSQL,datas,e)
|
print( "markedSQL=",markedSQL,':',datas,':',e)
|
||||||
raise e
|
raise e
|
||||||
return
|
return
|
||||||
|
|
||||||
|
22
test/t2.py
22
test/t2.py
@ -3,6 +3,18 @@ import asyncio
|
|||||||
from sqlor.dbpools import DBPools
|
from sqlor.dbpools import DBPools
|
||||||
|
|
||||||
dbs={
|
dbs={
|
||||||
|
"tasks":{
|
||||||
|
"driver":"aiomysql",
|
||||||
|
"async_mode":True,
|
||||||
|
"coding":"utf8",
|
||||||
|
"dbname":"tasks",
|
||||||
|
"kwargs":{
|
||||||
|
"user":"test",
|
||||||
|
"db":"tasks",
|
||||||
|
"password":"test123",
|
||||||
|
"host":"localhost"
|
||||||
|
}
|
||||||
|
},
|
||||||
"aiocfae":{
|
"aiocfae":{
|
||||||
"driver":"aiomysql",
|
"driver":"aiomysql",
|
||||||
"async_mode":True,
|
"async_mode":True,
|
||||||
@ -39,4 +51,14 @@ async def testfunc():
|
|||||||
}
|
}
|
||||||
x = await sql('cfae',{},print)
|
x = await sql('cfae',{},print)
|
||||||
|
|
||||||
|
async def testfunc1():
|
||||||
|
@pool.runSQL
|
||||||
|
def sql(db,ns,callback):
|
||||||
|
return {
|
||||||
|
"sql_string":"select * from timeobjects",
|
||||||
|
}
|
||||||
|
print('testfunc1(),test tasks database select')
|
||||||
|
x = await sql('tasks',{},print)
|
||||||
|
|
||||||
loop.run_until_complete(testfunc())
|
loop.run_until_complete(testfunc())
|
||||||
|
loop.run_until_complete(testfunc1())
|
||||||
|
Loading…
Reference in New Issue
Block a user