transactd 2.4.5 → 3.0.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 (145) hide show
  1. checksums.yaml +4 -4
  2. data/CMakeLists.txt +1 -1
  3. data/README-JA.md +52 -529
  4. data/README.md +52 -523
  5. data/bin/common/tdclc_32_3_0.dll +0 -0
  6. data/bin/common/tdclc_64_3_0.dll +0 -0
  7. data/build/common/system.cmake +2 -1
  8. data/build/common/transactd_cl_common.cmake +3 -6
  9. data/build/swig/ruby/ruby.swg +85 -28
  10. data/build/swig/ruby/tdclrb_wrap.cpp +3195 -1578
  11. data/build/swig/tdcl.i +161 -5
  12. data/build/tdclc/CMakeLists.txt +1 -0
  13. data/build/tdclc/tdclc.cbproj +7 -1
  14. data/build/tdclc/tdclc.rc +4 -4
  15. data/build/tdclcpp/tdclcpp.rc +4 -4
  16. data/build/tdclcpp/tdclcpp_bc.cbproj +2 -5
  17. data/build/tdclrb/tdclrb.rc +4 -4
  18. data/source/bzs/db/blobStructs.h +1 -1
  19. data/source/bzs/db/engine/mysql/database.cpp +199 -74
  20. data/source/bzs/db/engine/mysql/database.h +47 -18
  21. data/source/bzs/db/engine/mysql/dbManager.cpp +1 -0
  22. data/source/bzs/db/engine/mysql/mysqlInternal.h +32 -8
  23. data/source/bzs/db/protocol/tdap/btrDate.cpp +110 -75
  24. data/source/bzs/db/protocol/tdap/btrDate.h +46 -21
  25. data/source/bzs/db/protocol/tdap/client/activeTable.cpp +18 -18
  26. data/source/bzs/db/protocol/tdap/client/activeTable.h +25 -25
  27. data/source/bzs/db/protocol/tdap/client/activeTableImple.h +10 -4
  28. data/source/bzs/db/protocol/tdap/client/client.cpp +6 -5
  29. data/source/bzs/db/protocol/tdap/client/client.h +82 -15
  30. data/source/bzs/db/protocol/tdap/client/database.cpp +531 -142
  31. data/source/bzs/db/protocol/tdap/client/database.h +19 -6
  32. data/source/bzs/db/protocol/tdap/client/dbDef.cpp +461 -408
  33. data/source/bzs/db/protocol/tdap/client/dbDef.h +11 -17
  34. data/source/bzs/db/protocol/tdap/client/dllmain.cpp +61 -13
  35. data/source/bzs/db/protocol/tdap/client/field.cpp +1592 -1398
  36. data/source/bzs/db/protocol/tdap/client/field.h +110 -121
  37. data/source/bzs/db/protocol/tdap/client/fields.h +40 -10
  38. data/source/bzs/db/protocol/tdap/client/filter.h +69 -55
  39. data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +296 -164
  40. data/source/bzs/db/protocol/tdap/client/groupQuery.h +77 -25
  41. data/source/bzs/db/protocol/tdap/client/memRecord.cpp +31 -13
  42. data/source/bzs/db/protocol/tdap/client/memRecord.h +31 -21
  43. data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +1 -1
  44. data/source/bzs/db/protocol/tdap/client/nsDatabase.h +4 -1
  45. data/source/bzs/db/protocol/tdap/client/nsTable.cpp +69 -24
  46. data/source/bzs/db/protocol/tdap/client/nsTable.h +3 -1
  47. data/source/bzs/db/protocol/tdap/client/recordset.cpp +1 -0
  48. data/source/bzs/db/protocol/tdap/client/recordsetImple.h +46 -27
  49. data/source/bzs/db/protocol/tdap/client/request.h +2 -1
  50. data/source/bzs/db/protocol/tdap/client/serializer.cpp +44 -9
  51. data/source/bzs/db/protocol/tdap/client/serializer.h +1 -1
  52. data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +182 -76
  53. data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +23 -12
  54. data/source/bzs/db/protocol/tdap/client/stringConverter.h +8 -10
  55. data/source/bzs/db/protocol/tdap/client/table.cpp +172 -93
  56. data/source/bzs/db/protocol/tdap/client/table.h +112 -37
  57. data/source/bzs/db/protocol/tdap/client/trdboostapi.h +17 -0
  58. data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +0 -1
  59. data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +0 -2
  60. data/source/bzs/db/protocol/tdap/client/trdormapi.h +1 -1
  61. data/source/bzs/db/protocol/tdap/fieldComp.h +698 -14
  62. data/source/bzs/db/protocol/tdap/myDateTime.cpp +723 -307
  63. data/source/bzs/db/protocol/tdap/myDateTime.h +294 -0
  64. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +164 -54
  65. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +6 -3
  66. data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +133 -550
  67. data/source/bzs/db/protocol/tdap/mysql/request.h +6 -5
  68. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +217 -82
  69. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +1 -1
  70. data/source/bzs/db/protocol/tdap/tdapRequest.h +4 -9
  71. data/source/bzs/db/protocol/tdap/tdapSchema.cpp +808 -17
  72. data/source/bzs/db/protocol/tdap/tdapSchema.h +656 -164
  73. data/source/bzs/db/protocol/tdap/tdapcapi.h +130 -28
  74. data/source/bzs/db/protocol/tdap/uri.h +40 -32
  75. data/source/bzs/db/transactd/connManager.cpp +1 -1
  76. data/source/bzs/db/transactd/transactd.cpp +7 -0
  77. data/source/bzs/env/compiler.h +107 -94
  78. data/source/bzs/env/crosscompile.cpp +24 -12
  79. data/source/bzs/env/crosscompile.h +75 -6
  80. data/source/bzs/env/mbcswchrLinux.cpp +2 -2
  81. data/source/bzs/env/tcharMinGW.h +4 -0
  82. data/source/bzs/example/changeSchema.cpp +22 -17
  83. data/source/bzs/example/queryData.cpp +4 -0
  84. data/source/bzs/netsvc/client/iconnection.h +3 -1
  85. data/source/bzs/netsvc/client/tcpClient.h +10 -3
  86. data/source/bzs/rtl/stringBuffers.cpp +7 -0
  87. data/source/bzs/test/tdclatl/bench_query_atl.js +6 -0
  88. data/source/bzs/test/tdclatl/bench_tdclatl.js +8 -1
  89. data/source/bzs/test/tdclatl/test_query_atl.js +22 -2
  90. data/source/bzs/test/tdclatl/test_v3.js +1017 -0
  91. data/source/bzs/test/tdclphp/transactd_Test.php +55 -21
  92. data/source/bzs/test/tdclphp/transactd_datetime_Test.php +0 -5
  93. data/source/bzs/test/tdclphp/transactd_pool_Test.php +2 -0
  94. data/source/bzs/test/tdclphp/transactd_v3_Test.php +743 -0
  95. data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -5
  96. data/source/bzs/test/tdclrb/transactd_pool_spec.rb +2 -0
  97. data/source/bzs/test/tdclrb/transactd_spec.rb +39 -16
  98. data/source/bzs/test/tdclrb/transactd_v3_spec.rb +748 -0
  99. data/source/bzs/test/transactdBench/transactdBench.cpp +55 -58
  100. data/source/bzs/test/transactdBench/transactdBench2.cpp +1 -3
  101. data/source/bzs/test/trdclengn/testField.h +3305 -0
  102. data/source/bzs/test/trdclengn/test_tdclcpp_v3.cpp +1050 -0
  103. data/source/bzs/test/trdclengn/test_trdclengn.cpp +112 -190
  104. data/source/bzs/test/trdclengn/testbase.h +137 -0
  105. data/source/global/ormsrcgen/srcgen.cpp +23 -12
  106. data/source/global/ormsrcgen/template/ormDataClass_template.h +2 -0
  107. data/source/global/querystmts/querystmts.cpp +2 -3
  108. data/source/global/tdclatl/Bitset.cpp +38 -0
  109. data/source/global/tdclatl/Bitset.h +63 -0
  110. data/source/global/tdclatl/Database.cpp +59 -18
  111. data/source/global/tdclatl/Database.h +7 -4
  112. data/source/global/tdclatl/DbDef.cpp +6 -6
  113. data/source/global/tdclatl/DbDef.h +2 -1
  114. data/source/global/tdclatl/Field.cpp +112 -0
  115. data/source/global/tdclatl/Field.h +19 -5
  116. data/source/global/tdclatl/FieldDef.cpp +137 -16
  117. data/source/global/tdclatl/FieldDef.h +18 -2
  118. data/source/global/tdclatl/FieldDefs.cpp +54 -1
  119. data/source/global/tdclatl/FieldDefs.h +3 -0
  120. data/source/global/tdclatl/GroupQuery.cpp +8 -8
  121. data/source/global/tdclatl/QueryBase.cpp +65 -0
  122. data/source/global/tdclatl/QueryBase.h +10 -0
  123. data/source/global/tdclatl/Record.cpp +33 -2
  124. data/source/global/tdclatl/Record.h +3 -1
  125. data/source/global/tdclatl/RecordsetQuery.cpp +42 -0
  126. data/source/global/tdclatl/RecordsetQuery.h +8 -0
  127. data/source/global/tdclatl/Table.cpp +127 -3
  128. data/source/global/tdclatl/Table.h +10 -1
  129. data/source/global/tdclatl/TableDef.cpp +41 -8
  130. data/source/global/tdclatl/TableDef.h +7 -2
  131. data/source/global/tdclatl/activeTable.cpp +40 -71
  132. data/source/global/tdclatl/resource.h +0 -0
  133. data/source/global/tdclatl/tdclatl.idl +222 -28
  134. data/source/linux/tchar.h +100 -96
  135. data/transactd.gemspec +2 -2
  136. metadata +13 -11
  137. data/BUILD_UNIX-JA.md +0 -161
  138. data/BUILD_WIN-JA.md +0 -326
  139. data/README_ORMSRCGEN-JA.md +0 -115
  140. data/README_ORMSRCGEN.md +0 -118
  141. data/RELEASE_NOTE-JA.md +0 -356
  142. data/RELEASE_NOTE.md +0 -360
  143. data/bin/common/tdclc_32_2_4.dll +0 -0
  144. data/bin/common/tdclc_64_2_4.dll +0 -0
  145. data/source/bzs/test/trdclengn/test_blob.cpp +0 -375
