On Sunday, September 11, 2016 at 7:12:24 PM UTC-7, Matt Palmer wrote:
>
> On Sun, Sep 11, 2016 at 11:05:17AM -0700, Will Koffel wrote: 
> > I have the following: 
> > 
> > (byebug) puts DB.from(:users).select("email").sql 
> > 
> > SELECT 'email' FROM "users" 
> > 
> > The problem is that the DB doesn't accept that SQL, because the table 
> name 
> > is quoted. 
> > 
> > (byebug) DB[DB.from(:users).select("email").sql].each { |r| puts r } 
> > 
> > *** Sequel::DatabaseError Exception: PG::UndefinedTable: ERROR: 
>  relation 
> > "users" does not exist 
> > 
> > The query works just fine manually if the table name is bare. 
>
> Does the query fail as expected when you quote the table name? 
>
> > The DB is RedShift.  I don't have a PG database hooked up to test with, 
> but 
> > maybe this is a quirk of Redshift that the redshift adapter doesn't 
> handle 
> > properly? 
>
> I'd say this is a quirk of redshift: 
>
>     => create table users (id int); 
>     CREATE TABLE 
>     => select 'email' from "users"; 
>      ?column? 
>      ---------- 
>      (0 rows) 
>

Actually, it's not.  You are selecting a string expression (single quotes) 
without an alias, so the ?column? is expected, and there are no rows 
because you just created the table.

Thanks,
Jeremy

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to