Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 

121 rinda
7.0 KiB

  1. #pragma once
  2. #include <gmock/gmock.h>
  3. #include <mariadb/errmsg.h>
  4. #include <mariadb/mysqld_error.h>
  5. #include <mariadb/mysql.h>
  6. #define MARIADB_MOCK
  7. #if !defined(_WIN32)
  8. #define STDCALL
  9. #else
  10. #define STDCALL __stdcall
  11. #endif
  12. #define NOT_NULL_FLAG 1 /* field can't be NULL */
  13. #define PRI_KEY_FLAG 2 /* field is part of a primary key */
  14. #define UNIQUE_KEY_FLAG 4 /* field is part of a unique key */
  15. #define MULTIPLE_KEY_FLAG 8 /* field is part of a key */
  16. #define BLOB_FLAG 16 /* field is a blob */
  17. #define UNSIGNED_FLAG 32 /* field is unsigned */
  18. #define ZEROFILL_FLAG 64 /* field is zerofill */
  19. #define BINARY_FLAG 128
  20. #define ENUM_FLAG 256 /* field is an enum */
  21. #define AUTO_INCREMENT_FLAG 512 /* field is a autoincrement field */
  22. #define TIMESTAMP_FLAG 1024 /* field is a timestamp */
  23. #define SET_FLAG 2048 /* field is a set */
  24. #define NO_DEFAULT_VALUE_FLAG 4096 /* field doesn't have default value */
  25. #define ON_UPDATE_NOW_FLAG 8192 /* field is set to NOW on UPDATE */
  26. #define NUM_FLAG 32768 /* field is num (for clients) */
  27. #define PART_KEY_FLAG 16384 /* Intern; Part of some key */
  28. #define GROUP_FLAG 32768 /* Intern: Group field */
  29. #define UNIQUE_FLAG 65536 /* Intern: Used by sql_yacc */
  30. #define CLIENT_MYSQL 1
  31. #define CLIENT_FOUND_ROWS 2 /* Found instead of affected rows */
  32. #define CLIENT_LONG_FLAG 4 /* Get all column flags */
  33. #define CLIENT_CONNECT_WITH_DB 8 /* One can specify db on connect */
  34. #define CLIENT_NO_SCHEMA 16 /* Don't allow database.table.column */
  35. #define CLIENT_COMPRESS 32 /* Can use compression protocol */
  36. #define CLIENT_ODBC 64 /* Odbc client */
  37. #define CLIENT_LOCAL_FILES 128 /* Can use LOAD DATA LOCAL */
  38. #define CLIENT_IGNORE_SPACE 256 /* Ignore spaces before '(' */
  39. #define CLIENT_INTERACTIVE 1024 /* This is an interactive client */
  40. #define CLIENT_SSL 2048 /* Switch to SSL after handshake */
  41. #define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
  42. #define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
  43. #define CLIENT_PROTOCOL_41 512
  44. #define CLIENT_RESERVED 16384
  45. #define CLIENT_SECURE_CONNECTION 32768
  46. #define CLIENT_MULTI_STATEMENTS (1UL << 16)
  47. #define CLIENT_MULTI_RESULTS (1UL << 17)
  48. #define CLIENT_PS_MULTI_RESULTS (1UL << 18)
  49. #define CLIENT_PLUGIN_AUTH (1UL << 19)
  50. #define CLIENT_CONNECT_ATTRS (1UL << 20)
  51. #define CLIENT_SESSION_TRACKING (1UL << 23)
  52. #define CLIENT_PROGRESS (1UL << 29)
  53. #define CLIENT_PROGRESS_OBSOLETE CLIENT_PROGRESS
  54. #define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30)
  55. #define CLIENT_REMEMBER_OPTIONS (1UL << 31)
  56. struct MariaDbMock
  57. {
  58. private:
  59. static void setInstance(MariaDbMock* value);
  60. static void clearInstance(MariaDbMock* value);
  61. public:
  62. MOCK_METHOD1(mysql_num_rows, my_ulonglong (MYSQL_RES *res));
  63. MOCK_METHOD1(mysql_num_fields, unsigned int (MYSQL_RES *res));
  64. MOCK_METHOD1(mysql_row_tell, MYSQL_ROWS* (MYSQL_RES *res));
  65. MOCK_METHOD1(mysql_free_result, void (MYSQL_RES *res));
  66. MOCK_METHOD2(mysql_row_seek, MYSQL_ROW_OFFSET(MYSQL_RES *res, MYSQL_ROW_OFFSET));
  67. MOCK_METHOD2(mysql_data_seek, void (MYSQL_RES *res, unsigned long long offset));
  68. MOCK_METHOD1(mysql_fetch_lengths, unsigned long* (MYSQL_RES *res));
  69. MOCK_METHOD1(mysql_fetch_row, MYSQL_ROW (MYSQL_RES *res));
  70. MOCK_METHOD1(mysql_fetch_fields, MYSQL_FIELD* (MYSQL_RES *res));
  71. MOCK_METHOD3(mysql_real_query, int (MYSQL *mysql, const char *q, unsigned long length));
  72. MOCK_METHOD1(mysql_errno, unsigned int (MYSQL *mysql));
  73. MOCK_METHOD1(mysql_error, const char* (MYSQL *mysql));
  74. MOCK_METHOD1(mysql_store_result, MYSQL_RES* (MYSQL *mysql));
  75. MOCK_METHOD1(mysql_use_result, MYSQL_RES* (MYSQL *mysql));
  76. MOCK_METHOD1(mysql_field_count, unsigned int (MYSQL *mysql));
  77. MOCK_METHOD1(mysql_affected_rows, my_ulonglong (MYSQL *mysql));
  78. MOCK_METHOD1(mysql_insert_id, my_ulonglong (MYSQL *mysql));
  79. MOCK_METHOD4(mysql_real_escape_string, unsigned long (MYSQL *mysql, char *to, const char *from, unsigned long length));
  80. MOCK_METHOD1(mysql_close, void (MYSQL *mysql));
  81. MOCK_METHOD8(mysql_real_connect, MYSQL* (MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long clientflag));
  82. MOCK_METHOD1(mysql_init, MYSQL* (MYSQL *mysql));
  83. MariaDbMock()
  84. { setInstance(this); }
  85. ~MariaDbMock()
  86. { clearInstance(this); }
  87. };
  88. my_ulonglong STDCALL mysql_num_rows (MYSQL_RES *res);
  89. unsigned int STDCALL mysql_num_fields (MYSQL_RES *res);
  90. MYSQL_ROWS* STDCALL mysql_row_tell (MYSQL_RES *res);
  91. void STDCALL mysql_free_result (MYSQL_RES *res);
  92. MYSQL_ROW_OFFSET STDCALL mysql_row_seek (MYSQL_RES *res, MYSQL_ROW_OFFSET);
  93. void STDCALL mysql_data_seek (MYSQL_RES *res, unsigned long long offset);
  94. unsigned long* STDCALL mysql_fetch_lengths (MYSQL_RES *res);
  95. MYSQL_ROW STDCALL mysql_fetch_row (MYSQL_RES *res);
  96. MYSQL_FIELD* STDCALL mysql_fetch_fields (MYSQL_RES *res);
  97. int STDCALL mysql_real_query (MYSQL *mysql, const char *q, unsigned long length);
  98. unsigned int STDCALL mysql_errno (MYSQL *mysql);
  99. const char* STDCALL mysql_error (MYSQL *mysql);
  100. MYSQL_RES* STDCALL mysql_store_result (MYSQL *mysql);
  101. MYSQL_RES* STDCALL mysql_use_result (MYSQL *mysql);
  102. unsigned int STDCALL mysql_field_count (MYSQL *mysql);
  103. my_ulonglong STDCALL mysql_affected_rows (MYSQL *mysql);
  104. my_ulonglong STDCALL mysql_insert_id (MYSQL *mysql);
  105. unsigned long STDCALL mysql_real_escape_string(MYSQL *mysql, char *to,const char *from, unsigned long length);
  106. void STDCALL mysql_close (MYSQL *mysql);
  107. MYSQL* STDCALL mysql_real_connect (MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long clientflag);
  108. MYSQL* STDCALL mysql_init (MYSQL *mysql);