mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-17841 S3 storage engine
A read-only storage engine that stores it's data in (aws) S3 To store data in S3 one could use ALTER TABLE: ALTER TABLE table_name ENGINE=S3 libmarias3 integration done by Sergei Golubchik libmarias3 created by Andrew Hutchings
This commit is contained in:
@ -4920,3 +4920,115 @@ ulong STDCALL mysql_net_field_length(uchar **packet)
|
||||
{
|
||||
return net_field_length(packet);
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
Dummy functions to avoid linking with libmarias3 / libcurl
|
||||
*********************************************************************/
|
||||
|
||||
#if defined(WITH_S3_STORAGE_ENGINE) || !defined(FIX_BEFORE_RELESE)
|
||||
C_MODE_START
|
||||
|
||||
#include <stdint.h>
|
||||
struct ms3_st;
|
||||
typedef struct ms3_st ms3_st;
|
||||
struct ms3_list_st;
|
||||
typedef struct ms3_list_st ms3_list_st;
|
||||
struct ms3_status_st;
|
||||
typedef struct ms3_status_st ms3_status_st;
|
||||
enum ms3_set_option_t
|
||||
{
|
||||
SOME_OPTIONS
|
||||
};
|
||||
typedef enum ms3_set_option_t ms3_set_option_t;
|
||||
typedef void *(*ms3_malloc_callback)(size_t size);
|
||||
typedef void (*ms3_free_callback)(void *ptr);
|
||||
typedef void *(*ms3_realloc_callback)(void *ptr, size_t size);
|
||||
typedef char *(*ms3_strdup_callback)(const char *str);
|
||||
typedef void *(*ms3_calloc_callback)(size_t nmemb, size_t size);
|
||||
|
||||
|
||||
uint8_t ms3_library_init_malloc(ms3_malloc_callback m,
|
||||
ms3_free_callback f, ms3_realloc_callback r,
|
||||
ms3_strdup_callback s, ms3_calloc_callback c)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
void ms3_library_deinit(void)
|
||||
{
|
||||
}
|
||||
|
||||
ms3_st *ms3_init(const char *s3key, const char *s3secret,
|
||||
const char *region,
|
||||
const char *base_domain)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t ms3_set_option(ms3_st *ms3, ms3_set_option_t option, void *value)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ms3_deinit(ms3_st *ms3)
|
||||
{}
|
||||
|
||||
const char *ms3_server_error(ms3_st *ms3)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
const char *ms3_error(uint8_t errcode)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t ms3_list(ms3_st *ms3, const char *bucket, const char *prefix,
|
||||
ms3_list_st **list)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t ms3_list_dir(ms3_st *ms3, const char *bucket, const char *prefix,
|
||||
ms3_list_st **list)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ms3_list_free(ms3_list_st *list)
|
||||
{}
|
||||
|
||||
uint8_t ms3_put(ms3_st *ms3, const char *bucket, const char *key,
|
||||
const uint8_t *data, size_t length)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
uint8_t ms3_get(ms3_st *ms3, const char *bucket, const char *key,
|
||||
uint8_t **data, size_t *length)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
void ms3_free(uint8_t *data)
|
||||
{}
|
||||
|
||||
uint8_t ms3_delete(ms3_st *ms3, const char *bucket, const char *key)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
uint8_t ms3_status(ms3_st *ms3, const char *bucket, const char *key,
|
||||
ms3_status_st *status)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
uint8_t ms3_move(ms3_st *ms3, const char *source_bucket, const char *source_key,
|
||||
const char *dest_bucket, const char *dest_key)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
C_MODE_END
|
||||
#endif /* WITH_S3_STORAGE_ENGINE */
|
||||
|
Reference in New Issue
Block a user