]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
rowid->oid
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 2 Jan 2006 05:22:00 +0000 (05:22 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 2 Jan 2006 05:22:00 +0000 (05:22 +0000)
lib/sqlalchemy/databases/oracle.py
lib/sqlalchemy/databases/postgres.py
lib/sqlalchemy/databases/sqlite.py
lib/sqlalchemy/engine.py
lib/sqlalchemy/mapping/mapper.py
lib/sqlalchemy/mapping/properties.py
lib/sqlalchemy/sql.py
test/mapper.py

index 1f270428cfea16f23f8bc4841f9f079049dda17a..526aca1560150f8993e0aae3e575d6d65b95d974 100644 (file)
@@ -88,7 +88,7 @@ class OracleSQLEngine(ansisql.ANSISQLEngine):
     def last_inserted_ids(self):
         return self.context.last_inserted_ids
 
-    def rowid_column_name(self):
+    def oid_column_name(self):
         return "rowid"
 
     def compiler(self, statement, bindparams, **kwargs):
index e00d16d048a869ab91f5e776223f7831fa20fed2..350f61b7560d0f39a5c32aa85be080d79ff6f6cd 100644 (file)
@@ -154,7 +154,7 @@ class PGSQLEngine(ansisql.ANSISQLEngine):
     def last_inserted_ids(self):
         return self.context.last_inserted_ids
 
-    def rowid_column_name(self):
+    def oid_column_name(self):
         if self.use_oids:
             return "oid"
         else:
@@ -171,7 +171,7 @@ class PGSQLEngine(ansisql.ANSISQLEngine):
                 table = compiled.statement.table
                 cursor = proxy()
                 if cursor.lastrowid is not None and table is not None and len(table.primary_key):
-                    s = sql.select(table.primary_key, table.rowid_column == cursor.lastrowid)
+                    s = sql.select(table.primary_key, table.oid_column == cursor.lastrowid)
                     c = s.compile()
                     cursor = proxy(str(c), c.get_params())
                     row = cursor.fetchone()
index 5708247e20a0fb6976a8042bdaedab0c1fc927c8..df696664d7a63a578e4007c72c0fa281a776057e 100644 (file)
@@ -110,7 +110,7 @@ class SQLiteSQLEngine(ansisql.ANSISQLEngine):
     def last_inserted_ids(self):
         return self.context.last_inserted_ids
 
-    def rowid_column_name(self):
+    def oid_column_name(self):
         return "oid"
 
     def connect_args(self):
index 580d854505ec267ac47dde6c1d05fc6b5282c1f9..6e04ffa2cbc1f73e1fa778213e0b86da95d235b1 100644 (file)
@@ -258,8 +258,8 @@ class SQLEngine(schema.SchemaEngine):
         compiler is called within the context of the compile() method."""
         raise NotImplementedError()
 
-    def rowid_column_name(self):
-        """returns the ROWID column name for this engine, or None if the engine cant/wont support OID/ROWID."""
+    def oid_column_name(self):
+        """returns the oid column name for this engine, or None if the engine cant/wont support OID/ROWID."""
         return None
 
     def supports_sane_rowcount(self):
index 6af044fbbd41841c9b6bf95ff946d3bf36083f89..01dfd05d3c50e5eeb7a8fd8119d1eff51d007440 100644 (file)
@@ -602,8 +602,8 @@ class Mapper(object):
         if not no_sort:
             if self.order_by:
                 order_by = self.order_by
-            elif self.table.rowid_column is not None:
-                order_by = [self.table.rowid_column]
+            elif self.table.oid_column is not None:
+                order_by = [self.table.oid_column]
             else:
                 order_by = None
         else:
@@ -611,8 +611,8 @@ class Mapper(object):
             
         if self._should_nest(**kwargs):
             s2 = sql.select(self.table.primary_key, whereclause, use_labels=True, **kwargs)
-            if not kwargs.get('distinct', False) and self.table.rowid_column is not None:
-                s2.order_by(self.table.rowid_column)
+            if not kwargs.get('distinct', False) and self.table.oid_column is not None:
+                s2.order_by(self.table.oid_column)
             s3 = s2.alias('rowcount')
             crit = []
             for i in range(0, len(self.table.primary_key)):
@@ -627,12 +627,12 @@ class Mapper(object):
             if order_by is not None and kwargs.get('order_by', None) is None:
                 statement.order_by(*order_by)
             # for a DISTINCT query, you need the columns explicitly specified in order
-            # to use it in "order_by" - in the case we added the rowid column in,
+            # to use it in "order_by" - in the case we added the oid column in,
             # add that to the column list
             # TODO: this idea should be handled by the SELECT statement itself, insuring
             # that order_by cols are in the select list if DISTINCT is selected
-            if kwargs.get('distinct', False) and self.table.rowid_column is not None and order_by == [self.table.rowid_column]:
-                statement.append_column(self.table.rowid_column)
+            if kwargs.get('distinct', False) and self.table.oid_column is not None and order_by == [self.table.oid_column]:
+                statement.append_column(self.table.oid_column)
         # plugin point
         
             
index d049aec9885426922054e3a2ca4bd4b3a10f6cf2..e6b41999dbb9f44a124b9ace9c4540493f550ffd 100644 (file)
@@ -592,8 +592,8 @@ class LazyLoader(PropertyLoader):
             if allparams:
                 if self.order_by is not None:
                     order_by = self.order_by
-                elif self.secondary is not None and self.secondary.rowid_column is not None:
-                    order_by = [self.secondary.rowid_column]
+                elif self.secondary is not None and self.secondary.oid_column is not None:
+                    order_by = [self.secondary.oid_column]
                 else:
                     order_by = None
                 result = self.mapper.select(self.lazywhere, order_by=order_by, params=params)
@@ -714,12 +714,12 @@ class EagerLoader(PropertyLoader):
 
         if self.secondaryjoin is not None:
             statement._outerjoin = sql.outerjoin(towrap, self.secondary, self.primaryjoin).outerjoin(self.eagertarget, self.eagersecondary)
-            if self.order_by is None and self.secondary.rowid_column is not None:
-                statement.order_by(self.secondary.rowid_column)
+            if self.order_by is None and self.secondary.oid_column is not None:
+                statement.order_by(self.secondary.oid_column)
         else:
             statement._outerjoin = towrap.outerjoin(self.eagertarget, self.eagerprimary)
-            if self.order_by is None and self.eagertarget.rowid_column is not None:
-                statement.order_by(self.eagertarget.rowid_column)
+            if self.order_by is None and self.eagertarget.oid_column is not None:
+                statement.order_by(self.eagertarget.oid_column)
 
         if self.eager_order_by is not None:
             statement.order_by(*self.eager_order_by)
index 65246cdf22e3d15bbe9ef20e86d87aa42887de16..25b73c7768098e2ed0afbc708050b088453b2471 100644 (file)
@@ -679,7 +679,7 @@ class Join(FromClause):
         else:
             self.onclause = onclause
         self.isouter = isouter
-        self.rowid_column = self.left.rowid_column
+        self.oid_column = self.left.oid_column
         
     primary_key = property (lambda self: [c for c in self.left.columns if c.primary_key] + [c for c in self.right.columns if c.primary_key])
 
@@ -756,10 +756,10 @@ class Alias(FromClause):
         self.name = alias
         self.id = self.name
         self.count = 0
-        if self.selectable.rowid_column is not None:
-            self.rowid_column = self.selectable.rowid_column._make_proxy(self)
+        if self.selectable.oid_column is not None:
+            self.oid_column = self.selectable.oid_column._make_proxy(self)
         else:
-            self.rowid_column = None
+            self.oid_column = None
         for co in selectable.columns:
             co._make_proxy(self)
 
@@ -905,24 +905,24 @@ class TableImpl(FromClause):
         self.table = table
         self.id = self.table.name
 
-    def _rowid_col(self):
+    def _oid_col(self):
         if not self.table.engine.default_ordering:
             return None
             
-        if not hasattr(self, '_rowid_column'):
-            if self.table.engine.rowid_column_name() is not None:
-                self._rowid_column = schema.Column(self.table.engine.rowid_column_name(), sqltypes.Integer, hidden=True)
-                self._rowid_column._set_parent(self.table)
+        if not hasattr(self, '_oid_column'):
+            if self.table.engine.oid_column_name() is not None:
+                self._oid_column = schema.Column(self.table.engine.oid_column_name(), sqltypes.Integer, hidden=True)
+                self._oid_column._set_parent(self.table)
             else:
                 if len(self.table.primary_key) > 0:
                     c = self.table.primary_key[0]
                 else:
                     c = self.table.columns[self.table.columns.keys()[0]]
-                self._rowid_column = schema.Column(c.name, c.type, hidden=True)
-                self._rowid_column._set_parent(self.table)
-        return self._rowid_column
+                self._oid_column = schema.Column(c.name, c.type, hidden=True)
+                self._oid_column._set_parent(self.table)
+        return self._oid_column
 
-    rowid_column = property(_rowid_col)
+    oid_column = property(_oid_col)
     engine = property(lambda s: s.table.engine)
     columns = property(lambda self: self.table.columns)
 
@@ -1003,7 +1003,7 @@ class CompoundSelect(SelectBaseMixin, FromClause):
         self.keyword = keyword
         self.selects = selects
         self.use_labels = kwargs.pop('use_labels', False)
-        self.rowid_column = selects[0].rowid_column
+        self.oid_column = selects[0].oid_column
         for s in self.selects:
             s.order_by(None)
             s.group_by(None)
@@ -1042,7 +1042,7 @@ class Select(SelectBaseMixin, FromClause):
         self.whereclause = None
         self.having = None
         self._engine = engine
-        self.rowid_column = None
+        self.oid_column = None
         self.limit = limit
         self.offset = offset
         
index 2c5cfa7e2034243ae9613d483b308155393f27b3..b3df100408ce084d2b17906d7f3946570242e6ee 100644 (file)
@@ -237,7 +237,7 @@ class DeferredTest(MapperSuperTest):
             print o2.description
 
         self.assert_sql(db, go, [
-            ("SELECT orders.order_id AS orders_order_id, orders.user_id AS orders_user_id, orders.isopen AS orders_isopen FROM orders ORDER BY orders.%s" % orders.rowid_column.key, {}),
+            ("SELECT orders.order_id AS orders_order_id, orders.user_id AS orders_user_id, orders.isopen AS orders_isopen FROM orders ORDER BY orders.%s" % orders.oid_column.key, {}),
             ("SELECT orders.description AS orders_description FROM orders WHERE orders.order_id = :orders_order_id", {'orders_order_id':3})
         ])
     
@@ -265,7 +265,7 @@ class DeferredTest(MapperSuperTest):
             o2 = l[2]
             print o2.opened, o2.description, o2.userident
         self.assert_sql(db, go, [
-            ("SELECT orders.order_id AS orders_order_id FROM orders ORDER BY orders.%s" % orders.rowid_column.key, {}),
+            ("SELECT orders.order_id AS orders_order_id FROM orders ORDER BY orders.%s" % orders.oid_column.key, {}),
             ("SELECT orders.user_id AS orders_user_id, orders.description AS orders_description, orders.isopen AS orders_isopen FROM orders WHERE orders.order_id = :orders_order_id", {'orders_order_id':3})
         ])
         
@@ -277,7 +277,7 @@ class DeferredTest(MapperSuperTest):
             l = m2.select()
             print l[2].user_id
         self.assert_sql(db, go, [
-            ("SELECT orders.order_id AS orders_order_id, orders.description AS orders_description, orders.isopen AS orders_isopen FROM orders ORDER BY orders.%s" % orders.rowid_column.key, {}),
+            ("SELECT orders.order_id AS orders_order_id, orders.description AS orders_description, orders.isopen AS orders_isopen FROM orders ORDER BY orders.%s" % orders.oid_column.key, {}),
             ("SELECT orders.user_id AS orders_user_id FROM orders WHERE orders.order_id = :orders_order_id", {'orders_order_id':3})
         ])
         objectstore.clear()
@@ -287,7 +287,7 @@ class DeferredTest(MapperSuperTest):
             l = m3.select()
             print l[3].user_id
         self.assert_sql(db, go, [
-            ("SELECT orders.order_id AS orders_order_id, orders.user_id AS orders_user_id, orders.description AS orders_description, orders.isopen AS orders_isopen FROM orders ORDER BY orders.%s" % orders.rowid_column.key, {}),
+            ("SELECT orders.order_id AS orders_order_id, orders.user_id AS orders_user_id, orders.description AS orders_description, orders.isopen AS orders_isopen FROM orders ORDER BY orders.%s" % orders.oid_column.key, {}),
         ])
 
     def testdeepoptions(self):