提交额外资源
This commit is contained in:
12
build/extraResources/mysql/.gitignore
vendored
Normal file
12
build/extraResources/mysql/.gitignore
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
# MySQL运行时生成的文件
|
||||
.running-port
|
||||
grant_root.sql
|
||||
init_grant.sql
|
||||
|
||||
# MySQL数据目录(如果不想提交数据库)
|
||||
# data/
|
||||
|
||||
# MySQL临时文件
|
||||
*.tmp
|
||||
*.lock
|
||||
|
||||
5360
build/extraResources/mysql/LICENSE
Normal file
5360
build/extraResources/mysql/LICENSE
Normal file
File diff suppressed because it is too large
Load Diff
20
build/extraResources/mysql/README
Normal file
20
build/extraResources/mysql/README
Normal file
@@ -0,0 +1,20 @@
|
||||
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This is a release of MySQL, an SQL database server.
|
||||
|
||||
License information can be found in the LICENSE file.
|
||||
|
||||
In test packages where this file is renamed README-test, the license
|
||||
file is renamed LICENSE-test.
|
||||
|
||||
This distribution may include materials developed by third parties.
|
||||
For license and attribution notices for these materials,
|
||||
please refer to the LICENSE file.
|
||||
|
||||
For further information on MySQL or additional documentation, visit
|
||||
http://dev.mysql.com/doc/
|
||||
|
||||
For additional downloads and the source of MySQL, visit
|
||||
http://dev.mysql.com/downloads/
|
||||
|
||||
MySQL is brought to you by the MySQL team at Oracle.
|
||||
85
build/extraResources/mysql/README.txt
Normal file
85
build/extraResources/mysql/README.txt
Normal file
@@ -0,0 +1,85 @@
|
||||
==========================================
|
||||
NPQS9100 MySQL 免安装版使用说明
|
||||
==========================================
|
||||
|
||||
一、快速开始
|
||||
----------------------------------------
|
||||
1. 启动 MySQL:
|
||||
双击运行: startup.bat
|
||||
(注意:不要关闭窗口,关闭会停止MySQL)
|
||||
|
||||
2. 首次使用,如需重置密码和权限:
|
||||
双击运行: reset-root-password.bat
|
||||
|
||||
3. 停止 MySQL:
|
||||
双击运行: stop.bat
|
||||
|
||||
|
||||
二、连接信息
|
||||
----------------------------------------
|
||||
主机: 127.0.0.1 (或 localhost)
|
||||
端口: 3306
|
||||
用户: root
|
||||
密码: njcnpqs
|
||||
字符集: utf8mb4
|
||||
|
||||
|
||||
三、脚本说明
|
||||
----------------------------------------
|
||||
startup.bat - 启动 MySQL 服务
|
||||
stop.bat - 正常停止 MySQL 服务
|
||||
reset-root-password.bat - 重置root密码和权限(解决1130错误)
|
||||
kill-running-port.bat - 智能清理应用实际使用的端口(自动识别3306/3307/...)
|
||||
my.ini - MySQL 配置文件
|
||||
.running-port - 运行时端口记录(自动生成,勿删除)
|
||||
|
||||
bin/ - MySQL 可执行文件
|
||||
data/ - 数据库数据目录
|
||||
share/ - 共享资源
|
||||
|
||||
⚠️ 安全说明:
|
||||
- 应用自动停止MySQL时,只会停止应用自己启动的MySQL进程
|
||||
- 不会影响您电脑上安装的其他MySQL服务
|
||||
- kill-running-port.bat 会读取 .running-port 文件,精确清理实际使用的端口
|
||||
- 如果3306被占用,应用会自动使用3307,kill-running-port.bat 会智能识别
|
||||
|
||||
⚙️ 停止机制:
|
||||
- 应用关闭时会自动使用 mysqladmin shutdown 优雅停止MySQL
|
||||
- 如果优雅停止失败,会自动尝试强制停止
|
||||
- 整个停止过程最多12秒,确保MySQL完全关闭
|
||||
|
||||
⭐ 端口智能管理:
|
||||
- 应用启动时自动检测可用端口(3306 → 3307 → 3308...)
|
||||
- 启动成功后会记录实际端口到 .running-port 文件
|
||||
- 使用 kill-running-port.bat 可自动清理正确的端口
|
||||
|
||||
|
||||
四、注意事项
|
||||
----------------------------------------
|
||||
1. 启动后不要关闭命令行窗口,关闭窗口会停止 MySQL
|
||||
2. 正常停止请使用 stop.bat
|
||||
3. 如果出现 1130 或密码错误,运行 reset-root-password.bat
|
||||
4. 如果端口被占用无法启动,运行 kill-3306.bat
|
||||
5. 默认密码是 njcnpqs,不要随意修改
|
||||
|
||||
|
||||
五、常见问题
|
||||
----------------------------------------
|
||||
Q: 连接提示 1130 错误或密码错误?
|
||||
A: 运行 reset-root-password.bat 重置权限
|
||||
|
||||
Q: 启动失败或端口被占用?
|
||||
A: 运行 kill-running-port.bat 清理端口(自动识别正确端口)
|
||||
|
||||
Q: 如何重置密码?
|
||||
A: 运行 reset-root-password.bat(密码会重置为 njcnpqs)
|
||||
|
||||
Q: 数据在哪里?
|
||||
A: 所有数据库数据在 data/ 目录下
|
||||
|
||||
|
||||
==========================================
|
||||
南京灿能电气自动化有限公司
|
||||
2025
|
||||
==========================================
|
||||
|
||||
BIN
build/extraResources/mysql/bin/abseil_dll-debug.dll
Normal file
BIN
build/extraResources/mysql/bin/abseil_dll-debug.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/abseil_dll-debug.pdb
Normal file
BIN
build/extraResources/mysql/bin/abseil_dll-debug.pdb
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/abseil_dll.dll
Normal file
BIN
build/extraResources/mysql/bin/abseil_dll.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/abseil_dll.lib
Normal file
BIN
build/extraResources/mysql/bin/abseil_dll.lib
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/ccapiserver.exe
Normal file
BIN
build/extraResources/mysql/bin/ccapiserver.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/comerr64.dll
Normal file
BIN
build/extraResources/mysql/bin/comerr64.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/echo.exe
Normal file
BIN
build/extraResources/mysql/bin/echo.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/fido2.dll
Normal file
BIN
build/extraResources/mysql/bin/fido2.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/fido2.lib
Normal file
BIN
build/extraResources/mysql/bin/fido2.lib
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/gssapi64.dll
Normal file
BIN
build/extraResources/mysql/bin/gssapi64.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/ibd2sdi.exe
Normal file
BIN
build/extraResources/mysql/bin/ibd2sdi.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/innochecksum.exe
Normal file
BIN
build/extraResources/mysql/bin/innochecksum.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/jemalloc.dll
Normal file
BIN
build/extraResources/mysql/bin/jemalloc.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/jemalloc.pdb
Normal file
BIN
build/extraResources/mysql/bin/jemalloc.pdb
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/k5sprt64.dll
Normal file
BIN
build/extraResources/mysql/bin/k5sprt64.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/krb5_64.dll
Normal file
BIN
build/extraResources/mysql/bin/krb5_64.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/krbcc64.dll
Normal file
BIN
build/extraResources/mysql/bin/krbcc64.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libcrypto-3-x64.dll
Normal file
BIN
build/extraResources/mysql/bin/libcrypto-3-x64.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libcrypto-3-x64.pdb
Normal file
BIN
build/extraResources/mysql/bin/libcrypto-3-x64.pdb
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libmecab.dll
Normal file
BIN
build/extraResources/mysql/bin/libmecab.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libprotobuf-debug.dll
Normal file
BIN
build/extraResources/mysql/bin/libprotobuf-debug.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libprotobuf-lite-debug.dll
Normal file
BIN
build/extraResources/mysql/bin/libprotobuf-lite-debug.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libprotobuf-lite.dll
Normal file
BIN
build/extraResources/mysql/bin/libprotobuf-lite.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libprotobuf-lite.lib
Normal file
BIN
build/extraResources/mysql/bin/libprotobuf-lite.lib
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libprotobuf.dll
Normal file
BIN
build/extraResources/mysql/bin/libprotobuf.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libprotobuf.lib
Normal file
BIN
build/extraResources/mysql/bin/libprotobuf.lib
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libsasl.dll
Normal file
BIN
build/extraResources/mysql/bin/libsasl.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libssl-3-x64.dll
Normal file
BIN
build/extraResources/mysql/bin/libssl-3-x64.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/libssl-3-x64.pdb
Normal file
BIN
build/extraResources/mysql/bin/libssl-3-x64.pdb
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/lz4_decompress.exe
Normal file
BIN
build/extraResources/mysql/bin/lz4_decompress.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/my_print_defaults.exe
Normal file
BIN
build/extraResources/mysql/bin/my_print_defaults.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/myisam_ftdump.exe
Normal file
BIN
build/extraResources/mysql/bin/myisam_ftdump.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/myisamchk.exe
Normal file
BIN
build/extraResources/mysql/bin/myisamchk.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/myisamlog.exe
Normal file
BIN
build/extraResources/mysql/bin/myisamlog.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/myisampack.exe
Normal file
BIN
build/extraResources/mysql/bin/myisampack.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysql.exe
Normal file
BIN
build/extraResources/mysql/bin/mysql.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysql_config_editor.exe
Normal file
BIN
build/extraResources/mysql/bin/mysql_config_editor.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysql_migrate_keyring.exe
Normal file
BIN
build/extraResources/mysql/bin/mysql_migrate_keyring.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysql_secure_installation.exe
Normal file
BIN
build/extraResources/mysql/bin/mysql_secure_installation.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysql_ssl_rsa_setup.exe
Normal file
BIN
build/extraResources/mysql/bin/mysql_ssl_rsa_setup.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysql_tzinfo_to_sql.exe
Normal file
BIN
build/extraResources/mysql/bin/mysql_tzinfo_to_sql.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysql_upgrade.exe
Normal file
BIN
build/extraResources/mysql/bin/mysql_upgrade.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysqladmin.exe
Normal file
BIN
build/extraResources/mysql/bin/mysqladmin.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysqlbinlog.exe
Normal file
BIN
build/extraResources/mysql/bin/mysqlbinlog.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysqlcheck.exe
Normal file
BIN
build/extraResources/mysql/bin/mysqlcheck.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysqld.exe
Normal file
BIN
build/extraResources/mysql/bin/mysqld.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysqld.pdb
Normal file
BIN
build/extraResources/mysql/bin/mysqld.pdb
Normal file
Binary file not shown.
933
build/extraResources/mysql/bin/mysqld_multi.pl
Normal file
933
build/extraResources/mysql/bin/mysqld_multi.pl
Normal file
@@ -0,0 +1,933 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
# Copyright (c) 2000, 2025, Oracle and/or its affiliates.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License, version 2.0,
|
||||
# as published by the Free Software Foundation.
|
||||
#
|
||||
# This program is designed to work with certain software (including
|
||||
# but not limited to OpenSSL) that is licensed under separate terms,
|
||||
# as designated in a particular file or component or in included license
|
||||
# documentation. The authors of MySQL hereby grant you an additional
|
||||
# permission to link the program and your derivative works with the
|
||||
# separately licensed software that they have either included with
|
||||
# the program or referenced in the documentation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License, version 2.0, for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
use Getopt::Long;
|
||||
use POSIX qw(strftime getcwd);
|
||||
use File::Path qw(mkpath);
|
||||
|
||||
$|=1;
|
||||
$VER="2.16";
|
||||
|
||||
my @defaults_options; # Leading --no-defaults, --defaults-file, etc.
|
||||
|
||||
$opt_example = 0;
|
||||
$opt_help = 0;
|
||||
$opt_log = undef();
|
||||
$opt_mysqladmin = "C:/Program Files (x86)/MySQL/bin/mysqladmin";
|
||||
$opt_mysqld = "C:/Program Files (x86)/MySQL/bin/mysqld";
|
||||
$opt_no_log = 0;
|
||||
$opt_password = undef();
|
||||
$opt_tcp_ip = 0;
|
||||
$opt_user = "root";
|
||||
$opt_version = 0;
|
||||
$opt_silent = 0;
|
||||
$opt_verbose = 0;
|
||||
|
||||
my $my_print_defaults_exists= 1;
|
||||
my $logdir= undef();
|
||||
|
||||
my ($mysqld, $mysqladmin, $groupids, $homedir, $my_progname);
|
||||
|
||||
$homedir = $ENV{HOME};
|
||||
$my_progname = $0;
|
||||
$my_progname =~ s/.*[\/]//;
|
||||
|
||||
|
||||
if (defined($ENV{UMASK})) {
|
||||
my $UMASK = $ENV{UMASK};
|
||||
my $m;
|
||||
my $fmode = "0640";
|
||||
|
||||
if(($UMASK =~ m/[^0246]/) || ($UMASK =~ m/^[^0]/) || (length($UMASK) != 4)) {
|
||||
printf("UMASK must be a 3-digit mode with an additional leading 0 to indicate octal.\n");
|
||||
printf("The first digit will be corrected to 6, the others may be 0, 2, 4, or 6.\n"); }
|
||||
else {
|
||||
$fmode= substr $UMASK, 2, 2;
|
||||
$fmode= "06${fmode}"; }
|
||||
|
||||
if($fmode != $UMASK) {
|
||||
printf("UMASK corrected from $UMASK to $fmode ...\n"); }
|
||||
|
||||
$fmode= oct($fmode);
|
||||
|
||||
umask($fmode);
|
||||
}
|
||||
|
||||
|
||||
main();
|
||||
|
||||
####
|
||||
#### main sub routine
|
||||
####
|
||||
|
||||
sub main
|
||||
{
|
||||
my $flag_exit= 0;
|
||||
|
||||
if (!defined(my_which(my_print_defaults)))
|
||||
{
|
||||
# We can't throw out yet, since --version, --help, or --example may
|
||||
# have been given
|
||||
print "WARNING: my_print_defaults command not found.\n";
|
||||
print "Please make sure you have this command available and\n";
|
||||
print "in your path. The command is available from the latest\n";
|
||||
print "MySQL distribution.\n";
|
||||
$my_print_defaults_exists= 0;
|
||||
}
|
||||
|
||||
# Remove leading defaults options from @ARGV
|
||||
while (@ARGV > 0)
|
||||
{
|
||||
last unless $ARGV[0] =~
|
||||
/^--(?:no-defaults$|(?:defaults-file|defaults-extra-file)=)/;
|
||||
push @defaults_options, (shift @ARGV);
|
||||
}
|
||||
|
||||
foreach (@defaults_options)
|
||||
{
|
||||
$_ = quote_shell_word($_);
|
||||
}
|
||||
|
||||
# Add [mysqld_multi] options to front of @ARGV, ready for GetOptions()
|
||||
unshift @ARGV, defaults_for_group('mysqld_multi');
|
||||
|
||||
# We've already handled --no-defaults, --defaults-file, etc.
|
||||
if (!GetOptions("help", "example", "version", "mysqld=s", "mysqladmin=s",
|
||||
"user=s", "password=s", "log=s", "no-log",
|
||||
"tcp-ip", "silent", "verbose"))
|
||||
{
|
||||
$flag_exit= 1;
|
||||
}
|
||||
usage() if ($opt_help);
|
||||
|
||||
if ($opt_verbose && $opt_silent)
|
||||
{
|
||||
print "Both --verbose and --silent have been given. Some of the warnings ";
|
||||
print "will be disabled\nand some will be enabled.\n\n";
|
||||
}
|
||||
|
||||
init_log() if (!defined($opt_log));
|
||||
$groupids = $ARGV[1];
|
||||
if ($opt_version)
|
||||
{
|
||||
print "$my_progname version $VER by Jani Tolonen\n";
|
||||
exit(0);
|
||||
}
|
||||
example() if ($opt_example);
|
||||
if ($flag_exit)
|
||||
{
|
||||
print "Error with an option, see $my_progname --help for more info.\n";
|
||||
exit(1);
|
||||
}
|
||||
if (!defined(my_which(my_print_defaults)))
|
||||
{
|
||||
print "ABORT: Can't find command 'my_print_defaults'.\n";
|
||||
print "This command is available from the latest MySQL\n";
|
||||
print "distribution. Please make sure you have the command\n";
|
||||
print "in your PATH.\n";
|
||||
exit(1);
|
||||
}
|
||||
usage() if (!defined($ARGV[0]) ||
|
||||
(!($ARGV[0] =~ m/^start$/i) &&
|
||||
!($ARGV[0] =~ m/^stop$/i) &&
|
||||
!($ARGV[0] =~ m/^reload$/i) &&
|
||||
!($ARGV[0] =~ m/^report$/i)));
|
||||
|
||||
if (!$opt_no_log)
|
||||
{
|
||||
w2log("$my_progname log file version $VER; run: ",
|
||||
"$opt_log", 1, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
print "$my_progname log file version $VER; run: ";
|
||||
print strftime "%a %b %e %H:%M:%S %Y", localtime;
|
||||
print "\n";
|
||||
}
|
||||
if (($ARGV[0] =~ m/^start$/i) || ($ARGV[0] =~ m/^reload$/i))
|
||||
{
|
||||
if (!defined(($mysqld= my_which($opt_mysqld))) && $opt_verbose)
|
||||
{
|
||||
print "WARNING: Couldn't find the default mysqld binary.\n";
|
||||
print "Tried: $opt_mysqld\n";
|
||||
print "This is OK, if you are using option \"mysqld=...\" in ";
|
||||
print "groups [mysqldN] separately for each.\n\n";
|
||||
}
|
||||
if ($ARGV[0] =~ m/^start$/i) {
|
||||
start_mysqlds();
|
||||
} elsif ($ARGV[0] =~ m/^reload$/i) {
|
||||
reload_mysqlds();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!defined(($mysqladmin= my_which($opt_mysqladmin))) && $opt_verbose)
|
||||
{
|
||||
print "WARNING: Couldn't find the default mysqladmin binary.\n";
|
||||
print "Tried: $opt_mysqladmin\n";
|
||||
print "This is OK, if you are using option \"mysqladmin=...\" in ";
|
||||
print "groups [mysqldN] separately for each.\n\n";
|
||||
}
|
||||
if ($ARGV[0] =~ m/^report$/i)
|
||||
{
|
||||
report_mysqlds();
|
||||
}
|
||||
else
|
||||
{
|
||||
stop_mysqlds();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Quote word for shell
|
||||
#
|
||||
|
||||
sub quote_shell_word
|
||||
{
|
||||
my ($option)= @_;
|
||||
|
||||
$option =~ s!([^\w=./-])!\\$1!g;
|
||||
return $option;
|
||||
}
|
||||
|
||||
sub defaults_for_group
|
||||
{
|
||||
my ($group) = @_;
|
||||
|
||||
return () unless $my_print_defaults_exists;
|
||||
|
||||
my $com= join ' ', 'my_print_defaults', @defaults_options, $group;
|
||||
my @defaults = `$com`;
|
||||
chomp @defaults;
|
||||
return @defaults;
|
||||
}
|
||||
|
||||
####
|
||||
#### Init log file. Check for appropriate place for log file, in the following
|
||||
#### order: my_print_defaults mysqld datadir, C:/Program Files (x86)/MySQL/share
|
||||
####
|
||||
|
||||
sub init_log
|
||||
{
|
||||
foreach my $opt (defaults_for_group('mysqld'))
|
||||
{
|
||||
if ($opt =~ m/^--datadir=(.*)/ && -d "$1" && -w "$1")
|
||||
{
|
||||
$logdir= $1;
|
||||
}
|
||||
}
|
||||
if (!defined($logdir))
|
||||
{
|
||||
$logdir= "C:/Program Files (x86)/MySQL/share" if (-d "C:/Program Files (x86)/MySQL/share" && -w "C:/Program Files (x86)/MySQL/share");
|
||||
}
|
||||
if (!defined($logdir))
|
||||
{
|
||||
# Log file was not specified and we could not log to a standard place,
|
||||
# so log file be disabled for now.
|
||||
if (!$opt_silent)
|
||||
{
|
||||
print "WARNING: Log file disabled. Maybe directory or file isn't writable?\n";
|
||||
}
|
||||
$opt_no_log= 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$opt_log= "$logdir/mysqld_multi.log";
|
||||
}
|
||||
}
|
||||
|
||||
####
|
||||
#### Report living and not running MySQL servers
|
||||
####
|
||||
|
||||
sub report_mysqlds
|
||||
{
|
||||
my (@groups, $com, $i, @options, $pec);
|
||||
|
||||
print "Reporting MySQL servers\n";
|
||||
if (!$opt_no_log)
|
||||
{
|
||||
w2log("\nReporting MySQL servers","$opt_log",0,0);
|
||||
}
|
||||
@groups = &find_groups($groupids);
|
||||
for ($i = 0; defined($groups[$i]); $i++)
|
||||
{
|
||||
$com= get_mysqladmin_options($i, @groups);
|
||||
$com.= " ping >> /dev/null 2>&1";
|
||||
system($com);
|
||||
$pec = $? >> 8;
|
||||
if ($pec)
|
||||
{
|
||||
print "MySQL server from group: $groups[$i] is not running\n";
|
||||
if (!$opt_no_log)
|
||||
{
|
||||
w2log("MySQL server from group: $groups[$i] is not running",
|
||||
"$opt_log", 0, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
print "MySQL server from group: $groups[$i] is running\n";
|
||||
if (!$opt_no_log)
|
||||
{
|
||||
w2log("MySQL server from group: $groups[$i] is running",
|
||||
"$opt_log", 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!$i)
|
||||
{
|
||||
print "No groups to be reported (check your GNRs)\n";
|
||||
if (!$opt_no_log)
|
||||
{
|
||||
w2log("No groups to be reported (check your GNRs)", "$opt_log", 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
####
|
||||
#### start multiple servers
|
||||
####
|
||||
|
||||
sub start_mysqlds()
|
||||
{
|
||||
my (@groups, $com, $tmp, $i, @options, $j, $mysqld_found, $info_sent);
|
||||
|
||||
if (!$opt_no_log)
|
||||
{
|
||||
w2log("\nStarting MySQL servers\n","$opt_log",0,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
print "\nStarting MySQL servers\n";
|
||||
}
|
||||
@groups = &find_groups($groupids);
|
||||
for ($i = 0; defined($groups[$i]); $i++)
|
||||
{
|
||||
@options = defaults_for_group($groups[$i]);
|
||||
|
||||
$basedir_found= 0; # The default
|
||||
$mysqld_found= 1; # The default
|
||||
$mysqld_found= 0 if (!length($mysqld));
|
||||
|
||||
# Initialize the command.
|
||||
$com= "$mysqld";
|
||||
|
||||
# Initialize the command option list, process the options,
|
||||
# reset command if relevant, append key options to command line.
|
||||
for ($j = 0, $tmp= ""; defined($options[$j]); $j++)
|
||||
{
|
||||
if ("--datadir=" eq substr($options[$j], 0, 10)) {
|
||||
$datadir = $options[$j];
|
||||
$datadir =~ s/\-\-datadir\=//;
|
||||
eval { mkpath($datadir) };
|
||||
if ($@) {
|
||||
print "FATAL ERROR: Cannot create data directory $datadir: $!\n";
|
||||
exit(1);
|
||||
}
|
||||
# Quote and append 'datadir' to command line.
|
||||
$options[$j]= quote_shell_word($options[$j]);
|
||||
$tmp.= " $options[$j]";
|
||||
}
|
||||
elsif ("--mysqladmin=" eq substr($options[$j], 0, 13))
|
||||
{
|
||||
# catch this and ignore
|
||||
}
|
||||
elsif ("--mysqld=" eq substr($options[$j], 0, 9))
|
||||
{
|
||||
$options[$j]=~ s/\-\-mysqld\=//;
|
||||
# Reset command.
|
||||
$com= $options[$j];
|
||||
$mysqld_found= 1;
|
||||
}
|
||||
elsif ("--basedir=" eq substr($options[$j], 0, 10))
|
||||
{
|
||||
$basedir= $options[$j];
|
||||
$basedir =~ s/^--basedir=//;
|
||||
$basedir_found= 1;
|
||||
# Quote and append 'basedir' to command line.
|
||||
$options[$j]= quote_shell_word($options[$j]);
|
||||
$tmp.= " $options[$j]";
|
||||
}
|
||||
else
|
||||
{
|
||||
# Quote and append additional options to command line.
|
||||
$options[$j]= quote_shell_word($options[$j]);
|
||||
$tmp.= " $options[$j]";
|
||||
}
|
||||
}
|
||||
if ($opt_verbose && $com =~ m/\/(safe_mysqld|mysqld_safe)$/ && !$info_sent)
|
||||
{
|
||||
print "WARNING: $1 is being used to start mysqld. In this case you ";
|
||||
print "may need to pass\n\"ledir=...\" under groups [mysqldN] to ";
|
||||
print "$1 in order to find the actual mysqld binary.\n";
|
||||
print "ledir (library executable directory) should be the path to the ";
|
||||
print "wanted mysqld binary.\n\n";
|
||||
$info_sent= 1;
|
||||
}
|
||||
# Prepare command line by appending command and option list, and redirect output.
|
||||
$com.= $tmp;
|
||||
$com.= " >> $opt_log 2>&1" if (!$opt_no_log);
|
||||
if (!$mysqld_found)
|
||||
{
|
||||
print "\n";
|
||||
print "FATAL ERROR: Tried to start mysqld under group [$groups[$i]], ";
|
||||
print "but no mysqld binary was found.\n";
|
||||
print "Please add \"mysqld=...\" in group [mysqld_multi], or add it to ";
|
||||
print "group [$groups[$i]] separately.\n";
|
||||
exit(1);
|
||||
}
|
||||
if ($basedir_found)
|
||||
{
|
||||
$curdir=getcwd();
|
||||
chdir($basedir) or die "Can't change to datadir $basedir";
|
||||
}
|
||||
# Prepare datadir by initializing the server, unless this is already done.
|
||||
if (! -d $datadir."/mysql") {
|
||||
if (-w $datadir) {
|
||||
print "\n\nInstalling new database in $datadir\n\n";
|
||||
system($com." --initialize");
|
||||
} else {
|
||||
print "\n";
|
||||
print "FATAL ERROR: Tried to create mysqld under group [$groups[$i]],\n";
|
||||
print "but the data directory is not writable.\n";
|
||||
print "data directory used: $datadir\n";
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
if (! -d $datadir."/mysql") {
|
||||
print "\n";
|
||||
print "FATAL ERROR: Tried to start mysqld under group [$groups[$i]],\n";
|
||||
print "but no data directory was found or could be created.\n";
|
||||
print "data directory used: $datadir\n";
|
||||
exit(1);
|
||||
}
|
||||
# Start the command in the background.
|
||||
system($com." &");
|
||||
if ($basedir_found)
|
||||
{
|
||||
chdir($curdir) or die "Can't change back to original dir $curdir";
|
||||
}
|
||||
}
|
||||
if (!$i && !$opt_no_log)
|
||||
{
|
||||
w2log("No MySQL servers to be started (check your GNRs)",
|
||||
"$opt_log", 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
####
|
||||
#### reload multiple servers
|
||||
####
|
||||
|
||||
sub reload_mysqlds()
|
||||
{
|
||||
my (@groups, $com, $tmp, $i, @options, $j);
|
||||
|
||||
if (!$opt_no_log)
|
||||
{
|
||||
w2log("\nReloading MySQL servers\n","$opt_log",0,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
print "\nReloading MySQL servers\n";
|
||||
}
|
||||
@groups = &find_groups($groupids);
|
||||
for ($i = 0; defined($groups[$i]); $i++)
|
||||
{
|
||||
$mysqld_server = $mysqld;
|
||||
@options = defaults_for_group($groups[$i]);
|
||||
|
||||
for ($j = 0, $tmp= ""; defined($options[$j]); $j++)
|
||||
{
|
||||
if ("--mysqladmin=" eq substr($options[$j], 0, 13))
|
||||
{
|
||||
# catch this and ignore
|
||||
}
|
||||
elsif ("--mysqld=" eq substr($options[$j], 0, 9))
|
||||
{
|
||||
$options[$j] =~ s/\-\-mysqld\=//;
|
||||
$mysqld_server = $options[$j];
|
||||
}
|
||||
elsif ("--pid-file=" eq substr($options[$j], 0, 11))
|
||||
{
|
||||
$options[$j] =~ s/\-\-pid-file\=//;
|
||||
$pid_file = $options[$j];
|
||||
}
|
||||
}
|
||||
$com = "killproc -p $pid_file -HUP $mysqld_server";
|
||||
system($com);
|
||||
|
||||
$com = "touch $pid_file";
|
||||
system($com);
|
||||
}
|
||||
if (!$i && !$opt_no_log)
|
||||
{
|
||||
w2log("No MySQL servers to be reloaded (check your GNRs)",
|
||||
"$opt_log", 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
###
|
||||
#### stop multiple servers
|
||||
####
|
||||
|
||||
sub stop_mysqlds()
|
||||
{
|
||||
my (@groups, $com, $i, @options);
|
||||
|
||||
if (!$opt_no_log)
|
||||
{
|
||||
w2log("\nStopping MySQL servers\n","$opt_log",0,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
print "\nStopping MySQL servers\n";
|
||||
}
|
||||
@groups = &find_groups($groupids);
|
||||
for ($i = 0; defined($groups[$i]); $i++)
|
||||
{
|
||||
$com= get_mysqladmin_options($i, @groups);
|
||||
$com.= " shutdown";
|
||||
$com.= " >> $opt_log 2>&1" if (!$opt_no_log);
|
||||
$com.= " &";
|
||||
system($com);
|
||||
}
|
||||
if (!$i && !$opt_no_log)
|
||||
{
|
||||
w2log("No MySQL servers to be stopped (check your GNRs)",
|
||||
"$opt_log", 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
####
|
||||
#### Sub function for mysqladmin option parsing
|
||||
####
|
||||
|
||||
sub get_mysqladmin_options
|
||||
{
|
||||
my ($i, @groups)= @_;
|
||||
my ($mysqladmin_found, $com, $tmp, $j);
|
||||
|
||||
@options = defaults_for_group($groups[$i]);
|
||||
|
||||
$mysqladmin_found= 1; # The default
|
||||
$mysqladmin_found= 0 if (!length($mysqladmin));
|
||||
$com = "$mysqladmin";
|
||||
$tmp = " -u $opt_user";
|
||||
if (defined($opt_password)) {
|
||||
my $pw= $opt_password;
|
||||
# Protect single quotes in password
|
||||
$pw =~ s/'/'"'"'/g;
|
||||
$tmp.= " -p'$pw'";
|
||||
}
|
||||
$tmp.= $opt_tcp_ip ? " -h 127.0.0.1" : "";
|
||||
for ($j = 0; defined($options[$j]); $j++)
|
||||
{
|
||||
if ("--mysqladmin=" eq substr($options[$j], 0, 13))
|
||||
{
|
||||
$options[$j]=~ s/\-\-mysqladmin\=//;
|
||||
$com= $options[$j];
|
||||
$mysqladmin_found= 1;
|
||||
}
|
||||
elsif ((($options[$j] =~ m/^(\-\-socket\=)(.*)$/) && !$opt_tcp_ip) ||
|
||||
($options[$j] =~ m/^(\-\-port\=)(.*)$/))
|
||||
{
|
||||
$tmp.= " $options[$j]";
|
||||
}
|
||||
}
|
||||
if (!$mysqladmin_found)
|
||||
{
|
||||
print "\n";
|
||||
print "FATAL ERROR: Tried to use mysqladmin in group [$groups[$i]], ";
|
||||
print "but no mysqladmin binary was found.\n";
|
||||
print "Please add \"mysqladmin=...\" in group [mysqld_multi], or ";
|
||||
print "in group [$groups[$i]].\n";
|
||||
exit(1);
|
||||
}
|
||||
$com.= $tmp;
|
||||
return $com;
|
||||
}
|
||||
|
||||
# Return a list of option files which can be opened. Similar, but not
|
||||
# identical, to behavior of my_search_option_files()
|
||||
sub list_defaults_files
|
||||
{
|
||||
my %opt;
|
||||
foreach (@defaults_options)
|
||||
{
|
||||
return () if /^--no-defaults$/;
|
||||
$opt{$1} = $2 if /^--defaults-(extra-file|file)=(.*)$/;
|
||||
}
|
||||
|
||||
return ($opt{file}) if exists $opt{file};
|
||||
|
||||
my %seen; # Don't list the same file more than once
|
||||
return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ }
|
||||
('/etc/my.cnf',
|
||||
'/etc/mysql/my.cnf',
|
||||
'C:/Program Files (x86)/MySQL/my.cnf',
|
||||
($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef),
|
||||
$opt{'extra-file'},
|
||||
($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef));
|
||||
}
|
||||
|
||||
|
||||
# Takes a specification of GNRs (see --help), and returns a list of matching
|
||||
# groups which actually are mentioned in a relevant config file
|
||||
sub find_groups
|
||||
{
|
||||
my ($raw_gids) = @_;
|
||||
|
||||
my %gids;
|
||||
my @groups;
|
||||
|
||||
if (defined($raw_gids))
|
||||
{
|
||||
# Make a hash of the wanted group ids
|
||||
foreach my $raw_gid (split ',', $raw_gids)
|
||||
{
|
||||
# Match 123 or 123-456
|
||||
my ($start, $end) = ($raw_gid =~ /^\s*(\d+)(?:\s*-\s*(\d+))?\s*$/);
|
||||
$end = $start if not defined $end;
|
||||
if (not defined $start or $end < $start or $start < 0)
|
||||
{
|
||||
print "ABORT: Bad GNR: $raw_gid; see $my_progname --help\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
foreach my $i ($start .. $end)
|
||||
{
|
||||
# Use $i + 0 to normalize numbers (002 + 0 -> 2)
|
||||
$gids{$i + 0}= 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
my @defaults_files = list_defaults_files();
|
||||
#warn "@{[sort keys %gids]} -> @defaults_files\n";
|
||||
foreach my $file (@defaults_files)
|
||||
{
|
||||
next unless open CONF, "< $file";
|
||||
|
||||
while (<CONF>)
|
||||
{
|
||||
if (/^\s*\[\s*(mysqld)(\d+)\s*\]\s*$/)
|
||||
{
|
||||
#warn "Found a group: $1$2\n";
|
||||
# Use $2 + 0 to normalize numbers (002 + 0 -> 2)
|
||||
if (not defined($raw_gids) or $gids{$2 + 0})
|
||||
{
|
||||
push @groups, "$1$2";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
close CONF;
|
||||
}
|
||||
return @groups;
|
||||
}
|
||||
|
||||
####
|
||||
#### w2log: Write to a logfile.
|
||||
#### 1.arg: append to the log file (given string, or from a file. if a file,
|
||||
#### file will be read from $opt_logdir)
|
||||
#### 2.arg: logfile -name (w2log assumes that the logfile is in $opt_logdir).
|
||||
#### 3.arg. 0 | 1, if true, print current date to the logfile. 3. arg will
|
||||
#### be ignored, if 1. arg is a file.
|
||||
#### 4.arg. 0 | 1, if true, first argument is a file, else a string
|
||||
####
|
||||
|
||||
sub w2log
|
||||
{
|
||||
my ($msg, $file, $date_flag, $is_file)= @_;
|
||||
my (@data);
|
||||
|
||||
open (LOGFILE, ">>$opt_log")
|
||||
or die "FATAL: w2log: Couldn't open log file: $opt_log\n";
|
||||
|
||||
if ($is_file)
|
||||
{
|
||||
open (FROMFILE, "<$msg") && (@data=<FROMFILE>) &&
|
||||
close(FROMFILE)
|
||||
or die "FATAL: w2log: Couldn't open file: $msg\n";
|
||||
foreach my $line (@data)
|
||||
{
|
||||
print LOGFILE "$line";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
print LOGFILE "$msg";
|
||||
print LOGFILE strftime "%a %b %e %H:%M:%S %Y", localtime if ($date_flag);
|
||||
print LOGFILE "\n";
|
||||
}
|
||||
close (LOGFILE);
|
||||
return;
|
||||
}
|
||||
|
||||
####
|
||||
#### my_which is used, because we can't assume that every system has the
|
||||
#### which -command. my_which can take only one argument at a time.
|
||||
#### Return values: requested system command with the first found path,
|
||||
#### or undefined, if not found.
|
||||
####
|
||||
|
||||
sub my_which
|
||||
{
|
||||
my ($command) = @_;
|
||||
my (@paths, $path);
|
||||
|
||||
# If the argument is not 'my_print_defaults' then it would be of the format
|
||||
# <absolute_path>/<program>
|
||||
return $command if ($command ne 'my_print_defaults' && -f $command &&
|
||||
-x $command);
|
||||
|
||||
@paths = split(':', $ENV{'PATH'});
|
||||
foreach $path (@paths)
|
||||
{
|
||||
$path .= "/$command";
|
||||
return $path if (-f $path && -x $path);
|
||||
}
|
||||
return undef();
|
||||
}
|
||||
|
||||
|
||||
####
|
||||
#### example
|
||||
####
|
||||
|
||||
sub example
|
||||
{
|
||||
print <<EOF;
|
||||
# This is an example of a my.cnf file for $my_progname.
|
||||
# Usually this file is located in home dir ~/.my.cnf or /etc/my.cnf
|
||||
#
|
||||
# SOME IMPORTANT NOTES FOLLOW:
|
||||
#
|
||||
# 1.COMMON USER
|
||||
#
|
||||
# Make sure that the MySQL user, who is stopping the mysqld services, has
|
||||
# the same password to all MySQL servers being accessed by $my_progname.
|
||||
# This user needs to have the 'Shutdown_priv' -privilege, but for security
|
||||
# reasons should have no other privileges. It is advised that you create a
|
||||
# common 'multi_admin' user for all MySQL servers being controlled by
|
||||
# $my_progname. Here is an example how to do it:
|
||||
#
|
||||
# GRANT SHUTDOWN ON *.* TO multi_admin\@localhost IDENTIFIED BY 'password'
|
||||
#
|
||||
# You will need to apply the above to all MySQL servers that are being
|
||||
# controlled by $my_progname. 'multi_admin' will shutdown the servers
|
||||
# using 'mysqladmin' -binary, when '$my_progname stop' is being called.
|
||||
#
|
||||
# 2.PID-FILE
|
||||
#
|
||||
# If you are using mysqld_safe to start mysqld, make sure that every
|
||||
# MySQL server has a separate pid-file. In order to use mysqld_safe
|
||||
# via $my_progname, you need to use two options:
|
||||
#
|
||||
# mysqld=/path/to/mysqld_safe
|
||||
# ledir=/path/to/mysqld-binary/
|
||||
#
|
||||
# ledir (library executable directory), is an option that only mysqld_safe
|
||||
# accepts, so you will get an error if you try to pass it to mysqld directly.
|
||||
# For this reason you might want to use the above options within [mysqld#]
|
||||
# group directly.
|
||||
#
|
||||
# 3.DATA DIRECTORY
|
||||
#
|
||||
# It is NOT advised to run many MySQL servers within the same data directory.
|
||||
# You can do so, but please make sure to understand and deal with the
|
||||
# underlying caveats. In short they are:
|
||||
# - Speed penalty
|
||||
# - Risk of table/data corruption
|
||||
# - Data synchronising problems between the running servers
|
||||
# - Heavily media (disk) bound
|
||||
# - Relies on the system (external) file locking
|
||||
# - Is not applicable with all table types. (Such as InnoDB)
|
||||
# Trying so will end up with undesirable results.
|
||||
#
|
||||
# 4.TCP/IP Port
|
||||
#
|
||||
# Every server requires one and it must be unique.
|
||||
#
|
||||
# 5.[mysqld#] Groups
|
||||
#
|
||||
# In the example below the first and the fifth mysqld group was
|
||||
# intentionally left out. You may have 'gaps' in the config file. This
|
||||
# gives you more flexibility.
|
||||
#
|
||||
# 6.MySQL Server User
|
||||
#
|
||||
# You can pass the user=... option inside [mysqld#] groups. This
|
||||
# can be very handy in some cases, but then you need to run $my_progname
|
||||
# as UNIX root.
|
||||
#
|
||||
# 7.A Start-up Manage Script for $my_progname
|
||||
#
|
||||
# In the recent MySQL distributions you can find a file called
|
||||
# mysqld_multi.server.sh. It is a wrapper for $my_progname. This can
|
||||
# be used to start and stop multiple servers during boot and shutdown.
|
||||
#
|
||||
# You can place the file in /etc/init.d/mysqld_multi.server.sh and
|
||||
# make the needed symbolic links to it from various run levels
|
||||
# (as per Linux/Unix standard). You may even replace the
|
||||
# /etc/init.d/mysql.server script with it.
|
||||
#
|
||||
# Before using, you must create a my.cnf file either in C:/Program Files (x86)/MySQL/my.cnf
|
||||
# or /root/.my.cnf and add the [mysqld_multi] and [mysqld#] groups.
|
||||
#
|
||||
# The script can be found from support-files/mysqld_multi.server.sh
|
||||
# in MySQL distribution. (Verify the script before using)
|
||||
#
|
||||
|
||||
[mysqld_multi]
|
||||
mysqld = C:/Program Files (x86)/MySQL/bin/mysqld_safe
|
||||
mysqladmin = C:/Program Files (x86)/MySQL/bin/mysqladmin
|
||||
user = multi_admin
|
||||
password = my_password
|
||||
|
||||
[mysqld2]
|
||||
socket = /tmp/mysql.sock2
|
||||
port = 3307
|
||||
pid-file = C:/Program Files/MySQL/MySQL Server 8.0/data2/hostname.pid2
|
||||
datadir = C:/Program Files/MySQL/MySQL Server 8.0/data2
|
||||
language = C:/Program Files (x86)/MySQL/share/mysql/english
|
||||
user = unix_user1
|
||||
|
||||
[mysqld3]
|
||||
mysqld = /path/to/mysqld_safe
|
||||
ledir = /path/to/mysqld-binary/
|
||||
mysqladmin = /path/to/mysqladmin
|
||||
socket = /tmp/mysql.sock3
|
||||
port = 3308
|
||||
pid-file = C:/Program Files/MySQL/MySQL Server 8.0/data3/hostname.pid3
|
||||
datadir = C:/Program Files/MySQL/MySQL Server 8.0/data3
|
||||
language = C:/Program Files (x86)/MySQL/share/mysql/swedish
|
||||
user = unix_user2
|
||||
|
||||
[mysqld4]
|
||||
socket = /tmp/mysql.sock4
|
||||
port = 3309
|
||||
pid-file = C:/Program Files/MySQL/MySQL Server 8.0/data4/hostname.pid4
|
||||
datadir = C:/Program Files/MySQL/MySQL Server 8.0/data4
|
||||
language = C:/Program Files (x86)/MySQL/share/mysql/estonia
|
||||
user = unix_user3
|
||||
|
||||
[mysqld6]
|
||||
socket = /tmp/mysql.sock6
|
||||
port = 3311
|
||||
pid-file = C:/Program Files/MySQL/MySQL Server 8.0/data6/hostname.pid6
|
||||
datadir = C:/Program Files/MySQL/MySQL Server 8.0/data6
|
||||
language = C:/Program Files (x86)/MySQL/share/mysql/japanese
|
||||
user = unix_user4
|
||||
EOF
|
||||
exit(0);
|
||||
}
|
||||
|
||||
####
|
||||
#### usage
|
||||
####
|
||||
|
||||
sub usage
|
||||
{
|
||||
print <<EOF;
|
||||
$my_progname version $VER by Jani Tolonen
|
||||
|
||||
Description:
|
||||
$my_progname can be used to start, reload, or stop any number of separate
|
||||
mysqld processes running in different TCP/IP ports and UNIX sockets.
|
||||
|
||||
$my_progname can read group [mysqld_multi] from my.cnf file. You may
|
||||
want to put options mysqld=... and mysqladmin=... there. Since
|
||||
version 2.10 these options can also be given under groups [mysqld#],
|
||||
which gives more control over different versions. One can have the
|
||||
default mysqld and mysqladmin under group [mysqld_multi], but this is
|
||||
not mandatory. Please note that if mysqld or mysqladmin is missing
|
||||
from both [mysqld_multi] and [mysqld#], a group that is tried to be
|
||||
used, $my_progname will abort with an error.
|
||||
|
||||
$my_progname will search for groups named [mysqld#] from my.cnf (or
|
||||
the given --defaults-extra-file=...), where '#' can be any positive
|
||||
integer starting from 1. These groups should be the same as the regular
|
||||
[mysqld] group, but with those port, socket and any other options
|
||||
that are to be used with each separate mysqld process. The number
|
||||
in the group name has another function; it can be used for starting,
|
||||
reloading, stopping, or reporting any specific mysqld server.
|
||||
|
||||
Usage: $my_progname [OPTIONS] {start|reload|stop|report} [GNR,GNR,GNR...]
|
||||
or $my_progname [OPTIONS] {start|reload|stop|report} [GNR-GNR,GNR,GNR-GNR,...]
|
||||
|
||||
The GNR means the group number. You can start, reload, stop or report any GNR,
|
||||
or several of them at the same time. (See --example) The GNRs list can
|
||||
be comma separated or a dash combined. The latter means that all the
|
||||
GNRs between GNR1-GNR2 will be affected. Without GNR argument all the
|
||||
groups found will either be started, reloaded, stopped, or reported. Note that
|
||||
syntax for specifying GNRs must appear without spaces.
|
||||
|
||||
Options:
|
||||
|
||||
These options must be given before any others:
|
||||
--no-defaults Do not read any defaults file
|
||||
--defaults-file=... Read only this configuration file, do not read the
|
||||
standard system-wide and user-specific files
|
||||
--defaults-extra-file=... Read this configuration file in addition to the
|
||||
standard system-wide and user-specific files
|
||||
Using: @{[join ' ', @defaults_options]}
|
||||
|
||||
--example Give an example of a config file with extra information.
|
||||
--help Print this help and exit.
|
||||
--log=... Log file. Full path to and the name for the log file. NOTE:
|
||||
If the file exists, everything will be appended.
|
||||
Using: $opt_log
|
||||
--mysqladmin=... mysqladmin binary to be used for a server shutdown.
|
||||
Since version 2.10 this can be given within groups [mysqld#]
|
||||
Using: $mysqladmin
|
||||
--mysqld=... mysqld binary to be used. Note that you can give mysqld_safe
|
||||
to this option also. The options are passed to mysqld. Just
|
||||
make sure you have mysqld in your PATH or fix mysqld_safe.
|
||||
Using: $mysqld
|
||||
Please note: Since mysqld_multi version 2.3 you can also
|
||||
give this option inside groups [mysqld#] in ~/.my.cnf,
|
||||
where '#' stands for an integer (number) of the group in
|
||||
question. This will be recognised as a special option and
|
||||
will not be passed to the mysqld. This will allow one to
|
||||
start different mysqld versions with mysqld_multi.
|
||||
--no-log Print to stdout instead of the log file. By default the log
|
||||
file is turned on.
|
||||
--password=... Password for mysqladmin user.
|
||||
--silent Disable warnings.
|
||||
--tcp-ip Connect to the MySQL server(s) via the TCP/IP port instead
|
||||
of the UNIX socket. This affects stopping and reporting.
|
||||
If a socket file is missing, the server may still be
|
||||
running, but can be accessed only via the TCP/IP port.
|
||||
By default connecting is done via the UNIX socket.
|
||||
--user=... mysqladmin user. Using: $opt_user
|
||||
--verbose Be more verbose.
|
||||
--version Print the version number and exit.
|
||||
EOF
|
||||
exit(0);
|
||||
}
|
||||
BIN
build/extraResources/mysql/bin/mysqldump.exe
Normal file
BIN
build/extraResources/mysql/bin/mysqldump.exe
Normal file
Binary file not shown.
213
build/extraResources/mysql/bin/mysqldumpslow.pl
Normal file
213
build/extraResources/mysql/bin/mysqldumpslow.pl
Normal file
@@ -0,0 +1,213 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
# Copyright (c) 2000, 2025, Oracle and/or its affiliates.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License, version 2.0,
|
||||
# as published by the Free Software Foundation.
|
||||
#
|
||||
# This program is designed to work with certain software (including
|
||||
# but not limited to OpenSSL) that is licensed under separate terms,
|
||||
# as designated in a particular file or component or in included license
|
||||
# documentation. The authors of MySQL hereby grant you an additional
|
||||
# permission to link the program and your derivative works with the
|
||||
# separately licensed software that they have either included with
|
||||
# the program or referenced in the documentation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License, version 2.0, for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
# mysqldumpslow - parse and summarize the MySQL slow query log
|
||||
|
||||
use strict;
|
||||
use Getopt::Long;
|
||||
|
||||
# t=time, l=lock time, r=rows
|
||||
# at, al, and ar are the corresponding averages
|
||||
|
||||
my %opt = (
|
||||
s => 'at',
|
||||
h => '*',
|
||||
);
|
||||
|
||||
GetOptions(\%opt,
|
||||
'v|verbose+',# verbose
|
||||
'help+', # write usage info
|
||||
'd|debug+', # debug
|
||||
's=s', # what to sort by (al, at, ar, c, t, l, r)
|
||||
'r!', # reverse the sort order (largest last instead of first)
|
||||
't=i', # just show the top n queries
|
||||
'a!', # don't abstract all numbers to N and strings to 'S'
|
||||
'n=i', # abstract numbers with at least n digits within names
|
||||
'g=s', # grep: only consider stmts that include this string
|
||||
'h=s', # hostname of db server for *-slow.log filename (can be wildcard)
|
||||
'i=s', # name of server instance (if using mysql.server startup script)
|
||||
'l!', # don't subtract lock time from total time
|
||||
) or usage("bad option");
|
||||
|
||||
$opt{'help'} and usage();
|
||||
|
||||
unless (@ARGV) {
|
||||
my $defaults = `my_print_defaults mysqld`;
|
||||
my $basedir = ($defaults =~ m/--basedir=(.*)/)[0]
|
||||
or die "Can't determine basedir from 'my_print_defaults mysqld' output: $defaults";
|
||||
warn "basedir=$basedir\n" if $opt{v};
|
||||
|
||||
my $datadir = ($defaults =~ m/--datadir=(.*)/)[0];
|
||||
my $slowlog = ($defaults =~ m/--slow-query-log-file=(.*)/)[0];
|
||||
if (!$datadir or $opt{i}) {
|
||||
# determine the datadir from the instances section of /etc/my.cnf, if any
|
||||
my $instances = `my_print_defaults instances`;
|
||||
die "Can't determine datadir from 'my_print_defaults mysqld' output: $defaults"
|
||||
unless $instances;
|
||||
my @instances = ($instances =~ m/^--(\w+)-/mg);
|
||||
die "No -i 'instance_name' specified to select among known instances: @instances.\n"
|
||||
unless $opt{i};
|
||||
die "Instance '$opt{i}' is unknown (known instances: @instances)\n"
|
||||
unless grep { $_ eq $opt{i} } @instances;
|
||||
$datadir = ($instances =~ m/--$opt{i}-datadir=(.*)/)[0]
|
||||
or die "Can't determine --$opt{i}-datadir from 'my_print_defaults instances' output: $instances";
|
||||
warn "datadir=$datadir\n" if $opt{v};
|
||||
}
|
||||
|
||||
if ( -f $slowlog ) {
|
||||
@ARGV = ($slowlog);
|
||||
die "Can't find '$slowlog'\n" unless @ARGV;
|
||||
} else {
|
||||
@ARGV = <$datadir/$opt{h}-slow.log>;
|
||||
die "Can't find '$datadir/$opt{h}-slow.log'\n" unless @ARGV;
|
||||
}
|
||||
}
|
||||
|
||||
warn "\nReading mysql slow query log from @ARGV\n";
|
||||
|
||||
my @pending;
|
||||
my %stmt;
|
||||
$/ = ";\n#"; # read entire statements using paragraph mode
|
||||
while ( defined($_ = shift @pending) or defined($_ = <>) ) {
|
||||
warn "[[$_]]\n" if $opt{d}; # show raw paragraph being read
|
||||
|
||||
my @chunks = split /^\/.*Version.*started with[\000-\377]*?Time.*Id.*Command.*Argument.*\n/m;
|
||||
if (@chunks > 1) {
|
||||
unshift @pending, map { length($_) ? $_ : () } @chunks;
|
||||
warn "<<".join(">>\n<<",@chunks).">>" if $opt{d};
|
||||
next;
|
||||
}
|
||||
|
||||
s/^#? Time: \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+(Z|[+-]\d{2}:\d{2}).*\n//;
|
||||
my ($user,$host,$dummy,$thread_id) = s/^#? User\@Host:\s+(\S+)\s+\@\s+(\S+)\s+\S+(\s+Id:\s+(\d+))?.*\n// ? ($1,$2,$3,$4) : ('','','','','');
|
||||
|
||||
s/^# Query_time: ([0-9.]+)\s+Lock_time: ([0-9.]+)\s+Rows_sent: ([0-9.]+).*\n//;
|
||||
my ($t, $l, $r) = ($1, $2, $3);
|
||||
$t -= $l unless $opt{l};
|
||||
|
||||
# remove fluff that mysqld writes to log when it (re)starts:
|
||||
s!^/.*Version.*started with:.*\n!!mg;
|
||||
s!^Tcp port: \d+ Unix socket: \S+\n!!mg;
|
||||
s!^Time.*Id.*Command.*Argument.*\n!!mg;
|
||||
|
||||
s/^use \w+;\n//; # not consistently added
|
||||
s/^SET timestamp=\d+;\n//;
|
||||
|
||||
s/^[ ]*\n//mg; # delete blank lines
|
||||
s/^[ ]*/ /mg; # normalize leading whitespace
|
||||
s/\s*;\s*(#\s*)?$//; # remove trailing semicolon(+newline-hash)
|
||||
|
||||
next if $opt{g} and !m/$opt{g}/io;
|
||||
|
||||
unless ($opt{a}) {
|
||||
s/\b\d+\b/N/g;
|
||||
s/\b0x[0-9A-Fa-f]+\b/N/g;
|
||||
s/''/'S'/g;
|
||||
s/""/"S"/g;
|
||||
s/(\\')//g;
|
||||
s/(\\")//g;
|
||||
s/'[^']+'/'S'/g;
|
||||
s/"[^"]+"/"S"/g;
|
||||
# -n=8: turn log_20001231 into log_NNNNNNNN
|
||||
s/([a-z_]+)(\d{$opt{n},})/$1.('N' x length($2))/ieg if $opt{n};
|
||||
# abbreviate massive "in (...)" statements and similar
|
||||
s!(([NS],){100,})!sprintf("$2,{repeated %d times}",length($1)/2)!eg;
|
||||
}
|
||||
|
||||
my $s = $stmt{$_} ||= { users=>{}, hosts=>{} };
|
||||
$s->{c} += 1;
|
||||
$s->{t} += $t;
|
||||
$s->{l} += $l;
|
||||
$s->{r} += $r;
|
||||
$s->{users}->{$user}++ if $user;
|
||||
$s->{hosts}->{$host}++ if $host;
|
||||
|
||||
warn "{{$_}}\n\n" if $opt{d}; # show processed statement string
|
||||
}
|
||||
|
||||
foreach (keys %stmt) {
|
||||
my $v = $stmt{$_} || die;
|
||||
my ($c, $t, $l, $r) = @{ $v }{qw(c t l r)};
|
||||
$v->{at} = $t / $c;
|
||||
$v->{al} = $l / $c;
|
||||
$v->{ar} = $r / $c;
|
||||
}
|
||||
|
||||
my @sorted = sort { $stmt{$b}->{$opt{s}} <=> $stmt{$a}->{$opt{s}} } keys %stmt;
|
||||
@sorted = @sorted[0 .. $opt{t}-1] if $opt{t};
|
||||
@sorted = reverse @sorted if $opt{r};
|
||||
|
||||
foreach (@sorted) {
|
||||
my $v = $stmt{$_} || die;
|
||||
my ($c, $t,$at, $l,$al, $r,$ar) = @{ $v }{qw(c t at l al r ar)};
|
||||
my @users = keys %{$v->{users}};
|
||||
my $user = (@users==1) ? $users[0] : sprintf "%dusers",scalar @users;
|
||||
my @hosts = keys %{$v->{hosts}};
|
||||
my $host = (@hosts==1) ? $hosts[0] : sprintf "%dhosts",scalar @hosts;
|
||||
printf "Count: %d Time=%.2fs (%ds) Lock=%.2fs (%ds) Rows=%.1f (%d), $user\@$host\n%s\n\n",
|
||||
$c, $at,$t, $al,$l, $ar,$r, $_;
|
||||
}
|
||||
|
||||
sub usage {
|
||||
my $str= shift;
|
||||
my $text= <<HERE;
|
||||
Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]
|
||||
|
||||
Parse and summarize the MySQL slow query log. Options are
|
||||
|
||||
--verbose verbose
|
||||
--debug debug
|
||||
--help write this text to standard output
|
||||
|
||||
-v verbose
|
||||
-d debug
|
||||
-s ORDER what to sort by (al, at, ar, c, l, r, t), 'at' is default
|
||||
al: average lock time
|
||||
ar: average rows sent
|
||||
at: average query time
|
||||
c: count
|
||||
l: lock time
|
||||
r: rows sent
|
||||
t: query time
|
||||
-r reverse the sort order (largest last instead of first)
|
||||
-t NUM just show the top n queries
|
||||
-a don't abstract all numbers to N and strings to 'S'
|
||||
-n NUM abstract numbers with at least n digits within names
|
||||
-g PATTERN grep: only consider stmts that include this string
|
||||
-h HOSTNAME hostname of db server for *-slow.log filename (can be wildcard),
|
||||
default is '*', i.e. match all
|
||||
-i NAME name of server instance (if using mysql.server startup script)
|
||||
-l don't subtract lock time from total time
|
||||
|
||||
HERE
|
||||
if ($str) {
|
||||
print STDERR "ERROR: $str\n\n";
|
||||
print STDERR $text;
|
||||
exit 1;
|
||||
} else {
|
||||
print $text;
|
||||
exit 0;
|
||||
}
|
||||
}
|
||||
BIN
build/extraResources/mysql/bin/mysqlimport.exe
Normal file
BIN
build/extraResources/mysql/bin/mysqlimport.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysqlpump.exe
Normal file
BIN
build/extraResources/mysql/bin/mysqlpump.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysqlshow.exe
Normal file
BIN
build/extraResources/mysql/bin/mysqlshow.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/mysqlslap.exe
Normal file
BIN
build/extraResources/mysql/bin/mysqlslap.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/perror.exe
Normal file
BIN
build/extraResources/mysql/bin/perror.exe
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/saslSCRAM.dll
Normal file
BIN
build/extraResources/mysql/bin/saslSCRAM.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/xpprof64.dll
Normal file
BIN
build/extraResources/mysql/bin/xpprof64.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/bin/zlib_decompress.exe
Normal file
BIN
build/extraResources/mysql/bin/zlib_decompress.exe
Normal file
Binary file not shown.
234
build/extraResources/mysql/docs/INFO_BIN
Normal file
234
build/extraResources/mysql/docs/INFO_BIN
Normal file
@@ -0,0 +1,234 @@
|
||||
===== Information about the build process: =====
|
||||
Build was run at 2025-07-09 12:20:17Z
|
||||
Build was done on Windows-10.0.20348 processor AMD64
|
||||
Build was done using cmake 3.15.3
|
||||
|
||||
===== CMAKE_GENERATOR =====
|
||||
Visual Studio 16 2019
|
||||
|
||||
===== Feature flags used: =====
|
||||
-- Cache values
|
||||
ABSL_BUILD_TESTING:BOOL=OFF
|
||||
ABSL_BUILD_TEST_HELPERS:BOOL=OFF
|
||||
ABSL_ENABLE_INSTALL:BOOL=OFF
|
||||
ABSL_GOOGLETEST_DOWNLOAD_URL:STRING=
|
||||
ABSL_LIBRT:FILEPATH=ABSL_LIBRT-NOTFOUND
|
||||
ABSL_LOCAL_GOOGLETEST_DIR:PATH=/usr/src/googletest
|
||||
ABSL_USE_EXTERNAL_GOOGLETEST:BOOL=OFF
|
||||
ABSL_USE_GOOGLETEST_HEAD:BOOL=OFF
|
||||
ABSL_USE_SYSTEM_INCLUDES:BOOL=OFF
|
||||
ADD_GDB_INDEX:BOOL=OFF
|
||||
BOOST_INCLUDE_DIR:PATH=C:/boost/boost_1_77_0
|
||||
BUILD_SHARED_LIBS:BOOL=OFF
|
||||
BUILD_TESTING:BOOL=ON
|
||||
BUNDLE_MECAB:BOOL=ON
|
||||
BUNDLE_RUNTIME_LIBRARIES:BOOL=OFF
|
||||
CBOR_BUFFER_GROWTH:STRING=2
|
||||
CBOR_CUSTOM_ALLOC:BOOL=OFF
|
||||
CBOR_MAX_STACK_SIZE:STRING=2048
|
||||
CCAPISERVER_EXECUTABLE:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/bin/ccapiserver.exe
|
||||
CHECK_ERRMSG_FORMAT:BOOL=OFF
|
||||
CMAKE_CONFIGURATION_TYPES:STRING=DebugReleaseMinSizeRelRelWithDebInfo
|
||||
CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/MySQL
|
||||
CMAKE_SKIP_INSTALL_ALL_DEPENDENCY:BOOL=OFF
|
||||
COVERAGE:BOOL=OFF
|
||||
CRYPTO_LIBRARY:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/dep3/lib/libcrypto.lib
|
||||
CTEST_EXECUTABLE:FILEPATH=C:/Program Files/CMake 3.15/bin/ctest.exe
|
||||
DOWNLOAD_BOOST:BOOL=OFF
|
||||
DOWNLOAD_BOOST_TIMEOUT:STRING=600
|
||||
DUMPBIN_EXECUTABLE:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/dumpbin.exe
|
||||
ENABLED_PROFILING:BOOL=ON
|
||||
ENABLE_EXPERIMENT_SYSVARS:BOOL=OFF
|
||||
ENABLE_GCOV:BOOL=OFF
|
||||
ENABLE_GPROF:BOOL=OFF
|
||||
EVENT__COVERAGE:BOOL=OFF
|
||||
EVENT__DISABLE_BENCHMARK:BOOL=OFF
|
||||
EVENT__DISABLE_CLOCK_GETTIME:BOOL=OFF
|
||||
EVENT__DISABLE_DEBUG_MODE:BOOL=OFF
|
||||
EVENT__DISABLE_MM_REPLACEMENT:BOOL=OFF
|
||||
EVENT__DISABLE_OPENSSL:BOOL=OFF
|
||||
EVENT__DISABLE_REGRESS:BOOL=OFF
|
||||
EVENT__DISABLE_SAMPLES:BOOL=OFF
|
||||
EVENT__DISABLE_TESTS:BOOL=OFF
|
||||
EVENT__DISABLE_THREAD_SUPPORT:BOOL=OFF
|
||||
EVENT__ENABLE_VERBOSE_DEBUG:BOOL=OFF
|
||||
EVENT__FORCE_KQUEUE_CHECK:BOOL=OFF
|
||||
EVENT__LIBRARY_TYPE:STRING=DEFAULT
|
||||
EVENT__MSVC_STATIC_RUNTIME:BOOL=OFF
|
||||
EXECINFO_LIBRARY:FILEPATH=EXECINFO_LIBRARY-NOTFOUND
|
||||
EXTRA_NAME_SUFFIX:STRING=
|
||||
FIDO_INCLUDE_DIR:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/mysql-8.0.43/extra/libfido2/libfido2-1.15.0/src
|
||||
FLEX_EXECUTABLE:FILEPATH=C:/bin/bin/win_flex.exe
|
||||
FLEX_INCLUDE_DIR:PATH=C:/bin/lib/winflexbison3/tools
|
||||
FORCE_COLORED_OUTPUT:BOOL=OFF
|
||||
FORCE_INSOURCE_BUILD:BOOL=ON
|
||||
FPROFILE_GENERATE:BOOL=OFF
|
||||
FPROFILE_USE:BOOL=OFF
|
||||
FUZZ:BOOL=OFF
|
||||
GLOB_RECURSE_SQL_HEADERS:BOOL=OFF
|
||||
GSSAPI_INCLUDE_DIR:PATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/include
|
||||
HANDLE_FATAL_SIGNALS:BOOL=ON
|
||||
HARNESS_NAME:STRING=mysqlrouter
|
||||
HAVE_CRYPTO_DLL:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/dep3/bin/libcrypto-3-x64.dll
|
||||
HAVE_JEMALLOC_DLL:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/dep2/bin/jemalloc.dll
|
||||
HAVE_LIBEVENT2:BOOL=1
|
||||
HAVE_OPENSSL_DLL:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/dep3/bin/libssl-3-x64.dll
|
||||
HAVE_jemalloc_PDB:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/dep2/bin/jemalloc.pdb
|
||||
HAVE_libcrypto-3-x64_PDB:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/dep3/bin/libcrypto-3-x64.pdb
|
||||
HAVE_libssl-3-x64_PDB:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/dep3/bin/libssl-3-x64.pdb
|
||||
HUGE_FUZZ:BOOL=OFF
|
||||
INSTALL_LAYOUT:STRING=STANDALONE
|
||||
INSTALL_STATIC_LIBRARIES:BOOL=ON
|
||||
KERBEROS_CUSTOM_DLL:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/bin/krb5_64.dll
|
||||
KERBEROS_CUSTOM_DLL_comerr64.dll:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/bin/comerr64.dll
|
||||
KERBEROS_CUSTOM_DLL_gssapi64.dll:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/bin/gssapi64.dll
|
||||
KERBEROS_CUSTOM_DLL_k5sprt64.dll:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/bin/k5sprt64.dll
|
||||
KERBEROS_CUSTOM_DLL_krbcc64.dll:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/bin/krbcc64.dll
|
||||
KERBEROS_CUSTOM_DLL_xpprof64.dll:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/bin/xpprof64.dll
|
||||
KERBEROS_CUSTOM_LIBRARY:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/lib/krb5_64.lib
|
||||
KERBEROS_CUSTOM_LIBRARY_comerr64.lib:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/lib/comerr64.lib
|
||||
KERBEROS_CUSTOM_LIBRARY_gssapi64.lib:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/lib/gssapi64.lib
|
||||
KERBEROS_CUSTOM_LIBRARY_k5sprt64.lib:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/lib/k5sprt64.lib
|
||||
KERBEROS_CUSTOM_LIBRARY_krbcc64.lib:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/lib/krbcc64.lib
|
||||
KERBEROS_CUSTOM_LIBRARY_xpprof64.lib:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/lib/xpprof64.lib
|
||||
KERBEROS_INCLUDE_DIR:PATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit/include
|
||||
KERBEROS_ROOT_DIR:PATH=C:/build/sb_1-20261897-1752061536.8734057/krb5-1.21.3-windows-vs16-64bit
|
||||
LINK_STATIC_RUNTIME_LIBRARIES:BOOL=OFF
|
||||
LOCAL_BOOST_DIR:FILEPATH=C:/boost/boost_1_77_0
|
||||
LOCAL_BOOST_ZIP:FILEPATH=LOCAL_BOOST_ZIP-NOTFOUND
|
||||
MECAB_INCLUDE_DIR:PATH=C:/build/sb_1-20261897-1752061536.8734057/mecab-0.996-windows-x86-64bit/sdk
|
||||
MECAB_LIBRARY:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/mecab-0.996-windows-x86-64bit/sdk/libmecab.lib
|
||||
MSVC_CPPCHECK:BOOL=OFF
|
||||
MUTEXTYPE:STRING=event
|
||||
MYSQLX_ADDITIONAL_TESTS_ENABLE:BOOL=OFF
|
||||
MYSQLX_GENERATE_DIR:STRING=C:/build/sb_1-20261897-1752061536.8734057/release/plugin/x/generated
|
||||
MYSQL_DATADIR:PATH=C:/Program Files/MySQL/MySQL Server 8.0/data
|
||||
MYSQL_ICU_DATADIR:PATH=C:/Program Files/MySQL/MySQL Server 8.0/lib/private
|
||||
MYSQL_KEYRINGDIR:PATH=C:/Program Files/MySQL/MySQL Server 8.0/keyring
|
||||
MYSQL_MAINTAINER_MODE:BOOL=OFF
|
||||
MYSQL_ROUTER_INI:STRING=mysqlrouter.conf
|
||||
MYSQL_ROUTER_NAME:STRING=MySQL Router
|
||||
OPENSSL_APPLINK_C:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/dep3/include/openssl/applink.c
|
||||
OPENSSL_EXECUTABLE:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/dep3/bin/openssl.exe
|
||||
OPENSSL_INCLUDE_DIR:PATH=C:/build/sb_1-20261897-1752061536.8734057/dep3/include
|
||||
OPENSSL_LIBRARY:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/dep3/lib/libssl.lib
|
||||
OPENSSL_ROOT_DIR:PATH=C:/build/sb_1-20261897-1752061536.8734057/dep3
|
||||
OPTIMIZE_SANITIZER_BUILDS:BOOL=ON
|
||||
PERL_EXECUTABLE:FILEPATH=C:/Perl64/bin/perl.exe
|
||||
PRINT_FUZZ:BOOL=OFF
|
||||
REDIRECT_DOXYGEN_STDOUT:BOOL=OFF
|
||||
ROUTER_DATADIR:STRING=ENV{APPDATA}\\data
|
||||
ROUTER_INSTALL_LAYOUT:STRING=STANDALONE
|
||||
ROUTER_LOGDIR:STRING=ENV{APPDATA}\\log
|
||||
ROUTER_PLUGINDIR:STRING=C:/Program Files (x86)/MySQL/lib
|
||||
ROUTER_RUNTIMEDIR:STRING=ENV{APPDATA}
|
||||
SANE_MALLOC:BOOL=OFF
|
||||
SASL_CUSTOM_LIBRARY:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/cyrus-sasl-2.1.28-MD-windows-vs16-64bit/lib/libsasl.lib
|
||||
SASL_INCLUDE_DIR:PATH=C:/build/sb_1-20261897-1752061536.8734057/cyrus-sasl-2.1.28-MD-windows-vs16-64bit/include
|
||||
SASL_LIBRARY_DLL:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/cyrus-sasl-2.1.28-MD-windows-vs16-64bit/lib/libsasl.dll
|
||||
SASL_ROOT_DIR:PATH=C:/build/sb_1-20261897-1752061536.8734057/cyrus-sasl-2.1.28-MD-windows-vs16-64bit
|
||||
SASL_SCRAM_PLUGIN:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/cyrus-sasl-2.1.28-MD-windows-vs16-64bit/lib/saslSCRAM.dll
|
||||
SASL_STATIC_LIBRARY:FILEPATH=C:/build/sb_1-20261897-1752061536.8734057/cyrus-sasl-2.1.28-MD-windows-vs16-64bit/lib/libsasl.lib
|
||||
SUNRPC_INCLUDE_DIRS:PATH=C:/build/sb_1-20261897-1752061536.8734057/mysql-8.0.43/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/windeps/sunrpcC:/build/sb_1-20261897-1752061536.8734057/mysql-8.0.43/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/windeps/sunrpc/rpc
|
||||
TMPDIR:PATH=
|
||||
USE_BISON_RESULTS_FROM_MAKE_DIST:BOOL=OFF
|
||||
USE_HIDAPI:BOOL=OFF
|
||||
USE_LD_LLD:BOOL=OFF
|
||||
USE_PCSC:BOOL=OFF
|
||||
WINDEPS_INCLUDE_DIRS:PATH=C:/build/sb_1-20261897-1752061536.8734057/mysql-8.0.43/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/windeps/include
|
||||
WIN_DEBUG_NO_INLINE:BOOL=OFF
|
||||
WIN_DEBUG_RTC:BOOL=OFF
|
||||
WIN_INCREMENTAL_LINK:BOOL=OFF
|
||||
WIN_STL_DEBUG_ITERATORS:STRING=2
|
||||
WITH_ARCHIVE_STORAGE_ENGINE:BOOL=ON
|
||||
WITH_ASAN:BOOL=OFF
|
||||
WITH_AUTHENTICATION_CLIENT_PLUGINS:BOOL=ON
|
||||
WITH_AUTHENTICATION_FIDO:BOOL=OFF
|
||||
WITH_AUTHENTICATION_KERBEROS:BOOL=OFF
|
||||
WITH_AUTHENTICATION_LDAP:BOOL=1
|
||||
WITH_BLACKHOLE_STORAGE_ENGINE:BOOL=ON
|
||||
WITH_BOOST:PATH=C:/boost
|
||||
WITH_CLIENT_PROTOCOL_TRACING:BOOL=ON
|
||||
WITH_CS_PROTOBUF:BOOL=OFF
|
||||
WITH_CURL:STRING=none
|
||||
WITH_DEBUG:BOOL=OFF
|
||||
WITH_DEFAULT_COMPILER_OPTIONS:BOOL=ON
|
||||
WITH_ERROR_INSERT:BOOL=OFF
|
||||
WITH_EXT_BACKTRACE:BOOL=OFF
|
||||
WITH_FEDERATED_STORAGE_ENGINE:BOOL=ON
|
||||
WITH_FIDO:STRING=bundled
|
||||
WITH_HYPERGRAPH_OPTIMIZER:BOOL=OFF
|
||||
WITH_ICU:STRING=bundled
|
||||
WITH_INNODB_EXTRA_DEBUG:BOOL=OFF
|
||||
WITH_INNODB_MEMCACHED:BOOL=OFF
|
||||
WITH_JEMALLOC:BOOL=OFF
|
||||
WITH_JSON_BINLOG_LIBRARY:BOOL=OFF
|
||||
WITH_KERBEROS:STRING=C:\build\sb_1-20261897-1752061536.8734057\krb5-1.21.3-windows-vs16-64bit
|
||||
WITH_LDAP:STRING=system
|
||||
WITH_LIBEVENT:STRING=bundled
|
||||
WITH_LOCK_ORDER:BOOL=OFF
|
||||
WITH_LSAN:BOOL=OFF
|
||||
WITH_LTO:BOOL=OFF
|
||||
WITH_LZ4:STRING=bundled
|
||||
WITH_MECAB:STRING=C:\build\sb_1-20261897-1752061536.8734057\mecab-0.996-windows-x86-64bit
|
||||
WITH_MECAB_PATH:PATH=C:/build/sb_1-20261897-1752061536.8734057/mecab-0.996-windows-x86-64bit
|
||||
WITH_MSAN:BOOL=OFF
|
||||
WITH_MSCRT_DEBUG:BOOL=OFF
|
||||
WITH_MYSQLX:BOOL=ON
|
||||
WITH_MYSQLX_USE_PROTOBUF_FULL:BOOL=OFF
|
||||
WITH_NDB:BOOL=OFF
|
||||
WITH_NDBCLUSTER_STORAGE_ENGINE:BOOL=ON
|
||||
WITH_NDBMTD:BOOL=ON
|
||||
WITH_NDB_CCFLAGS:STRING=
|
||||
WITH_NDB_DEBUG:BOOL=OFF
|
||||
WITH_NDB_JAVA:BOOL=OFF
|
||||
WITH_NDB_PORT:STRING=
|
||||
WITH_NGRAM_PARSER:BOOL=ON
|
||||
WITH_NUMA:BOOL=OFF
|
||||
WITH_PROTOBUF:STRING=bundled
|
||||
WITH_RAPIDJSON:STRING=bundled
|
||||
WITH_ROUTER:BOOL=ON
|
||||
WITH_SHARED_UNITTEST_LIBRARY:BOOL=OFF
|
||||
WITH_SSL_PATH:PATH=C:/build/sb_1-20261897-1752061536.8734057/dep3
|
||||
WITH_SYSTEM_LIBS:BOOL=OFF
|
||||
WITH_TCMALLOC:BOOL=OFF
|
||||
WITH_TCMALLOC_DEBUG:BOOL=OFF
|
||||
WITH_TESTS:BOOL=OFF
|
||||
WITH_TEST_TRACE_PLUGIN:BOOL=OFF
|
||||
WITH_TSAN:BOOL=OFF
|
||||
WITH_UBSAN:BOOL=OFF
|
||||
WITH_UNIT_TESTS:BOOL=ON
|
||||
WITH_ZLIB:STRING=bundled
|
||||
WITH_ZSTD:STRING=bundled
|
||||
WIX_DIR:PATH=WIX_DIR-NOTFOUND
|
||||
WSL_EXECUTABLE:FILEPATH=C:/Windows/System32/wsl.exe
|
||||
XPLUGIN_LOG_PROTOBUF:STRING=1
|
||||
ZLIB_BUILD_EXAMPLES:BOOL=ON
|
||||
ZSTD_BUILD_CONTRIB:BOOL=OFF
|
||||
ZSTD_BUILD_PROGRAMS:BOOL=ON
|
||||
ZSTD_BUILD_TESTS:BOOL=OFF
|
||||
ZSTD_LEGACY_SUPPORT:BOOL=OFF
|
||||
ZSTD_MULTITHREAD_SUPPORT:BOOL=OFF
|
||||
ZSTD_USE_STATIC_RUNTIME:BOOL=OFF
|
||||
protobuf_ABSL_PROVIDER:STRING=module
|
||||
protobuf_ALLOW_CCACHE:BOOL=OFF
|
||||
protobuf_BUILD_CONFORMANCE:BOOL=OFF
|
||||
protobuf_BUILD_LIBPROTOC:BOOL=OFF
|
||||
protobuf_BUILD_PROTOBUF_BINARIES:BOOL=ON
|
||||
protobuf_BUILD_PROTOC_BINARIES:BOOL=ON
|
||||
protobuf_DISABLE_RTTI:BOOL=OFF
|
||||
protobuf_INSTALL:BOOL=OFF
|
||||
protobuf_JSONCPP_PROVIDER:STRING=module
|
||||
protobuf_TEST_XML_OUTDIR:BOOL=OFF
|
||||
utf8_range_ENABLE_INSTALL:BOOL=OFF
|
||||
utf8_range_ENABLE_TESTS:BOOL=OFF
|
||||
|
||||
===== Compiler flags used: =====
|
||||
CMAKE_BUILD_TYPE: RelWithDebInfo
|
||||
Compiler: MSVC 19.29.30159.0
|
||||
COMPILE_DEFINITIONS: _WIN32_WINNT=0x0601;WIN32_LEAN_AND_MEAN;NOGDI;NOMINMAX;__STDC_LIMIT_MACROS;__STDC_FORMAT_MACROS;_USE_MATH_DEFINES;LZ4_DISABLE_DEPRECATE_WARNINGS;HAVE_TLSv13
|
||||
CMAKE_C_FLAGS: /DWIN32 /D_WINDOWS /W3 /MP -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS /wd4267 /wd4244
|
||||
CMAKE_CXX_FLAGS: /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MP -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS /wd4267 /wd4244 /permissive-
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO: /MD /Z7 /O2 /Ob1 /DNDEBUG /EHsc /FC
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO: /MD /Z7 /O2 /Ob1 /DNDEBUG /EHsc /FC /std:c++17
|
||||
===== EOF =====
|
||||
7
build/extraResources/mysql/docs/INFO_SRC
Normal file
7
build/extraResources/mysql/docs/INFO_SRC
Normal file
@@ -0,0 +1,7 @@
|
||||
commit: 2ed0cbe8da72fab2da172283fd937220455ac824
|
||||
date: 2025-07-09 09:34:45 +0200
|
||||
build-date: 2025-07-09 08:46:56 +0000
|
||||
short: 2ed0cbe8da72
|
||||
branch: mysql-8.0.43-release
|
||||
|
||||
MySQL source 8.0.43
|
||||
6
build/extraResources/mysql/grant.sql
Normal file
6
build/extraResources/mysql/grant.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
CREATE USER IF NOT EXISTS 'root'@'127.0.0.1' IDENTIFIED BY 'njcnpqs';
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;
|
||||
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY 'njcnpqs';
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
|
||||
FLUSH PRIVILEGES;
|
||||
SELECT User, Host FROM mysql.user WHERE User='root';
|
||||
147
build/extraResources/mysql/include/errmsg.h
Normal file
147
build/extraResources/mysql/include/errmsg.h
Normal file
@@ -0,0 +1,147 @@
|
||||
#ifndef ERRMSG_INCLUDED
|
||||
#define ERRMSG_INCLUDED
|
||||
|
||||
/* Copyright (c) 2000, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2.0,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is designed to work with certain software (including
|
||||
but not limited to OpenSSL) that is licensed under separate terms,
|
||||
as designated in a particular file or component or in included license
|
||||
documentation. The authors of MySQL hereby grant you an additional
|
||||
permission to link the program and your derivative works with the
|
||||
separately licensed software that they have either included with
|
||||
the program or referenced in the documentation.
|
||||
|
||||
Without limiting anything contained in the foregoing, this file,
|
||||
which is part of C Driver for MySQL (Connector/C), is also subject to the
|
||||
Universal FOSS Exception, version 1.0, a copy of which can be found at
|
||||
http://oss.oracle.com/licenses/universal-foss-exception.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License, version 2.0, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
/**
|
||||
@file include/errmsg.h
|
||||
|
||||
Error messages for MySQL clients.
|
||||
These are constant and use the CR_ prefix.
|
||||
<mysqlclient_ername.h> will contain auto-generated mappings
|
||||
containing the symbolic name and the number from this file,
|
||||
and the english error messages in libmysql/errmsg.c.
|
||||
|
||||
Dynamic error messages for the daemon are in share/language/errmsg.sys.
|
||||
The server equivalent to <errmsg.h> is <mysqld_error.h>.
|
||||
The server equivalent to <mysqlclient_ername.h> is <mysqld_ername.h>.
|
||||
|
||||
Note that the auth subsystem also uses codes with a CR_ prefix.
|
||||
*/
|
||||
|
||||
void init_client_errs(void);
|
||||
void finish_client_errs(void);
|
||||
extern const char *client_errors[]; /* Error messages */
|
||||
|
||||
#define CR_MIN_ERROR 2000 /* For easier client code */
|
||||
#define CR_MAX_ERROR 2999
|
||||
#define CLIENT_ERRMAP 2 /* Errormap used by my_error() */
|
||||
|
||||
/* Do not add error numbers before CR_ERROR_FIRST. */
|
||||
/* If necessary to add lower numbers, change CR_ERROR_FIRST accordingly. */
|
||||
#define CR_ERROR_FIRST 2000 /*Copy first error nr.*/
|
||||
#define CR_UNKNOWN_ERROR 2000
|
||||
#define CR_SOCKET_CREATE_ERROR 2001
|
||||
#define CR_CONNECTION_ERROR 2002
|
||||
#define CR_CONN_HOST_ERROR 2003
|
||||
#define CR_IPSOCK_ERROR 2004
|
||||
#define CR_UNKNOWN_HOST 2005
|
||||
#define CR_SERVER_GONE_ERROR 2006
|
||||
#define CR_VERSION_ERROR 2007
|
||||
#define CR_OUT_OF_MEMORY 2008
|
||||
#define CR_WRONG_HOST_INFO 2009
|
||||
#define CR_LOCALHOST_CONNECTION 2010
|
||||
#define CR_TCP_CONNECTION 2011
|
||||
#define CR_SERVER_HANDSHAKE_ERR 2012
|
||||
#define CR_SERVER_LOST 2013
|
||||
#define CR_COMMANDS_OUT_OF_SYNC 2014
|
||||
#define CR_NAMEDPIPE_CONNECTION 2015
|
||||
#define CR_NAMEDPIPEWAIT_ERROR 2016
|
||||
#define CR_NAMEDPIPEOPEN_ERROR 2017
|
||||
#define CR_NAMEDPIPESETSTATE_ERROR 2018
|
||||
#define CR_CANT_READ_CHARSET 2019
|
||||
#define CR_NET_PACKET_TOO_LARGE 2020
|
||||
#define CR_EMBEDDED_CONNECTION 2021
|
||||
#define CR_PROBE_REPLICA_STATUS 2022
|
||||
#define CR_PROBE_REPLICA_HOSTS 2023
|
||||
#define CR_PROBE_REPLICA_CONNECT 2024
|
||||
#define CR_PROBE_SOURCE_CONNECT 2025
|
||||
#define CR_SSL_CONNECTION_ERROR 2026
|
||||
#define CR_MALFORMED_PACKET 2027
|
||||
#define CR_WRONG_LICENSE 2028
|
||||
|
||||
/* new 4.1 error codes */
|
||||
#define CR_NULL_POINTER 2029
|
||||
#define CR_NO_PREPARE_STMT 2030
|
||||
#define CR_PARAMS_NOT_BOUND 2031
|
||||
#define CR_DATA_TRUNCATED 2032
|
||||
#define CR_NO_PARAMETERS_EXISTS 2033
|
||||
#define CR_INVALID_PARAMETER_NO 2034
|
||||
#define CR_INVALID_BUFFER_USE 2035
|
||||
#define CR_UNSUPPORTED_PARAM_TYPE 2036
|
||||
|
||||
#define CR_SHARED_MEMORY_CONNECTION 2037
|
||||
#define CR_SHARED_MEMORY_CONNECT_REQUEST_ERROR 2038
|
||||
#define CR_SHARED_MEMORY_CONNECT_ANSWER_ERROR 2039
|
||||
#define CR_SHARED_MEMORY_CONNECT_FILE_MAP_ERROR 2040
|
||||
#define CR_SHARED_MEMORY_CONNECT_MAP_ERROR 2041
|
||||
#define CR_SHARED_MEMORY_FILE_MAP_ERROR 2042
|
||||
#define CR_SHARED_MEMORY_MAP_ERROR 2043
|
||||
#define CR_SHARED_MEMORY_EVENT_ERROR 2044
|
||||
#define CR_SHARED_MEMORY_CONNECT_ABANDONED_ERROR 2045
|
||||
#define CR_SHARED_MEMORY_CONNECT_SET_ERROR 2046
|
||||
#define CR_CONN_UNKNOW_PROTOCOL 2047
|
||||
#define CR_INVALID_CONN_HANDLE 2048
|
||||
#define CR_UNUSED_1 2049
|
||||
#define CR_FETCH_CANCELED 2050
|
||||
#define CR_NO_DATA 2051
|
||||
#define CR_NO_STMT_METADATA 2052
|
||||
#define CR_NO_RESULT_SET 2053
|
||||
#define CR_NOT_IMPLEMENTED 2054
|
||||
#define CR_SERVER_LOST_EXTENDED 2055
|
||||
#define CR_STMT_CLOSED 2056
|
||||
#define CR_NEW_STMT_METADATA 2057
|
||||
#define CR_ALREADY_CONNECTED 2058
|
||||
#define CR_AUTH_PLUGIN_CANNOT_LOAD 2059
|
||||
#define CR_DUPLICATE_CONNECTION_ATTR 2060
|
||||
#define CR_AUTH_PLUGIN_ERR 2061
|
||||
#define CR_INSECURE_API_ERR 2062
|
||||
#define CR_FILE_NAME_TOO_LONG 2063
|
||||
#define CR_SSL_FIPS_MODE_ERR 2064
|
||||
#define CR_DEPRECATED_COMPRESSION_NOT_SUPPORTED 2065
|
||||
#define CR_COMPRESSION_WRONGLY_CONFIGURED 2066
|
||||
#define CR_KERBEROS_USER_NOT_FOUND 2067
|
||||
#define CR_LOAD_DATA_LOCAL_INFILE_REJECTED 2068
|
||||
#define CR_LOAD_DATA_LOCAL_INFILE_REALPATH_FAIL 2069
|
||||
#define CR_DNS_SRV_LOOKUP_FAILED 2070
|
||||
#define CR_MANDATORY_TRACKER_NOT_FOUND 2071
|
||||
#define CR_INVALID_FACTOR_NO 2072
|
||||
#define CR_CANT_GET_SESSION_DATA 2073
|
||||
#define CR_INVALID_CLIENT_CHARSET 2074
|
||||
#define CR_ERROR_LAST /*Copy last error nr:*/ 2074
|
||||
/* Add error numbers before CR_ERROR_LAST and change it accordingly. */
|
||||
|
||||
/* Visual Studio requires '__inline' for C code */
|
||||
static inline const char *ER_CLIENT(int client_errno) {
|
||||
if (client_errno >= CR_ERROR_FIRST && client_errno <= CR_ERROR_LAST)
|
||||
return client_errors[client_errno - CR_ERROR_FIRST];
|
||||
return client_errors[CR_UNKNOWN_ERROR - CR_ERROR_FIRST];
|
||||
}
|
||||
|
||||
#endif /* ERRMSG_INCLUDED */
|
||||
96
build/extraResources/mysql/include/field_types.h
Normal file
96
build/extraResources/mysql/include/field_types.h
Normal file
@@ -0,0 +1,96 @@
|
||||
/* Copyright (c) 2014, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2.0,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is designed to work with certain software (including
|
||||
but not limited to OpenSSL) that is licensed under separate terms,
|
||||
as designated in a particular file or component or in included license
|
||||
documentation. The authors of MySQL hereby grant you an additional
|
||||
permission to link the program and your derivative works with the
|
||||
separately licensed software that they have either included with
|
||||
the program or referenced in the documentation.
|
||||
|
||||
Without limiting anything contained in the foregoing, this file,
|
||||
which is part of C Driver for MySQL (Connector/C), is also subject to the
|
||||
Universal FOSS Exception, version 1.0, a copy of which can be found at
|
||||
http://oss.oracle.com/licenses/universal-foss-exception.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License, version 2.0, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
/**
|
||||
@file field_types.h
|
||||
|
||||
@brief This file contains the field type.
|
||||
|
||||
|
||||
@note This file can be imported both from C and C++ code, so the
|
||||
definitions have to be constructed to support this.
|
||||
*/
|
||||
|
||||
#ifndef FIELD_TYPES_INCLUDED
|
||||
#define FIELD_TYPES_INCLUDED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/*
|
||||
* Constants exported from this package.
|
||||
*/
|
||||
|
||||
/**
|
||||
Column types for MySQL
|
||||
*/
|
||||
enum enum_field_types {
|
||||
MYSQL_TYPE_DECIMAL,
|
||||
MYSQL_TYPE_TINY,
|
||||
MYSQL_TYPE_SHORT,
|
||||
MYSQL_TYPE_LONG,
|
||||
MYSQL_TYPE_FLOAT,
|
||||
MYSQL_TYPE_DOUBLE,
|
||||
MYSQL_TYPE_NULL,
|
||||
MYSQL_TYPE_TIMESTAMP,
|
||||
MYSQL_TYPE_LONGLONG,
|
||||
MYSQL_TYPE_INT24,
|
||||
MYSQL_TYPE_DATE,
|
||||
MYSQL_TYPE_TIME,
|
||||
MYSQL_TYPE_DATETIME,
|
||||
MYSQL_TYPE_YEAR,
|
||||
MYSQL_TYPE_NEWDATE, /**< Internal to MySQL. Not used in protocol */
|
||||
MYSQL_TYPE_VARCHAR,
|
||||
MYSQL_TYPE_BIT,
|
||||
MYSQL_TYPE_TIMESTAMP2,
|
||||
MYSQL_TYPE_DATETIME2, /**< Internal to MySQL. Not used in protocol */
|
||||
MYSQL_TYPE_TIME2, /**< Internal to MySQL. Not used in protocol */
|
||||
MYSQL_TYPE_TYPED_ARRAY, /**< Used for replication only */
|
||||
MYSQL_TYPE_INVALID = 243,
|
||||
MYSQL_TYPE_BOOL = 244, /**< Currently just a placeholder */
|
||||
MYSQL_TYPE_JSON = 245,
|
||||
MYSQL_TYPE_NEWDECIMAL = 246,
|
||||
MYSQL_TYPE_ENUM = 247,
|
||||
MYSQL_TYPE_SET = 248,
|
||||
MYSQL_TYPE_TINY_BLOB = 249,
|
||||
MYSQL_TYPE_MEDIUM_BLOB = 250,
|
||||
MYSQL_TYPE_LONG_BLOB = 251,
|
||||
MYSQL_TYPE_BLOB = 252,
|
||||
MYSQL_TYPE_VAR_STRING = 253,
|
||||
MYSQL_TYPE_STRING = 254,
|
||||
MYSQL_TYPE_GEOMETRY = 255
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#else
|
||||
typedef enum enum_field_types enum_field_types;
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* FIELD_TYPES_INCLUDED */
|
||||
105
build/extraResources/mysql/include/my_command.h
Normal file
105
build/extraResources/mysql/include/my_command.h
Normal file
@@ -0,0 +1,105 @@
|
||||
/* Copyright (c) 2015, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2.0,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is designed to work with certain software (including
|
||||
but not limited to OpenSSL) that is licensed under separate terms,
|
||||
as designated in a particular file or component or in included license
|
||||
documentation. The authors of MySQL hereby grant you an additional
|
||||
permission to link the program and your derivative works with the
|
||||
separately licensed software that they have either included with
|
||||
the program or referenced in the documentation.
|
||||
|
||||
Without limiting anything contained in the foregoing, this file,
|
||||
which is part of C Driver for MySQL (Connector/C), is also subject to the
|
||||
Universal FOSS Exception, version 1.0, a copy of which can be found at
|
||||
http://oss.oracle.com/licenses/universal-foss-exception.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License, version 2.0, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
#ifndef _mysql_command_h
|
||||
#define _mysql_command_h
|
||||
|
||||
/**
|
||||
@file include/my_command.h
|
||||
*/
|
||||
|
||||
/**
|
||||
@enum enum_server_command
|
||||
|
||||
@brief A list of all MySQL protocol commands.
|
||||
|
||||
These are the top level commands the server can receive
|
||||
while it listens for a new command in ::dispatch_command
|
||||
|
||||
@par Warning
|
||||
Add new commands to the end of this list, otherwise old
|
||||
servers won't be able to handle them as 'unsupported'.
|
||||
*/
|
||||
enum enum_server_command {
|
||||
/**
|
||||
Currently refused by the server. See ::dispatch_command.
|
||||
Also used internally to mark the start of a session.
|
||||
*/
|
||||
COM_SLEEP,
|
||||
COM_QUIT, /**< See @ref page_protocol_com_quit */
|
||||
COM_INIT_DB, /**< See @ref page_protocol_com_init_db */
|
||||
COM_QUERY, /**< See @ref page_protocol_com_query */
|
||||
COM_FIELD_LIST, /**< Deprecated. See @ref page_protocol_com_field_list */
|
||||
COM_CREATE_DB, /**< Currently refused by the server. See ::dispatch_command */
|
||||
COM_DROP_DB, /**< Currently refused by the server. See ::dispatch_command */
|
||||
COM_REFRESH, /**< Deprecated. See @ref page_protocol_com_refresh */
|
||||
COM_DEPRECATED_1, /**< Deprecated, used to be COM_SHUTDOWN */
|
||||
COM_STATISTICS, /**< See @ref page_protocol_com_statistics */
|
||||
COM_PROCESS_INFO, /**< Deprecated. See @ref page_protocol_com_process_info */
|
||||
COM_CONNECT, /**< Currently refused by the server. */
|
||||
COM_PROCESS_KILL, /**< Deprecated. See @ref page_protocol_com_process_kill */
|
||||
COM_DEBUG, /**< See @ref page_protocol_com_debug */
|
||||
COM_PING, /**< See @ref page_protocol_com_ping */
|
||||
COM_TIME, /**< Currently refused by the server. */
|
||||
COM_DELAYED_INSERT, /**< Functionality removed. */
|
||||
COM_CHANGE_USER, /**< See @ref page_protocol_com_change_user */
|
||||
COM_BINLOG_DUMP, /**< See @ref page_protocol_com_binlog_dump */
|
||||
COM_TABLE_DUMP,
|
||||
COM_CONNECT_OUT,
|
||||
COM_REGISTER_SLAVE,
|
||||
COM_STMT_PREPARE, /**< See @ref page_protocol_com_stmt_prepare */
|
||||
COM_STMT_EXECUTE, /**< See @ref page_protocol_com_stmt_execute */
|
||||
/** See @ref page_protocol_com_stmt_send_long_data */
|
||||
COM_STMT_SEND_LONG_DATA,
|
||||
COM_STMT_CLOSE, /**< See @ref page_protocol_com_stmt_close */
|
||||
COM_STMT_RESET, /**< See @ref page_protocol_com_stmt_reset */
|
||||
COM_SET_OPTION, /**< See @ref page_protocol_com_set_option */
|
||||
COM_STMT_FETCH, /**< See @ref page_protocol_com_stmt_fetch */
|
||||
/**
|
||||
Currently refused by the server. See ::dispatch_command.
|
||||
Also used internally to mark the session as a "daemon",
|
||||
i.e. non-client THD. Currently the scheduler and the GTID
|
||||
code does use this state.
|
||||
These threads won't be killed by `KILL`
|
||||
|
||||
@sa Event_scheduler::start, ::init_thd, ::kill_one_thread,
|
||||
::Find_thd_with_id
|
||||
*/
|
||||
COM_DAEMON,
|
||||
COM_BINLOG_DUMP_GTID,
|
||||
COM_RESET_CONNECTION, /**< See @ref page_protocol_com_reset_connection */
|
||||
COM_CLONE,
|
||||
COM_SUBSCRIBE_GROUP_REPLICATION_STREAM,
|
||||
/* don't forget to update std::string Command_names::m_names[] in sql_parse.cc
|
||||
*/
|
||||
|
||||
/* Must be last */
|
||||
COM_END /**< Not a real command. Refused. */
|
||||
};
|
||||
|
||||
#endif /* _mysql_command_h */
|
||||
115
build/extraResources/mysql/include/my_compress.h
Normal file
115
build/extraResources/mysql/include/my_compress.h
Normal file
@@ -0,0 +1,115 @@
|
||||
/* Copyright (c) 2019, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2.0,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is designed to work with certain software (including
|
||||
but not limited to OpenSSL) that is licensed under separate terms,
|
||||
as designated in a particular file or component or in included license
|
||||
documentation. The authors of MySQL hereby grant you an additional
|
||||
permission to link the program and your derivative works with the
|
||||
separately licensed software that they have either included with
|
||||
the program or referenced in the documentation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License, version 2.0, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
#ifndef MY_COMPRESS_INCLUDED
|
||||
#define MY_COMPRESS_INCLUDED
|
||||
|
||||
/* List of valid values for compression_algorithm */
|
||||
enum enum_compression_algorithm {
|
||||
MYSQL_UNCOMPRESSED = 1,
|
||||
MYSQL_ZLIB,
|
||||
MYSQL_ZSTD,
|
||||
MYSQL_INVALID
|
||||
};
|
||||
|
||||
/**
|
||||
Compress context information. relating to zlib compression.
|
||||
*/
|
||||
|
||||
typedef struct mysql_zlib_compress_context {
|
||||
/**
|
||||
Compression level to use in zlib compression.
|
||||
*/
|
||||
unsigned int compression_level;
|
||||
} mysql_zlib_compress_context;
|
||||
|
||||
typedef struct ZSTD_CCtx_s ZSTD_CCtx;
|
||||
typedef struct ZSTD_DCtx_s ZSTD_DCtx;
|
||||
|
||||
/**
|
||||
Compress context information relating to zstd compression.
|
||||
*/
|
||||
|
||||
typedef struct mysql_zstd_compress_context {
|
||||
/**
|
||||
Pointer to compressor context.
|
||||
*/
|
||||
ZSTD_CCtx *cctx;
|
||||
/**
|
||||
Pointer to decompressor context.
|
||||
*/
|
||||
ZSTD_DCtx *dctx;
|
||||
/**
|
||||
Compression level to use in zstd compression.
|
||||
*/
|
||||
unsigned int compression_level;
|
||||
} mysql_zstd_compress_context;
|
||||
|
||||
/**
|
||||
Compression context information.
|
||||
It encapsulate the context information based on compression method and
|
||||
presents a generic struct.
|
||||
*/
|
||||
|
||||
typedef struct mysql_compress_context {
|
||||
enum enum_compression_algorithm algorithm; ///< Compression algorithm name.
|
||||
union {
|
||||
mysql_zlib_compress_context zlib_ctx; ///< Context information of zlib.
|
||||
mysql_zstd_compress_context zstd_ctx; ///< Context information of zstd.
|
||||
} u;
|
||||
} mysql_compress_context;
|
||||
|
||||
/**
|
||||
Get default compression level corresponding to a given compression method.
|
||||
|
||||
@param algorithm Compression Method. Possible values are zlib or zstd.
|
||||
|
||||
@return an unsigned int representing default compression level.
|
||||
6 is the default compression level for zlib and 3 is the
|
||||
default compression level for zstd.
|
||||
*/
|
||||
|
||||
unsigned int mysql_default_compression_level(
|
||||
enum enum_compression_algorithm algorithm);
|
||||
|
||||
/**
|
||||
Initialize a compress context object to be associated with a NET object.
|
||||
|
||||
@param cmp_ctx Pointer to compression context.
|
||||
@param algorithm Compression algorithm.
|
||||
@param compression_level Compression level corresponding to the compression
|
||||
algorithm.
|
||||
*/
|
||||
|
||||
void mysql_compress_context_init(mysql_compress_context *cmp_ctx,
|
||||
enum enum_compression_algorithm algorithm,
|
||||
unsigned int compression_level);
|
||||
/**
|
||||
Deinitialize the compression context allocated.
|
||||
|
||||
@param mysql_compress_ctx Pointer to Compression context.
|
||||
*/
|
||||
|
||||
void mysql_compress_context_deinit(mysql_compress_context *mysql_compress_ctx);
|
||||
|
||||
#endif // MY_COMPRESS_INCLUDED
|
||||
53
build/extraResources/mysql/include/my_list.h
Normal file
53
build/extraResources/mysql/include/my_list.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/* Copyright (c) 2000, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2.0,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is designed to work with certain software (including
|
||||
but not limited to OpenSSL) that is licensed under separate terms,
|
||||
as designated in a particular file or component or in included license
|
||||
documentation. The authors of MySQL hereby grant you an additional
|
||||
permission to link the program and your derivative works with the
|
||||
separately licensed software that they have either included with
|
||||
the program or referenced in the documentation.
|
||||
|
||||
Without limiting anything contained in the foregoing, this file,
|
||||
which is part of C Driver for MySQL (Connector/C), is also subject to the
|
||||
Universal FOSS Exception, version 1.0, a copy of which can be found at
|
||||
http://oss.oracle.com/licenses/universal-foss-exception.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License, version 2.0, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
#ifndef MY_LIST_INCLUDED
|
||||
#define MY_LIST_INCLUDED
|
||||
|
||||
/**
|
||||
@file include/my_list.h
|
||||
*/
|
||||
|
||||
typedef struct LIST {
|
||||
struct LIST *prev, *next;
|
||||
void *data;
|
||||
} LIST;
|
||||
|
||||
typedef int (*list_walk_action)(void *, void *);
|
||||
|
||||
extern LIST *list_add(LIST *root, LIST *element);
|
||||
extern LIST *list_delete(LIST *root, LIST *element);
|
||||
extern LIST *list_cons(void *data, LIST *root);
|
||||
extern LIST *list_reverse(LIST *root);
|
||||
extern void list_free(LIST *root, unsigned int free_data);
|
||||
extern unsigned int list_length(LIST *);
|
||||
extern int list_walk(LIST *, list_walk_action action, unsigned char *argument);
|
||||
|
||||
#define list_rest(a) ((a)->next)
|
||||
|
||||
#endif // MY_LIST_INCLUDED
|
||||
818
build/extraResources/mysql/include/mysql.h
Normal file
818
build/extraResources/mysql/include/mysql.h
Normal file
@@ -0,0 +1,818 @@
|
||||
/* Copyright (c) 2000, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2.0,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is designed to work with certain software (including
|
||||
but not limited to OpenSSL) that is licensed under separate terms,
|
||||
as designated in a particular file or component or in included license
|
||||
documentation. The authors of MySQL hereby grant you an additional
|
||||
permission to link the program and your derivative works with the
|
||||
separately licensed software that they have either included with
|
||||
the program or referenced in the documentation.
|
||||
|
||||
Without limiting anything contained in the foregoing, this file,
|
||||
which is part of C Driver for MySQL (Connector/C), is also subject to the
|
||||
Universal FOSS Exception, version 1.0, a copy of which can be found at
|
||||
http://oss.oracle.com/licenses/universal-foss-exception.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License, version 2.0, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
/**
|
||||
@file include/mysql.h
|
||||
This file defines the client API to MySQL and also the ABI of the
|
||||
dynamically linked libmysqlclient.
|
||||
|
||||
The ABI should never be changed in a released product of MySQL,
|
||||
thus you need to take great care when changing the file. In case
|
||||
the file is changed so the ABI is broken, you must also update
|
||||
the SHARED_LIB_MAJOR_VERSION in cmake/mysql_version.cmake
|
||||
*/
|
||||
|
||||
#ifndef _mysql_h
|
||||
#define _mysql_h
|
||||
|
||||
#ifndef MYSQL_ABI_CHECK
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
// Legacy definition for the benefit of old code. Use uint64_t in new code.
|
||||
// If you get warnings from printf, use the PRIu64 macro, or, if you need
|
||||
// compatibility with older versions of the client library, cast
|
||||
// before printing.
|
||||
typedef uint64_t my_ulonglong;
|
||||
|
||||
#ifndef my_socket_defined
|
||||
#define my_socket_defined
|
||||
#if defined(_WIN32) && !defined(MYSQL_ABI_CHECK)
|
||||
#include <windows.h>
|
||||
#ifdef WIN32_LEAN_AND_MEAN
|
||||
#include <winsock2.h>
|
||||
#endif
|
||||
#define my_socket SOCKET
|
||||
#else
|
||||
typedef int my_socket;
|
||||
#endif /* _WIN32 && ! MYSQL_ABI_CHECK */
|
||||
#endif /* my_socket_defined */
|
||||
|
||||
// Small extra definition to avoid pulling in my_compiler.h in client code.
|
||||
// IWYU pragma: no_include "my_compiler.h"
|
||||
#ifndef MY_COMPILER_INCLUDED
|
||||
#if !defined(_WIN32) || defined(MYSQL_ABI_CHECK)
|
||||
#define STDCALL
|
||||
#else
|
||||
#define STDCALL __stdcall
|
||||
#endif
|
||||
#endif /* MY_COMPILER_INCLUDED */
|
||||
|
||||
#include "field_types.h"
|
||||
#include "my_list.h"
|
||||
#include "mysql_com.h"
|
||||
|
||||
/* Include declarations of plug-in API */
|
||||
#include "mysql/client_plugin.h" // IWYU pragma: keep
|
||||
|
||||
/*
|
||||
The client should be able to know which version it is compiled against,
|
||||
even if mysql.h doesn't use this information directly.
|
||||
*/
|
||||
#include "mysql_version.h" // IWYU pragma: keep
|
||||
|
||||
// MYSQL_TIME is part of our public API.
|
||||
#include "mysql_time.h" // IWYU pragma: keep
|
||||
|
||||
// The error messages are part of our public API.
|
||||
#include "errmsg.h" // IWYU pragma: keep
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern unsigned int mysql_port;
|
||||
extern char *mysql_unix_port;
|
||||
|
||||
#define CLIENT_NET_RETRY_COUNT 1 /* Retry count */
|
||||
#define CLIENT_NET_READ_TIMEOUT 365 * 24 * 3600 /* Timeout on read */
|
||||
#define CLIENT_NET_WRITE_TIMEOUT 365 * 24 * 3600 /* Timeout on write */
|
||||
|
||||
#define IS_PRI_KEY(n) ((n)&PRI_KEY_FLAG)
|
||||
#define IS_NOT_NULL(n) ((n)&NOT_NULL_FLAG)
|
||||
#define IS_BLOB(n) ((n)&BLOB_FLAG)
|
||||
/**
|
||||
Returns true if the value is a number which does not need quotes for
|
||||
the sql_lex.cc parser to parse correctly.
|
||||
*/
|
||||
#define IS_NUM(t) \
|
||||
(((t) <= MYSQL_TYPE_INT24 && (t) != MYSQL_TYPE_TIMESTAMP) || \
|
||||
(t) == MYSQL_TYPE_YEAR || (t) == MYSQL_TYPE_NEWDECIMAL)
|
||||
#define IS_LONGDATA(t) ((t) >= MYSQL_TYPE_TINY_BLOB && (t) <= MYSQL_TYPE_STRING)
|
||||
|
||||
typedef struct MYSQL_FIELD {
|
||||
char *name; /* Name of column */
|
||||
char *org_name; /* Original column name, if an alias */
|
||||
char *table; /* Table of column if column was a field */
|
||||
char *org_table; /* Org table name, if table was an alias */
|
||||
char *db; /* Database for table */
|
||||
char *catalog; /* Catalog for table */
|
||||
char *def; /* Default value (set by mysql_list_fields) */
|
||||
unsigned long length; /* Width of column (create length) */
|
||||
unsigned long max_length; /* Max width for selected set */
|
||||
unsigned int name_length;
|
||||
unsigned int org_name_length;
|
||||
unsigned int table_length;
|
||||
unsigned int org_table_length;
|
||||
unsigned int db_length;
|
||||
unsigned int catalog_length;
|
||||
unsigned int def_length;
|
||||
unsigned int flags; /* Div flags */
|
||||
unsigned int decimals; /* Number of decimals in field */
|
||||
unsigned int charsetnr; /* Character set */
|
||||
enum enum_field_types type; /* Type of field. See mysql_com.h for types */
|
||||
void *extension;
|
||||
} MYSQL_FIELD;
|
||||
|
||||
typedef char **MYSQL_ROW; /* return data as array of strings */
|
||||
typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
|
||||
|
||||
#define MYSQL_COUNT_ERROR (~(uint64_t)0)
|
||||
|
||||
/* backward compatibility define - to be removed eventually */
|
||||
#define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED
|
||||
|
||||
typedef struct MYSQL_ROWS {
|
||||
struct MYSQL_ROWS *next; /* list of rows */
|
||||
MYSQL_ROW data;
|
||||
unsigned long length;
|
||||
} MYSQL_ROWS;
|
||||
|
||||
typedef MYSQL_ROWS *MYSQL_ROW_OFFSET; /* offset to current row */
|
||||
|
||||
struct MEM_ROOT;
|
||||
|
||||
typedef struct MYSQL_DATA {
|
||||
MYSQL_ROWS *data;
|
||||
struct MEM_ROOT *alloc;
|
||||
uint64_t rows;
|
||||
unsigned int fields;
|
||||
} MYSQL_DATA;
|
||||
|
||||
enum mysql_option {
|
||||
MYSQL_OPT_CONNECT_TIMEOUT,
|
||||
MYSQL_OPT_COMPRESS,
|
||||
MYSQL_OPT_NAMED_PIPE,
|
||||
MYSQL_INIT_COMMAND,
|
||||
MYSQL_READ_DEFAULT_FILE,
|
||||
MYSQL_READ_DEFAULT_GROUP,
|
||||
MYSQL_SET_CHARSET_DIR,
|
||||
MYSQL_SET_CHARSET_NAME,
|
||||
MYSQL_OPT_LOCAL_INFILE,
|
||||
MYSQL_OPT_PROTOCOL,
|
||||
MYSQL_SHARED_MEMORY_BASE_NAME,
|
||||
MYSQL_OPT_READ_TIMEOUT,
|
||||
MYSQL_OPT_WRITE_TIMEOUT,
|
||||
MYSQL_OPT_USE_RESULT,
|
||||
MYSQL_REPORT_DATA_TRUNCATION,
|
||||
MYSQL_OPT_RECONNECT,
|
||||
MYSQL_PLUGIN_DIR,
|
||||
MYSQL_DEFAULT_AUTH,
|
||||
MYSQL_OPT_BIND,
|
||||
MYSQL_OPT_SSL_KEY,
|
||||
MYSQL_OPT_SSL_CERT,
|
||||
MYSQL_OPT_SSL_CA,
|
||||
MYSQL_OPT_SSL_CAPATH,
|
||||
MYSQL_OPT_SSL_CIPHER,
|
||||
MYSQL_OPT_SSL_CRL,
|
||||
MYSQL_OPT_SSL_CRLPATH,
|
||||
MYSQL_OPT_CONNECT_ATTR_RESET,
|
||||
MYSQL_OPT_CONNECT_ATTR_ADD,
|
||||
MYSQL_OPT_CONNECT_ATTR_DELETE,
|
||||
MYSQL_SERVER_PUBLIC_KEY,
|
||||
MYSQL_ENABLE_CLEARTEXT_PLUGIN,
|
||||
MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS,
|
||||
MYSQL_OPT_MAX_ALLOWED_PACKET,
|
||||
MYSQL_OPT_NET_BUFFER_LENGTH,
|
||||
MYSQL_OPT_TLS_VERSION,
|
||||
MYSQL_OPT_SSL_MODE,
|
||||
MYSQL_OPT_GET_SERVER_PUBLIC_KEY,
|
||||
MYSQL_OPT_RETRY_COUNT,
|
||||
MYSQL_OPT_OPTIONAL_RESULTSET_METADATA,
|
||||
MYSQL_OPT_SSL_FIPS_MODE,
|
||||
MYSQL_OPT_TLS_CIPHERSUITES,
|
||||
MYSQL_OPT_COMPRESSION_ALGORITHMS,
|
||||
MYSQL_OPT_ZSTD_COMPRESSION_LEVEL,
|
||||
MYSQL_OPT_LOAD_DATA_LOCAL_DIR,
|
||||
MYSQL_OPT_USER_PASSWORD,
|
||||
MYSQL_OPT_SSL_SESSION_DATA
|
||||
};
|
||||
|
||||
/**
|
||||
@todo remove the "extension", move st_mysql_options completely
|
||||
out of mysql.h
|
||||
*/
|
||||
struct st_mysql_options_extention;
|
||||
|
||||
struct st_mysql_options {
|
||||
unsigned int connect_timeout, read_timeout, write_timeout;
|
||||
unsigned int port, protocol;
|
||||
unsigned long client_flag;
|
||||
char *host, *user, *password, *unix_socket, *db;
|
||||
struct Init_commands_array *init_commands;
|
||||
char *my_cnf_file, *my_cnf_group, *charset_dir, *charset_name;
|
||||
char *ssl_key; /* PEM key file */
|
||||
char *ssl_cert; /* PEM cert file */
|
||||
char *ssl_ca; /* PEM CA file */
|
||||
char *ssl_capath; /* PEM directory of CA-s? */
|
||||
char *ssl_cipher; /* cipher to use */
|
||||
char *shared_memory_base_name;
|
||||
unsigned long max_allowed_packet;
|
||||
bool compress, named_pipe;
|
||||
/**
|
||||
The local address to bind when connecting to remote server.
|
||||
*/
|
||||
char *bind_address;
|
||||
/* 0 - never report, 1 - always report (default) */
|
||||
bool report_data_truncation;
|
||||
|
||||
/* function pointers for local infile support */
|
||||
int (*local_infile_init)(void **, const char *, void *);
|
||||
int (*local_infile_read)(void *, char *, unsigned int);
|
||||
void (*local_infile_end)(void *);
|
||||
int (*local_infile_error)(void *, char *, unsigned int);
|
||||
void *local_infile_userdata;
|
||||
struct st_mysql_options_extention *extension;
|
||||
};
|
||||
|
||||
enum mysql_status {
|
||||
MYSQL_STATUS_READY,
|
||||
MYSQL_STATUS_GET_RESULT,
|
||||
MYSQL_STATUS_USE_RESULT,
|
||||
MYSQL_STATUS_STATEMENT_GET_RESULT
|
||||
};
|
||||
|
||||
enum mysql_protocol_type {
|
||||
MYSQL_PROTOCOL_DEFAULT,
|
||||
MYSQL_PROTOCOL_TCP,
|
||||
MYSQL_PROTOCOL_SOCKET,
|
||||
MYSQL_PROTOCOL_PIPE,
|
||||
MYSQL_PROTOCOL_MEMORY
|
||||
};
|
||||
|
||||
enum mysql_ssl_mode {
|
||||
SSL_MODE_DISABLED = 1,
|
||||
SSL_MODE_PREFERRED,
|
||||
SSL_MODE_REQUIRED,
|
||||
SSL_MODE_VERIFY_CA,
|
||||
SSL_MODE_VERIFY_IDENTITY
|
||||
};
|
||||
|
||||
enum mysql_ssl_fips_mode {
|
||||
SSL_FIPS_MODE_OFF = 0,
|
||||
SSL_FIPS_MODE_ON = 1,
|
||||
SSL_FIPS_MODE_STRICT
|
||||
};
|
||||
|
||||
typedef struct character_set {
|
||||
unsigned int number; /* character set number */
|
||||
unsigned int state; /* character set state */
|
||||
const char *csname; /* character set name */
|
||||
const char *name; /* collation name */
|
||||
const char *comment; /* comment */
|
||||
const char *dir; /* character set directory */
|
||||
unsigned int mbminlen; /* min. length for multibyte strings */
|
||||
unsigned int mbmaxlen; /* max. length for multibyte strings */
|
||||
} MY_CHARSET_INFO;
|
||||
|
||||
struct MYSQL_METHODS;
|
||||
struct MYSQL_STMT;
|
||||
|
||||
typedef struct MYSQL {
|
||||
NET net; /* Communication parameters */
|
||||
unsigned char *connector_fd; /* ConnectorFd for SSL */
|
||||
char *host, *user, *passwd, *unix_socket, *server_version, *host_info;
|
||||
char *info, *db;
|
||||
struct CHARSET_INFO *charset;
|
||||
MYSQL_FIELD *fields;
|
||||
struct MEM_ROOT *field_alloc;
|
||||
uint64_t affected_rows;
|
||||
uint64_t insert_id; /* id if insert on table with NEXTNR */
|
||||
uint64_t extra_info; /* Not used */
|
||||
unsigned long thread_id; /* Id for connection in server */
|
||||
unsigned long packet_length;
|
||||
unsigned int port;
|
||||
unsigned long client_flag, server_capabilities;
|
||||
unsigned int protocol_version;
|
||||
unsigned int field_count;
|
||||
unsigned int server_status;
|
||||
unsigned int server_language;
|
||||
unsigned int warning_count;
|
||||
struct st_mysql_options options;
|
||||
enum mysql_status status;
|
||||
enum enum_resultset_metadata resultset_metadata;
|
||||
bool free_me; /* If free in mysql_close */
|
||||
bool reconnect; /* set to 1 if automatic reconnect */
|
||||
|
||||
/* session-wide random string */
|
||||
char scramble[SCRAMBLE_LENGTH + 1];
|
||||
|
||||
LIST *stmts; /* list of all statements */
|
||||
const struct MYSQL_METHODS *methods;
|
||||
void *thd;
|
||||
/*
|
||||
Points to boolean flag in MYSQL_RES or MYSQL_STMT. We set this flag
|
||||
from mysql_stmt_close if close had to cancel result set of this object.
|
||||
*/
|
||||
bool *unbuffered_fetch_owner;
|
||||
void *extension;
|
||||
} MYSQL;
|
||||
|
||||
typedef struct MYSQL_RES {
|
||||
uint64_t row_count;
|
||||
MYSQL_FIELD *fields;
|
||||
struct MYSQL_DATA *data;
|
||||
MYSQL_ROWS *data_cursor;
|
||||
unsigned long *lengths; /* column lengths of current row */
|
||||
MYSQL *handle; /* for unbuffered reads */
|
||||
const struct MYSQL_METHODS *methods;
|
||||
MYSQL_ROW row; /* If unbuffered read */
|
||||
MYSQL_ROW current_row; /* buffer to current row */
|
||||
struct MEM_ROOT *field_alloc;
|
||||
unsigned int field_count, current_field;
|
||||
bool eof; /* Used by mysql_fetch_row */
|
||||
/* mysql_stmt_close() had to cancel this result */
|
||||
bool unbuffered_fetch_cancelled;
|
||||
enum enum_resultset_metadata metadata;
|
||||
void *extension;
|
||||
} MYSQL_RES;
|
||||
|
||||
/**
|
||||
Flag to indicate that COM_BINLOG_DUMP_GTID should
|
||||
be used rather than COM_BINLOG_DUMP in the @sa mysql_binlog_open().
|
||||
*/
|
||||
#define MYSQL_RPL_GTID (1 << 16)
|
||||
/**
|
||||
Skip HEARBEAT events in the @sa mysql_binlog_fetch().
|
||||
*/
|
||||
#define MYSQL_RPL_SKIP_HEARTBEAT (1 << 17)
|
||||
|
||||
/**
|
||||
Flag to indicate that the heartbeat_event being generated
|
||||
is using the class Heartbeat_event_v2
|
||||
*/
|
||||
#define USE_HEARTBEAT_EVENT_V2 (1 << 1)
|
||||
|
||||
/**
|
||||
Struct for information about a replication stream.
|
||||
|
||||
@sa mysql_binlog_open()
|
||||
@sa mysql_binlog_fetch()
|
||||
@sa mysql_binlog_close()
|
||||
*/
|
||||
typedef struct MYSQL_RPL {
|
||||
size_t file_name_length; /** Length of the 'file_name' or 0 */
|
||||
const char *file_name; /** Filename of the binary log to read */
|
||||
uint64_t start_position; /** Position in the binary log to */
|
||||
/* start reading from */
|
||||
unsigned int server_id; /** Server ID to use when identifying */
|
||||
/* with the master */
|
||||
unsigned int flags; /** Flags, e.g. MYSQL_RPL_GTID */
|
||||
|
||||
/** Size of gtid set data */
|
||||
size_t gtid_set_encoded_size;
|
||||
/** Callback function which is called */
|
||||
/* from @sa mysql_binlog_open() to */
|
||||
/* fill command packet gtid set */
|
||||
void (*fix_gtid_set)(struct MYSQL_RPL *rpl, unsigned char *packet_gtid_set);
|
||||
void *gtid_set_arg; /** GTID set data or an argument for */
|
||||
/* fix_gtid_set() callback function */
|
||||
|
||||
unsigned long size; /** Size of the packet returned by */
|
||||
/* mysql_binlog_fetch() */
|
||||
const unsigned char *buffer; /** Pointer to returned data */
|
||||
} MYSQL_RPL;
|
||||
|
||||
/*
|
||||
Set up and bring down the server; to ensure that applications will
|
||||
work when linked against either the standard client library or the
|
||||
embedded server library, these functions should be called.
|
||||
*/
|
||||
int STDCALL mysql_server_init(int argc, char **argv, char **groups);
|
||||
void STDCALL mysql_server_end(void);
|
||||
|
||||
/*
|
||||
mysql_server_init/end need to be called when using libmysqld or
|
||||
libmysqlclient (exactly, mysql_server_init() is called by mysql_init() so
|
||||
you don't need to call it explicitly; but you need to call
|
||||
mysql_server_end() to free memory). The names are a bit misleading
|
||||
(mysql_SERVER* to be used when using libmysqlCLIENT). So we add more general
|
||||
names which suit well whether you're using libmysqld or libmysqlclient. We
|
||||
intend to promote these aliases over the mysql_server* ones.
|
||||
*/
|
||||
#define mysql_library_init mysql_server_init
|
||||
#define mysql_library_end mysql_server_end
|
||||
|
||||
/*
|
||||
Set up and bring down a thread; these function should be called
|
||||
for each thread in an application which opens at least one MySQL
|
||||
connection. All uses of the connection(s) should be between these
|
||||
function calls.
|
||||
*/
|
||||
bool STDCALL mysql_thread_init(void);
|
||||
void STDCALL mysql_thread_end(void);
|
||||
|
||||
/*
|
||||
Functions to get information from the MYSQL and MYSQL_RES structures
|
||||
Should definitely be used if one uses shared libraries.
|
||||
*/
|
||||
|
||||
uint64_t STDCALL mysql_num_rows(MYSQL_RES *res);
|
||||
unsigned int STDCALL mysql_num_fields(MYSQL_RES *res);
|
||||
bool STDCALL mysql_eof(MYSQL_RES *res);
|
||||
MYSQL_FIELD *STDCALL mysql_fetch_field_direct(MYSQL_RES *res,
|
||||
unsigned int fieldnr);
|
||||
MYSQL_FIELD *STDCALL mysql_fetch_fields(MYSQL_RES *res);
|
||||
MYSQL_ROW_OFFSET STDCALL mysql_row_tell(MYSQL_RES *res);
|
||||
MYSQL_FIELD_OFFSET STDCALL mysql_field_tell(MYSQL_RES *res);
|
||||
enum enum_resultset_metadata STDCALL mysql_result_metadata(MYSQL_RES *result);
|
||||
|
||||
unsigned int STDCALL mysql_field_count(MYSQL *mysql);
|
||||
uint64_t STDCALL mysql_affected_rows(MYSQL *mysql);
|
||||
uint64_t STDCALL mysql_insert_id(MYSQL *mysql);
|
||||
unsigned int STDCALL mysql_errno(MYSQL *mysql);
|
||||
const char *STDCALL mysql_error(MYSQL *mysql);
|
||||
const char *STDCALL mysql_sqlstate(MYSQL *mysql);
|
||||
unsigned int STDCALL mysql_warning_count(MYSQL *mysql);
|
||||
const char *STDCALL mysql_info(MYSQL *mysql);
|
||||
unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
|
||||
const char *STDCALL mysql_character_set_name(MYSQL *mysql);
|
||||
int STDCALL mysql_set_character_set(MYSQL *mysql, const char *csname);
|
||||
|
||||
MYSQL *STDCALL mysql_init(MYSQL *mysql);
|
||||
#if defined(__cplusplus) && (__cplusplus >= 201402L)
|
||||
[[deprecated("Use mysql_options() instead.")]]
|
||||
#endif
|
||||
bool STDCALL
|
||||
mysql_ssl_set(MYSQL *mysql, const char *key, const char *cert, const char *ca,
|
||||
const char *capath, const char *cipher);
|
||||
const char *STDCALL mysql_get_ssl_cipher(MYSQL *mysql);
|
||||
bool STDCALL mysql_get_ssl_session_reused(MYSQL *mysql);
|
||||
void *STDCALL mysql_get_ssl_session_data(MYSQL *mysql, unsigned int n_ticket,
|
||||
unsigned int *out_len);
|
||||
bool STDCALL mysql_free_ssl_session_data(MYSQL *mysql, void *data);
|
||||
bool STDCALL mysql_change_user(MYSQL *mysql, const char *user,
|
||||
const char *passwd, const char *db);
|
||||
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);
|
||||
int STDCALL mysql_select_db(MYSQL *mysql, const char *db);
|
||||
int STDCALL mysql_query(MYSQL *mysql, const char *q);
|
||||
int STDCALL mysql_send_query(MYSQL *mysql, const char *q, unsigned long length);
|
||||
int STDCALL mysql_real_query(MYSQL *mysql, const char *q, unsigned long length);
|
||||
MYSQL_RES *STDCALL mysql_store_result(MYSQL *mysql);
|
||||
MYSQL_RES *STDCALL mysql_use_result(MYSQL *mysql);
|
||||
|
||||
enum net_async_status STDCALL mysql_real_connect_nonblocking(
|
||||
MYSQL *mysql, const char *host, const char *user, const char *passwd,
|
||||
const char *db, unsigned int port, const char *unix_socket,
|
||||
unsigned long clientflag);
|
||||
enum net_async_status STDCALL mysql_send_query_nonblocking(
|
||||
MYSQL *mysql, const char *query, unsigned long length);
|
||||
enum net_async_status STDCALL mysql_real_query_nonblocking(
|
||||
MYSQL *mysql, const char *query, unsigned long length);
|
||||
enum net_async_status STDCALL
|
||||
mysql_store_result_nonblocking(MYSQL *mysql, MYSQL_RES **result);
|
||||
enum net_async_status STDCALL mysql_next_result_nonblocking(MYSQL *mysql);
|
||||
enum net_async_status STDCALL mysql_select_db_nonblocking(MYSQL *mysql,
|
||||
const char *db,
|
||||
bool *error);
|
||||
void STDCALL mysql_get_character_set_info(MYSQL *mysql,
|
||||
MY_CHARSET_INFO *charset);
|
||||
|
||||
int STDCALL mysql_session_track_get_first(MYSQL *mysql,
|
||||
enum enum_session_state_type type,
|
||||
const char **data, size_t *length);
|
||||
int STDCALL mysql_session_track_get_next(MYSQL *mysql,
|
||||
enum enum_session_state_type type,
|
||||
const char **data, size_t *length);
|
||||
/* local infile support */
|
||||
|
||||
#define LOCAL_INFILE_ERROR_LEN 512
|
||||
|
||||
void mysql_set_local_infile_handler(
|
||||
MYSQL *mysql, int (*local_infile_init)(void **, const char *, void *),
|
||||
int (*local_infile_read)(void *, char *, unsigned int),
|
||||
void (*local_infile_end)(void *),
|
||||
int (*local_infile_error)(void *, char *, unsigned int), void *);
|
||||
|
||||
void mysql_set_local_infile_default(MYSQL *mysql);
|
||||
int STDCALL mysql_shutdown(MYSQL *mysql,
|
||||
enum mysql_enum_shutdown_level shutdown_level);
|
||||
int STDCALL mysql_dump_debug_info(MYSQL *mysql);
|
||||
int STDCALL mysql_refresh(MYSQL *mysql, unsigned int refresh_options);
|
||||
int STDCALL mysql_kill(MYSQL *mysql, unsigned long pid);
|
||||
int STDCALL mysql_set_server_option(MYSQL *mysql,
|
||||
enum enum_mysql_set_option option);
|
||||
int STDCALL mysql_ping(MYSQL *mysql);
|
||||
const char *STDCALL mysql_stat(MYSQL *mysql);
|
||||
const char *STDCALL mysql_get_server_info(MYSQL *mysql);
|
||||
const char *STDCALL mysql_get_client_info(void);
|
||||
unsigned long STDCALL mysql_get_client_version(void);
|
||||
const char *STDCALL mysql_get_host_info(MYSQL *mysql);
|
||||
unsigned long STDCALL mysql_get_server_version(MYSQL *mysql);
|
||||
unsigned int STDCALL mysql_get_proto_info(MYSQL *mysql);
|
||||
MYSQL_RES *STDCALL mysql_list_dbs(MYSQL *mysql, const char *wild);
|
||||
MYSQL_RES *STDCALL mysql_list_tables(MYSQL *mysql, const char *wild);
|
||||
MYSQL_RES *STDCALL mysql_list_processes(MYSQL *mysql);
|
||||
int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option,
|
||||
const void *arg);
|
||||
int STDCALL mysql_options4(MYSQL *mysql, enum mysql_option option,
|
||||
const void *arg1, const void *arg2);
|
||||
int STDCALL mysql_get_option(MYSQL *mysql, enum mysql_option option,
|
||||
const void *arg);
|
||||
void STDCALL mysql_free_result(MYSQL_RES *result);
|
||||
enum net_async_status STDCALL mysql_free_result_nonblocking(MYSQL_RES *result);
|
||||
void STDCALL mysql_data_seek(MYSQL_RES *result, uint64_t offset);
|
||||
MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES *result,
|
||||
MYSQL_ROW_OFFSET offset);
|
||||
MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES *result,
|
||||
MYSQL_FIELD_OFFSET offset);
|
||||
MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result);
|
||||
enum net_async_status STDCALL mysql_fetch_row_nonblocking(MYSQL_RES *res,
|
||||
MYSQL_ROW *row);
|
||||
|
||||
unsigned long *STDCALL mysql_fetch_lengths(MYSQL_RES *result);
|
||||
MYSQL_FIELD *STDCALL mysql_fetch_field(MYSQL_RES *result);
|
||||
MYSQL_RES *STDCALL mysql_list_fields(MYSQL *mysql, const char *table,
|
||||
const char *wild);
|
||||
unsigned long STDCALL mysql_escape_string(char *to, const char *from,
|
||||
unsigned long from_length);
|
||||
unsigned long STDCALL mysql_hex_string(char *to, const char *from,
|
||||
unsigned long from_length);
|
||||
unsigned long STDCALL mysql_real_escape_string(MYSQL *mysql, char *to,
|
||||
const char *from,
|
||||
unsigned long length);
|
||||
unsigned long STDCALL mysql_real_escape_string_quote(MYSQL *mysql, char *to,
|
||||
const char *from,
|
||||
unsigned long length,
|
||||
char quote);
|
||||
void STDCALL mysql_debug(const char *debug);
|
||||
void STDCALL myodbc_remove_escape(MYSQL *mysql, char *name);
|
||||
unsigned int STDCALL mysql_thread_safe(void);
|
||||
bool STDCALL mysql_read_query_result(MYSQL *mysql);
|
||||
int STDCALL mysql_reset_connection(MYSQL *mysql);
|
||||
|
||||
int STDCALL mysql_binlog_open(MYSQL *mysql, MYSQL_RPL *rpl);
|
||||
int STDCALL mysql_binlog_fetch(MYSQL *mysql, MYSQL_RPL *rpl);
|
||||
void STDCALL mysql_binlog_close(MYSQL *mysql, MYSQL_RPL *rpl);
|
||||
|
||||
/*
|
||||
The following definitions are added for the enhanced
|
||||
client-server protocol
|
||||
*/
|
||||
|
||||
/* statement state */
|
||||
enum enum_mysql_stmt_state {
|
||||
MYSQL_STMT_INIT_DONE = 1,
|
||||
MYSQL_STMT_PREPARE_DONE,
|
||||
MYSQL_STMT_EXECUTE_DONE,
|
||||
MYSQL_STMT_FETCH_DONE
|
||||
};
|
||||
|
||||
/*
|
||||
This structure is used to define bind information, and
|
||||
internally by the client library.
|
||||
Public members with their descriptions are listed below
|
||||
(conventionally `On input' refers to the binds given to
|
||||
mysql_stmt_bind_param, `On output' refers to the binds given
|
||||
to mysql_stmt_bind_result):
|
||||
|
||||
buffer_type - One of the MYSQL_* types, used to describe
|
||||
the host language type of buffer.
|
||||
On output: if column type is different from
|
||||
buffer_type, column value is automatically converted
|
||||
to buffer_type before it is stored in the buffer.
|
||||
buffer - On input: points to the buffer with input data.
|
||||
On output: points to the buffer capable to store
|
||||
output data.
|
||||
The type of memory pointed by buffer must correspond
|
||||
to buffer_type. See the correspondence table in
|
||||
the comment to mysql_stmt_bind_param.
|
||||
|
||||
The two above members are mandatory for any kind of bind.
|
||||
|
||||
buffer_length - the length of the buffer. You don't have to set
|
||||
it for any fixed length buffer: float, double,
|
||||
int, etc. It must be set however for variable-length
|
||||
types, such as BLOBs or STRINGs.
|
||||
|
||||
length - On input: in case when lengths of input values
|
||||
are different for each execute, you can set this to
|
||||
point at a variable containing value length. This
|
||||
way the value length can be different in each execute.
|
||||
If length is not NULL, buffer_length is not used.
|
||||
Note, length can even point at buffer_length if
|
||||
you keep bind structures around while fetching:
|
||||
this way you can change buffer_length before
|
||||
each execution, everything will work ok.
|
||||
On output: if length is set, mysql_stmt_fetch will
|
||||
write column length into it.
|
||||
|
||||
is_null - On input: points to a boolean variable that should
|
||||
be set to TRUE for NULL values.
|
||||
This member is useful only if your data may be
|
||||
NULL in some but not all cases.
|
||||
If your data is never NULL, is_null should be set to 0.
|
||||
If your data is always NULL, set buffer_type
|
||||
to MYSQL_TYPE_NULL, and is_null will not be used.
|
||||
|
||||
is_unsigned - On input: used to signify that values provided for one
|
||||
of numeric types are unsigned.
|
||||
On output describes signedness of the output buffer.
|
||||
If, taking into account is_unsigned flag, column data
|
||||
is out of range of the output buffer, data for this column
|
||||
is regarded truncated. Note that this has no correspondence
|
||||
to the sign of result set column, if you need to find it out
|
||||
use mysql_stmt_result_metadata.
|
||||
error - where to write a truncation error if it is present.
|
||||
possible error value is:
|
||||
0 no truncation
|
||||
1 value is out of range or buffer is too small
|
||||
|
||||
Please note that MYSQL_BIND also has internals members.
|
||||
*/
|
||||
|
||||
typedef struct MYSQL_BIND {
|
||||
unsigned long *length; /* output length pointer */
|
||||
bool *is_null; /* Pointer to null indicator */
|
||||
void *buffer; /* buffer to get/put data */
|
||||
/* set this if you want to track data truncations happened during fetch */
|
||||
bool *error;
|
||||
unsigned char *row_ptr; /* for the current data position */
|
||||
void (*store_param_func)(NET *net, struct MYSQL_BIND *param);
|
||||
void (*fetch_result)(struct MYSQL_BIND *, MYSQL_FIELD *, unsigned char **row);
|
||||
void (*skip_result)(struct MYSQL_BIND *, MYSQL_FIELD *, unsigned char **row);
|
||||
/* output buffer length, must be set when fetching str/binary */
|
||||
unsigned long buffer_length;
|
||||
unsigned long offset; /* offset position for char/binary fetch */
|
||||
unsigned long length_value; /* Used if length is 0 */
|
||||
unsigned int param_number; /* For null count and error messages */
|
||||
unsigned int pack_length; /* Internal length for packed data */
|
||||
enum enum_field_types buffer_type; /* buffer type */
|
||||
bool error_value; /* used if error is 0 */
|
||||
bool is_unsigned; /* set if integer type is unsigned */
|
||||
bool long_data_used; /* If used with mysql_send_long_data */
|
||||
bool is_null_value; /* Used if is_null is 0 */
|
||||
void *extension;
|
||||
} MYSQL_BIND;
|
||||
|
||||
struct MYSQL_STMT_EXT;
|
||||
|
||||
/* statement handler */
|
||||
typedef struct MYSQL_STMT {
|
||||
struct MEM_ROOT *mem_root; /* root allocations */
|
||||
LIST list; /* list to keep track of all stmts */
|
||||
MYSQL *mysql; /* connection handle */
|
||||
MYSQL_BIND *params; /* input parameters */
|
||||
MYSQL_BIND *bind; /* output parameters */
|
||||
MYSQL_FIELD *fields; /* result set metadata */
|
||||
MYSQL_DATA result; /* cached result set */
|
||||
MYSQL_ROWS *data_cursor; /* current row in cached result */
|
||||
/*
|
||||
mysql_stmt_fetch() calls this function to fetch one row (it's different
|
||||
for buffered, unbuffered and cursor fetch).
|
||||
*/
|
||||
int (*read_row_func)(struct MYSQL_STMT *stmt, unsigned char **row);
|
||||
/* copy of mysql->affected_rows after statement execution */
|
||||
uint64_t affected_rows;
|
||||
uint64_t insert_id; /* copy of mysql->insert_id */
|
||||
unsigned long stmt_id; /* Id for prepared statement */
|
||||
unsigned long flags; /* i.e. type of cursor to open */
|
||||
unsigned long prefetch_rows; /* number of rows per one COM_FETCH */
|
||||
/*
|
||||
Copied from mysql->server_status after execute/fetch to know
|
||||
server-side cursor status for this statement.
|
||||
*/
|
||||
unsigned int server_status;
|
||||
unsigned int last_errno; /* error code */
|
||||
unsigned int param_count; /* input parameter count */
|
||||
unsigned int field_count; /* number of columns in result set */
|
||||
enum enum_mysql_stmt_state state; /* statement state */
|
||||
char last_error[MYSQL_ERRMSG_SIZE]; /* error message */
|
||||
char sqlstate[SQLSTATE_LENGTH + 1];
|
||||
/* Types of input parameters should be sent to server */
|
||||
bool send_types_to_server;
|
||||
bool bind_param_done; /* input buffers were supplied */
|
||||
unsigned char bind_result_done; /* output buffers were supplied */
|
||||
/* mysql_stmt_close() had to cancel this result */
|
||||
bool unbuffered_fetch_cancelled;
|
||||
/*
|
||||
Is set to true if we need to calculate field->max_length for
|
||||
metadata fields when doing mysql_stmt_store_result.
|
||||
*/
|
||||
bool update_max_length;
|
||||
struct MYSQL_STMT_EXT *extension;
|
||||
} MYSQL_STMT;
|
||||
|
||||
enum enum_stmt_attr_type {
|
||||
/*
|
||||
When doing mysql_stmt_store_result calculate max_length attribute
|
||||
of statement metadata. This is to be consistent with the old API,
|
||||
where this was done automatically.
|
||||
In the new API we do that only by request because it slows down
|
||||
mysql_stmt_store_result sufficiently.
|
||||
*/
|
||||
STMT_ATTR_UPDATE_MAX_LENGTH,
|
||||
/*
|
||||
unsigned long with combination of cursor flags (read only, for update,
|
||||
etc)
|
||||
*/
|
||||
STMT_ATTR_CURSOR_TYPE,
|
||||
/*
|
||||
Amount of rows to retrieve from server per one fetch if using cursors.
|
||||
Accepts unsigned long attribute in the range 1 - ulong_max
|
||||
*/
|
||||
STMT_ATTR_PREFETCH_ROWS
|
||||
};
|
||||
|
||||
bool STDCALL mysql_bind_param(MYSQL *mysql, unsigned n_params,
|
||||
MYSQL_BIND *binds, const char **names);
|
||||
|
||||
MYSQL_STMT *STDCALL mysql_stmt_init(MYSQL *mysql);
|
||||
int STDCALL mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query,
|
||||
unsigned long length);
|
||||
int STDCALL mysql_stmt_execute(MYSQL_STMT *stmt);
|
||||
int STDCALL mysql_stmt_fetch(MYSQL_STMT *stmt);
|
||||
int STDCALL mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *bind_arg,
|
||||
unsigned int column, unsigned long offset);
|
||||
int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt);
|
||||
unsigned long STDCALL mysql_stmt_param_count(MYSQL_STMT *stmt);
|
||||
bool STDCALL mysql_stmt_attr_set(MYSQL_STMT *stmt,
|
||||
enum enum_stmt_attr_type attr_type,
|
||||
const void *attr);
|
||||
bool STDCALL mysql_stmt_attr_get(MYSQL_STMT *stmt,
|
||||
enum enum_stmt_attr_type attr_type,
|
||||
void *attr);
|
||||
bool STDCALL mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *bnd);
|
||||
bool STDCALL mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *bnd);
|
||||
bool STDCALL mysql_stmt_close(MYSQL_STMT *stmt);
|
||||
bool STDCALL mysql_stmt_reset(MYSQL_STMT *stmt);
|
||||
bool STDCALL mysql_stmt_free_result(MYSQL_STMT *stmt);
|
||||
bool STDCALL mysql_stmt_send_long_data(MYSQL_STMT *stmt,
|
||||
unsigned int param_number,
|
||||
const char *data, unsigned long length);
|
||||
MYSQL_RES *STDCALL mysql_stmt_result_metadata(MYSQL_STMT *stmt);
|
||||
MYSQL_RES *STDCALL mysql_stmt_param_metadata(MYSQL_STMT *stmt);
|
||||
unsigned int STDCALL mysql_stmt_errno(MYSQL_STMT *stmt);
|
||||
const char *STDCALL mysql_stmt_error(MYSQL_STMT *stmt);
|
||||
const char *STDCALL mysql_stmt_sqlstate(MYSQL_STMT *stmt);
|
||||
MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_seek(MYSQL_STMT *stmt,
|
||||
MYSQL_ROW_OFFSET offset);
|
||||
MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_tell(MYSQL_STMT *stmt);
|
||||
void STDCALL mysql_stmt_data_seek(MYSQL_STMT *stmt, uint64_t offset);
|
||||
uint64_t STDCALL mysql_stmt_num_rows(MYSQL_STMT *stmt);
|
||||
uint64_t STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt);
|
||||
uint64_t STDCALL mysql_stmt_insert_id(MYSQL_STMT *stmt);
|
||||
unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt);
|
||||
|
||||
bool STDCALL mysql_commit(MYSQL *mysql);
|
||||
bool STDCALL mysql_rollback(MYSQL *mysql);
|
||||
bool STDCALL mysql_autocommit(MYSQL *mysql, bool auto_mode);
|
||||
bool STDCALL mysql_more_results(MYSQL *mysql);
|
||||
int STDCALL mysql_next_result(MYSQL *mysql);
|
||||
int STDCALL mysql_stmt_next_result(MYSQL_STMT *stmt);
|
||||
void STDCALL mysql_close(MYSQL *sock);
|
||||
|
||||
/* Public key reset */
|
||||
void STDCALL mysql_reset_server_public_key(void);
|
||||
|
||||
/* status return codes */
|
||||
#define MYSQL_NO_DATA 100
|
||||
#define MYSQL_DATA_TRUNCATED 101
|
||||
|
||||
#define mysql_reload(mysql) mysql_refresh((mysql), REFRESH_GRANT)
|
||||
|
||||
#define HAVE_MYSQL_REAL_CONNECT
|
||||
|
||||
MYSQL *STDCALL mysql_real_connect_dns_srv(MYSQL *mysql,
|
||||
const char *dns_srv_name,
|
||||
const char *user, const char *passwd,
|
||||
const char *db,
|
||||
unsigned long client_flag);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _mysql_h */
|
||||
236
build/extraResources/mysql/include/mysql/client_plugin.h
Normal file
236
build/extraResources/mysql/include/mysql/client_plugin.h
Normal file
@@ -0,0 +1,236 @@
|
||||
#ifndef MYSQL_CLIENT_PLUGIN_INCLUDED
|
||||
/* Copyright (c) 2010, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2.0,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is designed to work with certain software (including
|
||||
but not limited to OpenSSL) that is licensed under separate terms,
|
||||
as designated in a particular file or component or in included license
|
||||
documentation. The authors of MySQL hereby grant you an additional
|
||||
permission to link the program and your derivative works with the
|
||||
separately licensed software that they have either included with
|
||||
the program or referenced in the documentation.
|
||||
|
||||
Without limiting anything contained in the foregoing, this file,
|
||||
which is part of C Driver for MySQL (Connector/C), is also subject to the
|
||||
Universal FOSS Exception, version 1.0, a copy of which can be found at
|
||||
http://oss.oracle.com/licenses/universal-foss-exception.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License, version 2.0, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
/**
|
||||
@file include/mysql/client_plugin.h
|
||||
MySQL Client Plugin API.
|
||||
This file defines the API for plugins that work on the client side
|
||||
*/
|
||||
#define MYSQL_CLIENT_PLUGIN_INCLUDED
|
||||
|
||||
#ifndef MYSQL_ABI_CHECK
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
On Windows, exports from DLL need to be declared.
|
||||
Also, plugin needs to be declared as extern "C" because MSVC
|
||||
unlike other compilers, uses C++ mangling for variables not only
|
||||
for functions.
|
||||
*/
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#if defined(MYSQL_DYNAMIC_CLIENT_PLUGIN)
|
||||
#ifdef __cplusplus
|
||||
#define MYSQL_CLIENT_PLUGIN_EXPORT extern "C" __declspec(dllexport)
|
||||
#else
|
||||
#define MYSQL_CLIENT_PLUGIN_EXPORT __declspec(dllexport)
|
||||
#endif
|
||||
#else /* MYSQL_DYNAMIC_CLIENT_PLUGIN */
|
||||
#ifdef __cplusplus
|
||||
#define MYSQL_CLIENT_PLUGIN_EXPORT extern "C"
|
||||
#else
|
||||
#define MYSQL_CLIENT_PLUGIN_EXPORT
|
||||
#endif
|
||||
#endif /*MYSQL_DYNAMIC_CLIENT_PLUGIN */
|
||||
#else /*_MSC_VER */
|
||||
|
||||
#if defined(MYSQL_DYNAMIC_CLIENT_PLUGIN)
|
||||
#define MYSQL_CLIENT_PLUGIN_EXPORT MY_ATTRIBUTE((visibility("default")))
|
||||
#else
|
||||
#define MYSQL_CLIENT_PLUGIN_EXPORT
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* known plugin types */
|
||||
#define MYSQL_CLIENT_reserved1 0
|
||||
#define MYSQL_CLIENT_reserved2 1
|
||||
#define MYSQL_CLIENT_AUTHENTICATION_PLUGIN 2
|
||||
#define MYSQL_CLIENT_TRACE_PLUGIN 3
|
||||
|
||||
#define MYSQL_CLIENT_AUTHENTICATION_PLUGIN_INTERFACE_VERSION 0x0200
|
||||
#define MYSQL_CLIENT_TRACE_PLUGIN_INTERFACE_VERSION 0x0200
|
||||
|
||||
#define MYSQL_CLIENT_MAX_PLUGINS 4
|
||||
|
||||
#define MYSQL_CLIENT_PLUGIN_AUTHOR_ORACLE "Oracle Corporation"
|
||||
|
||||
#define mysql_declare_client_plugin(X) \
|
||||
MYSQL_CLIENT_PLUGIN_EXPORT st_mysql_client_plugin_##X \
|
||||
_mysql_client_plugin_declaration_ = { \
|
||||
MYSQL_CLIENT_##X##_PLUGIN, \
|
||||
MYSQL_CLIENT_##X##_PLUGIN_INTERFACE_VERSION,
|
||||
#define mysql_end_client_plugin }
|
||||
|
||||
/* generic plugin header structure */
|
||||
#define MYSQL_CLIENT_PLUGIN_HEADER \
|
||||
int type; \
|
||||
unsigned int interface_version; \
|
||||
const char *name; \
|
||||
const char *author; \
|
||||
const char *desc; \
|
||||
unsigned int version[3]; \
|
||||
const char *license; \
|
||||
void *mysql_api; \
|
||||
int (*init)(char *, size_t, int, va_list); \
|
||||
int (*deinit)(void); \
|
||||
int (*options)(const char *option, const void *); \
|
||||
int (*get_options)(const char *option, void *);
|
||||
|
||||
struct st_mysql_client_plugin {
|
||||
MYSQL_CLIENT_PLUGIN_HEADER
|
||||
};
|
||||
|
||||
struct MYSQL;
|
||||
|
||||
/******** authentication plugin specific declarations *********/
|
||||
#include "plugin_auth_common.h"
|
||||
|
||||
struct auth_plugin_t {
|
||||
MYSQL_CLIENT_PLUGIN_HEADER
|
||||
int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, struct MYSQL *mysql);
|
||||
enum net_async_status (*authenticate_user_nonblocking)(MYSQL_PLUGIN_VIO *vio,
|
||||
struct MYSQL *mysql,
|
||||
int *result);
|
||||
};
|
||||
|
||||
// Needed for the mysql_declare_client_plugin() macro. Do not use elsewhere.
|
||||
typedef struct auth_plugin_t st_mysql_client_plugin_AUTHENTICATION;
|
||||
|
||||
/******** using plugins ************/
|
||||
|
||||
/**
|
||||
loads a plugin and initializes it
|
||||
|
||||
@param mysql MYSQL structure.
|
||||
@param name a name of the plugin to load
|
||||
@param type type of plugin that should be loaded, -1 to disable type check
|
||||
@param argc number of arguments to pass to the plugin initialization
|
||||
function
|
||||
@param ... arguments for the plugin initialization function
|
||||
|
||||
@retval
|
||||
a pointer to the loaded plugin, or NULL in case of a failure
|
||||
*/
|
||||
struct st_mysql_client_plugin *mysql_load_plugin(struct MYSQL *mysql,
|
||||
const char *name, int type,
|
||||
int argc, ...);
|
||||
|
||||
/**
|
||||
loads a plugin and initializes it, taking va_list as an argument
|
||||
|
||||
This is the same as mysql_load_plugin, but take va_list instead of
|
||||
a list of arguments.
|
||||
|
||||
@param mysql MYSQL structure.
|
||||
@param name a name of the plugin to load
|
||||
@param type type of plugin that should be loaded, -1 to disable type check
|
||||
@param argc number of arguments to pass to the plugin initialization
|
||||
function
|
||||
@param args arguments for the plugin initialization function
|
||||
|
||||
@retval
|
||||
a pointer to the loaded plugin, or NULL in case of a failure
|
||||
*/
|
||||
struct st_mysql_client_plugin *mysql_load_plugin_v(struct MYSQL *mysql,
|
||||
const char *name, int type,
|
||||
int argc, va_list args);
|
||||
|
||||
/**
|
||||
finds an already loaded plugin by name, or loads it, if necessary
|
||||
|
||||
@param mysql MYSQL structure.
|
||||
@param name a name of the plugin to load
|
||||
@param type type of plugin that should be loaded
|
||||
|
||||
@retval
|
||||
a pointer to the plugin, or NULL in case of a failure
|
||||
*/
|
||||
struct st_mysql_client_plugin *mysql_client_find_plugin(struct MYSQL *mysql,
|
||||
const char *name,
|
||||
int type);
|
||||
|
||||
/**
|
||||
adds a plugin structure to the list of loaded plugins
|
||||
|
||||
This is useful if an application has the necessary functionality
|
||||
(for example, a special load data handler) statically linked into
|
||||
the application binary. It can use this function to register the plugin
|
||||
directly, avoiding the need to factor it out into a shared object.
|
||||
|
||||
@param mysql MYSQL structure. It is only used for error reporting
|
||||
@param plugin an st_mysql_client_plugin structure to register
|
||||
|
||||
@retval
|
||||
a pointer to the plugin, or NULL in case of a failure
|
||||
*/
|
||||
struct st_mysql_client_plugin *mysql_client_register_plugin(
|
||||
struct MYSQL *mysql, struct st_mysql_client_plugin *plugin);
|
||||
|
||||
/**
|
||||
set plugin options
|
||||
|
||||
Can be used to set extra options and affect behavior for a plugin.
|
||||
This function may be called multiple times to set several options
|
||||
|
||||
@param plugin an st_mysql_client_plugin structure
|
||||
@param option a string which specifies the option to set
|
||||
@param value value for the option.
|
||||
|
||||
@retval 0 on success, 1 in case of failure
|
||||
**/
|
||||
int mysql_plugin_options(struct st_mysql_client_plugin *plugin,
|
||||
const char *option, const void *value);
|
||||
|
||||
/**
|
||||
get plugin options
|
||||
|
||||
Can be used to get options from a plugin.
|
||||
This function may be called multiple times to get several options
|
||||
|
||||
@param plugin an st_mysql_client_plugin structure
|
||||
@param option a string which specifies the option to get
|
||||
@param[out] value value for the option.
|
||||
|
||||
@retval 0 on success, 1 in case of failure
|
||||
**/
|
||||
int mysql_plugin_get_option(struct st_mysql_client_plugin *plugin,
|
||||
const char *option, void *value);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
188
build/extraResources/mysql/include/mysql/plugin_auth_common.h
Normal file
188
build/extraResources/mysql/include/mysql/plugin_auth_common.h
Normal file
@@ -0,0 +1,188 @@
|
||||
#ifndef MYSQL_PLUGIN_AUTH_COMMON_INCLUDED
|
||||
/* Copyright (c) 2010, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2.0,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is designed to work with certain software (including
|
||||
but not limited to OpenSSL) that is licensed under separate terms,
|
||||
as designated in a particular file or component or in included license
|
||||
documentation. The authors of MySQL hereby grant you an additional
|
||||
permission to link the program and your derivative works with the
|
||||
separately licensed software that they have either included with
|
||||
the program or referenced in the documentation.
|
||||
|
||||
Without limiting anything contained in the foregoing, this file,
|
||||
which is part of C Driver for MySQL (Connector/C), is also subject to the
|
||||
Universal FOSS Exception, version 1.0, a copy of which can be found at
|
||||
http://oss.oracle.com/licenses/universal-foss-exception.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License, version 2.0, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
/**
|
||||
@file include/mysql/plugin_auth_common.h
|
||||
|
||||
This file defines constants and data structures that are the same for
|
||||
both client- and server-side authentication plugins.
|
||||
*/
|
||||
#define MYSQL_PLUGIN_AUTH_COMMON_INCLUDED
|
||||
|
||||
/** the max allowed length for a user name */
|
||||
#define MYSQL_USERNAME_LENGTH 96
|
||||
|
||||
/**
|
||||
return values of the plugin authenticate_user() method.
|
||||
*/
|
||||
|
||||
/**
|
||||
Authentication failed, plugin internal error.
|
||||
An error occurred in the authentication plugin itself.
|
||||
These errors are reported in table performance_schema.host_cache,
|
||||
column COUNT_AUTH_PLUGIN_ERRORS.
|
||||
*/
|
||||
#define CR_AUTH_PLUGIN_ERROR 3
|
||||
/**
|
||||
Authentication failed, client server handshake.
|
||||
An error occurred during the client server handshake.
|
||||
These errors are reported in table performance_schema.host_cache,
|
||||
column COUNT_HANDSHAKE_ERRORS.
|
||||
*/
|
||||
#define CR_AUTH_HANDSHAKE 2
|
||||
/**
|
||||
Authentication failed, user credentials.
|
||||
For example, wrong passwords.
|
||||
These errors are reported in table performance_schema.host_cache,
|
||||
column COUNT_AUTHENTICATION_ERRORS.
|
||||
*/
|
||||
#define CR_AUTH_USER_CREDENTIALS 1
|
||||
/**
|
||||
Authentication failed. Additionally, all other CR_xxx values
|
||||
(libmysql error code) can be used too.
|
||||
|
||||
The client plugin may set the error code and the error message directly
|
||||
in the MYSQL structure and return CR_ERROR. If a CR_xxx specific error
|
||||
code was returned, an error message in the MYSQL structure will be
|
||||
overwritten. If CR_ERROR is returned without setting the error in MYSQL,
|
||||
CR_UNKNOWN_ERROR will be user.
|
||||
*/
|
||||
#define CR_ERROR 0
|
||||
/**
|
||||
Authentication (client part) was successful. It does not mean that the
|
||||
authentication as a whole was successful, usually it only means
|
||||
that the client was able to send the user name and the password to the
|
||||
server. If CR_OK is returned, the libmysql reads the next packet expecting
|
||||
it to be one of OK, ERROR, or CHANGE_PLUGIN packets.
|
||||
*/
|
||||
#define CR_OK -1
|
||||
/**
|
||||
Authentication was successful.
|
||||
It means that the client has done its part successfully and also that
|
||||
a plugin has read the last packet (one of OK, ERROR, CHANGE_PLUGIN).
|
||||
In this case, libmysql will not read a packet from the server,
|
||||
but it will use the data at mysql->net.read_pos.
|
||||
|
||||
A plugin may return this value if the number of roundtrips in the
|
||||
authentication protocol is not known in advance, and the client plugin
|
||||
needs to read one packet more to determine if the authentication is finished
|
||||
or not.
|
||||
*/
|
||||
#define CR_OK_HANDSHAKE_COMPLETE -2
|
||||
/**
|
||||
Authentication was successful with limited operations.
|
||||
It means that the both client and server side plugins decided to allow
|
||||
authentication with very limited operations ALTER USER to do registration.
|
||||
*/
|
||||
#define CR_OK_AUTH_IN_SANDBOX_MODE -3
|
||||
/**
|
||||
Flag to be passed back to server from authentication plugins via
|
||||
authenticated_as when proxy mapping should be done by the server.
|
||||
*/
|
||||
#define PROXY_FLAG 0
|
||||
|
||||
/*
|
||||
We need HANDLE definition if on Windows. Define WIN32_LEAN_AND_MEAN (if
|
||||
not already done) to minimize amount of imported declarations.
|
||||
*/
|
||||
#if defined(_WIN32) && !defined(MYSQL_ABI_CHECK)
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
struct MYSQL_PLUGIN_VIO_INFO {
|
||||
enum {
|
||||
MYSQL_VIO_INVALID,
|
||||
MYSQL_VIO_TCP,
|
||||
MYSQL_VIO_SOCKET,
|
||||
MYSQL_VIO_PIPE,
|
||||
MYSQL_VIO_MEMORY
|
||||
} protocol;
|
||||
int socket; /**< it's set, if the protocol is SOCKET or TCP */
|
||||
#if defined(_WIN32) && !defined(MYSQL_ABI_CHECK)
|
||||
HANDLE handle; /**< it's set, if the protocol is PIPE or MEMORY */
|
||||
#endif
|
||||
};
|
||||
|
||||
/* state of an asynchronous operation */
|
||||
enum net_async_status {
|
||||
NET_ASYNC_COMPLETE = 0,
|
||||
NET_ASYNC_NOT_READY,
|
||||
NET_ASYNC_ERROR,
|
||||
NET_ASYNC_COMPLETE_NO_MORE_RESULTS
|
||||
};
|
||||
|
||||
/**
|
||||
Provides plugin access to communication channel
|
||||
*/
|
||||
typedef struct MYSQL_PLUGIN_VIO {
|
||||
/**
|
||||
Plugin provides a pointer reference and this function sets it to the
|
||||
contents of any incoming packet. Returns the packet length, or -1 if
|
||||
the plugin should terminate.
|
||||
*/
|
||||
int (*read_packet)(struct MYSQL_PLUGIN_VIO *vio, unsigned char **buf);
|
||||
|
||||
/**
|
||||
Plugin provides a buffer with data and the length and this
|
||||
function sends it as a packet. Returns 0 on success, 1 on failure.
|
||||
*/
|
||||
int (*write_packet)(struct MYSQL_PLUGIN_VIO *vio, const unsigned char *packet,
|
||||
int packet_len);
|
||||
|
||||
/**
|
||||
Fills in a MYSQL_PLUGIN_VIO_INFO structure, providing the information
|
||||
about the connection.
|
||||
*/
|
||||
void (*info)(struct MYSQL_PLUGIN_VIO *vio,
|
||||
struct MYSQL_PLUGIN_VIO_INFO *info);
|
||||
|
||||
/**
|
||||
Non blocking version of read_packet. This function points buf to starting
|
||||
position of incoming packet. When this function returns NET_ASYNC_NOT_READY
|
||||
plugin should call this function again until all incoming packets are read.
|
||||
If return code is NET_ASYNC_COMPLETE, plugin can do further processing of
|
||||
read packets.
|
||||
*/
|
||||
enum net_async_status (*read_packet_nonblocking)(struct MYSQL_PLUGIN_VIO *vio,
|
||||
unsigned char **buf,
|
||||
int *result);
|
||||
/**
|
||||
Non blocking version of write_packet. Sends data available in pkt of length
|
||||
pkt_len to server in asynchronous way.
|
||||
*/
|
||||
enum net_async_status (*write_packet_nonblocking)(
|
||||
struct MYSQL_PLUGIN_VIO *vio, const unsigned char *pkt, int pkt_len,
|
||||
int *result);
|
||||
|
||||
} MYSQL_PLUGIN_VIO;
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,91 @@
|
||||
/* Copyright (c) 2017, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2.0,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is designed to work with certain software (including
|
||||
but not limited to OpenSSL) that is licensed under separate terms,
|
||||
as designated in a particular file or component or in included license
|
||||
documentation. The authors of MySQL hereby grant you an additional
|
||||
permission to link the program and your derivative works with the
|
||||
separately licensed software that they have either included with
|
||||
the program or referenced in the documentation.
|
||||
|
||||
Without limiting anything contained in the foregoing, this file,
|
||||
which is part of C Driver for MySQL (Connector/C), is also subject to the
|
||||
Universal FOSS Exception, version 1.0, a copy of which can be found at
|
||||
http://oss.oracle.com/licenses/universal-foss-exception.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License, version 2.0, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
#ifndef UDF_REGISTRATION_TYPES_H
|
||||
#define UDF_REGISTRATION_TYPES_H
|
||||
|
||||
#ifndef MYSQL_ABI_CHECK
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
|
||||
/**
|
||||
Type of the user defined function return slot and arguments
|
||||
*/
|
||||
enum Item_result {
|
||||
INVALID_RESULT = -1, /** not valid for UDFs */
|
||||
STRING_RESULT = 0, /** char * */
|
||||
REAL_RESULT, /** double */
|
||||
INT_RESULT, /** long long */
|
||||
ROW_RESULT, /** not valid for UDFs */
|
||||
DECIMAL_RESULT /** char *, to be converted to/from a decimal */
|
||||
};
|
||||
|
||||
typedef struct UDF_ARGS {
|
||||
unsigned int arg_count; /**< Number of arguments */
|
||||
enum Item_result *arg_type; /**< Pointer to item_results */
|
||||
char **args; /**< Pointer to argument */
|
||||
unsigned long *lengths; /**< Length of string arguments */
|
||||
char *maybe_null; /**< Set to 1 for all maybe_null args */
|
||||
char **attributes; /**< Pointer to attribute name */
|
||||
unsigned long *attribute_lengths; /**< Length of attribute arguments */
|
||||
void *extension;
|
||||
} UDF_ARGS;
|
||||
|
||||
/**
|
||||
Information about the result of a user defined function
|
||||
|
||||
@todo add a notion for determinism of the UDF.
|
||||
|
||||
@sa Item_udf_func::update_used_tables()
|
||||
*/
|
||||
typedef struct UDF_INIT {
|
||||
bool maybe_null; /** 1 if function can return NULL */
|
||||
unsigned int decimals; /** for real functions */
|
||||
unsigned long max_length; /** For string functions */
|
||||
char *ptr; /** free pointer for function data */
|
||||
bool const_item; /** 1 if function always returns the same value */
|
||||
void *extension;
|
||||
} UDF_INIT;
|
||||
|
||||
enum Item_udftype { UDFTYPE_FUNCTION = 1, UDFTYPE_AGGREGATE };
|
||||
|
||||
typedef void (*Udf_func_clear)(UDF_INIT *, unsigned char *, unsigned char *);
|
||||
typedef void (*Udf_func_add)(UDF_INIT *, UDF_ARGS *, unsigned char *,
|
||||
unsigned char *);
|
||||
typedef void (*Udf_func_deinit)(UDF_INIT *);
|
||||
typedef bool (*Udf_func_init)(UDF_INIT *, UDF_ARGS *, char *);
|
||||
typedef void (*Udf_func_any)(void);
|
||||
typedef double (*Udf_func_double)(UDF_INIT *, UDF_ARGS *, unsigned char *,
|
||||
unsigned char *);
|
||||
typedef long long (*Udf_func_longlong)(UDF_INIT *, UDF_ARGS *, unsigned char *,
|
||||
unsigned char *);
|
||||
typedef char *(*Udf_func_string)(UDF_INIT *, UDF_ARGS *, char *,
|
||||
unsigned long *, unsigned char *,
|
||||
unsigned char *);
|
||||
|
||||
#endif /* UDF_REGISTRATION_TYPES_H */
|
||||
1197
build/extraResources/mysql/include/mysql_com.h
Normal file
1197
build/extraResources/mysql/include/mysql_com.h
Normal file
File diff suppressed because it is too large
Load Diff
91
build/extraResources/mysql/include/mysql_time.h
Normal file
91
build/extraResources/mysql/include/mysql_time.h
Normal file
@@ -0,0 +1,91 @@
|
||||
/* Copyright (c) 2004, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2.0,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is designed to work with certain software (including
|
||||
but not limited to OpenSSL) that is licensed under separate terms,
|
||||
as designated in a particular file or component or in included license
|
||||
documentation. The authors of MySQL hereby grant you an additional
|
||||
permission to link the program and your derivative works with the
|
||||
separately licensed software that they have either included with
|
||||
the program or referenced in the documentation.
|
||||
|
||||
Without limiting anything contained in the foregoing, this file,
|
||||
which is part of C Driver for MySQL (Connector/C), is also subject to the
|
||||
Universal FOSS Exception, version 1.0, a copy of which can be found at
|
||||
http://oss.oracle.com/licenses/universal-foss-exception.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License, version 2.0, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
#ifndef _mysql_time_h_
|
||||
#define _mysql_time_h_
|
||||
|
||||
/**
|
||||
@file include/mysql_time.h
|
||||
Time declarations shared between the server and client API:
|
||||
you should not add anything to this header unless it's used
|
||||
(and hence should be visible) in mysql.h.
|
||||
If you're looking for a place to add new time-related declaration,
|
||||
it's most likely my_time.h. See also "C API Handling of Date
|
||||
and Time Values" chapter in documentation.
|
||||
*/
|
||||
|
||||
// Do not not pull in the server header "my_inttypes.h" from client code.
|
||||
// IWYU pragma: no_include "my_inttypes.h"
|
||||
|
||||
enum enum_mysql_timestamp_type {
|
||||
MYSQL_TIMESTAMP_NONE = -2,
|
||||
MYSQL_TIMESTAMP_ERROR = -1,
|
||||
|
||||
/// Stores year, month and day components.
|
||||
MYSQL_TIMESTAMP_DATE = 0,
|
||||
|
||||
/**
|
||||
Stores all date and time components.
|
||||
Value is in UTC for `TIMESTAMP` type.
|
||||
Value is in local time zone for `DATETIME` type.
|
||||
*/
|
||||
MYSQL_TIMESTAMP_DATETIME = 1,
|
||||
|
||||
/// Stores hour, minute, second and microsecond.
|
||||
MYSQL_TIMESTAMP_TIME = 2,
|
||||
|
||||
/**
|
||||
A temporary type for `DATETIME` or `TIMESTAMP` types equipped with time
|
||||
zone information. After the time zone information is reconciled, the type is
|
||||
converted to MYSQL_TIMESTAMP_DATETIME.
|
||||
*/
|
||||
MYSQL_TIMESTAMP_DATETIME_TZ = 3
|
||||
};
|
||||
|
||||
/*
|
||||
Structure which is used to represent datetime values inside MySQL.
|
||||
|
||||
We assume that values in this structure are normalized, i.e. year <= 9999,
|
||||
month <= 12, day <= 31, hour <= 23, hour <= 59, hour <= 59. Many functions
|
||||
in server such as my_system_gmt_sec() or make_time() family of functions
|
||||
rely on this (actually now usage of make_*() family relies on a bit weaker
|
||||
restriction). Also functions that produce MYSQL_TIME as result ensure this.
|
||||
There is one exception to this rule though if this structure holds time
|
||||
value (time_type == MYSQL_TIMESTAMP_TIME) days and hour member can hold
|
||||
bigger values.
|
||||
*/
|
||||
typedef struct MYSQL_TIME {
|
||||
unsigned int year, month, day, hour, minute, second;
|
||||
unsigned long second_part; /**< microseconds */
|
||||
bool neg;
|
||||
enum enum_mysql_timestamp_type time_type;
|
||||
/// The time zone displacement, specified in seconds.
|
||||
int time_zone_displacement;
|
||||
} MYSQL_TIME;
|
||||
|
||||
#endif /* _mysql_time_h_ */
|
||||
32
build/extraResources/mysql/include/mysql_version.h
Normal file
32
build/extraResources/mysql/include/mysql_version.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/* Copyright Abandoned 1996,1999 TCX DataKonsult AB & Monty Program KB
|
||||
& Detron HB, 1996, 1999-2004, 2007 MySQL AB.
|
||||
This file is public domain and comes with NO WARRANTY of any kind
|
||||
*/
|
||||
|
||||
/* Version numbers for protocol & mysqld */
|
||||
|
||||
#ifndef _mysql_version_h
|
||||
#define _mysql_version_h
|
||||
|
||||
#define PROTOCOL_VERSION 10
|
||||
#define MYSQL_SERVER_VERSION "8.0.43"
|
||||
#define MYSQL_BASE_VERSION "mysqld-8.0"
|
||||
#define MYSQL_SERVER_SUFFIX_DEF ""
|
||||
#define MYSQL_VERSION_ID 80043
|
||||
#define MYSQL_VERSION_STABILITY "LTS"
|
||||
#define MYSQL_PORT 3306
|
||||
#define MYSQL_ADMIN_PORT 33062
|
||||
#define MYSQL_PORT_DEFAULT 0
|
||||
#define MYSQL_UNIX_ADDR "/tmp/mysql.sock"
|
||||
#define MYSQL_CONFIG_NAME "my"
|
||||
#define MYSQL_PERSIST_CONFIG_NAME "mysqld-auto"
|
||||
#define MYSQL_COMPILATION_COMMENT "MySQL Community - GPL"
|
||||
#define MYSQL_COMPILATION_COMMENT_SERVER "MySQL Community Server - GPL"
|
||||
#define LIBMYSQL_VERSION "8.0.43"
|
||||
#define LIBMYSQL_VERSION_ID 80043
|
||||
|
||||
#ifndef LICENSE
|
||||
#define LICENSE GPL
|
||||
#endif /* LICENSE */
|
||||
|
||||
#endif /* _mysql_version_h */
|
||||
5922
build/extraResources/mysql/include/mysqld_error.h
Normal file
5922
build/extraResources/mysql/include/mysqld_error.h
Normal file
File diff suppressed because it is too large
Load Diff
100
build/extraResources/mysql/include/mysqlx_ername.h
Normal file
100
build/extraResources/mysql/include/mysqlx_ername.h
Normal file
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright (c) 2016, 2025, Oracle and/or its affiliates.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License, version 2.0,
|
||||
* as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is designed to work with certain software (including
|
||||
* but not limited to OpenSSL) that is licensed under separate terms,
|
||||
* as designated in a particular file or component or in included license
|
||||
* documentation. The authors of MySQL hereby grant you an additional
|
||||
* permission to link the program and your derivative works with the
|
||||
* separately licensed software that they have either included with
|
||||
* the program or referenced in the documentation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License, version 2.0, for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* Autogenerated file, please don't edit */
|
||||
|
||||
#include "mysqlx_error.h"
|
||||
|
||||
{"ER_X_BAD_MESSAGE", ER_X_BAD_MESSAGE, "", NULL, NULL, 0 },
|
||||
{"ER_X_CAPABILITIES_PREPARE_FAILED", ER_X_CAPABILITIES_PREPARE_FAILED, "", NULL, NULL, 0 },
|
||||
{"ER_X_CAPABILITY_NOT_FOUND", ER_X_CAPABILITY_NOT_FOUND, "", NULL, NULL, 0 },
|
||||
{"ER_X_INVALID_PROTOCOL_DATA", ER_X_INVALID_PROTOCOL_DATA, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_VALUE_LENGTH", ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_VALUE_LENGTH, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_KEY_LENGTH", ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_KEY_LENGTH, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_EMPTY_KEY", ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_EMPTY_KEY, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_LENGTH", ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_LENGTH, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_TYPE", ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_TYPE, "", NULL, NULL, 0 },
|
||||
{"ER_X_CAPABILITY_SET_NOT_ALLOWED", ER_X_CAPABILITY_SET_NOT_ALLOWED, "", NULL, NULL, 0 },
|
||||
{"ER_X_SERVICE_ERROR", ER_X_SERVICE_ERROR, "", NULL, NULL, 0 },
|
||||
{"ER_X_SESSION", ER_X_SESSION, "", NULL, NULL, 0 },
|
||||
{"ER_X_INVALID_ARGUMENT", ER_X_INVALID_ARGUMENT, "", NULL, NULL, 0 },
|
||||
{"ER_X_MISSING_ARGUMENT", ER_X_MISSING_ARGUMENT, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_INSERT_DATA", ER_X_BAD_INSERT_DATA, "", NULL, NULL, 0 },
|
||||
{"ER_X_CMD_NUM_ARGUMENTS", ER_X_CMD_NUM_ARGUMENTS, "", NULL, NULL, 0 },
|
||||
{"ER_X_CMD_ARGUMENT_TYPE", ER_X_CMD_ARGUMENT_TYPE, "", NULL, NULL, 0 },
|
||||
{"ER_X_CMD_ARGUMENT_VALUE", ER_X_CMD_ARGUMENT_VALUE, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_UPSERT_DATA", ER_X_BAD_UPSERT_DATA, "", NULL, NULL, 0 },
|
||||
{"ER_X_DUPLICATED_CAPABILITIES", ER_X_DUPLICATED_CAPABILITIES, "", NULL, NULL, 0 },
|
||||
{"ER_X_CMD_ARGUMENT_OBJECT_EMPTY", ER_X_CMD_ARGUMENT_OBJECT_EMPTY, "", NULL, NULL, 0 },
|
||||
{"ER_X_CMD_INVALID_ARGUMENT", ER_X_CMD_INVALID_ARGUMENT, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_UPDATE_DATA", ER_X_BAD_UPDATE_DATA, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_TYPE_OF_UPDATE", ER_X_BAD_TYPE_OF_UPDATE, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_COLUMN_TO_UPDATE", ER_X_BAD_COLUMN_TO_UPDATE, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_MEMBER_TO_UPDATE", ER_X_BAD_MEMBER_TO_UPDATE, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_STATEMENT_ID", ER_X_BAD_STATEMENT_ID, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_CURSOR_ID", ER_X_BAD_CURSOR_ID, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_SCHEMA", ER_X_BAD_SCHEMA, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_TABLE", ER_X_BAD_TABLE, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_PROJECTION", ER_X_BAD_PROJECTION, "", NULL, NULL, 0 },
|
||||
{"ER_X_DOC_ID_MISSING", ER_X_DOC_ID_MISSING, "", NULL, NULL, 0 },
|
||||
{"ER_X_DUPLICATE_ENTRY", ER_X_DUPLICATE_ENTRY, "", NULL, NULL, 0 },
|
||||
{"ER_X_DOC_REQUIRED_FIELD_MISSING", ER_X_DOC_REQUIRED_FIELD_MISSING, "", NULL, NULL, 0 },
|
||||
{"ER_X_PROJ_BAD_KEY_NAME", ER_X_PROJ_BAD_KEY_NAME, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_DOC_PATH", ER_X_BAD_DOC_PATH, "", NULL, NULL, 0 },
|
||||
{"ER_X_CURSOR_EXISTS", ER_X_CURSOR_EXISTS, "", NULL, NULL, 0 },
|
||||
{"ER_X_CURSOR_REACHED_EOF", ER_X_CURSOR_REACHED_EOF, "", NULL, NULL, 0 },
|
||||
{"ER_X_PREPARED_STATMENT_CAN_HAVE_ONE_CURSOR", ER_X_PREPARED_STATMENT_CAN_HAVE_ONE_CURSOR, "", NULL, NULL, 0 },
|
||||
{"ER_X_PREPARED_EXECUTE_ARGUMENT_NOT_SUPPORTED", ER_X_PREPARED_EXECUTE_ARGUMENT_NOT_SUPPORTED, "", NULL, NULL, 0 },
|
||||
{"ER_X_PREPARED_EXECUTE_ARGUMENT_CONSISTENCY", ER_X_PREPARED_EXECUTE_ARGUMENT_CONSISTENCY, "", NULL, NULL, 0 },
|
||||
{"ER_X_EXPR_BAD_OPERATOR", ER_X_EXPR_BAD_OPERATOR, "", NULL, NULL, 0 },
|
||||
{"ER_X_EXPR_BAD_NUM_ARGS", ER_X_EXPR_BAD_NUM_ARGS, "", NULL, NULL, 0 },
|
||||
{"ER_X_EXPR_MISSING_ARG", ER_X_EXPR_MISSING_ARG, "", NULL, NULL, 0 },
|
||||
{"ER_X_EXPR_BAD_TYPE_VALUE", ER_X_EXPR_BAD_TYPE_VALUE, "", NULL, NULL, 0 },
|
||||
{"ER_X_EXPR_BAD_VALUE", ER_X_EXPR_BAD_VALUE, "", NULL, NULL, 0 },
|
||||
{"ER_X_INVALID_COLLECTION", ER_X_INVALID_COLLECTION, "", NULL, NULL, 0 },
|
||||
{"ER_X_INVALID_ADMIN_COMMAND", ER_X_INVALID_ADMIN_COMMAND, "", NULL, NULL, 0 },
|
||||
{"ER_X_EXPECT_NOT_OPEN", ER_X_EXPECT_NOT_OPEN, "", NULL, NULL, 0 },
|
||||
{"ER_X_EXPECT_NO_ERROR_FAILED", ER_X_EXPECT_NO_ERROR_FAILED, "", NULL, NULL, 0 },
|
||||
{"ER_X_EXPECT_BAD_CONDITION", ER_X_EXPECT_BAD_CONDITION, "", NULL, NULL, 0 },
|
||||
{"ER_X_EXPECT_BAD_CONDITION_VALUE", ER_X_EXPECT_BAD_CONDITION_VALUE, "", NULL, NULL, 0 },
|
||||
{"ER_X_INVALID_NAMESPACE", ER_X_INVALID_NAMESPACE, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_NOTICE", ER_X_BAD_NOTICE, "", NULL, NULL, 0 },
|
||||
{"ER_X_CANNOT_DISABLE_NOTICE", ER_X_CANNOT_DISABLE_NOTICE, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_CONFIGURATION", ER_X_BAD_CONFIGURATION, "", NULL, NULL, 0 },
|
||||
{"ER_X_MYSQLX_ACCOUNT_MISSING_PERMISSIONS", ER_X_MYSQLX_ACCOUNT_MISSING_PERMISSIONS, "", NULL, NULL, 0 },
|
||||
{"ER_X_EXPECT_FIELD_EXISTS_FAILED", ER_X_EXPECT_FIELD_EXISTS_FAILED, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_LOCKING", ER_X_BAD_LOCKING, "", NULL, NULL, 0 },
|
||||
{"ER_X_FRAME_COMPRESSION_DISABLED", ER_X_FRAME_COMPRESSION_DISABLED, "", NULL, NULL, 0 },
|
||||
{"ER_X_DECOMPRESSION_FAILED", ER_X_DECOMPRESSION_FAILED, "", NULL, NULL, 0 },
|
||||
{"ER_X_BAD_COMPRESSED_FRAME", ER_X_BAD_COMPRESSED_FRAME, "", NULL, NULL, 0 },
|
||||
{"ER_X_CAPABILITY_COMPRESSION_INVALID_ALGORITHM", ER_X_CAPABILITY_COMPRESSION_INVALID_ALGORITHM, "", NULL, NULL, 0 },
|
||||
{"ER_X_CAPABILITY_COMPRESSION_INVALID_SERVER_STYLE", ER_X_CAPABILITY_COMPRESSION_INVALID_SERVER_STYLE, "", NULL, NULL, 0 },
|
||||
{"ER_X_CAPABILITY_COMPRESSION_INVALID_CLIENT_STYLE", ER_X_CAPABILITY_COMPRESSION_INVALID_CLIENT_STYLE, "", NULL, NULL, 0 },
|
||||
{"ER_X_CAPABILITY_COMPRESSION_INVALID_OPTION", ER_X_CAPABILITY_COMPRESSION_INVALID_OPTION, "", NULL, NULL, 0 },
|
||||
{"ER_X_CAPABILITY_COMPRESSION_MISSING_REQUIRED_FIELDS", ER_X_CAPABILITY_COMPRESSION_MISSING_REQUIRED_FIELDS, "", NULL, NULL, 0 },
|
||||
{"ER_X_DOCUMENT_DOESNT_MATCH_EXPECTED_SCHEMA", ER_X_DOCUMENT_DOESNT_MATCH_EXPECTED_SCHEMA, "", NULL, NULL, 0 },
|
||||
{"ER_X_COLLECTION_OPTION_DOESNT_EXISTS", ER_X_COLLECTION_OPTION_DOESNT_EXISTS, "", NULL, NULL, 0 },
|
||||
{"ER_X_INVALID_VALIDATION_SCHEMA", ER_X_INVALID_VALIDATION_SCHEMA, "", NULL, NULL, 0 },
|
||||
|
||||
100
build/extraResources/mysql/include/mysqlx_error.h
Normal file
100
build/extraResources/mysql/include/mysqlx_error.h
Normal file
@@ -0,0 +1,100 @@
|
||||
/* Copyright (c) 2015, 2025, Oracle and/or its affiliates.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2.0,
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
This program is designed to work with certain software (including
|
||||
but not limited to OpenSSL) that is licensed under separate terms,
|
||||
as designated in a particular file or component or in included license
|
||||
documentation. The authors of MySQL hereby grant you an additional
|
||||
permission to link the program and your derivative works with the
|
||||
separately licensed software that they have either included with
|
||||
the program or referenced in the documentation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License, version 2.0, for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
|
||||
#ifndef _MYSQLX_ERROR_H_
|
||||
#define _MYSQLX_ERROR_H_
|
||||
|
||||
#define ER_X_BAD_MESSAGE 5000
|
||||
#define ER_X_CAPABILITIES_PREPARE_FAILED 5001
|
||||
#define ER_X_CAPABILITY_NOT_FOUND 5002
|
||||
#define ER_X_INVALID_PROTOCOL_DATA 5003
|
||||
#define ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_VALUE_LENGTH 5004
|
||||
#define ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_KEY_LENGTH 5005
|
||||
#define ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_EMPTY_KEY 5006
|
||||
#define ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_LENGTH 5007
|
||||
#define ER_X_BAD_CONNECTION_SESSION_ATTRIBUTE_TYPE 5008
|
||||
#define ER_X_CAPABILITY_SET_NOT_ALLOWED 5009
|
||||
#define ER_X_SERVICE_ERROR 5010
|
||||
#define ER_X_SESSION 5011
|
||||
#define ER_X_INVALID_ARGUMENT 5012
|
||||
#define ER_X_MISSING_ARGUMENT 5013
|
||||
#define ER_X_BAD_INSERT_DATA 5014
|
||||
#define ER_X_CMD_NUM_ARGUMENTS 5015
|
||||
#define ER_X_CMD_ARGUMENT_TYPE 5016
|
||||
#define ER_X_CMD_ARGUMENT_VALUE 5017
|
||||
#define ER_X_BAD_UPSERT_DATA 5018
|
||||
#define ER_X_DUPLICATED_CAPABILITIES 5019
|
||||
#define ER_X_CMD_ARGUMENT_OBJECT_EMPTY 5020
|
||||
#define ER_X_CMD_INVALID_ARGUMENT 5021
|
||||
#define ER_X_BAD_UPDATE_DATA 5050
|
||||
#define ER_X_BAD_TYPE_OF_UPDATE 5051
|
||||
#define ER_X_BAD_COLUMN_TO_UPDATE 5052
|
||||
#define ER_X_BAD_MEMBER_TO_UPDATE 5053
|
||||
#define ER_X_BAD_STATEMENT_ID 5110
|
||||
#define ER_X_BAD_CURSOR_ID 5111
|
||||
#define ER_X_BAD_SCHEMA 5112
|
||||
#define ER_X_BAD_TABLE 5113
|
||||
#define ER_X_BAD_PROJECTION 5114
|
||||
#define ER_X_DOC_ID_MISSING 5115
|
||||
#define ER_X_DUPLICATE_ENTRY 5116
|
||||
#define ER_X_DOC_REQUIRED_FIELD_MISSING 5117
|
||||
#define ER_X_PROJ_BAD_KEY_NAME 5120
|
||||
#define ER_X_BAD_DOC_PATH 5121
|
||||
#define ER_X_CURSOR_EXISTS 5122
|
||||
#define ER_X_CURSOR_REACHED_EOF 5123
|
||||
#define ER_X_PREPARED_STATMENT_CAN_HAVE_ONE_CURSOR 5131
|
||||
#define ER_X_PREPARED_EXECUTE_ARGUMENT_NOT_SUPPORTED 5133
|
||||
#define ER_X_PREPARED_EXECUTE_ARGUMENT_CONSISTENCY 5134
|
||||
#define ER_X_EXPR_BAD_OPERATOR 5150
|
||||
#define ER_X_EXPR_BAD_NUM_ARGS 5151
|
||||
#define ER_X_EXPR_MISSING_ARG 5152
|
||||
#define ER_X_EXPR_BAD_TYPE_VALUE 5153
|
||||
#define ER_X_EXPR_BAD_VALUE 5154
|
||||
#define ER_X_INVALID_COLLECTION 5156
|
||||
#define ER_X_INVALID_ADMIN_COMMAND 5157
|
||||
#define ER_X_EXPECT_NOT_OPEN 5158
|
||||
#define ER_X_EXPECT_NO_ERROR_FAILED 5159
|
||||
#define ER_X_EXPECT_BAD_CONDITION 5160
|
||||
#define ER_X_EXPECT_BAD_CONDITION_VALUE 5161
|
||||
#define ER_X_INVALID_NAMESPACE 5162
|
||||
#define ER_X_BAD_NOTICE 5163
|
||||
#define ER_X_CANNOT_DISABLE_NOTICE 5164
|
||||
#define ER_X_BAD_CONFIGURATION 5165
|
||||
#define ER_X_MYSQLX_ACCOUNT_MISSING_PERMISSIONS 5167
|
||||
#define ER_X_EXPECT_FIELD_EXISTS_FAILED 5168
|
||||
#define ER_X_BAD_LOCKING 5169
|
||||
#define ER_X_FRAME_COMPRESSION_DISABLED 5170
|
||||
#define ER_X_DECOMPRESSION_FAILED 5171
|
||||
#define ER_X_BAD_COMPRESSED_FRAME 5174
|
||||
#define ER_X_CAPABILITY_COMPRESSION_INVALID_ALGORITHM 5175
|
||||
#define ER_X_CAPABILITY_COMPRESSION_INVALID_SERVER_STYLE 5176
|
||||
#define ER_X_CAPABILITY_COMPRESSION_INVALID_CLIENT_STYLE 5177
|
||||
#define ER_X_CAPABILITY_COMPRESSION_INVALID_OPTION 5178
|
||||
#define ER_X_CAPABILITY_COMPRESSION_MISSING_REQUIRED_FIELDS 5179
|
||||
#define ER_X_DOCUMENT_DOESNT_MATCH_EXPECTED_SCHEMA 5180
|
||||
#define ER_X_COLLECTION_OPTION_DOESNT_EXISTS 5181
|
||||
#define ER_X_INVALID_VALIDATION_SCHEMA 5182
|
||||
|
||||
|
||||
#endif // _MYSQLX_ERROR_H_
|
||||
45
build/extraResources/mysql/include/mysqlx_version.h
Normal file
45
build/extraResources/mysql/include/mysqlx_version.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (c) 2016, 2025, Oracle and/or its affiliates.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License, version 2.0,
|
||||
* as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is designed to work with certain software (including
|
||||
* but not limited to OpenSSL) that is licensed under separate terms,
|
||||
* as designated in a particular file or component or in included license
|
||||
* documentation. The authors of MySQL hereby grant you an additional
|
||||
* permission to link the program and your derivative works with the
|
||||
* separately licensed software that they have either included with
|
||||
* the program or referenced in the documentation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License, version 2.0, for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/* Version numbers for X Plugin */
|
||||
|
||||
#ifndef _MYSQLX_VERSION_H_
|
||||
#define _MYSQLX_VERSION_H_
|
||||
|
||||
#define MYSQLX_PLUGIN_VERSION_MAJOR 1
|
||||
#define MYSQLX_PLUGIN_VERSION_MINOR 0
|
||||
#define MYSQLX_PLUGIN_VERSION_PATCH 2
|
||||
|
||||
#define MYSQLX_PLUGIN_NAME "mysqlx"
|
||||
#define MYSQLX_STATUS_VARIABLE_PREFIX(NAME) "Mysqlx_" NAME
|
||||
#define MYSQLX_SYSTEM_VARIABLE_PREFIX(NAME) "mysqlx_" NAME
|
||||
|
||||
#define MYSQLX_TCP_PORT 33060U
|
||||
#define MYSQLX_UNIX_ADDR "/tmp/mysqlx.sock"
|
||||
|
||||
#define MYSQLX_PLUGIN_VERSION ( (MYSQLX_PLUGIN_VERSION_MAJOR << 8) | MYSQLX_PLUGIN_VERSION_MINOR )
|
||||
#define MYSQLX_PLUGIN_VERSION_STRING "1.0.2"
|
||||
|
||||
#endif // _MYSQLX_VERSION_H_
|
||||
144
build/extraResources/mysql/include/openssl/applink.c
Normal file
144
build/extraResources/mysql/include/openssl/applink.c
Normal file
@@ -0,0 +1,144 @@
|
||||
/*
|
||||
* Copyright 2004-2021 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
* in the file LICENSE in the source distribution or at
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#define APPLINK_STDIN 1
|
||||
#define APPLINK_STDOUT 2
|
||||
#define APPLINK_STDERR 3
|
||||
#define APPLINK_FPRINTF 4
|
||||
#define APPLINK_FGETS 5
|
||||
#define APPLINK_FREAD 6
|
||||
#define APPLINK_FWRITE 7
|
||||
#define APPLINK_FSETMOD 8
|
||||
#define APPLINK_FEOF 9
|
||||
#define APPLINK_FCLOSE 10 /* should not be used */
|
||||
|
||||
#define APPLINK_FOPEN 11 /* solely for completeness */
|
||||
#define APPLINK_FSEEK 12
|
||||
#define APPLINK_FTELL 13
|
||||
#define APPLINK_FFLUSH 14
|
||||
#define APPLINK_FERROR 15
|
||||
#define APPLINK_CLEARERR 16
|
||||
#define APPLINK_FILENO 17 /* to be used with below */
|
||||
|
||||
#define APPLINK_OPEN 18 /* formally can't be used, as flags can vary */
|
||||
#define APPLINK_READ 19
|
||||
#define APPLINK_WRITE 20
|
||||
#define APPLINK_LSEEK 21
|
||||
#define APPLINK_CLOSE 22
|
||||
#define APPLINK_MAX 22 /* always same as last macro */
|
||||
|
||||
#ifndef APPMACROS_ONLY
|
||||
# include <stdio.h>
|
||||
# include <io.h>
|
||||
# include <fcntl.h>
|
||||
|
||||
# ifdef __BORLANDC__
|
||||
/* _lseek in <io.h> is a function-like macro so we can't take its address */
|
||||
# undef _lseek
|
||||
# define _lseek lseek
|
||||
# endif
|
||||
|
||||
static void *app_stdin(void)
|
||||
{
|
||||
return stdin;
|
||||
}
|
||||
|
||||
static void *app_stdout(void)
|
||||
{
|
||||
return stdout;
|
||||
}
|
||||
|
||||
static void *app_stderr(void)
|
||||
{
|
||||
return stderr;
|
||||
}
|
||||
|
||||
static int app_feof(FILE *fp)
|
||||
{
|
||||
return feof(fp);
|
||||
}
|
||||
|
||||
static int app_ferror(FILE *fp)
|
||||
{
|
||||
return ferror(fp);
|
||||
}
|
||||
|
||||
static void app_clearerr(FILE *fp)
|
||||
{
|
||||
clearerr(fp);
|
||||
}
|
||||
|
||||
static int app_fileno(FILE *fp)
|
||||
{
|
||||
return _fileno(fp);
|
||||
}
|
||||
|
||||
static int app_fsetmod(FILE *fp, char mod)
|
||||
{
|
||||
return _setmode(_fileno(fp), mod == 'b' ? _O_BINARY : _O_TEXT);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
__declspec(dllexport)
|
||||
void **
|
||||
# if defined(__BORLANDC__)
|
||||
/*
|
||||
* __stdcall appears to be the only way to get the name
|
||||
* decoration right with Borland C. Otherwise it works
|
||||
* purely incidentally, as we pass no parameters.
|
||||
*/
|
||||
__stdcall
|
||||
# else
|
||||
__cdecl
|
||||
# endif
|
||||
OPENSSL_Applink(void)
|
||||
{
|
||||
static int once = 1;
|
||||
static void *OPENSSL_ApplinkTable[APPLINK_MAX + 1] =
|
||||
{ (void *)APPLINK_MAX };
|
||||
|
||||
if (once) {
|
||||
OPENSSL_ApplinkTable[APPLINK_STDIN] = app_stdin;
|
||||
OPENSSL_ApplinkTable[APPLINK_STDOUT] = app_stdout;
|
||||
OPENSSL_ApplinkTable[APPLINK_STDERR] = app_stderr;
|
||||
OPENSSL_ApplinkTable[APPLINK_FPRINTF] = fprintf;
|
||||
OPENSSL_ApplinkTable[APPLINK_FGETS] = fgets;
|
||||
OPENSSL_ApplinkTable[APPLINK_FREAD] = fread;
|
||||
OPENSSL_ApplinkTable[APPLINK_FWRITE] = fwrite;
|
||||
OPENSSL_ApplinkTable[APPLINK_FSETMOD] = app_fsetmod;
|
||||
OPENSSL_ApplinkTable[APPLINK_FEOF] = app_feof;
|
||||
OPENSSL_ApplinkTable[APPLINK_FCLOSE] = fclose;
|
||||
|
||||
OPENSSL_ApplinkTable[APPLINK_FOPEN] = fopen;
|
||||
OPENSSL_ApplinkTable[APPLINK_FSEEK] = fseek;
|
||||
OPENSSL_ApplinkTable[APPLINK_FTELL] = ftell;
|
||||
OPENSSL_ApplinkTable[APPLINK_FFLUSH] = fflush;
|
||||
OPENSSL_ApplinkTable[APPLINK_FERROR] = app_ferror;
|
||||
OPENSSL_ApplinkTable[APPLINK_CLEARERR] = app_clearerr;
|
||||
OPENSSL_ApplinkTable[APPLINK_FILENO] = app_fileno;
|
||||
|
||||
OPENSSL_ApplinkTable[APPLINK_OPEN] = _open;
|
||||
OPENSSL_ApplinkTable[APPLINK_READ] = _read;
|
||||
OPENSSL_ApplinkTable[APPLINK_WRITE] = _write;
|
||||
OPENSSL_ApplinkTable[APPLINK_LSEEK] = _lseek;
|
||||
OPENSSL_ApplinkTable[APPLINK_CLOSE] = _close;
|
||||
|
||||
once = 0;
|
||||
}
|
||||
|
||||
return OPENSSL_ApplinkTable;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
115
build/extraResources/mysql/kill-running-port.bat
Normal file
115
build/extraResources/mysql/kill-running-port.bat
Normal file
@@ -0,0 +1,115 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
color 0C
|
||||
title 清理NPQS9100 MySQL端口占用
|
||||
cls
|
||||
echo ==========================================
|
||||
echo 清理 NPQS9100 MySQL 端口占用
|
||||
echo ==========================================
|
||||
echo.
|
||||
|
||||
REM 获取MySQL目录(脚本所在目录)
|
||||
set MYSQL_HOME=%~dp0
|
||||
cd /d "%MYSQL_HOME%"
|
||||
|
||||
REM 读取实际运行的端口
|
||||
set PORT_FILE=.running-port
|
||||
set MYSQL_PORT=
|
||||
|
||||
if exist "%PORT_FILE%" (
|
||||
set /p MYSQL_PORT=<"%PORT_FILE%"
|
||||
echo [√] 检测到运行记录:端口 %MYSQL_PORT%
|
||||
echo.
|
||||
) else (
|
||||
echo [!] 未找到运行记录文件,使用默认端口 3306
|
||||
echo.
|
||||
set MYSQL_PORT=3306
|
||||
)
|
||||
|
||||
echo [1] 检查端口 %MYSQL_PORT% 占用情况...
|
||||
echo.
|
||||
|
||||
REM 查找占用该端口的连接
|
||||
netstat -ano | findstr ":%MYSQL_PORT%" > "%TEMP%\mysql_port.txt"
|
||||
|
||||
if %errorlevel% equ 0 (
|
||||
echo 发现以下端口 %MYSQL_PORT% 连接:
|
||||
echo ----------------------------------------
|
||||
type "%TEMP%\mysql_port.txt"
|
||||
echo ----------------------------------------
|
||||
echo.
|
||||
|
||||
echo [2] 提取进程ID并结束进程...
|
||||
echo.
|
||||
|
||||
REM 提取所有LISTENING状态的PID
|
||||
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":%MYSQL_PORT%" ^| findstr "LISTENING"') do (
|
||||
if not "%%a"=="0" (
|
||||
echo 正在结束进程 PID: %%a
|
||||
taskkill /F /PID %%a 2>nul
|
||||
if errorlevel 1 (
|
||||
echo [失败] 无法结束进程 %%a
|
||||
) else (
|
||||
echo [成功] 已结束进程 %%a
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
REM 如果还有其他状态的连接,也尝试结束
|
||||
for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":%MYSQL_PORT%" ^| findstr /V "LISTENING"') do (
|
||||
if not "%%a"=="0" (
|
||||
echo 正在结束进程 PID: %%a
|
||||
taskkill /F /PID %%a 2>nul
|
||||
if errorlevel 1 (
|
||||
echo [已结束或无权限] 进程 %%a
|
||||
) else (
|
||||
echo [成功] 已结束进程 %%a
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [3] 清理完成
|
||||
|
||||
REM 等待2秒让进程完全释放
|
||||
timeout /t 2 /nobreak >nul
|
||||
|
||||
echo.
|
||||
echo [4] 再次检查端口 %MYSQL_PORT%...
|
||||
netstat -ano | findstr ":%MYSQL_PORT%"
|
||||
if errorlevel 1 (
|
||||
echo [√] 端口 %MYSQL_PORT% 已完全释放
|
||||
|
||||
REM 删除端口记录文件
|
||||
if exist "%PORT_FILE%" (
|
||||
del "%PORT_FILE%"
|
||||
echo [√] 已清理端口记录文件
|
||||
)
|
||||
) else (
|
||||
echo [!] 仍有连接存在(可能是TIME_WAIT状态,会自动释放)
|
||||
)
|
||||
|
||||
) else (
|
||||
echo [√] 没有发现占用端口 %MYSQL_PORT% 的进程
|
||||
|
||||
REM 删除端口记录文件
|
||||
if exist "%PORT_FILE%" (
|
||||
del "%PORT_FILE%"
|
||||
echo [√] 已清理端口记录文件
|
||||
)
|
||||
)
|
||||
|
||||
REM 清理临时文件
|
||||
if exist "%TEMP%\mysql_port.txt" del "%TEMP%\mysql_port.txt"
|
||||
|
||||
echo.
|
||||
echo ==========================================
|
||||
echo 清理完成
|
||||
echo ==========================================
|
||||
echo.
|
||||
echo 说明:
|
||||
echo - 此脚本只清理 NPQS9100 应用使用的 MySQL 端口
|
||||
echo - 不会影响您电脑上的其他 MySQL 服务
|
||||
echo.
|
||||
pause
|
||||
|
||||
BIN
build/extraResources/mysql/lib/libmysql.dll
Normal file
BIN
build/extraResources/mysql/lib/libmysql.dll
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/lib/libmysql.lib
Normal file
BIN
build/extraResources/mysql/lib/libmysql.lib
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/char.bin
Normal file
BIN
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/char.bin
Normal file
Binary file not shown.
29
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/dicrc
Normal file
29
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/dicrc
Normal file
@@ -0,0 +1,29 @@
|
||||
;
|
||||
; Configuration file of IPADIC
|
||||
;
|
||||
; $Id: dicrc,v 1.4 2006/04/08 06:41:36 taku-ku Exp $;
|
||||
;
|
||||
cost-factor = 800
|
||||
bos-feature = BOS/EOS,*,*,*,*,*,*,*,*
|
||||
eval-size = 8
|
||||
unk-eval-size = 4
|
||||
config-charset = EUC-JP
|
||||
|
||||
; yomi
|
||||
node-format-yomi = %pS%f[7]
|
||||
unk-format-yomi = %M
|
||||
eos-format-yomi = \n
|
||||
|
||||
; simple
|
||||
node-format-simple = %m\t%F-[0,1,2,3]\n
|
||||
eos-format-simple = EOS\n
|
||||
|
||||
; ChaSen
|
||||
node-format-chasen = %m\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n
|
||||
unk-format-chasen = %m\t%m\t%m\t%F-[0,1,2,3]\t\t\n
|
||||
eos-format-chasen = EOS\n
|
||||
|
||||
; ChaSen (include spaces)
|
||||
node-format-chasen2 = %M\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n
|
||||
unk-format-chasen2 = %M\t%m\t%m\t%F-[0,1,2,3]\t\t\n
|
||||
eos-format-chasen2 = EOS\n
|
||||
1316
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/left-id.def
Normal file
1316
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/left-id.def
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,69 @@
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 0
|
||||
<EFBFBD>ե<EFBFBD><EFBFBD>顼,*,*,* 1
|
||||
<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>,*,*,* 2
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>٥å<EFBFBD>,*,* 3
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 4
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD>,*,* 5
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 6
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 7
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 8
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 9
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD>Ω,*,* 10
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 11
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,* 12
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 13
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 14
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>,Ϣ<EFBFBD><EFBFBD>,* 15
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 16
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 17
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 18
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ü<EFBFBD>,*,* 19
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>첽,*,* 20
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 21
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>졿<EFBFBD><EFBFBD>Ω<EFBFBD><EFBFBD><EFBFBD>졿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 22
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 23
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,Ϣ<EFBFBD>β<EFBFBD>,*,* 24
|
||||
<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>,*,*,* 25
|
||||
<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD>,*,*,* 26
|
||||
<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD>³,*,* 27
|
||||
<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,*,* 28
|
||||
<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>,ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,*,* 29
|
||||
<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>,̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,*,* 30
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,* 31
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 32
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,* 33
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 34
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,*,* 35
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,*,* 36
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD>ʥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD>촴,*,* 37
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 38
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 39
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,*,* 40
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 41
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾,<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 42
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾,<EFBFBD><EFBFBD> 43
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾,̾ 44
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD>ȿ<EFBFBD>,* 45
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD>ϰ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 46
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD>ϰ<EFBFBD>,<EFBFBD><EFBFBD> 47
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>,*,* 48
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD>Ū,*,* 49
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,* 50
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 51
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,* 52
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 53
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,* 54
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾,* 55
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ϰ<EFBFBD>,* 56
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ü<EFBFBD>,* 57
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ,* 58
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 59
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 60
|
||||
̾<EFBFBD><EFBFBD>,ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΩŪ,*,* 61
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD>ü<EFBFBD>,<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,* 62
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 63
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,* 64
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,* 65
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ,* 66
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ,*,* 67
|
||||
Ϣ<EFBFBD>λ<EFBFBD>,*,*,* 68
|
||||
@@ -0,0 +1,94 @@
|
||||
#
|
||||
# Feature(POS) to Internal State mapping
|
||||
#
|
||||
[unigram rewrite]
|
||||
# <EFBFBD>ɤ<EFBFBD>,ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ʻ<EFBFBD>1,2,3,4,<EFBFBD><EFBFBD><EFBFBD>ѷ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ѷ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>
|
||||
*,*,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,$7,$8
|
||||
# <EFBFBD>ɤߤ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD>
|
||||
*,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,$7,*
|
||||
|
||||
[left rewrite]
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),*,*,*,*,*,(<EFBFBD>ʤ<EFBFBD>|̵<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,̵<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤢) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>㤢|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),*,*,*,*,*,* $1,$2,$3,$4,$5,$6,$7
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD>),*,*,*,*,* $1,$2,$3,$4,$5,$6,BOS/EOS
|
||||
BOS/EOS,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,BOS/EOS
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>Ԥ<EFBFBD>|<EFBFBD>Ԥʤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,<EFBFBD><EFBFBD><EFBFBD><EFBFBD> $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ڤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>餦|<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|³<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>椯|<EFBFBD>Ԥ<EFBFBD>|<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,$7
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>̤<EFBFBD>|ȴ<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ȴ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(ĺ<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ĺ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>פ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>פ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ф<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ф<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>Ĥ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(ľ<EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ľ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>礦|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>礦
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,*,*,*,*,*,(<EFBFBD>ʤ<EFBFBD>|̵<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>餷<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,̵<EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ۤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD>ä<EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>|<EFBFBD>äݤ<EFBFBD>|<EFBFBD>ݤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ť餤|<EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>䤹<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>褤|<EFBFBD>ɤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ɤ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ۤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤦|<EFBFBD>Ǥ<EFBFBD>|<EFBFBD>ɤ<EFBFBD>|<EFBFBD>Ǥ<EFBFBD>|<EFBFBD>ɤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ǥ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤦|<EFBFBD>Ƥ<EFBFBD>|<EFBFBD>Ȥ<EFBFBD>|<EFBFBD>Ƥ<EFBFBD>|<EFBFBD>Ȥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ƥ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD>,*,*,*,*,*,(<EFBFBD>ڤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>뤤<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD>Ӥ<EFBFBD>|<EFBFBD>¤Ӥ<EFBFBD>|<EFBFBD>⤷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>㤷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
|
||||
[right rewrite]
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),*,*,*,*,*,(<EFBFBD>ʤ<EFBFBD>|̵<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,̵<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤢) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>㤢|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),*,*,*,*,*,* $1,$2,$3,$4,$5,$6,$7
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD>),*,*,*,*,* $1,$2,$3,$4,$5,$6,BOS/EOS
|
||||
BOS/EOS,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,BOS/EOS
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>Ԥ<EFBFBD>|<EFBFBD>Ԥʤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,<EFBFBD><EFBFBD><EFBFBD><EFBFBD> $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ڤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>餦|<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|³<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>椯|<EFBFBD>Ԥ<EFBFBD>|<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,$7
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>̤<EFBFBD>|ȴ<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ȴ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(ĺ<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ĺ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>פ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>פ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ф<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ф<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>Ĥ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(ľ<EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ľ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>礦|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>礦
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,*,*,*,*,*,(<EFBFBD>ʤ<EFBFBD>|̵<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>餷<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,̵<EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ۤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD>ä<EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>|<EFBFBD>äݤ<EFBFBD>|<EFBFBD>ݤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ť餤|<EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>䤹<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>褤|<EFBFBD>ɤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ɤ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ۤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤦|<EFBFBD>Ǥ<EFBFBD>|<EFBFBD>ɤ<EFBFBD>|<EFBFBD>Ǥ<EFBFBD>|<EFBFBD>ɤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ǥ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤦|<EFBFBD>Ƥ<EFBFBD>|<EFBFBD>Ȥ<EFBFBD>|<EFBFBD>Ƥ<EFBFBD>|<EFBFBD>Ȥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ƥ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD>,*,*,*,*,*,(<EFBFBD>ڤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>뤤<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD>Ӥ<EFBFBD>|<EFBFBD>¤Ӥ<EFBFBD>|<EFBFBD>⤷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>㤷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
1316
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/right-id.def
Normal file
1316
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/right-id.def
Normal file
File diff suppressed because it is too large
Load Diff
BIN
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/sys.dic
Normal file
BIN
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/sys.dic
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/unk.dic
Normal file
BIN
build/extraResources/mysql/lib/mecab/dic/ipadic_euc-jp/unk.dic
Normal file
Binary file not shown.
BIN
build/extraResources/mysql/lib/mecab/dic/ipadic_sjis/char.bin
Normal file
BIN
build/extraResources/mysql/lib/mecab/dic/ipadic_sjis/char.bin
Normal file
Binary file not shown.
29
build/extraResources/mysql/lib/mecab/dic/ipadic_sjis/dicrc
Normal file
29
build/extraResources/mysql/lib/mecab/dic/ipadic_sjis/dicrc
Normal file
@@ -0,0 +1,29 @@
|
||||
;
|
||||
; Configuration file of IPADIC
|
||||
;
|
||||
; $Id: dicrc,v 1.4 2006/04/08 06:41:36 taku-ku Exp $;
|
||||
;
|
||||
cost-factor = 800
|
||||
bos-feature = BOS/EOS,*,*,*,*,*,*,*,*
|
||||
eval-size = 8
|
||||
unk-eval-size = 4
|
||||
config-charset = EUC-JP
|
||||
|
||||
; yomi
|
||||
node-format-yomi = %pS%f[7]
|
||||
unk-format-yomi = %M
|
||||
eos-format-yomi = \n
|
||||
|
||||
; simple
|
||||
node-format-simple = %m\t%F-[0,1,2,3]\n
|
||||
eos-format-simple = EOS\n
|
||||
|
||||
; ChaSen
|
||||
node-format-chasen = %m\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n
|
||||
unk-format-chasen = %m\t%m\t%m\t%F-[0,1,2,3]\t\t\n
|
||||
eos-format-chasen = EOS\n
|
||||
|
||||
; ChaSen (include spaces)
|
||||
node-format-chasen2 = %M\t%f[7]\t%f[6]\t%F-[0,1,2,3]\t%f[4]\t%f[5]\n
|
||||
unk-format-chasen2 = %M\t%m\t%m\t%F-[0,1,2,3]\t\t\n
|
||||
eos-format-chasen2 = EOS\n
|
||||
1316
build/extraResources/mysql/lib/mecab/dic/ipadic_sjis/left-id.def
Normal file
1316
build/extraResources/mysql/lib/mecab/dic/ipadic_sjis/left-id.def
Normal file
File diff suppressed because it is too large
Load Diff
BIN
build/extraResources/mysql/lib/mecab/dic/ipadic_sjis/matrix.bin
Normal file
BIN
build/extraResources/mysql/lib/mecab/dic/ipadic_sjis/matrix.bin
Normal file
Binary file not shown.
@@ -0,0 +1,69 @@
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 0
|
||||
<EFBFBD>ե<EFBFBD><EFBFBD>顼,*,*,* 1
|
||||
<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>,*,*,* 2
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>٥å<EFBFBD>,*,* 3
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 4
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD>,*,* 5
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 6
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 7
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 8
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 9
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD>Ω,*,* 10
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 11
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,* 12
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 13
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 14
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD>,Ϣ<EFBFBD><EFBFBD>,* 15
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 16
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 17
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 18
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ü<EFBFBD>,*,* 19
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>첽,*,* 20
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 21
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>졿<EFBFBD><EFBFBD>Ω<EFBFBD><EFBFBD><EFBFBD>졿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 22
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 23
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,Ϣ<EFBFBD>β<EFBFBD>,*,* 24
|
||||
<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>,*,*,* 25
|
||||
<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD>,*,*,* 26
|
||||
<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD>³,*,* 27
|
||||
<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,*,* 28
|
||||
<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>,ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,*,* 29
|
||||
<EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>,̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,*,* 30
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,* 31
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 32
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,* 33
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 34
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,*,* 35
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,*,* 36
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD>ʥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD>촴,*,* 37
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 38
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,* 39
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,*,* 40
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 41
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾,<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 42
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾,<EFBFBD><EFBFBD> 43
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾,̾ 44
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD>ȿ<EFBFBD>,* 45
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD>ϰ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 46
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͭ̾<EFBFBD><EFBFBD>,<EFBFBD>ϰ<EFBFBD>,<EFBFBD><EFBFBD> 47
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>,*,* 48
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD>Ū,*,* 49
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³,* 50
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 51
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,* 52
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 53
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,* 54
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾,* 55
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ϰ<EFBFBD>,* 56
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ü<EFBFBD>,* 57
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ,* 58
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 59
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 60
|
||||
̾<EFBFBD><EFBFBD>,ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΩŪ,*,* 61
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD>ü<EFBFBD>,<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,* 62
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,* 63
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,* 64
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>촴,* 65
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ,* 66
|
||||
̾<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ,*,* 67
|
||||
Ϣ<EFBFBD>λ<EFBFBD>,*,*,* 68
|
||||
@@ -0,0 +1,94 @@
|
||||
#
|
||||
# Feature(POS) to Internal State mapping
|
||||
#
|
||||
[unigram rewrite]
|
||||
# <EFBFBD>ɤ<EFBFBD>,ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ʻ<EFBFBD>1,2,3,4,<EFBFBD><EFBFBD><EFBFBD>ѷ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>ѷ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>
|
||||
*,*,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,$7,$8
|
||||
# <EFBFBD>ɤߤ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD>
|
||||
*,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,$7,*
|
||||
|
||||
[left rewrite]
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),*,*,*,*,*,(<EFBFBD>ʤ<EFBFBD>|̵<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,̵<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤢) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>㤢|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),*,*,*,*,*,* $1,$2,$3,$4,$5,$6,$7
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD>),*,*,*,*,* $1,$2,$3,$4,$5,$6,BOS/EOS
|
||||
BOS/EOS,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,BOS/EOS
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>Ԥ<EFBFBD>|<EFBFBD>Ԥʤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,<EFBFBD><EFBFBD><EFBFBD><EFBFBD> $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ڤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>餦|<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|³<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>椯|<EFBFBD>Ԥ<EFBFBD>|<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,$7
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>̤<EFBFBD>|ȴ<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ȴ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(ĺ<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ĺ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>פ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>פ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ф<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ф<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>Ĥ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(ľ<EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ľ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>礦|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>礦
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,*,*,*,*,*,(<EFBFBD>ʤ<EFBFBD>|̵<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>餷<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,̵<EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ۤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD>ä<EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>|<EFBFBD>äݤ<EFBFBD>|<EFBFBD>ݤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ť餤|<EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>䤹<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>褤|<EFBFBD>ɤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ɤ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ۤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤦|<EFBFBD>Ǥ<EFBFBD>|<EFBFBD>ɤ<EFBFBD>|<EFBFBD>Ǥ<EFBFBD>|<EFBFBD>ɤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ǥ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤦|<EFBFBD>Ƥ<EFBFBD>|<EFBFBD>Ȥ<EFBFBD>|<EFBFBD>Ƥ<EFBFBD>|<EFBFBD>Ȥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ƥ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD>,*,*,*,*,*,(<EFBFBD>ڤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>뤤<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD>Ӥ<EFBFBD>|<EFBFBD>¤Ӥ<EFBFBD>|<EFBFBD>⤷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>㤷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
|
||||
[right rewrite]
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),*,*,*,*,*,(<EFBFBD>ʤ<EFBFBD>|̵<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,̵<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD>ͤ<EFBFBD>|<EFBFBD>ͥ<EFBFBD>|<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤢) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>㤢|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD>),*,*,*,*,*,* $1,$2,$3,$4,$5,$6,$7
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>̳<EFBFBD>),*,*,*,*,* $1,$2,$3,$4,$5,$6,BOS/EOS
|
||||
BOS/EOS,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,BOS/EOS
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>Ԥ<EFBFBD>|<EFBFBD>Ԥʤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,<EFBFBD><EFBFBD><EFBFBD><EFBFBD> $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ڤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>餦|<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|³<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>椯|<EFBFBD>Ԥ<EFBFBD>|<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,$7
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>̤<EFBFBD>|ȴ<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ȴ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(ĺ<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ĺ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>פ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>פ<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ф<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ф<EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>Ĥ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ԥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(ľ<EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,ľ<EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>礦|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>礦
|
||||
ư<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,*,*,*,*,*,(<EFBFBD>ʤ<EFBFBD>|̵<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>餷<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,̵<EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ۤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,(<EFBFBD>ä<EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>|<EFBFBD>äݤ<EFBFBD>|<EFBFBD>ݤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD>餷<EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>Ť餤|<EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>䤹<EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>褤|<EFBFBD>ɤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ɤ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ۤ<EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤦|<EFBFBD>Ǥ<EFBFBD>|<EFBFBD>ɤ<EFBFBD>|<EFBFBD>Ǥ<EFBFBD>|<EFBFBD>ɤ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ǥ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,(<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>㤦|<EFBFBD>Ƥ<EFBFBD>|<EFBFBD>Ȥ<EFBFBD>|<EFBFBD>Ƥ<EFBFBD>|<EFBFBD>Ȥ<EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD>Ƥ<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
<EFBFBD><EFBFBD>³<EFBFBD><EFBFBD>,*,*,*,*,*,(<EFBFBD>ڤ<EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD>뤤<EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>ʤ<EFBFBD><EFBFBD>Ӥ<EFBFBD>|<EFBFBD>¤Ӥ<EFBFBD>|<EFBFBD>⤷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>㤷<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) $1,$2,$3,$4,$5,$6,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*,*,*,*,*,*,* $1,$2,$3,$4,$5,$6,*
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user