diff --git a/jastadd-mquat-base/src/main/resources/newAccessPaths.json b/jastadd-mquat-base/src/main/resources/newAccessPaths.json new file mode 100644 index 0000000000000000000000000000000000000000..0b4967610cbe776f6715128eb28d88adc7986139 --- /dev/null +++ b/jastadd-mquat-base/src/main/resources/newAccessPaths.json @@ -0,0 +1,1162 @@ +[ + { + "addressingMode": "direct", + "dynamic": false, + "id": 1, + "name": "SingleColumnStore", + "performances": [ + { + "dataSize": 1, + "insert": 0.024645, + "link": 5.35156e-07, + "lookup": 0.000316, + "scan": 0.000537, + "storageSize": 4096.0 + }, + { + "dataSize": 2, + "insert": 0.000167, + "link": 2.5e-07, + "lookup": 0.000121, + "scan": 6.75e-05, + "storageSize": 4096.0 + }, + { + "dataSize": 4, + "insert": 9.55e-05, + "link": 5.50781e-07, + "lookup": 0.00017, + "scan": 4.1e-05, + "storageSize": 4096.0 + }, + { + "dataSize": 8, + "insert": 5.825e-05, + "link": 6.32813e-07, + "lookup": 0.000193, + "scan": 4.4375e-05, + "storageSize": 4096.0 + }, + { + "dataSize": 16, + "insert": 4.35e-05, + "link": 1.01953e-06, + "lookup": 0.000248, + "scan": 2.84375e-05, + "storageSize": 4096.0 + }, + { + "dataSize": 32, + "insert": 4.01875e-05, + "link": 1.65625e-06, + "lookup": 0.000251, + "scan": 2.59375e-05, + "storageSize": 4096.0 + }, + { + "dataSize": 64, + "insert": 3.40312e-05, + "link": 2.98828e-06, + "lookup": 0.00042, + "scan": 2.29531e-05, + "storageSize": 4096.0 + }, + { + "dataSize": 128, + "insert": 3.1125e-05, + "link": 5.48437e-06, + "lookup": 0.000652, + "scan": 2.10234e-05, + "storageSize": 4096.0 + }, + { + "dataSize": 256, + "insert": 2.83984e-05, + "link": 1.05547e-05, + "lookup": 0.001142, + "scan": 2.12383e-05, + "storageSize": 4096.0 + }, + { + "dataSize": 512, + "insert": 2.99023e-05, + "link": 1.98984e-05, + "lookup": 0.002048, + "scan": 2.10801e-05, + "storageSize": 4096.0 + }, + { + "dataSize": 1024, + "insert": 2.8793e-05, + "link": 1.98594e-05, + "lookup": 0.004022, + "scan": 2.09297e-05, + "storageSize": 4096.0 + }, + { + "dataSize": 2048, + "insert": 4.99414e-05, + "link": 1.95742e-05, + "lookup": 0.007756, + "scan": 2.0418e-05, + "storageSize": 8192.0 + }, + { + "dataSize": 4096, + "insert": 3.5541e-05, + "link": 1.97109e-05, + "lookup": 0.015221, + "scan": 2.03757e-05, + "storageSize": 16384.0 + }, + { + "dataSize": 8192, + "insert": 3.27964e-05, + "link": 1.99531e-05, + "lookup": 0.030282, + "scan": 2.01656e-05, + "storageSize": 32768.0 + }, + { + "dataSize": 16384, + "insert": 3.2814e-05, + "link": 2.0043e-05, + "lookup": 0.060172, + "scan": 2.07303e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 32768, + "insert": 3.11573e-05, + "link": 1.96328e-05, + "lookup": 0.120306, + "scan": 2.01999e-05, + "storageSize": 131072.0 + }, + { + "dataSize": 65536, + "insert": 3.19799e-05, + "link": 1.97148e-05, + "lookup": 0.251049, + "scan": 2.01255e-05, + "storageSize": 262144.0 + }, + { + "dataSize": 131072, + "insert": 3.22086e-05, + "link": 1.99727e-05, + "lookup": 0.497512, + "scan": 2.10771e-05, + "storageSize": 524288.0 + }, + { + "dataSize": 262144, + "insert": 5.58021e-05, + "link": 2.07461e-05, + "lookup": 3.60659, + "scan": 3.96074e-05, + "storageSize": 1048580.0 + }, + { + "dataSize": 524288, + "insert": 6.81039e-05, + "link": 1.90234e-05, + "lookup": 1.83968, + "scan": 2.63369e-05, + "storageSize": 2097150.0 + }, + { + "dataSize": 1048576, + "insert": 2.96486e-05, + "link": 2.07539e-05, + "lookup": 4.31716, + "scan": 2.28682e-05, + "storageSize": 4194300.0 + }, + { + "dataSize": 2097152, + "insert": 3.26983e-05, + "link": 2.02695e-05, + "lookup": 7.39964, + "scan": 1.93639e-05, + "storageSize": 8388610.0 + }, + { + "dataSize": 4194304, + "insert": 3.27862e-05, + "link": 2.02891e-05, + "lookup": 15.0328, + "scan": 1.97043e-05, + "storageSize": 16777200.0 + }, + { + "dataSize": 8388608, + "insert": 3.33849e-05, + "link": 2.13633e-05, + "lookup": 52.3156, + "scan": 3.08029e-05, + "storageSize": 33554400.0 + }, + { + "dataSize": 16777216, + "insert": 3.37038e-05, + "link": 2.21953e-05, + "lookup": 93.6494, + "scan": 2.43376e-05, + "storageSize": 67108900.0 + }, + { + "dataSize": 33554432, + "insert": 3.86606e-05, + "link": 2.01758e-05, + "lookup": 185.496, + "scan": 2.44634e-05, + "storageSize": 134218000.0 + }, + { + "dataSize": 67108864, + "insert": 3.96451e-05, + "link": 2.49023e-05, + "lookup": 255.538, + "scan": 2.55337e-05, + "storageSize": 268435000.0 + } + ], + "properties": { + "attributeCount": 1, + "attributeNull": 0, + "attributeUndefined": 0, + "dynamicAttributeSize": 0, + "indexAttributeCount": 0, + "indexOrderPreserving": 0 + } + }, + { + "addressingMode": "direct", + "dynamic": false, + "id": 2, + "name": "ColumnStore", + "performances": [ + { + "dataSize": 1, + "insert": 0.011781, + "link": 3.03906e-06, + "lookup": 0.000538, + "scan": 0.00079, + "storageSize": 65536.0 + }, + { + "dataSize": 2, + "insert": 0.000322, + "link": 1.27734e-06, + "lookup": 0.000455, + "scan": 0.000123, + "storageSize": 65536.0 + }, + { + "dataSize": 4, + "insert": 0.000209, + "link": 2.60547e-06, + "lookup": 0.000503, + "scan": 0.00010475, + "storageSize": 65536.0 + }, + { + "dataSize": 8, + "insert": 0.00016025, + "link": 3.89844e-06, + "lookup": 0.000576, + "scan": 8.075e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 16, + "insert": 0.000114875, + "link": 7.40234e-06, + "lookup": 0.000897, + "scan": 6.8e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 32, + "insert": 0.000118625, + "link": 1.38594e-05, + "lookup": 0.001974, + "scan": 6.34375e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 64, + "insert": 0.000118688, + "link": 3.0543e-05, + "lookup": 0.003211, + "scan": 5.68281e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 128, + "insert": 0.000112547, + "link": 6.3125e-05, + "lookup": 0.007125, + "scan": 6.29219e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 256, + "insert": 0.000113156, + "link": 0.000126402, + "lookup": 0.013644, + "scan": 6.35273e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 512, + "insert": 0.000111113, + "link": 0.000225539, + "lookup": 0.02607, + "scan": 6.16934e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 1024, + "insert": 0.00012623, + "link": 0.000230258, + "lookup": 0.053025, + "scan": 6.02578e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 2048, + "insert": 0.000108541, + "link": 0.000241875, + "lookup": 0.1043, + "scan": 6.0707e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 4096, + "insert": 0.000118734, + "link": 0.00027541, + "lookup": 0.214952, + "scan": 6.07605e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 8192, + "insert": 0.000114668, + "link": 0.000284094, + "lookup": 0.426016, + "scan": 6.17606e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 16384, + "insert": 0.000114554, + "link": 0.000273313, + "lookup": 0.858303, + "scan": 6.03554e-05, + "storageSize": 131072.0 + }, + { + "dataSize": 32768, + "insert": 0.000112211, + "link": 0.000264102, + "lookup": 6.25776, + "scan": 0.000416595, + "storageSize": 262144.0 + }, + { + "dataSize": 65536, + "insert": 0.000116949, + "link": 0.000274781, + "lookup": 12.6741, + "scan": 5.83862e-05, + "storageSize": 524288.0 + }, + { + "dataSize": 131072, + "insert": 0.000113965, + "link": 0.000290008, + "lookup": 6.78223, + "scan": 0.000182087, + "storageSize": 1048580.0 + }, + { + "dataSize": 262144, + "insert": 0.000111307, + "link": 0.00034602, + "lookup": 32.207, + "scan": 0.000159134, + "storageSize": 2097150.0 + }, + { + "dataSize": 524288, + "insert": 0.000197141, + "link": 0.000331543, + "lookup": 50.5333, + "scan": 0.000131127, + "storageSize": 4194300.0 + }, + { + "dataSize": 1048576, + "insert": 0.000202964, + "link": 0.000301578, + "lookup": 78.555, + "scan": 6.19924e-05, + "storageSize": 6291460.0 + }, + { + "dataSize": 2097152, + "insert": 0.00021211, + "link": 0.000319348, + "lookup": 203.012, + "scan": 0.000153028, + "storageSize": 10485800.0 + }, + { + "dataSize": 4194304, + "insert": 0.000160665, + "link": 0.000320688, + "lookup": 397.222, + "scan": 0.000124537, + "storageSize": 18874400.0 + }, + { + "dataSize": 8388608, + "insert": 0.000174944, + "link": 0.00036466, + "lookup": 709.57, + "scan": 8.46783e-05, + "storageSize": 37748700.0 + }, + { + "dataSize": 16777216, + "insert": 0.000150324, + "link": 0.000396199, + "lookup": 1065.85, + "scan": 9.25932e-05, + "storageSize": 73400300.0 + }, + { + "dataSize": 33554432, + "insert": 0.000162821, + "link": 0.00037977, + "lookup": 2330.69, + "scan": 7.47312e-05, + "storageSize": 144703000.0 + }, + { + "dataSize": 67108864, + "insert": 0.000156024, + "link": 0.000422328, + "lookup": 4712.3, + "scan": 8.10567e-05, + "storageSize": 287310000.0 + } + ], + "properties": { + "attributeCount": "any", + "attributeNull": 1, + "attributeUndefined": 1, + "dynamicAttributeSize": 0, + "indexAttributeCount": 0, + "indexOrderPreserving": 0 + } + }, + { + "addressingMode": "indirect", + "dynamic": true, + "id": 3, + "name": "RowStore", + "performances": [ + { + "dataSize": 1, + "insert": 0.005069, + "link": 1.35938e-06, + "lookup": 0.000416, + "scan": 0.00104, + "storageSize": 65536.0 + }, + { + "dataSize": 2, + "insert": 0.000804, + "link": 6.21094e-07, + "lookup": 0.000404, + "scan": 0.0001795, + "storageSize": 65536.0 + }, + { + "dataSize": 4, + "insert": 0.0005455, + "link": 1.38672e-06, + "lookup": 0.000662, + "scan": 0.00015575, + "storageSize": 65536.0 + }, + { + "dataSize": 8, + "insert": 0.00046875, + "link": 2.16406e-06, + "lookup": 0.000924, + "scan": 0.000119875, + "storageSize": 65536.0 + }, + { + "dataSize": 16, + "insert": 0.000431125, + "link": 3.67969e-06, + "lookup": 0.001644, + "scan": 0.00010975, + "storageSize": 65536.0 + }, + { + "dataSize": 32, + "insert": 0.0004095, + "link": 6.61719e-06, + "lookup": 0.003009, + "scan": 0.000105438, + "storageSize": 65536.0 + }, + { + "dataSize": 64, + "insert": 0.000385281, + "link": 1.28477e-05, + "lookup": 0.005778, + "scan": 0.000102828, + "storageSize": 65536.0 + }, + { + "dataSize": 128, + "insert": 0.000323016, + "link": 2.50313e-05, + "lookup": 0.010764, + "scan": 9.97969e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 256, + "insert": 0.000308281, + "link": 4.6957e-05, + "lookup": 0.020808, + "scan": 0.000145652, + "storageSize": 65536.0 + }, + { + "dataSize": 512, + "insert": 0.00080041, + "link": 9.51562e-05, + "lookup": 0.041283, + "scan": 9.50918e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 1024, + "insert": 0.000313543, + "link": 9.3625e-05, + "lookup": 0.081052, + "scan": 9.44766e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 2048, + "insert": 0.000305191, + "link": 9.16719e-05, + "lookup": 0.16278, + "scan": 9.40854e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 4096, + "insert": 0.00195158, + "link": 9.46406e-05, + "lookup": 0.331608, + "scan": 9.40024e-05, + "storageSize": 131072.0 + }, + { + "dataSize": 8192, + "insert": 0.000312227, + "link": 9.2125e-05, + "lookup": 0.649275, + "scan": 9.39098e-05, + "storageSize": 196608.0 + }, + { + "dataSize": 16384, + "insert": 0.00156759, + "link": 9.47266e-05, + "lookup": 1.29058, + "scan": 9.44443e-05, + "storageSize": 327680.0 + }, + { + "dataSize": 32768, + "insert": 0.000317218, + "link": 9.65469e-05, + "lookup": 2.59609, + "scan": 0.000338792, + "storageSize": 655360.0 + }, + { + "dataSize": 65536, + "insert": 0.000679982, + "link": 9.00312e-05, + "lookup": 10.104, + "scan": 0.000208496, + "storageSize": 1245180.0 + }, + { + "dataSize": 131072, + "insert": 0.000453278, + "link": 9.72422e-05, + "lookup": 20.7516, + "scan": 0.000111152, + "storageSize": 2424830.0 + }, + { + "dataSize": 262144, + "insert": 0.000366907, + "link": 0.000103297, + "lookup": 20.6737, + "scan": 9.43841e-05, + "storageSize": 4849660.0 + }, + { + "dataSize": 524288, + "insert": 0.000406269, + "link": 9.68594e-05, + "lookup": 41.8999, + "scan": 9.38686e-05, + "storageSize": 9633790.0 + }, + { + "dataSize": 1048576, + "insert": 0.000319177, + "link": 9.86406e-05, + "lookup": 112.29, + "scan": 9.46775e-05, + "storageSize": 19267600.0 + }, + { + "dataSize": 2097152, + "insert": 0.000418609, + "link": 9.69414e-05, + "lookup": 272.563, + "scan": 9.46779e-05, + "storageSize": 38535200.0 + }, + { + "dataSize": 4194304, + "insert": 0.000427642, + "link": 9.60078e-05, + "lookup": 429.013, + "scan": 0.000158219, + "storageSize": 77070300.0 + }, + { + "dataSize": 8388608, + "insert": 0.000392501, + "link": 9.56328e-05, + "lookup": 931.197, + "scan": 0.000110497, + "storageSize": 154141000.0 + }, + { + "dataSize": 16777216, + "insert": 0.000380182, + "link": 9.80547e-05, + "lookup": 1498.54, + "scan": 0.000123833, + "storageSize": 308216000.0 + }, + { + "dataSize": 33554432, + "insert": 0.000415687, + "link": 9.62656e-05, + "lookup": 3332.53, + "scan": 0.000112992, + "storageSize": 616366000.0 + }, + { + "dataSize": 67108864, + "insert": 0.000414791, + "link": 9.92461e-05, + "lookup": 6655.21, + "scan": 0.000120299, + "storageSize": 1232670000.0 + } + ], + "properties": { + "attributeCount": "dynamic", + "attributeNull": 1, + "attributeUndefined": 1, + "dynamicAttributeSize": 1, + "indexAttributeCount": 0, + "indexOrderPreserving": 0 + } + }, + { + "addressingMode": "indirect", + "dynamic": false, + "id": 3, + "name": "RowStore", + "performances": [ + { + "dataSize": 1, + "insert": 0.017669, + "link": 1.05078e-06, + "lookup": 0.000412, + "scan": 0.000751, + "storageSize": 65536.0 + }, + { + "dataSize": 2, + "insert": 0.000769, + "link": 6.36719e-07, + "lookup": 0.000364, + "scan": 0.0001645, + "storageSize": 65536.0 + }, + { + "dataSize": 4, + "insert": 0.000514, + "link": 1.32813e-06, + "lookup": 0.000609, + "scan": 0.00013625, + "storageSize": 65536.0 + }, + { + "dataSize": 8, + "insert": 0.000468, + "link": 2.29297e-06, + "lookup": 0.000889, + "scan": 0.000119, + "storageSize": 65536.0 + }, + { + "dataSize": 16, + "insert": 0.000429875, + "link": 3.91406e-06, + "lookup": 0.00162, + "scan": 0.000106875, + "storageSize": 65536.0 + }, + { + "dataSize": 32, + "insert": 0.00041025, + "link": 6.62891e-06, + "lookup": 0.002988, + "scan": 0.000101438, + "storageSize": 65536.0 + }, + { + "dataSize": 64, + "insert": 0.000394094, + "link": 1.28047e-05, + "lookup": 0.025604, + "scan": 9.99375e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 128, + "insert": 0.000335188, + "link": 2.60508e-05, + "lookup": 0.011065, + "scan": 9.59141e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 256, + "insert": 0.000268305, + "link": 4.7168e-05, + "lookup": 0.021653, + "scan": 9.51367e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 512, + "insert": 0.0003245, + "link": 9.49219e-05, + "lookup": 0.042458, + "scan": 9.44746e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 1024, + "insert": 0.000314408, + "link": 9.54141e-05, + "lookup": 0.085146, + "scan": 9.32959e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 2048, + "insert": 0.000304473, + "link": 9.48047e-05, + "lookup": 0.169781, + "scan": 9.36162e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 4096, + "insert": 0.000310594, + "link": 8.8457e-05, + "lookup": 0.329261, + "scan": 9.42874e-05, + "storageSize": 65536.0 + }, + { + "dataSize": 8192, + "insert": 0.000310583, + "link": 8.94883e-05, + "lookup": 0.683663, + "scan": 9.2675e-05, + "storageSize": 131072.0 + }, + { + "dataSize": 16384, + "insert": 0.000310106, + "link": 9.26758e-05, + "lookup": 1.30593, + "scan": 9.32053e-05, + "storageSize": 262144.0 + }, + { + "dataSize": 32768, + "insert": 0.000301713, + "link": 8.3168e-05, + "lookup": 2.60836, + "scan": 8.98364e-05, + "storageSize": 524288.0 + }, + { + "dataSize": 65536, + "insert": 0.000300155, + "link": 9.18594e-05, + "lookup": 5.31677, + "scan": 9.02301e-05, + "storageSize": 983040.0 + }, + { + "dataSize": 131072, + "insert": 0.000298739, + "link": 9.71641e-05, + "lookup": 10.5485, + "scan": 8.97728e-05, + "storageSize": 1900540.0 + }, + { + "dataSize": 262144, + "insert": 0.000299004, + "link": 9.23672e-05, + "lookup": 21.0137, + "scan": 9.00453e-05, + "storageSize": 3801090.0 + }, + { + "dataSize": 524288, + "insert": 0.000425368, + "link": 9.55664e-05, + "lookup": 41.2742, + "scan": 0.000136086, + "storageSize": 7536640.0 + }, + { + "dataSize": 1048576, + "insert": 0.000330615, + "link": 9.45312e-05, + "lookup": 83.4139, + "scan": 0.00011054, + "storageSize": 15073300.0 + }, + { + "dataSize": 2097152, + "insert": 0.000471611, + "link": 9.74297e-05, + "lookup": 220.957, + "scan": 0.000132221, + "storageSize": 30081000.0 + }, + { + "dataSize": 4194304, + "insert": 0.000383419, + "link": 9.49531e-05, + "lookup": 442.979, + "scan": 0.000106912, + "storageSize": 60096500.0 + }, + { + "dataSize": 8388608, + "insert": 0.000352057, + "link": 0.000100293, + "lookup": 784.412, + "scan": 0.000107329, + "storageSize": 120193000.0 + }, + { + "dataSize": 16777216, + "insert": 0.000384641, + "link": 9.75938e-05, + "lookup": 1825.97, + "scan": 0.000120202, + "storageSize": 240321000.0 + }, + { + "dataSize": 33554432, + "insert": 0.00036909, + "link": 9.49492e-05, + "lookup": 3295.74, + "scan": 0.000116739, + "storageSize": 480575000.0 + }, + { + "dataSize": 67108864, + "insert": 0.000379141, + "link": 9.85859e-05, + "lookup": 6809.25, + "scan": 0.000110863, + "storageSize": 961151000.0 + } + ], + "properties": { + "attributeCount": "dynamic", + "attributeNull": 1, + "attributeUndefined": 1, + "dynamicAttributeSize": 1, + "indexAttributeCount": 0, + "indexOrderPreserving": 0 + } + }, + { + "addressingMode": "index", + "dynamic": false, + "id": 4, + "name": "RB-Tree", + "performances": [ + { + "dataSize": 1, + "insert": 0.002594, + "link": 0.0, + "lookup": 0.001113, + "scan": 0.0, + "storageSize": 16384.0 + }, + { + "dataSize": 2, + "insert": 0.000886, + "link": 0.0, + "lookup": 0.000513, + "scan": 0.0, + "storageSize": 16384.0 + }, + { + "dataSize": 4, + "insert": 0.0006, + "link": 0.0, + "lookup": 0.000467, + "scan": 0.0, + "storageSize": 16384.0 + }, + { + "dataSize": 8, + "insert": 0.00061075, + "link": 0.0, + "lookup": 0.000504, + "scan": 0.0, + "storageSize": 16384.0 + }, + { + "dataSize": 16, + "insert": 0.000623375, + "link": 0.0, + "lookup": 0.000715, + "scan": 0.0, + "storageSize": 16384.0 + }, + { + "dataSize": 32, + "insert": 0.000682375, + "link": 0.0, + "lookup": 0.000621, + "scan": 0.0, + "storageSize": 16384.0 + }, + { + "dataSize": 64, + "insert": 0.000779875, + "link": 0.0, + "lookup": 0.000734, + "scan": 0.0, + "storageSize": 16384.0 + }, + { + "dataSize": 128, + "insert": 0.000789516, + "link": 0.0, + "lookup": 0.000823, + "scan": 0.0, + "storageSize": 16384.0 + }, + { + "dataSize": 256, + "insert": 0.00085157, + "link": 0.0, + "lookup": 0.000854, + "scan": 0.0, + "storageSize": 32768.0 + }, + { + "dataSize": 512, + "insert": 0.000891121, + "link": 0.0, + "lookup": 0.001341, + "scan": 0.0, + "storageSize": 49152.0 + }, + { + "dataSize": 1024, + "insert": 0.000890621, + "link": 0.0, + "lookup": 0.001523, + "scan": 0.0, + "storageSize": 81920.0 + }, + { + "dataSize": 2048, + "insert": 0.000967129, + "link": 0.0, + "lookup": 0.001585, + "scan": 0.0, + "storageSize": 147456.0 + }, + { + "dataSize": 4096, + "insert": 0.00105048, + "link": 0.0, + "lookup": 0.001655, + "scan": 0.0, + "storageSize": 278528.0 + }, + { + "dataSize": 8192, + "insert": 0.00116575, + "link": 0.0, + "lookup": 0.002024, + "scan": 0.0, + "storageSize": 540672.0 + }, + { + "dataSize": 16384, + "insert": 0.00119779, + "link": 0.0, + "lookup": 0.002883, + "scan": 0.0, + "storageSize": 1064960.0 + }, + { + "dataSize": 32768, + "insert": 0.00129068, + "link": 0.0, + "lookup": 0.002639, + "scan": 0.0, + "storageSize": 2113540.0 + }, + { + "dataSize": 65536, + "insert": 0.00134856, + "link": 0.0, + "lookup": 0.002998, + "scan": 0.0, + "storageSize": 4210690.0 + }, + { + "dataSize": 131072, + "insert": 0.00140771, + "link": 0.0, + "lookup": 0.003099, + "scan": 0.0, + "storageSize": 8404990.0 + }, + { + "dataSize": 262144, + "insert": 0.00147802, + "link": 0.0, + "lookup": 0.003351, + "scan": 0.0, + "storageSize": 16793600.0 + }, + { + "dataSize": 524288, + "insert": 0.00216068, + "link": 0.0, + "lookup": 0.003712, + "scan": 0.0, + "storageSize": 33570800.0 + }, + { + "dataSize": 1048576, + "insert": 0.00235016, + "link": 0.0, + "lookup": 0.004077, + "scan": 0.0, + "storageSize": 67125200.0 + }, + { + "dataSize": 2097152, + "insert": 0.0022822, + "link": 0.0, + "lookup": 0.004016, + "scan": 0.0, + "storageSize": 134234000.0 + }, + { + "dataSize": 4194304, + "insert": 0.00209937, + "link": 0.0, + "lookup": 0.003978, + "scan": 0.0, + "storageSize": 268452000.0 + }, + { + "dataSize": 8388608, + "insert": 0.00225131, + "link": 0.0, + "lookup": 0.005625, + "scan": 0.0, + "storageSize": 536887000.0 + }, + { + "dataSize": 16777216, + "insert": 0.00230932, + "link": 0.0, + "lookup": 0.004835, + "scan": 0.0, + "storageSize": 1073760000.0 + }, + { + "dataSize": 33554432, + "insert": 0.00245877, + "link": 0.0, + "lookup": 0.011483, + "scan": 0.0, + "storageSize": 2147500000.0 + }, + { + "dataSize": 67108864, + "insert": 0.00261152, + "link": 0.0, + "lookup": 0.005536, + "scan": 0.0, + "storageSize": 4294980000.0 + } + ], + "properties": { + "attributeCount": 0, + "attributeNull": 0, + "attributeUndefined": 0, + "dynamicAttributeSize": 0, + "indexAttributeCount": 1, + "indexOrderPreserving": 1 + } + } +] \ No newline at end of file diff --git a/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/ErisMQuATBuilder.java b/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/ErisMQuATBuilder.java index 8a3a0226aedeb13944de943c546e660cd55a4c60..d377b7796daf9d638ca2b449e74fa0b5e676d79b 100644 --- a/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/ErisMQuATBuilder.java +++ b/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/ErisMQuATBuilder.java @@ -215,6 +215,15 @@ public class ErisMQuATBuilder { new LiteralExpression(1D) )); } + // if the attribute has a dynamic length, require a dynamic attribute size + if (attribute.getTypeLength() == 0) { + directOrIndirectImplementation.addClause(new Clause( + ClauseType.REQUIRING, + new PropertyResourceDesignator(directOrIndirectAccessPathInstance.createRef(), dynamicAttributeSize.createRef()), + ClauseComparator.EQ, + new LiteralExpression(1D) + )); + } // create the provisions @@ -282,6 +291,15 @@ public class ErisMQuATBuilder { new LiteralExpression(1D) )); } + // if the attribute has a dynamic length, require a dynamic attribute size + if (attribute.getTypeLength() == 0) { + indexImplementation.addClause(new Clause( + ClauseType.REQUIRING, + new PropertyResourceDesignator(indexAccessPathInstance.createRef(), dynamicAttributeSize.createRef()), + ClauseComparator.EQ, + new LiteralExpression(1D) + )); + } { MultExpression lookups = new MultExpression(new LiteralExpression(num_lookups), new PropertyResourceDesignator(indexAccessPathInstance.createRef(), lookupProperties.get(lookupsize).createRef())); diff --git a/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISAttribute.java b/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISAttribute.java index fbad9c6b03bd7de66e4213e2f6ec58e8032666f8..17f95fe2bb4dc4535382777a5b9eca61bb392218 100644 --- a/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISAttribute.java +++ b/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISAttribute.java @@ -26,7 +26,7 @@ public class ERISAttribute { typeLength = jsonObject.getInt("typeLength"); unique = jsonObject.getBoolean("unique"); allowIndex = jsonObject.getBoolean("allowIndex"); - allowIndex = allowIndex && notNull && notUndefined; + allowIndex = allowIndex && notNull && notUndefined && (typeLength > 0); this.container = container; }