Skip to content

Commit 23f5927

Browse files
committed
Modify builtins using the imported module as pypy was complaining. fixes #97
1 parent 7ee74cd commit 23f5927

1 file changed

Lines changed: 11 additions & 10 deletions

File tree

postgresql/temporal.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"""
77
import os
88
import atexit
9+
import builtins
910
from collections import deque
1011
from .cluster import Cluster, ClusterError
1112
from . import installation
@@ -179,7 +180,7 @@ def new_pg_tmp_connection(l = extras, c = c, sbid = 'sandbox' + str(self.sandbox
179180
return l[-1]
180181

181182
# The new builtins.
182-
builtins = {
183+
local_builtins = {
183184
'db' : c,
184185
'prepare' : c.prepare,
185186
'xact' : c.xact,
@@ -193,37 +194,37 @@ def new_pg_tmp_connection(l = extras, c = c, sbid = 'sandbox' + str(self.sandbox
193194
if not self.builtins_stack:
194195
# Store any of those set or not set.
195196
current = {
196-
k : __builtins__[k] for k in self.builtins_keys
197-
if k in __builtins__
197+
k : builtins.__dict__[k] for k in self.builtins_keys
198+
if k in builtins.__dict__
198199
}
199200
self.builtins_stack.append((current, []))
200201

201202
# Store and push.
202-
self.builtins_stack.append((builtins, extras))
203-
__builtins__.update(builtins)
203+
self.builtins_stack.append((local_builtins, extras))
204+
builtins.__dict__.update(local_builtins)
204205
self.sandbox_id += 1
205206

206207
def pop(self, exc, drop_schema = 'DROP SCHEMA sandbox{0} CASCADE'.format):
207-
builtins, extras = self.builtins_stack.pop()
208+
local_builtins, extras = self.builtins_stack.pop()
208209
self.sandbox_id -= 1
209210

210211
# restore __builtins__
211212
if len(self.builtins_stack) > 1:
212-
__builtins__.update(self.builtins_stack[-1][0])
213+
builtins.__dict__.update(self.builtins_stack[-1][0])
213214
else:
214215
previous = self.builtins_stack.popleft()
215216
for x in self.builtins_keys:
216217
if x in previous:
217-
__builtins__[x] = previous[x]
218+
builtins.__dict__[x] = previous[x]
218219
else:
219220
# Wasn't set before.
220-
__builtins__.pop(x, None)
221+
builtins.__dict__.pop(x, None)
221222

222223
# close popped connection, but only if we're not in an interrupt.
223224
# However, temporal will always terminate all backends atexit.
224225
if exc is None or isinstance(exc, Exception):
225226
# Interrupt then close. Just in case something is lingering.
226-
for xdb in [builtins['db']] + list(extras):
227+
for xdb in [local_builtins['db']] + list(extras):
227228
if xdb.closed is False:
228229
# In order for a clean close of the connection,
229230
# interrupt before closing. It is still

0 commit comments

Comments
 (0)