@@ -46,6 +46,7 @@ interface IConnectParams;
46
46
  interface IPooledDbManager;
47
47
  interface IPreparedQuery;
48
48
  interface IBookmark;
49
+ interface IBitset;
49
50
 
50
51
  typedef
51
52
  [
@@ -146,6 +147,8 @@ enum eStatus
146
147
  STATUS_INVALID_FIELDVALUE = -36,
147
148
  STATUS_INVALID_VALLEN = -37,
148
149
  STATUS_FIELDTYPE_NOTSUPPORT = -42,
150
+ STATUS_INVALID_NULLMODE = -43,
151
+ STATUS_TOO_LARGE_VALUE = -44,
149
152
  STATUS_SUCCESS = 0,
150
153
  STATUS_PROGRAM_ERROR = 1,
151
154
  STATUS_IO_ERROR = 2,
@@ -251,6 +254,10 @@ enum eFieldType
251
254
  ft_myblob = 51,
252
255
  ft_autoIncUnsigned = 52,
253
256
  ft_myfixedbinary = 53,
257
+ ft_myyear = 59,
258
+ ft_mygeometry = 60,
259
+ ft_myjson = 61,
260
+ ft_mydecimal = 62,
254
261
  ft_nullindicator = 255
255
262
  }eFieldType;
