dada.cartesian where query size limitation

Discussions, advice, bug reports and much more about the "dada" environment.
Post Reply
chrischandler
Posts: 11
Joined: Mon Oct 21, 2019 12:53 am

dada.cartesian where query size limitation

Post by chrischandler » Fri Jun 02, 2023 3:34 pm

I am encountering an issue where, when generating where queries for dada.cartesian, there appears to be a length limitation. Meaning, if the where query is too long, then dada.cartesian throws an error saying "dada.cartesian: Error while executing query!" I have tested breaking the message into smaller parts to troubleshoot if there is a problematic column that I am querying, but it doesn't seem to be the case. Instead seems to have to do with the message length. I have pasted below a small patch to demonstrate. The file to read into dada.base is here at this link (I can't attach the file for some reason).

Maybe this is a bug or maybe I am doing something wrong?

Code: Select all

----------begin_max5_patcher----------
2633.3oc6cszaiibD9r8uBB4C6tAZD3it4ibak3iKY2DjjaAABjhss4LTjJj
T9wrX+umlM0SaYaVU0aPNXCLVVT8W8U0WUMYKMcQ8aWe0jr5mDsSL9yF+Kiq
t52t9pqTGp+.Ws64WMYc5SqJSaUCaxZQaa5chISGdsNwScpi+XSQmnS9jcuv
lFQqnpKsqntZYYQkXU81J0Ps2OhztU2WTc2xFwptAWvOXlicfqsikousmKia
M0vh6MyMfa55X4434YFXxmZv7lYN0v1dlow+dm4p21UJ55ddiXvVSlb3kp1t
tnR9hsmReQtxuqy95WrlbbfClQMRq9C96Wec+ulNR4YU850xv9UxSiHM2nnx
nSz1MqT9iQdZWZVZ6Ak7BxAicA4vZPN3ttVd17f.ufdMxToGlmnGmEzVuNn8
tbPapwfd81U2aTVWcmnw3+rUz7rw8hFgQdsn0npty3w5lusGzXKQ731pPk42
+vt.2wAPf69Gef2decS2gfNMq9AgJXaemjsM250AFnLJWeA1aNKWk.+QiVYl
J+WSWKLJK9lv3GjExsKusbamX4sE84aQ9x6JKjFoJud4Oy9hoo0OXT2fAnMF
fbrLxovnCVfLD.mm4fLHGPZiBICMmLRb5fFIFscwMXiyAj1nPxQyI1p1EnCS
zQI5fjSgQLkOgXEmPrhSDVwIBq3DkwPgBsilg0SiQO8HF8ziXzThkwjavdR8
Aj33jglSFINcPgji1aQmUPSIIF+P4oqXcVi7glhxxk+LvgOpj9qgXCDxxcKF
FDr4YbniefGPnF4Ubu.FafXbgMd3olEvSMKPD7HhcXgdHr7dHLqGAaJxHt33
KGOhpvHf05Q6q0Am9NEIrrX73trzEv.kGFBdXH3AllGCc3HpCR3.Gt5rdOj1
THxAKZuDsMIze7zp5p61JV1jtVdYpQ4ru.fM..ygxvbvLjAlhLnbr3Fnbr3F
3bv.yACJGfo.JCgPEpPn5THCvfif5NQPcmHnRZDTIMBbAdD3B7ADNfP.Nvyf
F4wfm1ECdZWL3ocwfm1ECQXigTem.VgR.qPIer22HVWWVuLsn4Y4kHFyTzyP
vVFwW1++MABXi6Z6mgKyQs5PvDtvou9BJjDmkvfvFSIvoHjSdGya37kPjWFD
HFV+mhKFLHxRRkVtV.vPjWSDdhUADiSlzWq+17MfPtTszt6WVWUppY2rbUYc
qXj.l6.E.XFxfhXAX.sPQDBEPDX.fC6Xv..G1IfA7gTra3sU4KyYi01c0Ol1
j2tTMn9Zv02hDJCOTNdntngFg2giv6vQ3c3D7NbBdGNYTN72DOKGSwpu01eh
OPiWVyAa7PseFP.KfNdNvw2BkfVfLDBjfHniGpjFCc7PknDnieTDro36euXU
ZW8IE0KE4Ech7Qg5XoMHT33JCErE3PwQgpEGYsnXKDEYgn3JBEWQ33BWht+S
gFArXTjEiiKb0Gw3pORPQVBDe7rON0CWFEDt4Hws.KNFRbsXIrEIigHILDIe
QH4q+MfiDHROMFIgwXygIXwcIB+oKt2T8Le68vYfIaXObx6eHvVsiNC52rx5
XaJ6nuso7as+N62lxP2PxWZ+Y2ugb029y19O9.+yM15mar0O2XqetwV+bis9
4Fa8yM15mar0O2Xq++0Fa8xqE2h8N8Ski8LVPPfuumCyy11xwSttT2YLy9eb
bb77cMsTcTmuZ0pVAtZZ4ptL8sf07z7zYqRa5DsEoUSfFuAxUr6Y4ZYaZY63
65XaO0v0wbl4I+v3xUryCBlwc5WUuqmsibf9VuiVL83+xRqt6n1zHJS6JdP7
sppS6RszmDskoYhx1U0k0MClwbVfquqsGiaF3a5DHcswcHqSxSxTgxb8ovgi
7jhHk3caQonpu.aSgTu1KdOcagnL+rA7KE4EqDUcGZPuRwchp7ybVVforDwz
ym4H0Vmoi7Pm5r8TH1Yvu35ybm46I09uHq.sl4HUceeeWOtLmDbT8Oznn8N7
cs2tY9IcM5Ceutdc+qvlI0GSeSatqImE3y2MfmOpF8r2TWb3M38fnosntRVi
lM3TNlVl6UQYQn5XVtGD1mOpasaj0cMokuzjm3MdVLa+8+du2rtNWEG6M4p5
pGDOspdcljuAcw57IgJ5ppNT4K0hxAonMc8lRQ6jQ1cjNG56SUV8XrTTceZy
55phUEcOebLxLUU2gQIK5Ob5p9p9a2VV92R6tu+u2TW9b11ausWD264Y2cVs
ipN93u77OVRbTAJp1O7iJfpCRUt4+H5uDs3eZ7mLh+6+0ew3EAe680OdbN1o
Jv4mAhcx7wybPuCkr1xpmoi5HmloTu+4cB0O1KJmoV8meu+ww81o6GozynXD
apFgqCOgqKOwQGFgQzH6ea45vJ1jsBSK9BSa9hiVrB0bz92duNrhMYqv0hun
iYQKzhrnEUQKhBWWdB0x1PcHrg5PXizgvFoCgs+idfpEzRvjoinIVKSii0xz
3Xs3J5vS1+wYnCqP2WXZwWXZyWbHaEtVhHsjo0hqnMOAjz9xOFEzPAWfco9F
FO7C8PLVSz2OwDvtaaZi0BHVIzE64X73cwikVpeAsT+BhBGQcCurEhudKDOq
Q3mhCbQKuQeOi2BbJXOoen0gUvWwDCeYAWrmowimQjeFQ9wmGio.kX8WBm.z
W1G15xR1ZyRvNsvq5UaBfsQBdNElmSh4LRTmQg6E2Pg6E2PiaFItYT3lD0TX
NjhfGRQuCYHAFQwkin3xQTRSQTRSQjlTFQZR499TGKZRhVFEUKlzoShIc5jX
RmNIlzoShwlrhwNmLgjRmPRoSfEsutu4Qi9XOzSyDvW61a1a8XMxt9rm.79d
tGMbFzRuKzK9Tf22W93wOzi9DwSrJXWu6SA9g93mjQnFHmze+ejId2d8GN3S
56eDfIwbFEzKHAtkB5PJfiHAljjESBLIIKgDXPTeo6CAf37sumDPwLL8XFtd
LiqVLSjdBpH8DTQ5InRzSPknmfJAbPc46EBfwdx8EA3XovaFAvKnfkS.aKEh
aIvbHAhinfkRZJlBVJRcBErfI98t+M.0Bu9d4.XKP2GxHahEzs.mrEZo6Dsj
8hPxNQHYeHhrODQ2GnWTcg6sDPMQLYmHltOPutLldcYBYmHAab792uJ.ai4Z
vFKzgMXZvFs5vQZ0fmDpAGITC9QjF7iKcuw.gQzPzDqAGIVG0HI5vFugi7SG
6Tl1huKN1LNk0ayqDsGZrk6ZJxuPii45Yx88sc31ALKK+oi7PpNVAQS3UIdr
N6qu5lFgp275aMK0Wqeyg+k4msk4k5GQ9Ht4Y7pNu6L84PPKIxyzcp5PGagN
KtW+gN9TUG1cdG87g8S0a7sln8I5qxXpV17EeGSpzm9ietnKqpZVsOD28Myn
wQWJWpxEUpuRIOYLN6FzEyqikHmwPjqFHR0bn+OhJbh2PRKcylc8GnhkdNjy
I95PIl+zqGZ8xgmp5tuIMhGJ1OdUelMIsQNInSNCX6PugM4occFqpO.ap1Vr
qqXkQmjR07s9twrcS5PfnlVd8ue8+E3rcmsF
-----------end_max5_patcher-----------

danieleghisi
Site Admin
Posts: 1349
Joined: Fri Dec 03, 2010 1:25 pm

Re: dada.cartesian where query size limitation

Post by danieleghisi » Fri Jun 02, 2023 9:16 pm

I have bad news for you... If I run your example in the debugger, I get this in the console:

2023-06-02 23:09:43.694936+0200 Max[33050:5855964] DB: Query Overrun!

I am using cycling '74 db_query() API function. I do not know exactly what this means, but I suspect this may be an undocumented, hard limitation on the length of allowed queries. I cannot do anything about this, unfortunately, except for letting Cycling '74 know about this.
Sorry...

As a workaround, you may dedicate a column in your table to hold a "selectable" 1/0 value. You can update the values in your table one by one, first by clearing them
query UPDATE mytable SET selectable = 0
and then setting to 1 the ones you want to select, one by one, iteratively (so you don't run into Query Overrun).
query UPDATE mytable SET selectable = 1 WHERE soundName like 'bass_flute_timbre_trill_F#5'
etc.
Then, your "where" clause in dada.cartesian is very short: where selectable IS 1.
That said, this may take a bit longer...

Hope this helps,
Daniele

Post Reply