Can you explain why this is not handled better by BasePeer.executeQuery?

----- Original Message -----
From: fanyun <[EMAIL PROTECTED]>
To: Turbine <[EMAIL PROTECTED]>
Sent: Sunday, August 13, 2000 8:35 AM
Subject: a change to BasePeer.


> Hi all:
>
> Today, I want to do a
>
>             select count(*) from Users;
>
> by using peer.
>
> But I was stopped. After study, I find Peer get table name from the first
> part of Column name. That means if I should pass   Users.UserName into
peer,
> peer will get the table name and send:
>
>         select Users.Username from Users;
>
> Now
>
> 1. if I pass    count(*)  to peer,  peer do not know which table to use
> 2. if I pass   Users.count(*)  to peer, peer will send
>         select Users.count(*) from Users;
> This is illugae to any database.
>
> Of cause I can just select something from the table and count the returns,
> but I think it is a waste of system resource, and will slow down the
> performance. And if using max()   min ....   functions, we will again met
> this problem.
>
> --------------------------------------------------------------------------
--
> -----------------------------------------------
> Solution:    I changed BasePeer
>
> function name:
>  public static String createQueryString( Criteria criteria ) throws
> Exception
>
>
>
>         for (int i=0; i<select.size(); i++)
>         {
>             String columnName = select.get(i);
>             selectClause.add(columnName);
>
>             int braceplace = columnName.indexOf('(');
>             if(braceplace == -1)
>
>
>
> fromClause.add(columnName.substring(0,columnName.indexOf('.') ));
>             }
>             else
>             {
>
>
fromClause.add(columnName.substring(braceplace+1,columnName.indexOf('.') ));
>             }
>         }
>
> Now you can just pass:    count(Users.UserID)  into peer.  Peer will get
the
> table name and send
>
>         select count(Users.Userid) from Users;
>
>
> This works, and for min, max  it also works
>
> --------------------------------------------------------------------------
--
> --
>
> This is my first time contribute a small change, will you take this
> change???
>
> Vote + 1
>
>
> Regards
>
> fanyun
>
>
>
>
> ------------------------------------------------------------
> To subscribe:        [EMAIL PROTECTED]
> To unsubscribe:      [EMAIL PROTECTED]
> Search: <http://www.mail-archive.com/turbine%40list.working-dogs.com/>
> Problems?:           [EMAIL PROTECTED]
>



------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Search: <http://www.mail-archive.com/turbine%40list.working-dogs.com/>
Problems?:           [EMAIL PROTECTED]

Reply via email to