256
263
 
@@ -353,13 +360,13 @@ typedef
353
360
  ]
354
361
  enum eGroupFunc
355
362
  {
356
- fsum = 0,
357
- fcount = 1,
358
- favg = 2,
359
- fmin = 3,
360
- fmax = 4,
361
- ffirst = 5,
362
- flast = 6
363
+ f_sum = 0,
364
+ f_count = 1,
365
+ f_avg = 2,
366
+ f_min = 3,
367
+ f_max = 4,
368
+ f_first = 5,
369
+ f_last = 6
363
370
  }eGroupFunc;
364
371
 
365
372
  typedef
@@ -373,7 +380,42 @@ enum eOptimize
373
380
  combineCondition = 2
374
381
  }eOptimize;
375
382
 
383
+ typedef
384
+ [
385
+ helpstring("table cleabuffer option")
386
+ ]
387
+ enum eNullReset
388
+ {
389
+ clearNull = 0,
390
+ defaultNull = 1
376
391
 
392
+ }eNullReset;
393
+
394
+
395
+ typedef
396
+ [
397
+ helpstring("Version type enum")
398
+ ]
399
+ enum eVersionType
400
+ {
401
+ MySQLServer = 77,
402
+ MariaDBServer = 65,
403
+ TransactdServer = 84,
404
+ TransactdClient = 78,
405
+ PSQLWorkgroup = 57,
406
+ PSQLLinuxServer = 85
407
+ }eVersionType;
408
+
409
+
410
+ typedef
411
+ [
412
+ helpstring("Timestamp mode enum")
413
+ ]
414
+ enum eTimeStampMode
415
+ {
416
+ TIMESTAMP_VALUE_CONTROL = 0,
417
+ TIMESTAMP_ALWAYS = 1
418
+ }eTimeStampMode;
377
419
 
378
420
 
379
421
  [
@@ -469,14 +511,12 @@ interface IDatabase : IDispatch
469
511
  [id(0x000000E6)]
470
512
  HRESULT _stdcall ConvertTable([in] short TableIndex, [in, defaultvalue(-1)] VARIANT_BOOL Turbo, [in, defaultvalue("")] BSTR OwnerName);
471
513
  [id(0x000000E7)]
472
- HRESULT _stdcall CopyTableData([in] ITable* Dest, [in] ITable* Src, [in] VARIANT_BOOL Turbo, [in, defaultvalue(0)] int Offset
514
+ HRESULT _stdcall CopyTableData([in] ITable* Dest, [in] ITable* Src, [in] VARIANT_BOOL Turbo
473
515
  , [in, defaultvalue(-1)] short KeyNum, [in, defaultvalue(-1)] int MaxSkip, [out, retval] short* Value);
474
516
  [id(0x000000E8)]
475
- HRESULT _stdcall CreateTable([in] short FileNum, [in, defaultvalue("")] BSTR Uri, [out, retval] VARIANT_BOOL* Value);
517
+ HRESULT _stdcall CreateTable([in] VARIANT FileNumOrSql, [in, defaultvalue("")] BSTR Uri, [out, retval] VARIANT_BOOL* Value);
476
518
  [id(0x000000E9)]
477
519
  HRESULT _stdcall ExistsTableFile([in] short TableIndex, [in, defaultvalue("")] BSTR OwnerName);
478
- [id(0x000000EA)]
479
- HRESULT _stdcall GetTableUri([in] short FileNum, [out, retval] BSTR* Value);
480
520
  [propget, id(0x000000EB)]
481
521
  HRESULT _stdcall IsOpened([out, retval] VARIANT_BOOL* Value);
482
522
  [propget, id(0x000000EC)]
@@ -509,7 +549,16 @@ interface IDatabase : IDispatch
509
549
  HRESULT _stdcall Reconnect([out, retval] VARIANT_BOOL* Value);
510
550
  [id(0x000000F9)]
511
551
  HRESULT _stdcall StatMsg([out, retval] BSTR* Value);
512
-
552
+ [propput, id(0x000000FA)]
553
+ HRESULT _stdcall AutoSchemaUseNullkey([in] VARIANT_BOOL Value);
554
+ [propget, id(0x000000FA)]
555
+ HRESULT _stdcall AutoSchemaUseNullkey([out, retval] VARIANT_BOOL* Value);
556
+ [propput, id(0x000000FB)]
557
+ HRESULT _stdcall CompatibleMode([in] int Value);
558
+ [propget, id(0x000000FB)]
559
+ HRESULT _stdcall CompatibleMode([out, retval] int* Value);
560
+ [id(0x000000FC)]
561
+ HRESULT _stdcall GetSqlStringForCreateTable([in] BSTR tableName, [out, retval] BSTR* retValue);
513
562
  };
514
563
 
515
564
 
@@ -552,8 +601,6 @@ interface IDbDef : IDispatch
552
601
  HRESULT _stdcall FieldValidLength([in] eFieldQuery Query, [in] short FieldType, [out, retval] unsigned int* Value);
553
602
  [id(0x000000D5)]
554
603
  HRESULT _stdcall FindKeynumByFieldNum([in] short TableIndex, [in] short Index, [out, retval] unsigned short* Value);
555
- [id(0x000000D6)]
556
- HRESULT _stdcall GetRecordLen([in] short TableIndex, [out, retval] unsigned short* Value);
557
604
  [propget, id(0x000000D7)]
558
605
  HRESULT _stdcall OpenMode([out, retval] eOpenMode* Value);
559
606
  [id(0x000000D8)]
@@ -576,6 +623,9 @@ interface IDbDef : IDispatch
576
623
  HRESULT _stdcall ValidateTableDef([in]short TableIndex, [out, retval] short* Value);
577
624
  [id(0x000000E0)]
578
625
  HRESULT _stdcall StatMsg([out, retval] BSTR* Value);
626
+ [id(0x000000E1)]
627
+ HRESULT _stdcall SynchronizeSeverSchema([in] short TableIndex);
628
+
579
629
 
580
630
  };
