transactd 2.4.5 → 3.0.0

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