 /// like `Column`.
 ///
 /// See https://github.com/groue/GRDB.swift/#the-query-interface
-public protocol SQLExpressible: SQLSelectable, SQLOrderingTerm {
+public protocol SQLExpressible {
     /// Returns an SQL expression.
     var sqlExpression: SQLExpression { get }
-}
-
-extension SQLExpressible {
-    public var sqlSelection: SQLSelection {
-        .expression(sqlExpression)
-    }
-    
-    public var sqlOrdering: SQLOrdering {
-        .expression(sqlExpression)
-    }
 }
 
 /// `SQLSpecificExpressible` is a protocol for all database-specific types that

/// and it adopts `SQLSpecificExpressible`.
///
/// On the other side, `Int` adopts `SQLExpressible`.
public protocol SQLSpecificExpressible: SQLExpressible {
    // SQLExpressible can be adopted by Swift standard types, and user
    // types, through the DatabaseValueConvertible protocol which inherits
    // from SQLExpressible.

    // - ==(SQLSpecificExpressible, SQLSpecificExpressible)
}

extension SQLSpecificExpressible {
    public var sqlSelection: SQLSelection {
        .expression(sqlExpression)
    }
    
    public var sqlOrdering: SQLOrdering {
        .expression(sqlExpression)
    }
}

extension SQLExpression: SQLSpecificExpressible {
    // Not a real deprecation, just a usage warning
    @available(*, deprecated, message: "Already SQLExpression")
