;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
;;;; *************************************************************************
;;;;
-;;;; $Id:
+;;;; $Id$
;;;;
;;;; Classes defining SQL expressions and methods for formatting the
;;;; appropriate SQL commands.
:test (lambda (tab1 tab2)
(equal (slot-value tab1 'name)
(slot-value tab2 'name))))))
+(defvar *in-subselect* nil)
(defmethod output-sql ((expr sql-function-exp) database)
(with-slots (name args)
expr
(output-sql name database)
- (when args (output-sql args database)))
+ (let ((*in-subselect* nil)) ;; aboid double parens
+ (when args (output-sql args database))))
t)
:group-by group-by :having having :order-by order-by
:inner-join inner-join :on on))))))
-(defvar *in-subselect* nil)
-
(defmethod output-sql ((query sql-query) database)
(with-slots (distinct selections from where group-by having order-by
limit offset inner-join on all set-operation)