maria:preview-11.2-preview-ycp

Last commit made on 2023-06-20
Get this branch:
git clone -b preview-11.2-preview-ycp https://git.launchpad.net/maria

Branch merges

Branch information

Name:
preview-11.2-preview-ycp
Repository:
lp:maria

Recent commits

8a0eabc... by Sergei Golubchik

MDEV-31474 KDF() function

KDF(key_str, salt [, {info | iterations} [, kdf_name [, width ]]])

kdf_name is hkdf (default) or pbkdf2_hmac.
width (in bits) can be any number divisible by 8,
by default it's taken from @@block_encryption_mode

1c866ef... by Sergei Golubchik

10.x fixes for --view and --embedded

98c5641... by Sergei Golubchik

compilation errors on 32bit

storage/innobase/fsp/fsp0fsp.cc:3108:58: error: conversion to ‘uint16_t {aka short unsigned int}’ from ‘unsigned int’ may alter its value [-Werror=conversion]
storage/innobase/handler/handler0alter.cc:10202:25: error: conversion to ‘unsigned char:7’ from ‘ulint {aka unsigned int}’ may alter its value [-Werror=conversion]

c265233... by Sergei Golubchik

MDEV-9069 extend AES_ENCRYPT() and AES_DECRYPT() to support IV and the algorithm

AES_ENCRYPT(str, key, [, iv [, mode ]])
AES_DECRYPT(str, key, [, iv [, mode ]])

mode is aes-{128,192,256}-{ecb,cbc,ctr} e.g. "aes-128-cbc".

and a @@block_encryption_mode variable for the default value of mode

change in behavior: AES_ENCRYPT(str, key) can no longer
be used in persistent virtual columns (and alike)

39a9626... by Sergei Golubchik

enable AES-CTR with wolfssl

apparently it works now just fine, tests don't fail anymore

47d6dfa... by Sergei Golubchik

MDEV-30905 Remove old_alter_table variable

20740ed... by Sergei Golubchik

cleanup: make some json* helper functions static

e0493cb... by Sergei Golubchik

MDEV-26182 fixes for --ps

* invoke parent's cleanup()
* don't reinit memroot, if already inited (causes memory leak)

also move free_root() from destructor to cleanup() to not accumulate
allocations from prepare and multiple executes

fd34395... by tanruixiang <email address hidden>

MDEV-26182 Implement JSON_INTERSECT()

The idea is to have simple functions that the user can combine to produce
the exact result one wants, whether the user wants JSON object that has
common keys with another JSON object, or same key/value pair etc. So
making simpler function helps here.

We accomplish this by making three separate functions.
1) JSON_OBJECT_FILTER_KEYS(Obj, Arr_keys):
Put keys ( which are basically strings ) in hash, go over the object and
get key one by one. If the key is present in the hash,
add the key-value pair to result.

2) JSON_OBJECT_TO_ARRAY(Obj) : Create a string variable, Go over the json
object, and add each key value pair as an array into the result.

3) JSON_ARRAY_INTERSECT(arr1, arr2) :
Go over one of the json and add each item of the array
in hash (after normalizing each item). Go over the second array,
search the normalized item one by one in the hash. If item is found,
add it to the result.

Implementation Idea: Holyfoot ( Alexey Botchkov)
Author: tanruixiang and Rucha Deodhar

1fb4871... by Rucha Deodhar <email address hidden>

MDEV-30145: JSON_TABLE: allow to retrieve the key when iterating on JSON
objects

Idea behind implementation:
We get the json object specified by the json path. Then, transform it into
key-value pairs by going over the json. Get each key-value pair
one-by-one and return the result.