ClustrMaps

The roadrunner is back as never before! See also: My homepage or my very obsolete site
If by any means entries in my blog are considered to be harmful or damaging, please let me know (add comment) or just mail me. In this (unhopely) case I will remove or change the contents.

Tuesday, February 03, 2009

No limits !



Al vechtend met een query statement van meer dan 64 KB (!)
en de belofte van IBM dat dit nu mogelijk zou zijn op iSeries:
http://www.ibmsystemsmag.com/ibmi/february06/features/8609p3.aspx
Extended limits-The limit for SQL statements is now 2 MB, up from 64K.

Na enige tests kwam ik er achter dat de 64KB grens voor mij wel geldt.
Tja, het is de applicatie die deze gigantische query opbouwt,
dus rest er niets anders dan de code om te bouwen.

64 KB voor een query lijkt veel, maar een applicatie kan rare statements opbouwen.

Zo kwam ik deze query tegen:
http://www.dba-oracle.com/oracle_news/2006_11_15_worlds_longest_sql_query.htm
http://forums.oracle.com/forums/message.jspa?messageID=1326516#1326516

De query is door een normaal mens niet te bevatten.
Let op de IN clauses:
AND ((D65_PROVIDER_ET) IN (('ALL_PROV_1') , ('PROV_1000001') , ('PROV_1000002') , ('PROV_1000003') ,
...
OR
(D65_PROVIDER_ET) IN (('PROV_1001000') , ('PROV_1001001') , ('PROV_1001002') , ('PROV_1001003') ,

Het is de programmatuur die ongelimiteerd (en domweg ...) waardes toevoegt aan de IN clause.
De database kent echter zijn begrenzingen.

De simpele programmeur staat voor de uitdaging om er weer een normale query van te maken.

No limits (*NOMAX) blijft een ultieme droom.
Het is goed je eigen en andermans grenzen te kennen.

No comments: