transactd 1.1.2 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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)