Hello, yes I noticed the if error but I can not use jslint because even with another query that I know are working me an error! I, therefore, a bit of trouble. you through the sql query you can help me out?
2011/5/29 Mark Hahn <[email protected]> > I just noticed you seem to have the idea that if looks like if{}. > This is not correct. It looks like if(){} in javascript. > > On Sun, May 29, 2011 at 11:59 AM, Mark Hahn <[email protected]> wrote: > > Did you fix your syntax errors? You can use jslint to do that before > > I help you. You can ignore the jslint non-syntax errors. > > > > On Sun, May 29, 2011 at 7:40 AM, Mauro Fagnoni <[email protected]> > wrote: > >> ok i see the problem but i have no a solution....could you give a hand? > >> > >> 2011/5/27 Mark Hahn <[email protected]> > >> > >>> Use http://www.jslint.com/ to check your syntax. I changed the first > >>> part to read like this so it looked liked normal js instead of a big > >>> string ... > >>> > >>> x=function(doc){ > >>> if{((doc.partkey == doc.parteky) && > >>> > >>> It immediately saw the if { which is illegal. It found other errors as > >>> well. > >>> > >>> On Fri, May 27, 2011 at 10:56 AM, Mauro Fagnoni < > [email protected]> > >>> wrote: > >>> > Hi all i've to adjust this sql query into a valid .js query for > couchdb > >>> but > >>> > i've an error...someone help to find and solve my error??? > >>> > > >>> > Best regards > >>> > > >>> > .js query > >>> > > >>> > { > >>> > "map":"function(doc){ > >>> > if{((doc.partkey == doc.parteky) && > >>> > (doc.brand == 'Brand#12') && > >>> > (if {(doc.container == 'SM CASE') || (doc.container == 'SM > >>> BOX') > >>> > (doc.container == 'SM PACK') || (doc.container == 'SM PKG') > >>> > doc.container=true; > >>> > }else{doc.container=false;} > >>> > ) && > >>> > (doc.quantity >= 1) && > >>> > (doc.quantity <= 11) && > >>> > (doc.size > 1) && > >>> > (doc.size < 5) && > >>> > (if {(doc.shipmode == 'AIR')|| (doc.shipmode == 'AIR REG') > >>> > doc.shipmode = true; > >>> > }else {doc.shipmode = falese}&& > >>> > (doc.shipinstruct == 'DELIVER IN PERSON') > >>> > )} || > >>> > if{((doc.partkey == doc.parteky)&& > >>> > (doc.brand == 'Brand#23') && > >>> > (if {(doc.container == 'MED BAG') || (doc.container == > 'MED > >>> > BOX') (doc.container == 'MED PKG') || (doc.container == 'MED PACK') > >>> > doc.container=true; > >>> > }else{doc.container=false;} > >>> > ) && > >>> > (doc.quantity >= 10) && > >>> > (doc.quantity <= 20) && > >>> > (doc.size > 1) && > >>> > (doc.size < 10) && > >>> > (if {(doc.container == 'MED BAG') || (doc.container == > 'MED > >>> > BOX') (doc.container == 'MED PKG') || (doc.container == 'MED PACK') > >>> > doc.container=true; > >>> > }else{doc.container=false;} > >>> > ) && > >>> > (doc.shipinstruct == 'DELIVER IN PERSON') > >>> > )} || > >>> > if{((doc.partkey == doc.parteky) && > >>> > (doc.brand == 'Brand#34') && > >>> > (if {(doc.container == 'LG CASE') || > (doc.container == > >>> > 'LG BOX') (doc.container == 'LG PACK') || (doc.container == 'LG PKG') > >>> > doc.container=true; > >>> > }else{doc.container=false;} > >>> > ) && > >>> > (doc.quantity >= 20) && > >>> > (doc.quantity <= 30) && > >>> > (doc.size > 1) && > >>> > (doc.size < 15) && > >>> > (if {(doc.container == 'MED BAG') || (doc.container == > 'MED > >>> > BOX') (doc.container == 'MED PKG') || (doc.container == 'MED PACK') > >>> > doc.container=true; > >>> > }else{doc.container=false;} > >>> > ) && > >>> > (doc.shipinstruct == 'DELIVER IN PERSON') > >>> > )} > >>> > emit (null, doc) > >>> > }" , > >>> > "reduce": " > >>> > function(keys, values, rereduce){ > >>> > var tags = {}; > >>> > if(!rereduce){ > >>> > for (var k in keys) { > >>> > var extPrice = parseFloat(values[k].extendedprice); > >>> > var disc1 = 1-parseFloat(values[k].discount); > >>> > if(tags[key[k][0]]){ > >>> > tags[keys[k][0]].revenue += extPrice * disc1; > >>> > } > >>> > else tags[keys[k][0]] = { > >>> > 'revenue' : extPrice * disc1 > >>> > }; > >>> > } > >>> > }else{ > >>> > tags = values[0]; > >>> > for(var v = 1; v < values.length; v++) > >>> > { > >>> > for(var t in values[v]) > >>> > { > >>> > if(tags[t]) { > >>> > tags[t].revenue += values[v][t].revenue; > >>> > } > >>> > } > >>> > } > >>> > } > >>> > return tags; > >>> > }" > >>> > } > >>> > > >>> > > >>> > sql query > >>> > > >>> > SELECT > >>> > sum(L_EXTENDEDPRICE * (1 - L_DISCOUNT) ) as revenue > >>> > FROM > >>> > LINEITEM, > >>> > PART > >>> > WHERE > >>> > ( > >>> > P_PARTKEY = L_PARTKEY > >>> > and P_BRAND = 'Brand#12' > >>> > and P_CONTAINER in ( 'SM CASE', 'SM BOX', 'SM PACK', > 'SM > >>> > PKG') > >>> > and L_QUANTITY >= 1 and L_QUANTITY <= 1 + 10 > >>> > and P_SIZE between 1 and 5 > >>> > and L_SHIPMODE in ('AIR', 'AIR REG') > >>> > and L_SHIPINSTRUCT = 'DELIVER IN PERSON' > >>> > ) > >>> > or > >>> > ( > >>> > P_PARTKEY = L_PARTKEY > >>> > and P_BRAND = 'Brand#23' > >>> > and P_CONTAINER in ('MED BAG', 'MED BOX', 'MED PKG', > 'MED > >>> > PACK') > >>> > and L_QUANTITY >= 10 and L_QUANTITY <= 10 + 10 > >>> > and P_SIZE between 1 and 10 > >>> > and L_SHIPMODE in ('AIR', 'AIR REG') > >>> > and L_SHIPINSTRUCT = 'DELIVER IN PERSON' > >>> > ) > >>> > or > >>> > ( > >>> > P_PARTKEY = L_PARTKEY > >>> > and P_BRAND = 'Brand#34' > >>> > and P_CONTAINER in ( 'LG CASE', 'LG BOX', 'LG PACK', > 'LG > >>> > PKG') > >>> > and L_QUANTITY >= 20 and L_QUANTITY <= 20 + 10 > >>> > and P_SIZE between 1 and 15 > >>> > and L_SHIPMODE in ('AIR', 'AIR REG') > >>> > and L_SHIPINSTRUCT = 'DELIVER IN PERSON; > >>> > > >>> > > >>> > error log > >>> > > >>> > {"error":"compilation_error","reason":"Expression does not eval to a > >>> > function. ((new String(\"function(doc){\\n\\t\\tif{((doc.partkey == > >>> > doc.parteky) && \\n\\t\\t (doc.brand == 'Brand#12') &&\\n\\t\\t > (if > >>> > {(doc.container == 'SM CASE') || (doc.container == 'SM BOX') > >>> (doc.container > >>> > == 'SM PACK') || (doc.container == 'SM PKG')\\n\\t\\t > >>> > > \\tdoc.container=true;\\n\\t\\t\\t}else{doc.container=false;}\\n\\t\\t > >>> ) > >>> > &&\\n\\t\\t (doc.quantity >= 1) &&\\n\\t\\t (doc.quantity <= 11) > >>> > &&\\n\\t\\t (doc.size > 1) &&\\n\\t\\t (doc.size < 5) &&\\n\\t\\t > >>> (if > >>> > {(doc.shipmode == 'AIR')|| (doc.shipmode == 'AIR > >>> > REG')\\n\\t\\t\\t\\t\\tdoc.shipmode = true;\\n\\t\\t\\t\\t}else > >>> > {doc.shipmode = falese}&&\\n\\t\\t (doc.shipinstruct == 'DELIVER IN > >>> > PERSON')\\n\\t\\t)} ||\\n\\t\\t if{((doc.partkey == doc.parteky)&& > >>> > \\n\\t\\t \\t(doc.brand == 'Brand#23') &&\\n\\t\\t \\t(if > >>> > {(doc.container == 'MED BAG') || (doc.container == 'MED BOX') > >>> (doc.container > >>> > == 'MED PKG') || (doc.container == 'MED PACK')\\n\\t\\t \\t > >>> > doc.container=true;\\n\\t\\t\\t > }else{doc.container=false;}\\n\\t\\t > >>> > \\t) &&\\n\\t\\t \\t(doc.quantity >= 10) &&\\n\\t\\t > \\t(doc.quantity > >>> <= > >>> > 20) &&\\n\\t\\t \\t(doc.size > 1) &&\\n\\t\\t \\t(doc.size < 10) > >>> > &&\\n\\t\\t \\t(if {(doc.container == 'MED BAG') || (doc.container > == > >>> 'MED > >>> > BOX') (doc.container == 'MED PKG') || (doc.container == 'MED > >>> > PACK')\\n\\t\\t \\t doc.container=true;\\n\\t\\t\\t > >>> > }else{doc.container=false;}\\n\\t\\t \\t) &&\\n\\t\\t > >>> > \\t(doc.shipinstruct == 'DELIVER IN PERSON')\\n\\t\\t)} > >>> > ||\\n\\t\\tif{((doc.partkey == doc.parteky) && \\n\\t\\t > \\t(doc.brand > >>> == > >>> > 'Brand#34') &&\\n \\t (if {(doc.container == 'LG CASE') > || > >>> > (doc.container == 'LG BOX') (doc.container == 'LG PACK') || > >>> (doc.container > >>> > == 'LG PKG')\\n\\t\\t \\t\\tdoc.container=true;\\n\\t\\t\\t > >>> > }else{doc.container=false;}\\n\\t\\t \\t) > &&\\n\\t\\t\\t(doc.quantity > >>> >= > >>> > 20) &&\\n\\t\\t \\t(doc.quantity <= 30) &&\\n\\t\\t \\t(doc.size > > 1) > >>> > &&\\n\\t\\t \\t(doc.size < 15) &&\\n\\t\\t \\t(if {(doc.container > == > >>> 'MED > >>> > BAG') || (doc.container == 'MED BOX') (doc.container == 'MED PKG') || > >>> > (doc.container == 'MED PACK')\\n\\t\\t \\t > >>> > doc.container=true;\\n\\t\\t\\t > }else{doc.container=false;}\\n\\t\\t > >>> > \\t) &&\\n\\t\\t \\t(doc.shipinstruct == 'DELIVER IN > >>> > PERSON')\\n\\t\\t)}\\n\\temit (null, doc)\\n\\t}\")))"} > >>> > > >>> > -- ----------------------------------------------- > >>> > [-------WHOAMI------] Mauro Fagnoni > >>> > [----------ICQ#---------] 279572903 > >>> > [--------MSNID--------] [email protected] > >>> > [--YAHOOMSNID--] [email protected] > >>> > [--GOOGLETALK--] [email protected] > >>> > [-GOOGLEWAVE-] [email protected] > >>> > [------JABBER-------] [email protected] > >>> > [------SKYPE--------] mauro.fagnoni > >>> > [-----LinuxUser#----] 346345 > >>> > [----------Blog---------] http://kingmauro.wordpress.com > >>> > ----------------------------------------------- > >>> > > >>> > >>> > >>> > >>> -- > >>> Mark Hahn > >>> Website Manager > >>> [email protected] > >>> 949-229-1012 > >>> > >> > >> > >> > >> -- > >> ----------------------------------------------- > >> [-------WHOAMI------] Mauro Fagnoni > >> [----------ICQ#---------] 279572903 > >> [--------MSNID--------] [email protected] > >> [--YAHOOMSNID--] [email protected] > >> [--GOOGLETALK--] [email protected] > >> [-GOOGLEWAVE-] [email protected] > >> [------JABBER-------] [email protected] > >> [------SKYPE--------] mauro.fagnoni > >> [-----LinuxUser#----] 346345 > >> [----------Blog---------] http://kingmauro.wordpress.com > >> ----------------------------------------------- > >> > > > > > > > > -- > > Mark Hahn > > Website Manager > > [email protected] > > 949-229-1012 > > > > > > -- > Mark Hahn > Website Manager > [email protected] > 949-229-1012 > -- ----------------------------------------------- [-------WHOAMI------] Mauro Fagnoni [----------ICQ#---------] 279572903 [--------MSNID--------] [email protected] [--YAHOOMSNID--] [email protected] [--GOOGLETALK--] [email protected] [-GOOGLEWAVE-] [email protected] [------JABBER-------] [email protected] [------SKYPE--------] mauro.fagnoni [-----LinuxUser#----] 346345 [----------Blog---------] http://kingmauro.wordpress.com -----------------------------------------------
