[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