31 #line 32 "SubTransaction.cc"
34 int64_t transactionidarg, int64_t domainidarg,
35 class Engine *enginePtrarg) :
36 taAddr(taAddrarg), transactionid(transactionidarg), domainid(domainidarg),
37 enginePtr(enginePtrarg)
68 subtransactionCmdRef.
row);
94 &subtransactionCmdRef.
row);
136 &subtransactionCmdRef.
rowids,
152 fprintf(
logfile,
"anomaly: %i %s %i\n",
165 class Table *tablePtr;
166 class Index *indexPtr;
168 for (
size_t n=0; n<subtransactionCmdRef.
rofs.size(); n++)
174 printf(
"%s %i anomaly, barfing, tableid %i\n", __FILE__,
175 __LINE__, rowFieldRef.
tableid);
181 if (rowFieldRef.
isrow==
true)
193 if (tablePtr->
rows.count(rowFieldRef.
rowid) &&
212 printf(
"%s %i INSERTNULLENTRY unique index\n", __FILE__,
265 fprintf(
logfile,
"anomaly: %i %s %i\n",
266 indexPtr->
fieldtype, __FILE__, __LINE__);
428 fprintf(
logfile,
"anomaly: %i %s %i\n",
429 indexPtr->
fieldtype, __FILE__, __LINE__);
620 fprintf(
logfile,
"anomaly: %i %s %i\n",
626 int64_t rowid, int64_t engineid,
797 printf(
"%s %i NOLOCK float %Lf\n", __FILE__, __LINE__,
845 printf(
"%s %i NOLOCK char %c\n", __FILE__, __LINE__,
896 printf(
"%s %i NOLOCK charx '%s'\n", __FILE__, __LINE__,
945 printf(
"%s %i NOLOCK varchar '%s'\n", __FILE__, __LINE__,
975 printf(
"%s %i anomaly %i\n", __FILE__, __LINE__, indexRef.
indexmaptype);
983 vector<nonLockingIndexEntry_s> *indexHits)
988 switch (searchParameters->
op)
1118 searchParameters->
op, indexHits);
1125 searchParameters->
op, indexHits);
1132 searchParameters->
op, indexHits);
1139 searchParameters->
op, indexHits);
1146 searchParameters->
op, indexHits);
1153 searchParameters->
op, indexHits);
1160 searchParameters->
op, indexHits);
1179 searchParameters->
op, indexHits);
1186 searchParameters->
op, indexHits);
1193 searchParameters->
op, indexHits);
1200 searchParameters->
op, indexHits);
1207 searchParameters->
op, indexHits);
1214 searchParameters->
op, indexHits);
1221 searchParameters->
op, indexHits);
1240 searchParameters->
op, indexHits);
1247 searchParameters->
op, indexHits);
1254 searchParameters->
op, indexHits);
1261 searchParameters->
op, indexHits);
1268 searchParameters->
op, indexHits);
1275 searchParameters->
op, indexHits);
1282 searchParameters->
op, indexHits);
1301 searchParameters->
op, indexHits);
1308 searchParameters->
op, indexHits);
1315 searchParameters->
op, indexHits);
1322 searchParameters->
op, indexHits);
1329 searchParameters->
op, indexHits);
1336 searchParameters->
op, indexHits);
1343 searchParameters->
op, indexHits);
1361 vector<int64_t> v(searchParameters->
values.size());
1363 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1365 v[n] = searchParameters->
values[n].value.integer;
1368 indexRef.
getin(&v, indexHits);
1374 vector<uint64_t> v(searchParameters->
values.size());
1376 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1378 v[n] = searchParameters->
values[n].value.uinteger;
1381 indexRef.
getin(&v, indexHits);
1387 vector<bool> v(searchParameters->
values.size());
1389 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1391 v[n] = searchParameters->
values[n].value.boolean;
1394 indexRef.
getin(&v, indexHits);
1400 vector<long double> v(searchParameters->
values.size());
1402 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1404 v[n] = searchParameters->
values[n].value.floating;
1407 indexRef.
getin(&v, indexHits);
1413 vector<char> v(searchParameters->
values.size());
1415 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1417 v[n] = searchParameters->
values[n].value.character;
1420 indexRef.
getin(&v, indexHits);
1426 vector<string> v(searchParameters->
values.size());
1428 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1430 v[n] = searchParameters->
values[n].str;
1433 indexRef.
getin(&v, indexHits);
1439 vector<string> v(searchParameters->
values.size());
1441 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1443 v[n] = searchParameters->
values[n].str;
1446 indexRef.
getin(&v, indexHits);
1463 vector<int64_t> v(searchParameters->
values.size());
1465 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1467 v[n] = searchParameters->
values[n].value.integer;
1476 vector<uint64_t> v(searchParameters->
values.size());
1478 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1480 v[n] = searchParameters->
values[n].value.uinteger;
1489 vector<bool> v(searchParameters->
values.size());
1491 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1493 v[n] = searchParameters->
values[n].value.boolean;
1502 vector<long double> v(searchParameters->
values.size());
1504 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1506 v[n] = searchParameters->
values[n].value.floating;
1515 vector<char> v(searchParameters->
values.size());
1517 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1519 v[n] = searchParameters->
values[n].value.character;
1528 vector<string> v(searchParameters->
values.size());
1530 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1532 v[n] = searchParameters->
values[n].str;
1541 vector<string> v(searchParameters->
values.size());
1543 for (
size_t n=0; n < searchParameters->
values.size(); n++)
1545 v[n] = searchParameters->
values[n].str;
1566 searchParameters->
values[1].value.integer,
1573 indexRef.
between(searchParameters->
values[0].value.uinteger,
1574 searchParameters->
values[1].value.uinteger,
1582 searchParameters->
values[1].value.boolean,
1589 indexRef.
between(searchParameters->
values[0].value.floating,
1590 searchParameters->
values[1].value.floating,
1597 indexRef.
between(searchParameters->
values[0].value.character,
1598 searchParameters->
values[1].value.character,
1606 searchParameters->
values[1].str,
1614 searchParameters->
values[1].str, indexHits);
1633 searchParameters->
values[1].value.integer,
1641 searchParameters->
values[1].value.uinteger,
1649 searchParameters->
values[1].value.boolean,
1657 searchParameters->
values[1].value.floating,
1665 searchParameters->
values[1].value.character,
1673 &searchParameters->
values[1].str, indexHits);
1680 &searchParameters->
values[1].str, indexHits);
1701 indexRef.
getall(indexHits);
1709 indexRef.
like(searchParameters->
values[0].str, indexHits);
1713 indexRef.
notlike(searchParameters->
values[0].str, indexHits);
1717 fprintf(
logfile,
"anomaly %i %s %i\n", searchParameters->
op, __FILE__,
1726 for (
size_t n=0; n<rowOrFields->size(); n++)
1731 if (rowOrFieldRef.
isrow==
true)
1901 std::queue<lockQueueRowEntry> &qRef = tableRef.
lockQueue[rowid];
1903 while (!qRef.empty())
1915 subtransactionCmdPtr->
returnRows[0].rowid = rowid;
2175 std::queue<lockQueueIndexEntry> *lockQueuePtr=NULL;
2240 if (lockQueuePtr==NULL)
2245 std::queue<lockQueueIndexEntry> &lockQueueRef = *lockQueuePtr;
2247 while (!lockQueueRef.empty())
2262 subtransactionCmdPtr->
fieldVal = *val;
2305 int64_t forward_rowid,
2306 int64_t forward_engineid)
2315 vector<returnRow_s> *returnRows)
2326 vector<returnRow_s> &returnRows)
2328 vector<nonLockingIndexEntry_s> indexHits;
2330 indexSearch(tableid, fieldid, &searchParams, &indexHits);
2332 if (indexHits.size()==1)
2346 returnRows.push_back(returnRow);