581
631
  [
@@ -604,7 +654,7 @@ interface ITable : IDispatch
604
654
  [id(0x00000006)]
605
655
  HRESULT _stdcall Delete([in, defaultvalue(0)] VARIANT_BOOL inkey);
606
656
  [id(0x00000007)]
607
- HRESULT _stdcall ClearBuffer(void);
657
+ HRESULT _stdcall ClearBuffer([in, defaultvalue(defaultNull)] eNullReset resetType);
608
658
  [id(0x00000019)]
609
659
  HRESULT _stdcall Close(void);
610
660
  [id(0x0000001A)]
@@ -757,8 +807,25 @@ interface ITable : IDispatch
757
807
  HRESULT _stdcall Bookmarks([in] long index, [out, retval] IBookmark** Value);
758
808
  [id(0x000000E5)]
759
809
  HRESULT _stdcall StatMsg([out, retval] BSTR* Value);
810
+ [id(0x000000E6)]
811
+ HRESULT _stdcall GetFVNull([in] VARIANT Index, [out, retval] VARIANT_BOOL* Value);
812
+ [id(0x000000E7)]
813
+ HRESULT _stdcall SetFVNull([in] VARIANT Index, [in] VARIANT_BOOL Value);
814
+ [id(0x000000E8)]
815
+ HRESULT _stdcall GetFVint([in] VARIANT Index, [out, retval] int* Value);
816
+ [id(0x000000E9)]
817
+ HRESULT _stdcall GetFV64([in] VARIANT Index, [out, retval] hyper* Value);
818
+ [id(0x000000EA)]
819
+ HRESULT _stdcall GetFVdbl([in] VARIANT Index, [out, retval] double* Value);
820
+ [id(0x000000EB)]
821
+ HRESULT _stdcall GetFVstr([in] VARIANT Index, [out, retval] BSTR* Value);
822
+ [id(0x000000EC)]
823
+ HRESULT _stdcall SetFV([in] VARIANT Index, [in] VARIANT Value);
824
+ [id(0x000000ED)]
825
+ HRESULT _stdcall SetTimestampMode([in] eTimeStampMode mode);
826
+ [id(0x000000EE)]
827
+ HRESULT _stdcall GetFVbits([in] VARIANT Index, [out, retval] IBitset** Value);
760
828
 
761
-
762
829
 
763
830
  };
764
831
  [
@@ -827,9 +894,7 @@ interface ITableDef : IDispatch
827
894
  [propput, id(0x000000CC)]
828
895
  HRESULT _stdcall FixedRecordLen([in] unsigned short Value);
829
896
  [propget, id(0x000000CD)]
830
- HRESULT _stdcall MaxRecordLen([out, retval] unsigned short* Value);
831
- [propput, id(0x000000CD)]
832
- HRESULT _stdcall MaxRecordLen([in] unsigned short Value);
897
+ HRESULT _stdcall RecordLen([out, retval] unsigned short* Value);
833
898
  [propget, id(0x000000CF)]
834
899
  HRESULT _stdcall SchemaCodePage([out, retval] unsigned int* Value);
835
900
  [propput, id(0x000000CF)]
@@ -840,6 +905,19 @@ interface ITableDef : IDispatch
840
905
  HRESULT _stdcall FieldDef([in] short Index, [out, retval] IFieldDef** Value);
841
906
  [propget, id(0x000000CB)]
842
907
  HRESULT _stdcall KeyDef([in] short Index, [out, retval] IKeyDef** Value);
908
+ [propget, id(0x000000CE)]
909
+ HRESULT _stdcall FieldNumByName([in] BSTR Name, [out, retval] short* Value);
910
+
911
+ [propget, id(0x000000D1)]
912
+ HRESULT _stdcall Nullfields([out, retval] short* Value);
913
+ [propget, id(0x000000D2)]
914
+ HRESULT _stdcall InUse([out, retval] short* Value);
915
+ [propget, id(0x000000D3)]
916
+ HRESULT _stdcall MysqlNullMode([out, retval] VARIANT_BOOL* Value);
917
+ [propget, id(0x000000D4)]
918
+ HRESULT _stdcall Size([out, retval] int* Value);
919
+ [id(0x000000D5)]
920
+ HRESULT _stdcall SetValidationTarget([in] VARIANT_BOOL isMariadb, [in] short srvMinorVersion);
843
921
  };
