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
