Hi all,

I have been working on the SQL to PigLatin compiler and I have a couple
questions that you might know the answers.

1. Is there a way to obtain the list of existing relations in the Pig Server
and their schemas? I need it for simple cases where users apply SQL join to
multiple relations. I need to resolve which attribute goes to which
relation.

2. Subqueries need similar keywords to IN, EXIST, ANY, ALL... Is there any
plan to add similar keywords to PigLatin in the future? I could convert most
of the subqueries to joins (even if not all of them), but it would be much
easier to add similar keywords and use those constructs to process
subqueries. Do you have any recommendations on this? Actually, there is
IsEmpty function in PigLatin which could be used for EXIST; however, it is
not implemented as a conditional that I can use in foreach statement with
ands and ors.

3. Outer Joins need NULL values in the relations. PigLatin doesn't have a
NULL type, so how should I proceed for this task? Are you planning to add
NULL type to PigLatin in the future releases?

4. Relation alterations cannot be implemented since the only way to create a
relation in PigLatin is to load a file. I need supporting constructs for
CREATE TABLE, INSERT, DROP TABLE, ALTER TABLE statements. For example, how
can you create an empty relation and insert rows one by one. How can you get
rid of the table? How can you add/remove a column in a table?

I would really appreciate if anybody could address these questions. I am
done with most of the parts of the compiler, and I am excited to deliver it
shortly.

---
Firat Kiyak
Computer Science PhD. candidate
University of Illinois at Urbana-Champaign

Reply via email to