844
922
  [
845
923
  object,
@@ -874,10 +952,6 @@ interface IFieldDef : IDispatch
874
952
  HRESULT _stdcall Min([out, retval] double* Value);
875
953
  [propput, id(0x00000006)]
876
954
  HRESULT _stdcall Min([in] double Value);
877
- [propget, id(0x00000007)]
878
- HRESULT _stdcall DefValue([out, retval] double* Value);
879
- [propput, id(0x00000007)]
880
- HRESULT _stdcall DefValue([in] double Value);
881
955
  [propget, id(0x00000008), hidden]
882
956
  HRESULT _stdcall LookTable([out, retval] unsigned char* Value);
883
957
  [propput, id(0x00000008), hidden]
@@ -926,6 +1000,40 @@ interface IFieldDef : IDispatch
926
1000
  HRESULT _stdcall UsePadChar([out, retval] VARIANT_BOOL* Value);
927
1001
  [propget, id(0x00000018)]
928
1002
  HRESULT _stdcall TrimPadChar([out, retval] VARIANT_BOOL* Value);
1003
+
1004
+ [propget, id(0x00000019)]
1005
+ HRESULT _stdcall DefaultValue([out, retval] VARIANT* Value);
1006
+ [propput, id(0x00000019)]
1007
+ HRESULT _stdcall DefaultValue([in] VARIANT Value);
1008
+ [propget, id(0x0000001A)]
1009
+ HRESULT _stdcall PadCharType([out, retval] VARIANT_BOOL* Value);
1010
+ [propget, id(0x0000001B)]
1011
+ HRESULT _stdcall DateTimeType([out, retval] VARIANT_BOOL* Value);
1012
+ [propget, id(0x0000001C)]
1013
+ HRESULT _stdcall ValidCharNum([out, retval] VARIANT_BOOL* Value);
1014
+ [propget, id(0x0000001D)]
1015
+ HRESULT _stdcall Nullable([out, retval] VARIANT_BOOL* Value);
1016
+ [id(0x0000001E)]
1017
+ HRESULT _stdcall SetNullable([in] VARIANT_BOOL Value, [in , defaultvalue(-1)] VARIANT_BOOL DefaultNull);
1018
+ [propget, id(0x00000020)]
1019
+ HRESULT _stdcall TimeStampOnUpdate([out, retval] VARIANT_BOOL* Value);
1020
+ [propput, id(0x00000020)]
1021
+ HRESULT _stdcall TimeStampOnUpdate([in] VARIANT_BOOL Value);
1022
+ [propget, id(0x00000021)]
1023
+ HRESULT _stdcall DefaultNull([out, retval] VARIANT_BOOL* Value);
1024
+ [propget, id(0x00000022)]
1025
+ HRESULT _stdcall Digits([out, retval] short* Value);
1026
+ [propput, id(0x00000022)]
1027
+ HRESULT _stdcall Digits([in] short Value);
1028
+ [propget, id(0x00000023)]
1029
+ HRESULT _stdcall IsIntegerType([out, retval] VARIANT_BOOL* Value);
1030
+ [propget, id(0x00000024)]
1031
+ HRESULT _stdcall IsNumericType([out, retval] VARIANT_BOOL* Value);
1032
+ [propget, id(0x00000025)]
1033
+ HRESULT _stdcall IsDateTimeType([out, retval] VARIANT_BOOL* Value);
1034
+ [id(0x00000026)]
1035
+ HRESULT _stdcall SetDecimalDigits([in] int Digits, [in ] int Decimals);
1036
+
929
1037
  };
930
1038
  [
931
1039
  object,
@@ -1016,6 +1124,32 @@ interface IField : IDispatch
1016
1124
  HRESULT _stdcall Vbin([out, retval] BSTR* Value);
1017
1125
  [propput, id(0x000000CD)]
1018
1126
  HRESULT _stdcall Vbin([in] BSTR Value);
1127
+
1128
+ [id(0x000000CF)]
1129
+ HRESULT _stdcall IsNull([out, retval] VARIANT_BOOL* Value);
1130
+ [id(0x000000D0)]
1131
+ HRESULT _stdcall SetNull([in] VARIANT_BOOL Value);
1132
+ [id(0x000000D1)]
1133
+ HRESULT _stdcall SetValue([in] VARIANT Value);
1134
+ [id(0x000000D7)]
1135
+ HRESULT _stdcall SetBin([in] BSTR Value);
1136
+ [id(0x000000D2)]
1137
+ HRESULT _stdcall I([out, retval] int* Value);
1138
+ [id(0x000000D3)]
1139
+ HRESULT _stdcall I64([out, retval] __int64* Value);
1140
+ [id(0x000000D5)]
1141
+ HRESULT _stdcall D([out, retval] double* Value);
1142
+ [id(0x000000D6)]
1143
+ HRESULT _stdcall Bin([out, retval] BSTR* Value);
1144
+ [id(0x000000D4)]
1145
+ HRESULT _stdcall Str([out, retval] BSTR* Value);
1146
+ [propget, id(0x000000D8)]
1147
+ HRESULT _stdcall Type([out, retval] short* Value);
1148
+ [propget, id(0x000000D9)]
1149
+ HRESULT _stdcall Len([out, retval] short* Value);
1150
+ [id(0x000000DA)]
1151
+ HRESULT _stdcall GetBits([out, retval] IBitset** Value);
1152
+
1019
1153
  };
1020
1154
 
1021
1155
  [
@@ -1143,6 +1277,26 @@ interface IQueryBase : IDispatch
1143
1277
  [id(0x0000020)]
1144
1278
  HRESULT _stdcall AddSeekBookmark([in] VARIANT Value, [in, defaultvalue(0)] VARIANT_BOOL Reset);
1145
1279
 
1280
+ [id(0x0000021)]
1281
+ HRESULT _stdcall WhereIsNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
1282
+ [id(0x0000022)]
1283
+ HRESULT _stdcall AndIsNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
1284
+ [id(0x0000023)]
1285
+ HRESULT _stdcall OrIsNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
1286
+ [id(0x0000024)]
1287
+ HRESULT _stdcall WhereIsNotNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
1288
+ [id(0x0000025)]
1289
+ HRESULT _stdcall AndIsNotNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
1290
+ [id(0x0000026)]
1291
+ HRESULT _stdcall OrIsNotNull([in] BSTR Name, [out, retval] IQueryBase** retVal);
1292
+ [id(0x0000027)]
1293
+ HRESULT _stdcall SegmentsForInValue([in] int Value, [out, retval] IQueryBase** retVal);
1294
+ [id(0x0000028)]
1295
+ HRESULT _stdcall JoinKeySize([in] int Value, [out, retval] IQueryBase** retVal);
1296
+ [id(0x0000029)]
1297
+ HRESULT _stdcall GetJoinKeySize([out, retval] int* retVal);
1298
+
1299
+
1146
1300
  };
