transactd 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/CMakeLists.txt +37 -4
  3. data/bin/common/tdclc_32_1_2.dll +0 -0
  4. data/bin/common/tdclc_64_1_2.dll +0 -0
  5. data/build/common/transactd_cl_common.cmake +0 -1
  6. data/build/common/transactd_common.cmake +26 -6
  7. data/build/swig/php/generate.cmake.in +58 -0
  8. data/build/swig/php/generate.cmd.in +41 -0
  9. data/build/swig/php/php.swg +155 -0
  10. data/build/swig/ruby/ruby.swg +38 -0
  11. data/build/swig/tdcl.i +133 -3
  12. data/build/tdclc/CMakeLists.txt +4 -1
  13. data/build/tdclc/tdclc_32.cbproj +1 -1
  14. data/build/tdclc/tdclc_64.cbproj +1 -1
  15. data/build/tdclcpp/CMakeLists.txt +1 -1
  16. data/build/tdclcpp/tdclcpp_bcb_32.cbproj +1 -4
  17. data/build/tdclcpp/tdclcpp_bcb_64.cbproj +0 -3
  18. data/build/tdclrb/CMakeLists.txt +1 -1
  19. data/build/tdclrb/GEM_VERSION +2 -2
  20. data/source/bzs/db/engine/mysql/IReadRecords.h +1 -1
  21. data/source/bzs/db/engine/mysql/bookmark.h +3 -3
  22. data/source/bzs/db/engine/mysql/database.cpp +95 -19
  23. data/source/bzs/db/engine/mysql/database.h +6 -6
  24. data/source/bzs/db/engine/mysql/mysqlInternal.h +43 -1
  25. data/source/bzs/db/engine/mysql/mysqlThd.cpp +10 -8
  26. data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +1 -1
  27. data/source/bzs/db/protocol/tdap/btrDate.h +2 -2
  28. data/source/bzs/db/protocol/tdap/client/dbDef.cpp +15 -8
  29. data/source/bzs/db/protocol/tdap/client/dbDef.h +2 -2
  30. data/source/bzs/db/protocol/tdap/client/dllmain.cpp +4 -0
  31. data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +0 -5
  32. data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +0 -4
  33. data/source/bzs/db/protocol/tdap/client/filter.cpp +0 -484
  34. data/source/bzs/db/protocol/tdap/client/filter.h +696 -84
  35. data/source/bzs/db/protocol/tdap/client/nsTable.cpp +13 -3
  36. data/source/bzs/db/protocol/tdap/client/nsTable.h +12 -6
  37. data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +2 -1
  38. data/source/bzs/db/protocol/tdap/client/stringConverter.h +1 -0
  39. data/source/bzs/db/protocol/tdap/client/table.cpp +519 -75
  40. data/source/bzs/db/protocol/tdap/client/table.h +49 -7
  41. data/source/bzs/db/protocol/tdap/client/trdboostapi.h +145 -124
  42. data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +39 -0
  43. data/source/bzs/db/protocol/tdap/client/trdormapi.h +872 -0
  44. data/source/bzs/db/protocol/tdap/myDateTime.cpp +8 -8
  45. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +7 -9
  46. data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +406 -195
  47. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +64 -13
  48. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +2 -1
  49. data/source/bzs/db/protocol/tdap/tdapSchema.cpp +35 -3
  50. data/source/bzs/db/protocol/tdap/tdapSchema.h +11 -3
  51. data/source/bzs/db/protocol/tdap/tdapcapi.h +63 -53
  52. data/source/bzs/env/crosscompile.h +8 -3
  53. data/source/bzs/example/connection_pool_c.cpp +1 -7
  54. data/source/bzs/example/useORM.cpp +585 -0
  55. data/source/bzs/rtl/exception.h +6 -0
  56. data/source/bzs/test/tdclatl/bench_tdclatl.js +12 -7
  57. data/source/bzs/test/tdclphp/transactd_Test.php +1845 -0
  58. data/source/bzs/test/tdclphp/transactd_blob_Test.php +325 -0
  59. data/source/bzs/test/tdclphp/transactd_datetime_Test.php +183 -0
  60. data/source/bzs/test/tdclphp/transactd_kanjischema_Test.php +212 -0
  61. data/source/bzs/test/tdclrb/transactd_blob_spec.rb +332 -0
  62. data/source/bzs/test/tdclrb/transactd_spec.rb +256 -1
  63. data/source/bzs/test/trdclengn/test_blob.cpp +327 -0
  64. data/source/bzs/test/trdclengn/test_trdclengn.cpp +485 -5
  65. data/source/global/tdclatl/QueryBase.cpp +231 -0
  66. data/source/global/tdclatl/QueryBase.h +96 -0
  67. data/source/global/tdclatl/Table.cpp +24 -0
  68. data/source/global/tdclatl/Table.h +2 -1
  69. data/source/global/tdclatl/resource.h +0 -0
  70. data/source/global/tdclatl/tdclatl.idl +88 -2
  71. metadata +16 -3
  72. data/bin/common/tdclc_32_1_1.dll +0 -0
  73. data/bin/common/tdclc_64_1_1.dll +0 -0
@@ -226,9 +226,9 @@ public:
226
226
  inline char* toStr(char* p)
227
227
  {
228
228
  if (m_dec)
229
- sprintf(p, time_format_ms, hh, nn, ss, m_dec, ms);
229
+ sprintf(p, time_format_ms, (int)hh, (int)nn, (int)ss, m_dec, (int)ms);
230
230
  else
231
- sprintf(p, time_format, hh, nn, ss);
231
+ sprintf(p, time_format, (int)hh, (int)nn, (int)ss);
232
232
  return p;
233
233
  }
