[Monetdb-developers] [Monetdb-pf-checkins] pathfinder/compiler/sql lalg2sql.brg, 1.24, 1.25

Ying Zhang Y.Zhang at cwi.nl
Tue Feb 6 11:17:10 CET 2007


Hi Manuel,

Sorry for my picky compiler option.  There is yet another unused
parameter:

cc1: warnings being treated as errors
../../../compiler/sql/lalg2sql.brg:2647: warning: unused parameter
'res_ty'
make[5]: *** [libsql_la-lalg2sql.lo] Error 1
make[5]: Leaving directory
`/net/andorea/export/scratch1/zhang/monet/current/pathfinder/build-debug/compiler/sql'
make[4]: *** [install] Error 2
make[4]: Leaving directory
`/net/andorea/export/scratch1/zhang/monet/current/pathfinder/build-debug/compiler/sql'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory
`/net/andorea/export/scratch1/zhang/monet/current/pathfinder/build-debug/compiler'
make[2]: *** [install] Error 2
make[2]: Leaving directory
`/net/andorea/export/scratch1/zhang/monet/current/pathfinder/build-debug/compiler'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory
`/net/andorea/export/scratch1/zhang/monet/current/pathfinder/build-debug'
make: *** [install] Error 2


Regards,

Jennie


On Mon, Feb 05, 2007 at 10:29:19AM +0000, Manuel Mayr wrote:
> Update of /cvsroot/monetdb/pathfinder/compiler/sql
> In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv23135/compiler/sql
> 
> Modified Files:
> 	lalg2sql.brg 
> Log Message:
> avoiding too long SQL expression during element construction
> 
> 
> Index: lalg2sql.brg
> ===================================================================
> RCS file: /cvsroot/monetdb/pathfinder/compiler/sql/lalg2sql.brg,v
> retrieving revision 1.24
> retrieving revision 1.25
> diff -u -d -r1.24 -r1.25
> --- lalg2sql.brg	4 Feb 2007 17:51:36 -0000	1.24
> +++ lalg2sql.brg	5 Feb 2007 10:29:17 -0000	1.25
> @@ -1047,7 +1047,25 @@
>  
>  
>              /* set the fragment relation */
> -            p->sql_ann->fragment = fragrelation ();
> +            p->sql_ann->fragment = 
> +                select
> +                (
> +                 select_list
> +                 (
> +                  column_name (sql_special_name_new(sql_col_prop)->ident),
> +                  column_name (sql_special_name_new(sql_col_kind)->ident),
> +                  column_name (sql_special_name_new(sql_col_level)->ident),
> +                  column_name (sql_special_name_new(sql_col_size)->ident),
> +                  column_name (sql_special_name_new(sql_col_pre)->ident),
> +
> +                 ),
> +                 from_list
> +                 (
> +                  fragrelation ()
> +                 ),
> +                 NULL,
> +                 NULL
> +                );
>  
>              /* preparing fromlist */
>              PFsql_t *fromlist = L(p)->sql_ann->sfw->sem.select.from_list;
> @@ -1781,8 +1799,10 @@
>                     column_assign
>                     (
>                      crrl_deco (
> -                        sql_expression (LR(p)->sql_ann->colmap,
> -                            p->sem.elem.item_qn, aat_qname),
> +                        column_name (
> +                            sql_expression (LR(p)->sql_ann->colmap,
> +                                p->sem.elem.item_qn, aat_qname)
> +                            ->sem.column.ident),
>                          qn_crrl->name),
>                          column_name (sql_special_name_new (
>                                  sql_col_prop)->ident)
> @@ -1829,9 +1849,11 @@
>                     column_assign
>                     (
>                      crrl_deco(
> -                        sql_expression (LR(p)->sql_ann->colmap,
> -                            p->sem.elem.iter_qn,
> -                            type_of (LR(p), p->sem.elem.iter_qn)),
> +                        column_name (
> +                            sql_expression (LR(p)->sql_ann->colmap,
> +                                p->sem.elem.iter_qn,
> +                                type_of (LR(p), p->sem.elem.iter_qn))
> +                            ->sem.column.ident),
>                          qn_crrl->name),
>                          column_name (sql_column_name_new (
>                                    att_iter, aat_nat)->ident)
> @@ -1861,8 +1883,10 @@
>                        eq
>                        (
>                         crrl_deco ( 
> -                           sql_expression (RR(p)->sql_ann->colmap,
> -                               p->sem.elem.item_val, aat_pre),
> +                           column_name (
> +                               sql_expression (RR(p)->sql_ann->colmap,
> +                                   p->sem.elem.item_val, aat_pre)
> +                               ->sem.column.ident),
>                             eloc_crrl->name),
>                         crrl_deco(
>                             column_name (sql_special_name_new (
> @@ -1879,14 +1903,18 @@
>                      eq
>                      (
>                       crrl_deco (
> -                         sql_expression (LR(p)->sql_ann->colmap,
> -                               p->sem.elem.iter_qn,
> -                               type_of (LR(p), p->sem.elem.iter_qn)),
> +                         column_name (
> +                             sql_expression (LR(p)->sql_ann->colmap,
> +                                   p->sem.elem.iter_qn,
> +                                   type_of (LR(p), p->sem.elem.iter_qn))
> +                             ->sem.column.ident),
>                           qn_crrl->name),
>                       crrl_deco (
> -                         sql_expression (RR(p)->sql_ann->colmap,
> -                               p->sem.elem.iter_val,
> -                               type_of (RR(p), p->sem.elem.iter_val)),
> +                         column_name (
> +                             sql_expression (RR(p)->sql_ann->colmap,
> +                                 p->sem.elem.iter_val,
> +                                 type_of (RR(p), p->sem.elem.iter_val))
> +                             ->sem.column.ident),
>                           eloc_crrl->name)
>                      ) 
>                     )
> @@ -1895,14 +1923,18 @@
>                    column_list
>                    (
>                     crrl_deco(
> -                       sql_expression (LR(p)->sql_ann->colmap,
> -                           p->sem.elem.iter_qn,
> -                           type_of (LR(p), p->sem.elem.iter_qn)),
> +                       column_name (
> +                           sql_expression (LR(p)->sql_ann->colmap,
> +                               p->sem.elem.iter_qn,
> +                               type_of (LR(p), p->sem.elem.iter_qn))
> +                           ->sem.column.ident),
>                         qn_crrl->name),
>                     crrl_deco(
> -                       sql_expression (LR(p)->sql_ann->colmap,
> -                           p->sem.elem.item_qn,
> -                           type_of (LR(p), p->sem.elem.item_qn)),
> +                       column_name (
> +                           sql_expression (LR(p)->sql_ann->colmap,
> +                               p->sem.elem.item_qn,
> +                               type_of (LR(p), p->sem.elem.item_qn))
> +                           ->sem.column.ident),
>                         qn_crrl->name))
>                    ),
>                    select
> @@ -1968,9 +2000,11 @@
>                      column_assign
>                      (
>                          crrl_deco (
> -                            sql_expression ( RR(p)->sql_ann->colmap,
> -                                 p->sem.elem.pos_val,
> -                                 type_of (RR(p), p->sem.elem.pos_val)),
> +                            column_name (
> +                                sql_expression ( RR(p)->sql_ann->colmap,
> +                                     p->sem.elem.pos_val,
> +                                     type_of (RR(p), p->sem.elem.pos_val))
> +                                ->sem.column.ident),
>                               eloc_crrl->name),
>                           column_name (sql_column_name_new (
>                                   att_pos, aat_nat)->ident)
> @@ -1978,9 +2012,11 @@
>                      column_assign
>                      (
>                          crrl_deco (
> -                            sql_expression (RR(p)->sql_ann->colmap,
> -                                p->sem.elem.iter_val, type_of (
> -                                RR(p), p->sem.elem.iter_val)),
> +                            column_name (
> +                                sql_expression (RR(p)->sql_ann->colmap,
> +                                    p->sem.elem.iter_val, type_of (
> +                                    RR(p), p->sem.elem.iter_val))
> +                                ->sem.column.ident),
>                               eloc_crrl->name),
>                           column_name (sql_column_name_new (
>                                   att_iter, aat_nat)->ident))
> @@ -2012,8 +2048,10 @@
>                                sql_col_pre)->ident),
>                            t2loc_crrl->name),
>                        crrl_deco (
> -                          sql_expression (RR(p)->sql_ann->colmap,
> -                              p->sem.elem.item_val, aat_pre),
> +                          column_name (
> +                              sql_expression (RR(p)->sql_ann->colmap,
> +                                  p->sem.elem.item_val, aat_pre)
> +                              ->sem.column.ident),
>                            eloc_crrl->name)
>                       ),
>                       and
> @@ -2175,6 +2213,28 @@
>                    NULL
>                   ); 
>  
> +            sql_table_name_t *elem_tbl = sql_table_name_new ();
> +
> +            execute( bind
> +                    (
> +                     table_name
> +                     (
> +                      elem_tbl->name,
> +                      column_list
> +                      (
> +                       column_name (sql_special_name_new (sql_col_prop)->ident),
> +                       column_name (sql_special_name_new (sql_col_kind)->ident),
> +                       column_name (sql_special_name_new (
> +                               sql_col_level)->ident),
> +                       column_name (sql_special_name_new (sql_col_size)->ident),
> +                       column_name (sql_special_name_new (sql_col_pre)->ident),
> +                       column_name (sql_column_name_new (
> +                               att_iter, aat_nat)->ident)
> +                      )
> +                     ),
> +                     new_elems
> +                    ) );
> +
>              p->sql_ann->fragment = select
>                  (
>                   select_list
> @@ -2189,7 +2249,7 @@
>                   (
>                    alias
>                    (
> -                   new_elems,
> +                   table_name_default (elem_tbl->name),
>                     correlation_name (sql_correlation_name_new ()->name)
>                    )
>                   ),
> @@ -2227,11 +2287,14 @@
>                  sql_stmt = select
>                       (
>                        NULL,
> -                      from_list(
> -                        alias(
> -                         new_elems,
> -                         correlation_name(e_crrl->name))
> -                          ),
> +                      from_list
> +                      (
> +                       alias
> +                       (
> +                        table_name_default (elem_tbl->name),
> +                        correlation_name(e_crrl->name)
> +                       )
> +                      ),
>                        
>                        NULL,
>                        NULL
> @@ -2351,11 +2414,11 @@
>          /* correlation name for bounded table */
>          sql_correlation_name_t *crrl = sql_correlation_name_new ();
>   
> -        for(unsigned int i = 0;
> +        for (unsigned int i = 0;
>                  i < PFarray_last (p->sql_ann->wheremap); i++) {
>              sql_where_env_t entry = sql_where_env_at (
>                      p->sql_ann->wheremap, i);
> -            wherelist = where_list(wherelist, entry.expression);
> +            wherelist = where_list (wherelist, entry.expression);
>          }
>          
>          for (unsigned int i = 0; i < p->schema.count; i++) {
> @@ -2370,8 +2433,8 @@
>                          ((sqlnode->kind == sql_clmn_name ) &&
>                              (eq_type(p->schema.items[i].name,t,
>                                       sqlnode->sem.column.ident)))?
> -                        NULL:sql_column_name_new (
> -                                p->schema.items[i].name, t);
> +                        NULL:
> +                        sql_column_name_new (p->schema.items[i].name, t);
>  
>                      /* add the sql operation to the select list */
>                      selectlist1 = select_list (selectlist1,
> @@ -2390,70 +2453,71 @@
>                         and for the select automatic generated
>                         sfw statement in annotations. */
>                     selectlist2 = select_list (selectlist2,
> -                           crrl_deco(
> +                           crrl_deco (
>                                 ((sqlnode->kind == sql_clmn_name ) &&
>                                 (eq_type(p->schema.items[i].name,t,
>                                       sqlnode->sem.column.ident)))?
> -                               column_name(IS_PRE(sqlnode->sem.column
> -                                   .ident)?sql_column_name_new(p->schema.
> -                                   items[i].name,
> -                                   t)->ident:
> +                               column_name (
> +                                   IS_PRE(sqlnode->sem.column.ident)?
> +                                   sql_column_name_new(p->schema.
> +                                       items[i].name,t)->ident:
>                                 sqlnode->sem.column.ident):
> -                           column_name(IS_PRE(colname->ident)?
> -                               sql_column_name_new(p->schema.
> -                                   items[i].name,
> -                                   t)->ident:
> +                               column_name (IS_PRE(colname->ident)?
> +                                   sql_column_name_new(p->schema.
> +                                       items[i].name, t)->ident:
>                                 colname->ident),
> -                           crrl->name));
> +                               crrl->name));
>  
>                     /* create columnlist for the table name */
> -                   columnlist = column_list(columnlist,
> +                   columnlist = column_list (columnlist,
>                          ((sqlnode->kind == sql_clmn_name ) &&
>                              (eq_type(p->schema.items[i].name,t,
>                                       sqlnode->sem.column.ident)))?
>                             /* regarding the correlation
>                                names both columns are unbounded */
> -                             column_name(IS_PRE(sqlnode->sem.column
> -                               .ident)?sql_column_name_new(p->schema.
> -                                   items[i].name,
> -                                   t)->ident:
> -                               sqlnode->sem.column.ident):
> -                           column_name(IS_PRE(colname->ident)?
> -                               sql_column_name_new(p->schema.
> -                                   items[i].name,
> -                                   t)->ident:
> -                               colname->ident));
> +                             column_name(
> +                                 IS_PRE(sqlnode->sem.column.ident)?
> +                                 sql_column_name_new (p->schema.
> +                                     items[i].name, t)->ident:
> +                                     sqlnode->sem.column.ident):
> +                             column_name(
> +                                 IS_PRE(colname->ident)?
> +                                 sql_column_name_new (
> +                                     p->schema.items[i].name, t)->ident:
> +                                 colname->ident));
>                     
>                     /* override expression with columnname */
> -                   sql_override_expr(p->sql_ann->colmap,
> -                       p->schema.items[i].name,
> -                       t,
> -                         ((sqlnode->kind == sql_clmn_name ) &&
> -                        (eq_type(p->schema.items[i].name,t,
> -                                 sqlnode->sem.column.ident)))?
> +                   sql_override_expr (p->sql_ann->colmap,
> +                       p->schema.items[i].name, t,
> +                       ((sqlnode->kind == sql_clmn_name ) &&
> +                       (eq_type(p->schema.items[i].name,t,
> +                       sqlnode->sem.column.ident)))?
>                         IS_PRE(sqlnode->sem.column.ident)?
>                         sql_column_name_new(p->schema.items[i].name,
> -                           t)->ident:sqlnode->sem.column.ident:
> +                               t)->ident:
> +                       sqlnode->sem.column.ident:
>                         IS_PRE(colname->ident)?
> -                       sql_column_name_new(p->schema.items[i].name,
> -                           t)->ident:colname->ident, crrl->name);
> +                       sql_column_name_new(
> +                           p->schema.items[i].name, t)->ident:
> +                       colname->ident, crrl->name);
>                  }
>              }
>          }
>  
> -        p->sql_ann->wheremap = sql_where_env_new();
> +        p->sql_ann->wheremap = sql_where_env_new ();
>         
> -        if(sql_stmt->kind == sql_select) {
> +        if (sql_stmt->kind == sql_select) {
>              sql_stmt->sem.select.select_list = selectlist1;
>              sql_stmt->sem.select.where_list  = 
>                  (!wherelist)?
> -                NULL:wherelist;
> +                NULL:
> +                wherelist;
>          }
>  
>          execute( 
>                    bind
>                    (
> -                      table_name(newvar->name, columnlist ),
> +                      table_name (newvar->name, columnlist),
>                        sql_stmt
>                    )
>                 );
> @@ -2476,37 +2540,35 @@
>  }
>  
>  static PFsql_t*
> -gen_select(const PFla_op_t *p, PFsql_alg_ann_t *ann)
> +gen_select (const PFla_op_t *p, PFsql_alg_ann_t *ann)
>  {
>      /* first selectlist for select statement in p */
>      PFsql_t* selectlist1 = NULL; 
>      PFsql_t* wherelist   = NULL; 
>  
> -    for( unsigned int i = 0;
> -                i < PFarray_last(ann->wheremap); i++ ) {
> -        sql_where_env_t entry = sql_where_env_at(
> +    for (unsigned int i = 0;
> +                i < PFarray_last(ann->wheremap); i++) {
> +        sql_where_env_t entry = sql_where_env_at (
>                  ann->wheremap, i);
> -        wherelist = where_list(wherelist,
> -                    entry.expression);
> +        wherelist = where_list (wherelist, entry.expression);
>      }
> -    for( unsigned int i = 0; i < p->schema.count; i++ ) {
> -        for(PFalg_simple_type_t t = 1; t; t <<= 1) {
> -            if( t & TYPE_MASK(p->schema.items[i].type) ) {
> +    for (unsigned int i = 0; i < p->schema.count; i++) {
> +        for (PFalg_simple_type_t t = 1; t; t <<= 1) {
> +            if (t & TYPE_MASK(p->schema.items[i].type)) {
>                      
>                  /* get the sql operation bound to
>                   * att/type tuple */
> -                PFsql_t   *sqlnode = sql_expression(
> +                PFsql_t   *sqlnode = sql_expression (
>                          ann->colmap,
> -                        p->schema.items[i].name,
> -                        t);
> +                        p->schema.items[i].name, t);
>                      
>                  sql_column_name_t *colname =
>                      ((sqlnode->kind == sql_clmn_name ) &&
>                          (eq_type(p->schema.items[i].name,t,
>                                   sqlnode->sem.column.ident)))?
> -                    NULL:sql_column_name_new(
> -                            p->schema.items[i].name,
> -                            t);
> +                    NULL:
> +                    sql_column_name_new (
> +                        p->schema.items[i].name, t);
>  
>                  /* add the sql operation to the select list */
>                  selectlist1 = select_list(selectlist1,
> @@ -2541,15 +2603,15 @@
>  }
>  
>  static PFsql_t*
> -literal(PFalg_atom_t atom)
> +literal (PFalg_atom_t atom)
>  {
>      switch( atom.type ) {
>          case aat_nat:
> -        case aat_int: return lit_int(atom.val.nat_);
> -        case aat_str: return lit_str(atom.val.str);
> -        case aat_bln: return lit_bln(atom.val.bln);
> -        case aat_dec: return lit_dec(atom.val.dec_);
> -        case aat_qname: return lit_str(PFqname_loc(atom.val.int_));
> +        case aat_int:   return lit_int (atom.val.nat_);
> +        case aat_str:   return lit_str (atom.val.str);
> +        case aat_bln:   return lit_bln (atom.val.bln);
> +        case aat_dec:   return lit_dec (atom.val.dec_);
> +        case aat_qname: return lit_str (PFqname_loc (atom.val.int_));
>          default:
>              break;
>      }
> @@ -2566,13 +2628,13 @@
>  {
>      assert( n );
>  
> -    for( unsigned int i = 0; i < n->schema.count; i++ ) {
> -        if( n->schema.items[i].name == att) {
> +    for (unsigned int i = 0; i < n->schema.count; i++) {
> +        if (n->schema.items[i].name == att) {
>              return TYPE_MASK(n->schema.items[i].type);
>          }
>      }
>  
> -    PFoops( OOPS_FATAL,
> +    PFoops (OOPS_FATAL,
>              "SQLgen: cannot determine implementation type of "
>              "algebra expression");
>  
> @@ -2580,28 +2642,25 @@
>  }
>  
>  static PFsql_t* 
> -bin_cmp( PFsql_t* (*op) (const PFsql_t *, const PFsql_t*),
> -        PFla_op_t *p, PFalg_simple_type_t arg_ty,
> -        PFalg_simple_type_t res_ty)
> +bin_cmp (PFsql_t* (*op) (const PFsql_t *, const PFsql_t*),
> +         PFla_op_t *p, PFalg_simple_type_t arg_ty,
> +         PFalg_simple_type_t res_ty)
>  {
> -    for( unsigned int i=0;
> -            i < PFarray_last( L(p)->sql_ann->colmap ); i++ ) {
> -        sql_column_env_t entry = sql_column_env_at(
> +    for (unsigned int i=0;
> +            i < PFarray_last (L(p)->sql_ann->colmap); i++) {
> +        sql_column_env_t entry = sql_column_env_at (
>                  L(p)->sql_ann->colmap, i);
> -
>          sql_column_env_add(p->sql_ann->colmap,
>                  entry.att, entry.type, entry.expression);
>      }
>  
> -    where_env_copy(L(p)->sql_ann->wheremap,
> -            p->sql_ann->wheremap);
> +    where_env_copy (L(p)->sql_ann->wheremap, p->sql_ann->wheremap);
>  
> -    for( unsigned int col = 0; col < p->schema.count; col++ ) {
> -        for( PFalg_simple_type_t t = 1; t; t<<=1 ) {
> -            if( t & TYPE_MASK(p->schema.items[col].type) ) {
> +    for (unsigned int col = 0; col < p->schema.count; col++) {
> +        for (PFalg_simple_type_t t = 1; t; t<<=1) {
> +            if (t & TYPE_MASK(p->schema.items[col].type)) {
>                  sql_column_env_add(p->sql_ann->colmap,
> -                        p->schema.items[col].name,
> -                        t,
> +                        p->schema.items[col].name, t,
>                          op
>                          (
>                           sql_expression(p->sql_ann->colmap,
> @@ -2615,8 +2674,6 @@
>          }
>      }
>  
> -    res_ty = res_ty;
> -
>      return select
>          (
>           NULL, /* no selectlist provided */
> @@ -2627,12 +2684,12 @@
>  }
>  
>  static PFsql_t* 
> -bin_op( PFsql_t* (*op) (const PFsql_t *, const PFsql_t*),
> +bin_op (PFsql_t* (*op) (const PFsql_t *, const PFsql_t*),
>          PFla_op_t *p, PFalg_simple_type_t arg_ty,
>          PFalg_simple_type_t res_ty)
>  {
> -    for( unsigned int i=0;
> -            i < PFarray_last( L(p)->sql_ann->colmap ); i++ ) {
> +    for (unsigned int i=0;
> +            i < PFarray_last (L(p)->sql_ann->colmap); i++) {
>          sql_column_env_t entry = sql_column_env_at(
>                  L(p)->sql_ann->colmap, i);
>  
> @@ -3860,7 +3917,20 @@
>  {
>      assert (p);
>      if (p->kind == la_empty_frag)
> -        return fragrelation();
> +        return select
> +            (
> +             select_list
> +             (
> +              column_name(sql_special_name_new(sql_col_prop)->ident),
> +              column_name(sql_special_name_new(sql_col_kind)->ident),
> +              column_name(sql_special_name_new(sql_col_level)->ident),
> +              column_name(sql_special_name_new(sql_col_size)->ident),
> +              column_name(sql_special_name_new(sql_col_pre)->ident),
> +             ),
> +             fragrelation(),
> +             NULL,
> +             NULL
> +            );
>  
>      assert (p->kind == la_frag_union);
>      /* for every fragment the assumption that a binding already
> 
> 
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier.
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Monetdb-pf-checkins mailing list
> Monetdb-pf-checkins at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins




More information about the developers-list mailing list