1147
1301
 
1148
1302
  [
@@ -1288,6 +1442,8 @@ interface IRecord : IDispatch
1288
1442
  HRESULT _stdcall Field([in] VARIANT Index, [out, retval] IField** retVal);
1289
1443
  [propget, id(0x0000003)]
1290
1444
  HRESULT _stdcall IsInvalidRecord( [out, retval] VARIANT_BOOL* retVal);
1445
+ [propget, id(0x0000004)]
1446
+ HRESULT _stdcall FieldDefs([out, retval] IFieldDefs** retVal);
1291
1447
 
1292
1448
  };
1293
1449
 
@@ -1312,9 +1468,6 @@ interface IWritableRecord : IRecord
1312
1468
  HRESULT _stdcall Read([in, optional]VARIANT KeysetAlradyOrBookmark, [out, retval] VARIANT_BOOL* retVal);
1313
1469
  [id(0x0000016)]
1314
1470
  HRESULT _stdcall Clear();
1315
- [propget,id(0x0000017)]
1316
- HRESULT _stdcall FieldDefs([out, retval] IFieldDefs** retVal);
1317
-
1318
1471
  };
1319
1472
 
1320
1473
  [
@@ -1361,6 +1514,19 @@ interface IRecordsetQuery : IDispatch
1361
1514
  [id(0x0000007)]
1362
1515
  HRESULT _stdcall Or([in] BSTR Name, [in] BSTR Logic, [in] VARIANT Value, [out, retval] IRecordsetQuery** retVal);
1363
1516
 
1517
+ [id(0x0000021)]
1518
+ HRESULT _stdcall WhenIsNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
1519
+ [id(0x0000022)]
1520
+ HRESULT _stdcall AndIsNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
1521
+ [id(0x0000023)]
1522
+ HRESULT _stdcall OrIsNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
1523
+ [id(0x0000024)]
1524
+ HRESULT _stdcall WhenIsNotNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
1525
+ [id(0x0000025)]
1526
+ HRESULT _stdcall AndIsNotNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
1527
+ [id(0x0000026)]
1528
+ HRESULT _stdcall OrIsNotNull([in] BSTR Name, [out, retval] IRecordsetQuery** retVal);
1529
+
1364
1530
  };
1365
1531
 
1366
1532
  [
@@ -1494,9 +1660,9 @@ interface IPooledDbManager : IDispatch
1494
1660
  [id(0x0000000F)]
1495
1661
  HRESULT _stdcall Db([out, retval]IDatabase** retVal);
1496
1662
  [propput, id(0x00000010)]
1497
- HRESULT _stdcall Option([in] __int64 Value);
1663
+ HRESULT _stdcall Option([in] hyper Value);
1498
1664
  [propget, id(0x00000010)]
1499
- HRESULT _stdcall Option([out, retval] __int64* Value);
1665
+ HRESULT _stdcall Option([out, retval] hyper* Value);
1500
1666
  [propget, id(0x00000011)]
1501
1667
  HRESULT _stdcall Mode([out, retval] short* Value);
1502
1668
  };
@@ -1561,6 +1727,26 @@ interface IBookmark : IDispatch
1561
1727
  };
1562
1728
 
1563
1729
 
1730
+ [
1731
+ object,
1732
+ uuid(E7EA0FFF-577E-4CF5-B890-0C13AD968784),
1733
+ dual,
1734
+ nonextensible,
1735
+ pointer_default(unique)
1736
+ ]
1737
+ interface IBitset : IDispatch{
1738
+
1739
+ [propput, id(0)]
1740
+ HRESULT _stdcall Bit([in] short index, [in] VARIANT_BOOL val);
1741
+ [propget, id(0)]
1742
+ HRESULT _stdcall Bit([in] short index, [out, retval] VARIANT_BOOL* retVal);
1743
+ [id(1)]
1744
+ HRESULT _stdcall Equals([in] IBitset* bitset, [out, retval] VARIANT_BOOL* retVal);
1745
+ [id(2)]
1746
+ HRESULT _stdcall Contains([in] IBitset* bitset, [in, defaultvalue(-1)] VARIANT_BOOL all, [out, retval] VARIANT_BOOL* retVal);
1747
+
1748
+ };
1749
+
1564
1750
  [
1565
1751
  uuid(3B712514-E2EF-4040-8A3C-BCACB839EB3E),
1566
1752
  version(1.0),
@@ -1812,6 +1998,14 @@ library transactd
1812
1998
 
1813
1999
  };
1814
2000
 
2001
+ [
2002
+ uuid(71107F47-2E0A-400B-9E62-C87D84A50008)
2003
+ ]
2004
+ coclass Bitset
2005
+ {
2006
+ [default] interface IBitset;
2007
+ };
2008
+
1815
2009
  };
1816
2010
 
1817
2011
  import "shobjidl.idl";
data/source/linux/tchar.h CHANGED
@@ -54,12 +54,12 @@
54
54
 
55
55
  #ifndef _TCHAR_DEFINED
56
56
  #ifndef RC_INVOKED
57
- typedef wchar_t TCHAR;
57
+ typedef wchar_t TCHAR;
58
58
  #ifndef _TCHAR
59
- typedef wchar_t _TCHAR;
59
+ typedef wchar_t _TCHAR;
60
60
  #endif
61
61
  typedef wchar_t _TUCHAR;
62
- #endif // Not RC_INVOKED
62
+ #endif // Not RC_INVOKED
63
63
  #define _TCHAR_DEFINED
64
64
  #endif
65
65
 
@@ -70,7 +70,7 @@ typedef wchar_t _TUCHAR;
70
70
  // macro within your programs. It's name and function could change without
71
71
  // notice.
72
72
 
73
- #define __TEXT(q) L##q
73
+ #define __TEXT(q) L##q
74
74
 
