[pypy-svn] r69463 - pypy/trunk/pypy/module/oracle
afa at codespeak.net
afa at codespeak.net
Fri Nov 20 11:53:47 CET 2009
Author: afa
Date: Fri Nov 20 11:53:47 2009
New Revision: 69463
Modified:
pypy/trunk/pypy/module/oracle/interp_connect.py
pypy/trunk/pypy/module/oracle/interp_cursor.py
pypy/trunk/pypy/module/oracle/interp_variable.py
pypy/trunk/pypy/module/oracle/transform.py
Log:
Use the new space.fixedview and space.listview operations
Modified: pypy/trunk/pypy/module/oracle/interp_connect.py
==============================================================================
--- pypy/trunk/pypy/module/oracle/interp_connect.py (original)
+++ pypy/trunk/pypy/module/oracle/interp_connect.py Fri Nov 20 11:53:47 2009
@@ -56,13 +56,13 @@
# perform some parsing, if necessary
if (self.w_username and not self.w_password and
space.is_true(space.contains(self.w_username, space.wrap('/')))):
- (self.w_username, self.w_password) = space.unpackiterable(
+ (self.w_username, self.w_password) = space.listview(
space.call_method(self.w_username, 'split',
space.wrap('/'), space.wrap(1)))
-
+
if (self.w_password and not self.w_tnsentry and
space.is_true(space.contains(self.w_password, space.wrap('@')))):
- (self.w_password, self.w_tnsentry) = space.unpackiterable(
+ (self.w_password, self.w_tnsentry) = space.listview(
space.call_method(self.w_password, 'split',
space.wrap('@'), space.wrap(1)))
Modified: pypy/trunk/pypy/module/oracle/interp_cursor.py
==============================================================================
--- pypy/trunk/pypy/module/oracle/interp_cursor.py (original)
+++ pypy/trunk/pypy/module/oracle/interp_cursor.py Fri Nov 20 11:53:47 2009
@@ -132,15 +132,16 @@
space.wrap("queries not supported: results undefined"))
# perform binds
- numrows = space.int_w(space.len(w_list_of_args))
- for i, arguments in enumerate(space.viewiterable(w_list_of_args)):
+ args_w = space.listview(w_list_of_args)
+ numrows = len(args_w)
+ for i, w_arguments in enumerate(args_w):
deferred = i < numrows - 1
- if space.is_true(space.isinstance(arguments, space.w_dict)):
+ if space.is_true(space.isinstance(w_arguments, space.w_dict)):
self._setBindVariablesByName(
- space, arguments, numrows, i, deferred)
+ space, w_arguments, numrows, i, deferred)
else:
self._setBindVariablesByPos(
- space, arguments, numrows, i, deferred)
+ space, w_arguments, numrows, i, deferred)
self._performBind(space)
# execute the statement, but only if the number of rows is greater than
@@ -546,7 +547,7 @@
if self.bindList is None:
self.bindList = []
- for i, w_value in enumerate(space.viewiterable(w_vars)):
+ for i, w_value in enumerate(space.fixedview(w_vars)):
if i < len(self.bindList):
origVar = self.bindList[i]
if space.is_w(origVar, space.w_None):
@@ -574,9 +575,9 @@
if self.bindDict is None:
self.bindDict = space.newdict()
- items = space.viewiterable(space.call_method(w_vars, "iteritems"))
+ items = space.fixedview(space.call_method(w_vars, "iteritems"))
for item in items:
- w_key, w_value = space.viewiterable(item, 2)
+ w_key, w_value = space.fixedview(item, 2)
origVar = space.finditem(self.bindDict, w_key)
newVar = self._setBindVariableHelper(space, w_value, origVar,
numElements, arrayPos, defer)
@@ -643,10 +644,10 @@
for i, var in enumerate(self.bindList):
var.bind(space, self, None, i + 1)
if self.bindDict:
- items = space.viewiterable(
+ items_w = space.fixedview(
space.call_method(self.bindDict, "iteritems"))
- for item in items:
- w_key, var = space.viewiterable(item, 2)
+ for w_item in items_w:
+ w_key, var = space.fixedview(w_item, 2)
var.bind(space, self, w_key, 0)
# ensure that input sizes are reset
Modified: pypy/trunk/pypy/module/oracle/interp_variable.py
==============================================================================
--- pypy/trunk/pypy/module/oracle/interp_variable.py (original)
+++ pypy/trunk/pypy/module/oracle/interp_variable.py Fri Nov 20 11:53:47 2009
@@ -361,7 +361,7 @@
space.w_TypeError,
space.wrap("expecting array data"))
- elements_w = space.viewiterable(w_value)
+ elements_w = space.listview(w_value)
# ensure we haven't exceeded the number of allocated elements
if len(elements_w) > self.allocatedElements:
@@ -949,7 +949,7 @@
# handle arrays
if space.is_true(space.isinstance(w_value, space.w_list)):
- elements_w = space.viewiterable(w_value)
+ elements_w = space.listview(w_value)
for w_element in elements_w:
if not space.is_w(w_element, space.w_None):
break
@@ -982,7 +982,7 @@
def newArrayVariableByType(space, cursor, w_value):
"Allocate a new PL/SQL array by looking at the Python data type."
- w_type, w_numElements = space.viewiterable(w_value, 2)
+ w_type, w_numElements = space.fixedview(w_value, 2)
numElements = space.int_w(w_numElements)
varType = typeByPythonType(space, cursor, w_type)
Modified: pypy/trunk/pypy/module/oracle/transform.py
==============================================================================
--- pypy/trunk/pypy/module/oracle/transform.py (original)
+++ pypy/trunk/pypy/module/oracle/transform.py Fri Nov 20 11:53:47 2009
@@ -63,12 +63,12 @@
w_tuple_value = space.call_method(w_value, "as_tuple")
# acquire basic information from the value tuple
- w_sign, w_digits, w_scale = space.viewiterable(w_tuple_value)
+ w_sign, w_digits, w_scale = space.fixedview(w_tuple_value, 3)
text = ''
format = ''
- digits_w = space.viewiterable(w_digits)
+ digits_w = space.listview(w_digits)
num_digits = len(digits_w)
scale = space.int_w(w_scale)
More information about the Pypy-commit
mailing list