āĻšā§āĻ¯āĻžāĻ˛ā§, āĻāĻŽāĻŋ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻāĻŋ
āĻļāĻā§āĻ¤āĻŋ āĻ
āĻ¨ā§ā§āĻāĻŦ āĻāĻ°! (...āĻāĻ°āĻĢā§ āĻ
āĻāĻŋāĻ¨āĻ¯āĻŧ āĻāĻĒāĻā§āĻ āĻāĻ°ā§āĻ¨)
āĻāĻĒāĻ°ā§āĻ° āĻ¸āĻŦāĻā§āĻ˛ā§āĻ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻšāĻžāĻ-āĻ˛ā§āĻĄ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻā§āĻ˛āĻā§ āĻāĻāĻāĻŋ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤ āĻāĻ āĻāĻžāĻ¤ā§āĻ¯āĻŧ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§, āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧāĨ¤
āĻāĻĒāĻ°ā§ āĻāĻ˛ā§āĻ˛āĻŋāĻāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§, Tarantool āĻāĻ° āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒā§āĻ° āĻ¨ā§āĻ¤āĻŋāĻāĻŋ āĻšāĻ˛ āĻŽāĻžāĻ¸ā§āĻāĻžāĻ° āĻ˛āĻ (WAL) āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĨāĻžāĻāĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ¤ā§ āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ (āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻā§ āĻāĻ°āĻ āĻāĻ˛ āĻāĻ°āĻŦ āĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¤āĻ°ā§āĻ°) āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĢāĻ˛ā§āĻ āĻ¸āĻšāĻ¨āĻļā§āĻ˛āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ/āĻ
āĻĨāĻŦāĻž āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¨ā§āĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻĄāĻŧāĻžāĻ° āĻ˛ā§āĻĄ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻāĻžāĻ¤āĨ¤ 1. āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ
āĻāĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ/āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻ¤ā§āĻ°āĻŋ āĻĄā§āĻāĻž āĻ āĻ¨ā§āĻ¯ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻāĻŋ āĻāĻ°āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻā§āĻāĻ¸ā§āĻ¤āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ - āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¸ā§āĻ¤āĻ°ā§ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĨ¤ āĻ¸ā§āĻā§āĻ˛ā§. āĻāĻŽāĻ°āĻž DBMS-āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¤ā§āĻ°āĻŋ āĻā§āĻ¨ā§ āĻ°ā§āĻĄāĻŋāĻŽā§āĻĄ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻ¨āĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻžāĻ¨āĻāĻŋ āĻĄā§āĻā§āĻ˛āĻĒ āĻāĻ°āĻāĻŋ āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¨āĻŋāĻā§āĻ°āĻžāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻŋāĨ¤ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻŦāĻ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻāĻ¯āĻŧāĻ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤
1. āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻ¸āĻā§āĻāĻ¯āĻŧ:
- āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž, āĻ¤āĻŦā§ āĻāĻāĻŋāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ āĻāĻļ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŋāĻā§ āĻā§āĻŦāĻŋāĻ˛, āĻ¤āĻžāĻĻā§āĻ° āĻāĻŋāĻā§ āĻāĻ˛āĻžāĻŽ āĻŦāĻž āĻ°ā§āĻāĻ°ā§āĻĄ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻŽāĻžāĻ¨āĻĻāĻŖā§āĻĄ āĻĒā§āĻ°āĻŖ āĻāĻ°ā§);
- āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§, āĻ¯āĻž āĻ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻāĻžāĻŦā§ āĻ ā§āĻ¯āĻžāĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻ¸ (Tarantool-āĻāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ - 1.10) āĻŦāĻž āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻ¸ (Tarantool-āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻŦā§) āĻŽā§āĻĄā§, āĻāĻā§āĻ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸ā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸āĻā§āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻ¯ā§āĻŽāĻ¨, āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ āĻĄā§āĻāĻž āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°ā§ - āĻāĻāĻāĻŋ āĻāĻā§āĻ¸āĻā§āĻā§āĻ āĻ¸ā§āĻļāĻ¨ āĻĄā§āĻāĻž, āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻĨāĻžāĻā§, āĻ¯āĻžāĻ° āĻĒāĻ°ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻā§āĻ¸āĻā§āĻā§āĻ āĻ¸ā§āĻļāĻ¨ āĻāĻā§ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ;
- āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻ°ā§āĻāĻ°ā§āĻĄ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻŦāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ° āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻŽāĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻā§āĻ˛āĻŋāĻ¤ā§ āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻŦā§)āĨ¤
2. HTTP āĻāĻā§āĻ¸āĻā§āĻā§āĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§ āĻā§āĻ¨ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¨ā§āĻ, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĄā§āĻāĻžāĻŦā§āĻ¸āĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻžāĻ¤āĨ¤ 2. HTTP āĻāĻ° āĻāĻĒāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ
3. āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¸ā§āĻā§āĻ°āĻžāĻāĻāĻžāĻ° āĻ¯ā§āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻāĻāĻ āĻšāĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž (āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāĻ¸, āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻž, āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ āĻ¸āĻŽā§āĻāĻŦ)āĨ¤
āĻāĻžāĻ¤āĨ¤ 3. āĻāĻŋāĻ¨ā§āĻ¨āĻ§āĻ°ā§āĻŽā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ
āĻ¨ā§āĻ¤āĻŋāĻŦāĻžāĻāĻ āĻĻāĻŋāĻāĻāĻŋ āĻšāĻ˛, āĻāĻĄāĻŧā§, āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻāĻ āĻŋāĻ¨/āĻŦā§āĻ¯āĻ¯āĻŧāĻŦāĻšā§āĻ˛, āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻāĻžāĻ¸ā§āĻāĻŽāĻžāĻāĻ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻā§āĻ˛āĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻšāĻ¯āĻŧ (āĻŦāĻž āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻļāĻ°ā§āĻ¤), āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻā§āĻ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻŦā§āĻ§āĻāĻŽā§āĻ¯āĨ¤ āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻā§āĻ˛ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāĻ¸ā§ āĻāĻā§āĻ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻĻā§āĻā§āĻ¨āĨ¤
āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻŽāĻŋāĻ¨āĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻā§āĻ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻ¸āĻā§āĻāĻ¯āĻŧāĨ¤ āĻāĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻāĻĒāĻ˛āĻŦā§āĻ§āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻ¸ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻĄā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻāĻŽāĻŋāĻ¯āĻŧā§ āĻāĻ¨āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ˛ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ āĻ¯ā§ āĻ¸ā§āĻļāĻ¨ā§āĻ° āĻļā§āĻˇā§, āĻĄā§āĻāĻž āĻ°āĻŋāĻ¸āĻŋāĻāĻžāĻ°āĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻ¤ā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ (āĻ āĻ¨ā§āĻ¤āĻ¤ āĻĄā§āĻāĻžāĻ° āĻ¸ā§āĻ āĻ āĻāĻļā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ¤ā§ āĻāĻĄāĻŧāĻŋāĻ¤)āĨ¤
āĻāĻā§āĻ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻĄā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻā§āĻāĻžāĻŦā§ āĻāĻŽāĻžāĻ¨ā§ āĻ¯āĻžāĻ¯āĻŧ? āĻ¤āĻžāĻ°āĻŋāĻ āĻāĻŦāĻ āĻ¸āĻŽāĻ¯āĻŧ āĻ
āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻĄā§āĻāĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦāĻŋāĻ˛ā§ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¤āĻžāĻ°āĻŋāĻ-āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻā§)āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ "āĻ
āĻ°ā§āĻĄāĻžāĻ°" āĻ¨āĻĨāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ "āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ
āĻ°ā§āĻĄāĻžāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ" - delivery_time
. āĻāĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ¯ā§ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ
āĻ°ā§āĻĄāĻžāĻ° āĻ¤ā§āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻā§āĻāĻ¤āĻŋāĻĒā§āĻ°ā§āĻŖ āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻŽāĻ¨ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻž delivery_time
, āĻāĻā§āĻ° āĻāĻā§āĻ¸āĻā§āĻā§āĻ āĻ¸ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°ā§āĻ°āĻŋāĻ¤, āĻāĻŦāĻ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻā§āĻ¸āĻā§āĻā§āĻ āĻ¸ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻŽāĻžāĻ¨ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ°ā§āĻāĻ°ā§āĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨ delivery_time
. āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻ¸ā§āĻļāĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻ¸āĻš āĻ°ā§āĻāĻ°ā§āĻĄ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ delivery_time
. āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻ
āĻ°ā§āĻĄāĻžāĻ°āĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯āĻž āĻ¤āĻŦā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻāĻĒāĻ° āĻĒā§āĻ°āĻāĻžāĻŦ āĻĢā§āĻ˛ā§āĻ¨āĻŋ delivery_time
. āĻāĻāĻ¯āĻŧ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻā§āĻ¸ āĻĨā§āĻā§ āĻāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻžāĻĻā§āĻ° "āĻāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻĒāĻŋāĻ" āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ¸ā§āĻā§āĻ˛ā§. āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻ¸ā§āĻļāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻĢāĻŋāĻ˛ā§āĻĄ āĻā§āĻ¯āĻžāĻ˛ā§ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻŦ delivery_time
, āĻ
āĻ¤ā§āĻ¤ā§āĻ° āĻāĻŋāĻā§ āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻ
āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻ°ā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŽā§āĻšā§āĻ°ā§āĻ¤ āĻĨā§āĻā§ N āĻāĻ¨ā§āĻāĻž)āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻž āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¯ā§ āĻŦā§āĻšā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻ
āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻ¸āĻā§āĻāĻ¯āĻŧāĻā§ āĻāĻŽāĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻāĻŋāĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ¸āĻžāĻ°āĻŖā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ āĻ¤āĻžāĻ°āĻŋāĻ-āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻāĻāĻāĻŋ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ¨āĻžāĻ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻ°ā§āĻāĻāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨, āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻ°āĻ āĻāĻāĻŋāĻ˛, āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋ āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻžāĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻ¸ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋ āĻĒā§āĻ°āĻžāĻĒāĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤ āĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ¤ā§āĻ¸ āĻā§āĻŦāĻŋāĻ˛ā§ āĻāĻāĻāĻŋ āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻāĻ˛āĻžāĻŽ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, is_transferred
) āĻ°āĻŋāĻ¸āĻŋāĻāĻžāĻ° āĻ°ā§āĻāĻ°ā§āĻĄā§āĻ° āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋ āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻ˛ā§, āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻāĻŋ āĻŽāĻžāĻ¨ āĻ¨ā§āĻ¯āĻŧ true
, āĻ¯āĻžāĻ° āĻĒāĻ°ā§ āĻāĻ¨ā§āĻā§āĻ°āĻŋ āĻāĻ° āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧā§ āĻāĻĄāĻŧāĻŋāĻ¤ āĻĨāĻžāĻā§ āĻ¨āĻžāĨ¤ āĻāĻ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒā§āĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ
āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ°ā§āĻāĻ°ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻāĻŋ āĻ¸ā§āĻŦā§āĻā§āĻ¤āĻŋ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋāĻāĻžāĻŦā§ āĻŦāĻ˛āĻ¤ā§ āĻā§āĻ˛ā§, āĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻĄā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻĻā§āĻŦāĻŋāĻā§āĻŖ āĻāĻ°āĻžāĻ° āĻāĻŦāĻ āĻ°āĻžāĻāĻ¨ā§āĻĄāĻā§āĻ°āĻŋāĻĒā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻĻā§āĻŦāĻŋāĻā§āĻŖ āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¤ā§āĻ˛āĻ¨ā§āĻ¯āĻŧ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻ¤, āĻāĻāĻ āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻāĻžāĻ§āĻŋāĻ āĻ°āĻŋāĻ¸āĻŋāĻāĻžāĻ°ā§āĻ° āĻāĻžāĻā§ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻā§āĻ¨ āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻ¨ā§āĻ (āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ°āĻžāĻĒāĻ āĻ¯āĻŋāĻ¨āĻŋ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻŋāĻ¨āĻŋ āĻ¨āĻŋāĻā§āĻ° āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ¯ āĻ¸āĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻŦā§āĻ¨)āĨ¤
āĻāĻĒāĻ°ā§ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ
āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻā§āĻ˛āĻŋ āĻ¨ā§āĻ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻš'āĻ˛ āĻ¤āĻžāĻ° āĻ¸āĻžāĻ°āĻŋāĻā§āĻ˛āĻŋāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻā§āĻŦāĻŋāĻ˛ā§ āĻāĻāĻāĻŋ āĻāĻ˛āĻžāĻŽ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻžāĨ¤ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻāĻ˛āĻžāĻŽ āĻ¤āĻžāĻ°āĻŋāĻ-āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻ°ā§āĻāĻ°ā§āĻĄ āĻ¯ā§āĻ/āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ˛ā§ (āĻĒāĻ°āĻŽāĻžāĻŖā§āĻāĻžāĻŦā§ āĻ¸āĻāĻ¯ā§āĻāĻ¨/āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻš) āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻ¯āĻŧā§ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻ¸ā§āĻ/āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻ° āĻāĻ˛āĻžāĻŽ āĻāĻ˛ āĻāĻ°āĻž āĻ¯āĻžāĻ update_time
. āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ°ā§āĻāĻ°ā§āĻĄāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻāĻ˛āĻžāĻŽā§āĻ° āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻŽāĻžāĻ¨ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§, āĻāĻŽāĻ°āĻž āĻāĻ āĻŽāĻžāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻ¸ā§āĻļāĻ¨ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ (āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻ¸āĻš āĻ°ā§āĻāĻ°ā§āĻĄāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨ update_time
, āĻĒā§āĻ°ā§āĻŦā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻ
āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻ°ā§)āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ¯ā§ āĻĄā§āĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻžāĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻ˛āĻžāĻŽā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ update_time
āĻ
āĻ¨āĻ¨ā§āĻ¯ āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻ āĻāĻ˛āĻžāĻŽāĻāĻŋ āĻ
āĻāĻļāĻ¯ā§āĻā§āĻ¤ (āĻĒā§āĻˇā§āĻ āĻž-āĻĻā§āĻŦāĻžāĻ°āĻž-āĻĒā§āĻˇā§āĻ āĻž) āĻĄā§āĻāĻž āĻāĻāĻāĻĒā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻžāĨ¤ āĻĒā§āĻˇā§āĻ āĻž āĻ
āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻĄā§āĻāĻž āĻĒā§āĻˇā§āĻ āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ āĻāĻĻā§āĻāĻžāĻŦāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻžāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻā§āĻŦ āĻāĻŽ āĻšāĻŦā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĄā§āĻāĻžāĻŦā§āĻ¸ āĻĨā§āĻā§ āĻŽāĻžāĻ¨ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ°ā§āĻāĻ°ā§āĻĄ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻž update_time
āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻāĻāĻāĻŋ āĻĨā§āĻā§ āĻŦā§āĻļāĻŋ āĻāĻŦāĻ āĻ¨āĻŽā§āĻ¨āĻžāĻ° āĻļā§āĻ°ā§ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ
āĻĢāĻ¸ā§āĻ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸āĻāĻā§āĻ¯āĻ āĻ°ā§āĻāĻ°ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž)āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ āĻāĻ°ā§ āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°ā§āĻ° āĻĻāĻā§āĻˇāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ˛āĻžāĻŽ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻ§āĻ°āĻ¨ (āĻĻā§āĻ°ā§āĻ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤ āĻāĻ˛āĻžāĻŽā§āĻ° āĻ¨āĻžāĻŽ āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ row_ver
. āĻāĻ āĻāĻ˛āĻžāĻŽā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻāĻāĻŋ āĻ°ā§āĻāĻ°ā§āĻĄ āĻ¤ā§āĻ°āĻŋ/āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻ¸ā§āĻ/āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻā§āĻˇā§āĻ¤ā§āĻ°āĻāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¤āĻžāĻ°āĻŋāĻ-āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž āĻšāĻŦā§ āĻ¨āĻž, āĻ¤āĻŦā§ āĻāĻŋāĻā§ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ¨, āĻāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻĻā§āĻ§āĻŋ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻĢāĻ˛ā§ āĻāĻ˛āĻžāĻŽ row_ver
āĻ
āĻ¨āĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨ āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻŦā§ āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° "āĻĄā§āĻ˛ā§āĻāĻž" āĻĄā§āĻāĻž (āĻāĻā§āĻ° āĻāĻā§āĻ¸āĻā§āĻā§āĻ āĻ¸ā§āĻļāĻ¨ā§āĻ° āĻļā§āĻˇ āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻ¯ā§āĻ/āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§) āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž, āĻ¤āĻŦā§ āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°āĻāĻžāĻŦā§ āĻāĻāĻŋāĻā§ āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°āĻ¤ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻā§āĻ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻĄā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻšā§āĻ°āĻžāĻ¸ āĻāĻ°āĻžāĻ° āĻļā§āĻˇ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ āĻ¨ā§āĻā§āĻ˛ āĻāĻŦāĻ āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻāĻ°ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻāĻžāĻŦā§ āĻ¤āĻžāĻāĻžāĻ¨.
āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°āĻŋ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĄā§āĻāĻž āĻĒāĻžāĻ¸ āĻāĻ°āĻž
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°/āĻŽāĻžāĻ¸ā§āĻāĻžāĻ° āĻ āĻāĻļā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨
āĻāĻŽāĻāĻ¸ āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§, āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻāĻ˛āĻžāĻŽā§āĻ° āĻ§āĻ°āĻ¨ āĻ°āĻ¯āĻŧā§āĻā§ - rowversion
. āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻāĻāĻāĻŋ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° āĻĨāĻžāĻā§ āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻāĻāĻŋ āĻ°ā§āĻāĻ°ā§āĻĄ āĻ¯ā§āĻā§āĻ¤/āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§ āĻŦā§āĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧ āĻ¯āĻžāĻ° āĻŽāĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻ˛āĻžāĻŽ āĻĨāĻžāĻā§ rowversion
. āĻāĻ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¯ā§āĻ āĻāĻ°āĻž/āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ°ā§āĻāĻ°ā§āĻĄā§ āĻāĻ āĻāĻ˛āĻžāĻŽā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ Tarantool DBMS-āĻāĻ° āĻ
āĻ¨ā§āĻ°ā§āĻĒ āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¨ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ āĻ¨ā§āĻāĨ¤ āĻ¤āĻŦā§, āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻā§āĻ˛ā§ āĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻāĻ āĻŋāĻ¨ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ˛ā§āĻ¨ āĻĻā§āĻāĻž āĻ¯āĻžāĻ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ āĻāĻžāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ.
āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻāĻā§ āĻĒāĻ°āĻŋāĻāĻžāĻˇāĻž: āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻā§āĻ˛ā§āĻ° āĻā§āĻŦāĻŋāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻ¸ā§āĻĒā§āĻ¸ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ°ā§āĻāĻ°ā§āĻĄāĻā§āĻ˛āĻŋāĻā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻā§āĻĒāĻ˛ā§ˇ Tarantool āĻ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŋāĻā§āĻ¯āĻŧā§āĻ¨ā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ¸āĻŋāĻā§āĻ¯āĻŧā§āĻ¨ā§āĻ¸āĻā§āĻ˛āĻŋ āĻ āĻ°ā§āĻĄāĻžāĻ°āĻā§āĻ¤ āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻž āĻŽāĻžāĻ¨ā§āĻ° āĻ¨āĻžāĻŽāĻ¯ā§āĻā§āĻ¤ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻāĻžāĻĄāĻŧāĻž āĻāĻ° āĻāĻŋāĻā§āĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¸ā§āĻā§āĻ˛ā§. āĻāĻ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ āĻŋāĻ āĻāĻŋ. āĻ¨ā§āĻā§ āĻāĻŽāĻ°āĻž āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ°āĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦāĨ¤
Tarantool āĻ āĻā§āĻ¨ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§:
box.cfg{}
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, Tarantool āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻ āĻāĻŦāĻ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ˛āĻ āĻ˛ā§āĻāĻž āĻļā§āĻ°ā§ āĻāĻ°āĻŦā§āĨ¤
āĻāĻ° āĻāĻāĻāĻŋ āĻā§āĻ°āĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ row_version
:
box.schema.sequence.create('row_version',
{ if_not_exists = true })
āĻŦāĻŋāĻāĻ˛ā§āĻĒ if_not_exists
āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻļāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻāĻžāĻ§āĻŋāĻāĻŦāĻžāĻ° āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ: āĻ¯āĻĻāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻā§, Tarantool āĻāĻāĻŋ āĻāĻŦāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ DDL āĻāĻŽāĻžāĻ¨ā§āĻĄā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤
box.schema.space.create('goods', {
format = {
{
name = 'id',
type = 'unsigned'
},
{
name = 'name',
type = 'string'
},
{
name = 'code',
type = 'unsigned'
},
{
name = 'row_ver',
type = 'unsigned'
}
},
if_not_exists = true
})
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻ¨āĻžāĻŽ āĻ¸ā§āĻ āĻāĻ°āĻŋ (goods
), āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻāĻžāĻ°āĨ¤
āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻā§āĻ˛ā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻŦā§āĻĻā§āĻ§āĻŋāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻ āĻā§āĻ°āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ
āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ-āĻŦā§āĻĻā§āĻ§āĻŋāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ id
:
box.schema.sequence.create('goods_id',
{ if_not_exists = true })
box.space.goods:create_index('primary', {
parts = { 'id' },
sequence = 'goods_id',
unique = true,
type = 'HASH',
if_not_exists = true
})
Tarantool āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¸ā§āĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋ āĻšāĻ˛ TREE āĻāĻŦāĻ HASH āĻĒā§āĻ°āĻāĻžāĻ°, āĻ¯āĻž āĻ¨āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĨ¤ TREE āĻšāĻ˛ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŦāĻšā§āĻŽā§āĻā§ āĻ¸ā§āĻāĻā§āĻ° āĻ§āĻ°āĻ¨āĨ¤ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻĄā§āĻāĻž āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŽāĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻšā§āĻ¯āĻžāĻļ āĻāĻ°āĻ āĻāĻĒāĻ¯ā§āĻā§āĻ¤āĨ¤ āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§, āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻā§ (āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻ°ā§āĻāĻŋ) āĻāĻ° āĻāĻ¨ā§āĻ¯ HASH āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻā§āĻā§āĨ¤
āĻāĻ˛āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ row_ver
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ āĻāĻ˛āĻžāĻŽā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ āĻā§āĻ°āĻŽ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻŦāĻĻā§āĻ§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ row_ver
. āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻā§ āĻĨā§āĻā§ āĻāĻŋāĻ¨ā§āĻ¨, āĻāĻ˛āĻžāĻŽ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨ row_ver
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ°ā§āĻāĻ°ā§āĻĄ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ āĻ¨āĻ¯āĻŧ, āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ°ā§āĻāĻ°ā§āĻĄāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ āĻāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻĻā§āĻ§āĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻā§āĻ˛ā§āĻ° āĻĻā§āĻāĻŋ āĻ§āĻ°āĻŖā§āĻ° āĻ¸ā§āĻĒā§āĻ¸ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻ°āĻ¯āĻŧā§āĻā§: before_replace
и on_replace
. āĻ¯āĻāĻ¨āĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻĄā§āĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻāĻ¨āĻ āĻā§āĻ°āĻŋāĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻā§āĻ˛āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ (āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻŋāĻĒāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻāĻŋ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧ)āĨ¤ āĻ
āĻĒāĻāĻ¨ā§āĻĻ on_replace
, before_replace
-āĻā§āĻ°āĻŋāĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŋāĻĒāĻ˛ā§āĻ° āĻĄā§āĻāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ°āĻŋāĻāĻžāĻ°āĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§, āĻļā§āĻˇ āĻ§āĻ°āĻŖā§āĻ° āĻā§āĻ°āĻŋāĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤āĨ¤
box.space.goods:before_replace(function(old, new)
return box.tuple.new({new[1], new[2], new[3],
box.sequence.row_version:next()})
end)
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§ row_ver
āĻ
āĻ¨ā§āĻā§āĻ°āĻŽā§āĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŽāĻžāĻ¨ā§āĻ° āĻā§āĻĒāĻ˛ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ row_version
.
āĻ¯āĻžāĻ¤ā§ āĻŽāĻšāĻžāĻāĻžāĻļ āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻŦā§āĻ° āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ goods
āĻāĻ˛āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž row_ver
, āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ:
box.space.goods:create_index('row_ver', {
parts = { 'row_ver' },
unique = true,
type = 'TREE',
if_not_exists = true
})
āĻ¸ā§āĻāĻā§āĻ° āĻ§āĻ°āĻ¨ - āĻāĻžāĻ (TREE
), āĻāĻžāĻ°āĻŖ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ˛āĻžāĻŽā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻā§āĻ°āĻŽā§ āĻĄā§āĻāĻž āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ row_ver
.
āĻ¸ā§āĻĒā§āĻ¸ā§ āĻāĻŋāĻā§ āĻĄā§āĻāĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻ:
box.space.goods:insert{nil, 'pen', 123}
box.space.goods:insert{nil, 'pencil', 321}
box.space.goods:insert{nil, 'brush', 100}
box.space.goods:insert{nil, 'watercolour', 456}
box.space.goods:insert{nil, 'album', 101}
box.space.goods:insert{nil, 'notebook', 800}
box.space.goods:insert{nil, 'rubber', 531}
box.space.goods:insert{nil, 'ruler', 135}
āĻāĻžāĻ°āĻŖ āĻĒā§āĻ°āĻĨāĻŽ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ-āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ°; āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻļā§āĻ¨ā§āĻ¯ āĻĒāĻžāĻ¸ āĻāĻ°āĻŋāĨ¤ Tarantool āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻŦā§āĨ¤ āĻāĻāĻāĻāĻžāĻŦā§, āĻāĻ˛āĻžāĻŽ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ row_ver
āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ¨ā§āĻ¯ āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ - āĻŦāĻž āĻŽā§āĻā§āĻ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž, āĻāĻžāĻ°āĻŖ āĻāĻ āĻāĻ˛āĻžāĻŽāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻļā§āĻˇ āĻ
āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻĻāĻāĻ˛ āĻāĻ°ā§āĨ¤
āĻāĻ¸ā§āĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ:
tarantool> box.space.goods:select()
---
- - [1, 'pen', 123, 1]
- [2, 'pencil', 321, 2]
- [3, 'brush', 100, 3]
- [4, 'watercolour', 456, 4]
- [5, 'album', 101, 5]
- [6, 'notebook', 800, 6]
- [7, 'rubber', 531, 7]
- [8, 'ruler', 135, 8]
...
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŦāĻ āĻļā§āĻˇ āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻĒā§āĻ°ā§āĻŖ āĻšāĻ¯āĻŧāĨ¤ āĻāĻāĻ¨ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻĒā§āĻˇā§āĻ āĻž āĻāĻĒāĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ˛ā§āĻāĻž āĻ¸āĻšāĻ āĻšāĻŦā§ goods
:
local page_size = 5
local function get_goods(row_ver)
local index = box.space.goods.index.row_ver
local goods = {}
local counter = 0
for _, tuple in index:pairs(row_ver, {
iterator = 'GT' }) do
local obj = tuple:tomap({ names_only = true })
table.insert(goods, obj)
counter = counter + 1
if counter >= page_size then
break
end
end
return goods
end
āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻŽāĻžāĻ¨āĻāĻŋāĻā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¨ā§āĻ¯āĻŧ row_ver
, āĻ¯ā§āĻāĻžāĻ¨ āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĄā§āĻāĻžāĻ° āĻāĻāĻāĻŋ āĻ
āĻāĻļ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧāĨ¤
āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻā§āĻ˛ā§ āĻĄā§āĻāĻž āĻ¸ā§āĻ¯āĻžāĻŽā§āĻĒāĻ˛āĻŋāĻ āĻāĻ¨āĻĄā§āĻā§āĻ¸ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĢāĻžāĻāĻļāĻ¨ get_goods
āĻ¸ā§āĻāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ row_ver
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĄā§āĻāĻž āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§āĨ¤ āĻāĻāĻžāĻ°ā§āĻāĻ°ā§āĻ° āĻ§āĻ°āĻ¨ āĻšāĻ˛ GT (āĻāĻ° āĻā§āĻ¯āĻŧā§ āĻŦāĻĄāĻŧ, āĻāĻ° āĻā§āĻ¯āĻŧā§ āĻŦāĻĄāĻŧ)āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻā§ (āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨) āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§ āĻ¸ā§āĻāĻā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ
āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻ°āĻŦā§ row_ver
).
āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻāĻŋāĻĒāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻāĻžāĻ˛ā§ HTTP āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŋāĻĒāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻā§āĻ°āĻŽāĻŋāĻāĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻāĻžāĻ āĻžāĻŽā§āĻ¤ā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ tomap
. āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ tomap
āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻā§āĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ name
, āĻŽāĻžāĻ āĻĒāĻžāĻ¸ āĻ¨āĻž code
āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ comment
:
local function unflatten_goods(tuple)
local obj = {}
obj.id = tuple.id
obj.goods_name = tuple.name
obj.comment = 'some comment'
obj.row_ver = tuple.row_ver
return obj
end
āĻāĻāĻāĻĒā§āĻ āĻĄā§āĻāĻžāĻ° āĻĒā§āĻˇā§āĻ āĻžāĻ° āĻāĻāĻžāĻ° (āĻāĻāĻāĻŋ āĻ
āĻāĻļā§ āĻ°ā§āĻāĻ°ā§āĻĄā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž) āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ page_size
. āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻŽāĻžāĻ¨ page_size
āĻšāĻ˛ 5. āĻāĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§, āĻĒā§āĻˇā§āĻ āĻžāĻ° āĻāĻāĻžāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦā§āĻļāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖāĨ¤ āĻāĻāĻŋ āĻ¸ā§āĻĒā§āĻ¸ āĻāĻŋāĻĒāĻ˛ā§āĻ° āĻāĻĄāĻŧ āĻāĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§āĨ¤ āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻāĻ°ā§ āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻĒā§āĻˇā§āĻ āĻžāĻ° āĻāĻāĻžāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻŽā§āĻ˛āĻāĻāĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒā§āĻˇā§āĻ āĻžāĻ° āĻāĻāĻžāĻ° āĻ¯āĻ¤ āĻŦāĻĄāĻŧ āĻšāĻŦā§, āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻāĻŦāĻ āĻā§āĻ°āĻšāĻŖāĻāĻžāĻ°ā§ āĻĒāĻā§āĻˇā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻžāĻāĻ¨ā§āĻĄāĻā§āĻ°āĻŋāĻĒā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻ¤āĻ¤ āĻāĻŽ āĻšāĻŦā§āĨ¤ āĻāĻāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻžāĻŽāĻā§āĻ°āĻŋāĻ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯āĻĻāĻŋ āĻĒā§āĻˇā§āĻ āĻžāĻ° āĻāĻāĻžāĻ° āĻā§āĻŦ āĻŦāĻĄāĻŧ āĻšāĻ¯āĻŧ, āĻāĻŽāĻ°āĻž āĻ¨āĻŽā§āĻ¨āĻžāĻāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°āĻŦāĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻ¸āĻž āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖā§ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° page_size
āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻĨā§āĻā§ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒā§āĻ°ā§āĻ°āĻŋāĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻŋ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻŽāĻžāĻ¨ āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, 100) āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻš āĻāĻ°āĻž āĻ¯āĻžāĻ get_goods
:
tarantool> get_goods(0)
---
- - row_ver: 1
code: 123
name: pen
id: 1
- row_ver: 2
code: 321
name: pencil
id: 2
- row_ver: 3
code: 100
name: brush
id: 3
- row_ver: 4
code: 456
name: watercolour
id: 4
- row_ver: 5
code: 101
name: album
id: 5
...
āĻĢāĻŋāĻ˛ā§āĻĄ āĻā§āĻ¯āĻžāĻ˛ā§ āĻ§āĻ°āĻž āĻ¯āĻžāĻ row_ver
āĻļā§āĻˇ āĻ˛āĻžāĻāĻ¨ āĻĨā§āĻā§ āĻāĻŦāĻ āĻāĻŦāĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ°ā§āĻ¨:
tarantool> get_goods(5)
---
- - row_ver: 6
code: 800
name: notebook
id: 6
- row_ver: 7
code: 531
name: rubber
id: 7
- row_ver: 8
code: 135
name: ruler
id: 8
...
āĻāĻ°ā§āĻāĻŦāĻžāĻ°:
tarantool> get_goods(8)
---
- []
...
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻ¯āĻāĻ¨ āĻāĻāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻĒā§āĻˇā§āĻ āĻž āĻ
āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ°ā§āĻāĻ°ā§āĻĄ āĻĒā§āĻˇā§āĻ āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ goods
. āĻļā§āĻˇ āĻĒā§āĻˇā§āĻ āĻžāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ
āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻ¸ā§āĻ¨ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻŋ:
box.space.goods:update(4, {{'=', 6, 'copybook'}})
box.space.goods:insert{nil, 'clip', 234}
box.space.goods:insert{nil, 'folder', 432}
āĻāĻŽāĻ°āĻž āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻāĻŋ name
āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻā§āĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŦāĻ āĻĻā§āĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ¨ā§āĻā§āĻ°āĻŋ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻļā§āĻˇ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ:
tarantool> get_goods(8)
---
- - row_ver: 9
code: 800
name: copybook
id: 6
- row_ver: 10
code: 234
name: clip
id: 9
- row_ver: 11
code: 432
name: folder
id: 10
...
āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻāĻŦāĻ āĻ¯ā§āĻā§āĻ¤ āĻ°ā§āĻāĻ°ā§āĻĄ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¤āĻžāĻ āĻĢāĻžāĻāĻļāĻ¨ get_goods
āĻāĻĒāĻ¨āĻžāĻā§ āĻĄā§āĻāĻž āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻ¯āĻž āĻ¤āĻžāĻ° āĻļā§āĻˇ āĻāĻ˛ āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻŦāĻŋāĻŦā§āĻāĻ¨āĻžāĻ§ā§āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĨ¤
āĻāĻŽāĻ°āĻž āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻ¸ā§āĻ¯ā§āĻā§āĻ° āĻŦāĻžāĻāĻ°ā§ JSON āĻāĻāĻžāĻ°ā§ HTTP-āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻžāĻ°āĻŋ āĻāĻ°āĻŦāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻžāĻ¨ā§ āĻāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ/āĻ¸ā§āĻ˛ā§āĻ āĻ āĻāĻļā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨
āĻāĻ° āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻā§āĻˇā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻā§āĻŽāĻ¨ āĻĻā§āĻāĻžāĻ¯āĻŧ āĻ¤āĻž āĻĻā§āĻā§āĻ¨āĨ¤ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻĒāĻžāĻļā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ:
box.schema.space.create('goods', {
format = {
{
name = 'id',
type = 'unsigned'
},
{
name = 'name',
type = 'string'
},
{
name = 'code',
type = 'unsigned'
}
},
if_not_exists = true
})
box.space.goods:create_index('primary', {
parts = { 'id' },
sequence = 'goods_id',
unique = true,
type = 'HASH',
if_not_exists = true
})
āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻāĻ āĻ¨ āĻā§āĻ¸ā§ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻāĻ āĻ¨ā§āĻ° āĻ
āĻ¨ā§āĻ°ā§āĻĒāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĄā§āĻāĻž āĻ
āĻ¨ā§āĻ¯ āĻā§āĻĨāĻžāĻ āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻ¯āĻžāĻā§āĻāĻŋ āĻ¨āĻž, āĻāĻ˛āĻžāĻŽ row_ver
āĻĒā§āĻ°āĻžāĻĒāĻā§āĻ° āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻ¨ā§āĻāĨ¤ āĻŽāĻžāĻ ā§ id
āĻā§āĻ¸ āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§ āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻž āĻšāĻŦā§. āĻ
āĻ¤āĻāĻŦ, āĻ°āĻŋāĻ¸āĻŋāĻāĻžāĻ°ā§āĻ° āĻĻāĻŋāĻā§ āĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻŦā§āĻĻā§āĻ§āĻŋ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤
āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻŽāĻžāĻ¨ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ row_ver
:
box.schema.space.create('row_ver', {
format = {
{
name = 'space_name',
type = 'string'
},
{
name = 'value',
type = 'string'
}
},
if_not_exists = true
})
box.space.row_ver:create_index('primary', {
parts = { 'space_name' },
unique = true,
type = 'HASH',
if_not_exists = true
})
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ (āĻā§āĻˇā§āĻ¤ā§āĻ° space_name
) āĻāĻŽāĻ°āĻž āĻāĻāĻžāĻ¨ā§ āĻļā§āĻˇ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻŽāĻžāĻ¨ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻŦ row_ver
(āĻā§āĻˇā§āĻ¤ā§āĻ° value
) āĻāĻ˛āĻžāĻŽ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻā§ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ space_name
.
āĻ¸ā§āĻĒā§āĻ¸ āĻĄā§āĻāĻž āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ goods
HTTP āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¯āĻž āĻāĻāĻāĻŋ HTTP āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ˛āĻžāĻāĻ¨āĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ˛ā§āĻĄ āĻāĻ°ā§ āĻāĻŦāĻ HTTP āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§ āĻ¤āĻžā§āĻā§āĻˇāĻŖāĻŋāĻ āĻāĻ°ā§:
local http_client = require('http.client').new()
json deserialization āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ āĻĻāĻ°āĻāĻžāĻ°:
local json = require('json')
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĄā§āĻāĻž āĻ˛ā§āĻĄāĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻĨā§āĻˇā§āĻ:
local function load_data(url, row_ver)
local url = ('%s?rowVer=%s'):format(url,
tostring(row_ver))
local body = nil
local data = http_client:request('GET', url, body, {
keepalive_idle = 1,
keepalive_interval = 1
})
return json.decode(data.body)
end
āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ url āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ¯āĻŧ āĻāĻāĻāĻŋ HTTP āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻš āĻāĻ°ā§ āĻāĻŦāĻ āĻĒāĻžāĻ āĻžāĻ¯āĻŧ row_ver
āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° deserialized āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§.
āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ āĻŽāĻ¤ āĻĻā§āĻāĻžāĻ¯āĻŧ:
local function save_goods(goods)
local n = #goods
box.atomic(function()
for i = 1, n do
local obj = goods[i]
box.space.goods:put(
obj.id, obj.name, obj.code)
end
end)
end
āĻŽāĻšāĻžāĻāĻžāĻļā§ āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖā§āĻ° āĻāĻā§āĻ° goods
āĻāĻāĻāĻŋ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ (āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ box.atomic
) āĻĄāĻŋāĻ¸ā§āĻ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻŽāĻžāĻ¤ā§.
āĻ
āĻŦāĻļā§āĻˇā§, āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻā§āĻļāĻ¨ āĻĢāĻžāĻāĻļāĻ¨ goods
āĻāĻāĻāĻŋ āĻāĻ¤ā§āĻ¸ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻāĻ āĻŽāĻ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
local function sync_goods()
local tuple = box.space.row_ver:get('goods')
local row_ver = tuple and tuple.value or 0
ââ set your url here:
local url = 'http://127.0.0.1:81/test/goods/list'
while true do
local goods = load_goods(url, row_ver)
local count = #goods
if count == 0 then
return
end
save_goods(goods)
row_ver = goods[count].rowVer
box.space.row_ver:put({'goods', row_ver})
end
end
āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°ā§āĻŦā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻĒāĻĄāĻŧāĻŋ row_ver
āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ goods
. āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻ
āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻā§ (āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻ
āĻ§āĻŋāĻŦā§āĻļāĻ¨), āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŋ row_ver
āĻļā§āĻ¨ā§āĻ¯ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻā§āĻ°ā§ āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ url-āĻ āĻā§āĻ¸ āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĄā§āĻāĻžāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻˇā§āĻ āĻž-āĻŦāĻžāĻ-āĻĒā§āĻˇā§āĻ āĻž āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻŋāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ¤ā§, āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĄā§āĻāĻž āĻ¯āĻĨāĻžāĻ¯āĻĨ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻŽāĻžāĻ¨ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻŋ row_ver
(āĻ¸ā§āĻĨāĻžāĻ¨ row_ver
āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻŽāĻ§ā§āĻ¯ā§ row_ver
) - āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ¨ row_ver
āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻĄā§āĻāĻžāĻ° āĻļā§āĻˇ āĻ˛āĻžāĻāĻ¨ āĻĨā§āĻā§āĨ¤
āĻĻā§āĻ°ā§āĻāĻāĻ¨āĻžāĻāĻ¨āĻŋāĻ¤ āĻ˛ā§āĻĒāĻŋāĻ āĻĨā§āĻā§ āĻ°āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ (āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§), āĻ˛ā§āĻĒ while
āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ for
:
for _ = 1, max_req do ...
āĻĢāĻžāĻāĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšā§āĻ° āĻĢāĻ˛ā§ sync_goods
āĻ¸ā§āĻĨāĻžāĻ¨ goods
āĻ°āĻŋāĻ¸āĻŋāĻāĻžāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ°ā§āĻāĻ°ā§āĻĄā§āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĨāĻžāĻāĻŦā§ goods
āĻā§āĻ¸ā§
āĻ¸ā§āĻĒāĻˇā§āĻāĻ¤āĻ, āĻĄā§āĻāĻž āĻŽā§āĻā§ āĻĢā§āĻ˛āĻž āĻāĻāĻāĻžāĻŦā§ āĻ¸āĻŽā§āĻĒā§āĻ°āĻāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻžāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻĨāĻžāĻā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻāĻŋāĻšā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ goods
āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻā§āĻˇā§āĻ¤ā§āĻ° is_deleted
āĻāĻŦāĻ āĻļāĻžāĻ°ā§āĻ°āĻŋāĻāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ°ā§āĻāĻ°ā§āĻĄ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ - āĻāĻŽāĻ°āĻž āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻ¸ā§āĻ āĻāĻ°āĻŋ is_deleted
āĻ
āĻ°ā§āĻĨā§ true
. āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻāĻāĻŋ āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ is_deleted
āĻā§āĻˇā§āĻ¤ā§āĻ°āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻ°āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ deleted
, āĻ¯āĻž āĻ°ā§āĻāĻ°ā§āĻĄā§āĻ° āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻ¤āĻžāĻ°āĻŋāĻ-āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĨ¤ āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻĒāĻ°ā§, āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ°ā§āĻāĻ°ā§āĻĄāĻāĻŋ āĻā§āĻ¸ āĻĨā§āĻā§ āĻāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻŦā§ (āĻāĻĒāĻ°ā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ
āĻ¨ā§āĻ¸āĻžāĻ°ā§)āĨ¤
āĻā§āĻ°āĻŽ row_ver
āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§: āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻā§āĻ°āĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤
āĻāĻŽāĻ°āĻž Tarantool DBMS āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻā§āĻ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻĒāĻžāĻ¯āĻŧ āĻĻā§āĻā§āĻāĻŋāĨ¤
āĻ¤āĻĨā§āĻ¯āĻ
- āĻāĻžāĻ°āĻžāĻ¨ā§āĻā§āĻ˛ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāĻ¸ āĻāĻāĻāĻŋ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ, āĻāĻā§āĻ-āĻ˛ā§āĻĄ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻļā§āĻ˛ āĻĒāĻŖā§āĻ¯āĨ¤
- āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻāĻā§āĻ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
- āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻāĻ˛ā§āĻāĻŋāĻ¤ āĻāĻā§āĻ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻ āĻ°ā§āĻāĻ°ā§āĻĄāĻā§āĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻĄā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻšā§āĻ°āĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻ¯āĻž āĻāĻ¤ āĻāĻā§āĻ¸āĻā§āĻā§āĻ āĻ¸ā§āĻļāĻ¨ āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com