75
75
  // for porting from other Windows compilers
76
76
  #if 0 // no wide startup module
@@ -83,79 +83,80 @@ typedef wchar_t _TUCHAR;
83
83
 
84
84
  // Unicode functions
85
85
 
86
- #define _tprintf wprintf
87
- #define _ftprintf fwprintf
88
- #define _stprintf swprintf
89
- #define _sntprintf _snwprintf
90
- #define _vtprintf vwprintf
91
- #define _vftprintf vfwprintf
92
- #define _vstprintf vswprintf
93
- #define _vsntprintf _vsnwprintf
94
- #define _tscanf wscanf
95
- #define _ftscanf fwscanf
96
- #define _stscanf swscanf
97
- #define _fgettc fgetwc
98
- #define _fgettchar _fgetwchar
99
- #define _fgetts fgetws
100
- #define _fputtc fputwc
101
- #define _fputtchar _fputwchar
102
- #define _fputts fputws
103
- #define _gettc getwc
104
- #define _getts _getws
105
- #define _puttc putwc
106
- #define _putts _putws
107
- #define _ungettc ungetwc
108
- #define _tcstod wcstod
109
- #define _tcstol wcstol
110
- #define _tcstoul wcstoul
111
- #define _itot _itow
112
- #define _ltot _ltow
113
- #define _ultot _ultow
114
- #define _ttoi _wtoi
115
- #define _ttol _wtol
116
- #define _tcscat wcscat
117
- #define _tcscat_s wcscat_s
118
- #define _tcschr wcschr
119
- #define _tcscmp wcscmp
120
- #define _tcscpy wcscpy
121
- #define _tcscpy_s wcscpy_s
122
- #define _tcscspn wcscspn
123
- #define _tcslen wcslen
124
- #define _tcsncat wcsncat
125
- #define _tcsncmp wcsncmp
126
- #define _tcsncpy wcsncpy
127
- #define _tcsncpy_s wcsncpy_s
128
- #define _tcspbrk wcspbrk
129
- #define _tcsrchr wcsrchr
130
- #define _tcsspn wcsspn
131
- #define _tcsstr wcsstr
132
- #define _tcstok wcstok
133
- #define _tcsdup _wcsdup
134
- #define _tcsicmp _wcsicmp
135
- #define _tcsnicmp _wcsnicmp
136
- #define _tcsnset _wcsnset
137
- #define _tcsrev _wcsrev
138
- #define _tcsset _wcsset
139
- #define _tcslwr _wcslwr
140
- #define _tcsupr _wcsupr
141
- #define _tcsxfrm wcsxfrm
142
- #define _tcscoll wcscoll
143
- #define _tcsicoll _wcsicoll
144
- #define _istalpha iswalpha
145
- #define _istupper iswupper
146
- #define _istlower iswlower
147
- #define _istdigit iswdigit
148
- #define _istxdigit iswxdigit
149
- #define _istspace iswspace
150
- #define _istpunct iswpunct
151
- #define _istalnum iswalnum
152
- #define _istprint iswprint
153
- #define _istgraph iswgraph
154
- #define _istcntrl iswcntrl
155
- #define _istascii iswascii
156
- #define _totupper towupper
157
- #define _totlower towlower
158
- #define _tcsftime wcsftime
86
+ #define _tprintf wprintf
87
+ #define _ftprintf fwprintf
88
+ #define _stprintf swprintf
89
+ #define _sntprintf _snwprintf
90
+ #define _vtprintf vwprintf
91
+ #define _vftprintf vfwprintf
92
+ #define _vstprintf vswprintf
93
+ #define _vsntprintf _vsnwprintf
94
+ #define _tscanf wscanf
95
+ #define _ftscanf fwscanf
96
+ #define _stscanf swscanf
97
+ #define _fgettc fgetwc
98
+ #define _fgettchar _fgetwchar
99
+ #define _fgetts fgetws
100
+ #define _fputtc fputwc
101
+ #define _fputtchar _fputwchar
102
+ #define _fputts fputws
103
+ #define _gettc getwc
104
+ #define _getts _getws
105
+ #define _puttc putwc
106
+ #define _putts _putws
107
+ #define _ungettc ungetwc
108
+ #define _tcstod wcstod
109
+ #define _tcstol wcstol
110
+ #define _tcstoul wcstoul
111
+ #define _itot _itow
112
+ #define _ltot _ltow
113
+ #define _ultot _ultow
114
+ #define _ttoi _wtoi
115
+ #define _ttol _wtol
116
+ #define _tcscat wcscat
117
+ #define _tcscat_s wcscat_s
118
+ #define _tcschr wcschr
119
+ #define _tcscmp wcscmp
120
+ #define _tcscpy wcscpy
121
+ #define _tcscpy_s wcscpy_s
122
+ #define _tcscspn wcscspn
123
+ #define _tcslen wcslen
124
+ #define _tcsncat wcsncat
125
+ #define _tcsncmp wcsncmp
126
+ #define _tcsncpy wcsncpy
127
+ #define _tcsncpy_s wcsncpy_s
128
+ #define _tcspbrk wcspbrk
129
+ #define _tcsrchr wcsrchr
130
+ #define _tcsspn wcsspn
131
+ #define _tcsstr wcsstr
132
+ #define _tcstok wcstok
133
+ #define _tcsdup _wcsdup
134
+ #define _tcsicmp _wcsicmp
135
+ #define _tcsnicmp _wcsnicmp
136
+ #define _tcsnset _wcsnset
137
+ #define _tcsrev _wcsrev
138
+ #define _tcsset _wcsset
139
+ #define _tcslwr _wcslwr
140
+ #define _tcslwr_s _wcslwr_s
141
+ #define _tcsupr _wcsupr
142
+ #define _tcsxfrm wcsxfrm
143
+ #define _tcscoll wcscoll
144
+ #define _tcsicoll _wcsicoll
145
+ #define _istalpha iswalpha
146
+ #define _istupper iswupper
147
+ #define _istlower iswlower
148
+ #define _istdigit iswdigit
149
+ #define _istxdigit iswxdigit
150
+ #define _istspace iswspace
151
+ #define _istpunct iswpunct
152
+ #define _istalnum iswalnum
153
+ #define _istprint iswprint
154
+ #define _istgraph iswgraph
155
+ #define _istcntrl iswcntrl
156
+ #define _istascii iswascii
157
+ #define _totupper towupper
158
+ #define _totlower towlower
159
+ #define _tcsftime wcsftime
159
160
  // Macro functions