234
234
 
@@ -236,9 +236,9 @@ public:
236
236
  inline wchar_t* toStr(wchar_t* p)
237
237
  {
238
238
  if (m_dec)
239
- swprintf_s(p, 17, wtime_format_ms, hh, nn, ss, ms);
239
+ swprintf_s(p, 17, wtime_format_ms, (int)hh, (int)nn, (int)ss, (int)ms);
240
240
  else
241
- swprintf_s(p, 9, wtime_format, hh, nn, ss);
241
+ swprintf_s(p, 9, wtime_format, (int)hh, (int)nn, (int)ss);
242
242
  return p;
243
243
  }
244
244
  #endif
@@ -328,9 +328,9 @@ public:
328
328
  inline char* toStr(char* p)
329
329
  {
330
330
  if (m_dec)
331
- sprintf(p, datetime_format_ms ,yymm/13,yymm%13, dd, hh, nn, ss, ms);
331
+ sprintf(p, datetime_format_ms ,(int)(yymm/13),(int)(yymm%13), (int)dd, (int)hh, (int)nn, (int)ss,(int) ms);
332
332
  else
333
- sprintf(p, datetime_format, yymm/13,yymm%13, dd, hh, nn, ss);
333
+ sprintf(p, datetime_format, (int)(yymm/13),(int)(yymm%13), (int)dd, (int)hh, (int)nn, (int)ss);
334
334
  return p;
335
335
  }
336
336
 
@@ -338,9 +338,9 @@ public:
338
338
  inline wchar_t* toStr(wchar_t* p)
339
339
  {
340
340
  if (m_dec)
341
- swprintf_s(p, 26, wdatetime_format_ms, yymm/13, yymm%13, dd, hh, nn, ss, ms);
341
+ swprintf_s(p, 26, wdatetime_format_ms, (int)(yymm/13), (int)(yymm%13), (int)dd, (int)hh, (int)nn, (int)ss, (int)ms);
342
342
  else
343
- swprintf_s(p, 20, wdatetime_format, yymm/13, yymm%13, dd, hh, nn, ss);
343
+ swprintf_s(p, 20, wdatetime_format, (int)(yymm/13), (int)(yymm%13), (int)dd, (int)hh, (int)nn, (int)ss);
344
344
  return p;
345
345
  }
346
346
  #endif
@@ -98,7 +98,7 @@ uchar_td convFieldType(enum enum_field_types type, uint flags, bool binary, bool
98
98
  case MYSQL_TYPE_YEAR:
99
99
  case MYSQL_TYPE_INT24:
100
100
  if (flags & AUTO_INCREMENT_FLAG)
101
- return ft_autoinc;
101
+ return (flags & UNSIGNED_FLAG) ? ft_autoIncUnsigned : ft_autoinc;
102
102
  if ((flags & UNSIGNED_FLAG) || (type == MYSQL_TYPE_YEAR))
103
103
  return ft_uinteger;
104
104
  return ft_integer;
@@ -159,8 +159,8 @@ short schemaBuilder::insertMetaRecord(table* mtb, table* src, int id)
159
159
  tdef.fixedRecordLen = (ushort_td)src->recordLenCl();
160
160
  tdef.maxRecordLen = (ushort_td)src->recordLenCl();
161
161
  tdef.pageSize = 2048;
162
- tdef.optionFlags.bitA = (src->recordFormatType() & RF_VALIABLE_LEN);
163
- tdef.optionFlags.bitB = src->blobFields()!=0;
162
+ tdef.optionFlags.bitA = ((src->recordFormatType() & RF_VALIABLE_LEN)!= 0);
163
+ tdef.optionFlags.bitB = (src->blobFields()!=0);
164
164
 
165
165
  datalen+=sizeof(tabledef);
166
166
  tdef.fieldDefs = (fielddef*)(rec.get() + datalen);
@@ -217,11 +217,6 @@ short schemaBuilder::insertMetaRecord(table* mtb, table* src, int id)
217
217
  fd.keylen = ks.length;
218
218
 
219
219
  }
220
- if (sg.fieldNum == tdef.fieldCount-1)
221
- {
222
- tdef.flags.bit0 = 0; //NOT valiable length
223
- tdef.optionFlags.bitA = 0;//NOT RF_VALIABLE_LEN
224
- }
225
220
  ++segNum;
226
221
  }
227
222
  }
@@ -238,6 +233,9 @@ bool isFrmFile(const std::string& name)
238
233
  size_t pos = name.find(TRANSACTD_SCHEMANAME);
239
234
  if (pos != std::string::npos)
240
235
  return false;
236
+ //First of name is '#' that is alter table temp file.
237
+ if (name.size() && name[0] == '#')
238
+ return false;
241
239
  pos = name.find(".frm");
242
240
  if (pos != std::string::npos)
243
241
  return pos == name.size()-4;
@@ -264,7 +262,7 @@ short schemaBuilder::execute(database* db, table* mtb)
264
262
  if (isFrmFile(s))
265
263
  {
266
264
  filename_to_tablename(it->path().stem().string().c_str(), path, FN_REFLEN);
267
- table* tb = db->openTable(path, TD_OPEN_READONLY);
265
+ table* tb = db->openTable(path, TD_OPEN_READONLY, NULL);
268
266
  if (!tb->isView())
269
267
  {
270
268
  if ((stat = insertMetaRecord(mtb, tb, ++id))!=0)