160
161
  #define _tcsdec _wcsdec
161
162
  #define _tcsinc _wcsinc
@@ -181,11 +182,12 @@ typedef wchar_t _TUCHAR;
181
182
  #define _i64tot _i64tow
182
183
  #define _i64tot_s _i64tow_s
183
184
  #define _ui64tot _ui64tow
184
- #define _tasctime _wasctime
185
- #define _tctime _wctime
186
- #define _tstrdate _wstrdate
187
- #define _tstrtime _wstrtime
188
- #define _tutime _wutime
185
+ #define _ui64tot_s _i64tow_s
186
+ #define _tasctime _wasctime
187
+ #define _tctime _wctime
188
+ #define _tstrdate _wstrdate
189
+ #define _tstrtime _wstrtime
190
+ #define _tutime _wutime
189
191
  #define _tcsnccoll _wcsncoll
190
192
  #define _tcsncoll _wcsncoll
191
193
  #define _tcsncicoll _wcsnicoll
@@ -214,23 +216,23 @@ typedef wchar_t _TUCHAR;
214
216
  #define _tfindfirsti64 _wfindfirsti64
215
217
  #define _tfindnexti64 _wfindnexti64
216
218
  #define _tfinddatai64_t _wfinddatai64_t
217
- #define _tchdir _wchdir
218
- #define _tgetcwd _wgetcwd
219
- #define _tgetdcwd _wgetdcwd
220
- #define _tmkdir _wmkdir
221
- #define _trmdir _wrmdir
222
- #define _tstat _wstat
219
+ #define _tchdir _wchdir
220
+ #define _tgetcwd _wgetcwd
221
+ #define _tgetdcwd _wgetdcwd
222
+ #define _tmkdir _wmkdir
223
+ #define _trmdir _wrmdir
224
+ #define _tstat _wstat
223
225
  #endif // __MSVCRT__
224
226
 
225
227
  // dirent structures and functions
226
- #define _tdirent _wdirent
227
- #define _TDIR _WDIR
228
- #define _topendir _wopendir
229
- #define _tclosedir _wclosedir
230
- #define _treaddir _wreaddir
231
- #define _trewinddir _wrewinddir
232
- #define _ttelldir _wtelldir
233
- #define _tseekdir _wseekdir
228
+ #define _tdirent _wdirent
229
+ #define _TDIR _WDIR
230
+ #define _topendir _wopendir
231
+ #define _tclosedir _wclosedir
232
+ #define _treaddir _wreaddir
233
+ #define _trewinddir _wrewinddir
234
+ #define _ttelldir _wtelldir
235
+ #define _tseekdir _wseekdir
234
236
  #define _stprintf_s swprintf_s
235
237
  */
236
238
  #else // Not _UNICODE
@@ -332,6 +334,7 @@ typedef char _TUCHAR;
332
334
  #define _tcsrev _strrev
333
335
  #define _tcsset _strset
334
336
  #define _tcslwr _strlwr
337
+ #define _tcslwr_s _strlwr_s
335
338
  #define _tcsupr _strupr
336
339
  #define _tcsupr_s(a, b) (_strupr(a))
337
340
  #define _tcsxfrm strxfrm
@@ -399,6 +402,7 @@ typedef char _TUCHAR;
399
402
  #define _i64tot _i64toa
400
403
  #define _i64tot_s _i64toa_s
401
404
  #define _ui64tot _ui64toa
405
+ #define _ui64tot_s _ui64toa_s
402
406
  #define _tcsnccoll _strncoll
403
407
  #define _tcsncoll _strncoll
404
408
  #define _tcsncicoll _strnicoll
data/transactd.gemspec CHANGED
@@ -59,7 +59,7 @@ spec_build = Gem::Specification.new do |s|
59
59
  s.files += Dir.glob('build/common/copyifgreater.*')
60
60
  s.files += Dir.glob('build/common/system.*')
61
61
  s.files += Dir.glob('source/bzs/test/tdclrb/*')
62
- s.files += Dir.glob('./*')
62
+ s.files += Dir.glob('./*').reject { |f| f.match(/RELEASE_NOTE/) || f.match(/BUILD_/) }
63
63
  else
64
64
  #
65
65
  # source code package
@@ -72,7 +72,7 @@ spec_build = Gem::Specification.new do |s|
72
72
  s.files += Dir.glob('build/swig/*') + Dir.glob('build/swig/ruby/*')
73
73
  s.files += Dir.glob('build/swig/ruby/**/*') + Dir.glob('build/tdclrb/**/*')
74
74
  s.files += Dir.glob('build/tdclc/**/*') + Dir.glob('build/tdclcpp/**/*')
75
- s.files += Dir.glob('./*')
75
+ s.files += Dir.glob('./*').reject { |f| f.match(/RELEASE_NOTE/) || f.match(/BUILD_/) }
76
76
  if RUBY_PLATFORM =~ /mswin/ || RUBY_PLATFORM =~ /mingw/
77
77
  # add prebuilt binary
78
78
  tdclc_file = File.join('bin', 'common', 'tdclc_*.*')