Commit d21f01ad authored by serg@serg.mylan's avatar serg@serg.mylan

Merge bk-internal:/home/bk/mysql-4.0/

into serg.mylan:/usr/home/serg/Abk/mysql-4.0
parents 49165e60 3ce4d04a
...@@ -20,9 +20,9 @@ ...@@ -20,9 +20,9 @@
#include "ftdefs.h" #include "ftdefs.h"
#include <my_getopt.h> #include <my_getopt.h>
static void get_options(int *argc,char **argv[]);
static void usage(); static void usage();
static void complain(int val); static void complain(int val);
static my_bool get_one_option(int, const struct my_option *, char *);
static int count=0, stats=0, dump=0, lstats=0; static int count=0, stats=0, dump=0, lstats=0;
static my_bool verbose; static my_bool verbose;
...@@ -66,7 +66,8 @@ int main(int argc,char *argv[]) ...@@ -66,7 +66,8 @@ int main(int argc,char *argv[])
struct { MI_INFO *info; } aio0, *aio=&aio0; /* for GWS_IN_USE */ struct { MI_INFO *info; } aio0, *aio=&aio0; /* for GWS_IN_USE */
MY_INIT(argv[0]); MY_INIT(argv[0]);
get_options(&argc, &argv); if (error=handle_options(&argc, &argv, my_long_options, get_one_option))
exit(error);
if (count || dump) if (count || dump)
verbose=0; verbose=0;
if (!count && !dump && !lstats && !query) if (!count && !dump && !lstats && !query)
...@@ -78,10 +79,19 @@ int main(int argc,char *argv[]) ...@@ -78,10 +79,19 @@ int main(int argc,char *argv[])
if (argc < 2) if (argc < 2)
usage(); usage();
{
char *end;
inx= strtoll(argv[1], &end, 10);
if (*end)
usage();
}
if (!(info=mi_open(argv[0],2,HA_OPEN_ABORT_IF_LOCKED))) if (!(info=mi_open(argv[0],2,HA_OPEN_ABORT_IF_LOCKED)))
{
error=my_errno;
goto err; goto err;
}
inx=atoi(argv[1]);
*buf2=0; *buf2=0;
aio->info=info; aio->info=info;
...@@ -92,6 +102,8 @@ int main(int argc,char *argv[]) ...@@ -92,6 +102,8 @@ int main(int argc,char *argv[])
goto err; goto err;
} }
mi_lock_database(info, F_EXTRA_LCK);
if (query) if (query)
{ {
#if 0 #if 0
...@@ -108,7 +120,7 @@ int main(int argc,char *argv[]) ...@@ -108,7 +120,7 @@ int main(int argc,char *argv[])
printf("%d rows matched\n",result->ndocs); printf("%d rows matched\n",result->ndocs);
for(i=0 ; i<result->ndocs ; i++) for(i=0 ; i<result->ndocs ; i++)
printf("%9qx %20.7f\n",result->doc[i].dpos,result->doc[i].weight); printf("%9lx %20.7f\n",(ulong)result->doc[i].dpos,result->doc[i].weight);
ft_nlq_close_search(result); ft_nlq_close_search(result);
#else #else
...@@ -168,11 +180,12 @@ int main(int argc,char *argv[]) ...@@ -168,11 +180,12 @@ int main(int argc,char *argv[])
} }
} }
if (dump) if (dump)
printf("%9qx %20.7f %s\n",info->lastpos,weight,buf); printf("%9lx %20.7f %s\n",(ulong)info->lastpos,weight,buf);
if(verbose && (total%HOW_OFTEN_TO_WRITE)==0) if(verbose && (total%HOW_OFTEN_TO_WRITE)==0)
printf("%10ld\r",total); printf("%10ld\r",total);
} }
mi_lock_database(info, F_UNLCK);
if (stats) if (stats)
{ {
...@@ -183,12 +196,12 @@ int main(int argc,char *argv[]) ...@@ -183,12 +196,12 @@ int main(int argc,char *argv[])
if ((ulong) count >= total/2) if ((ulong) count >= total/2)
break; break;
} }
printf("Total rows: %qu\nTotal words: %lu\n" printf("Total rows: %lu\nTotal words: %lu\n"
"Unique words: %lu\nLongest word: %lu chars (%s)\n" "Unique words: %lu\nLongest word: %lu chars (%s)\n"
"Median length: %u\n" "Median length: %u\n"
"Average global weight: %f\n" "Average global weight: %f\n"
"Most common word: %lu times, weight: %f (%s)\n", "Most common word: %lu times, weight: %f (%s)\n",
(ulonglong)info->state->records, total, uniq, maxlen, buf_maxlen, (ulong)info->state->records, total, uniq, maxlen, buf_maxlen,
inx, avg_gws/uniq, max_doc_cnt, min_gws, buf_min_gws); inx, avg_gws/uniq, max_doc_cnt, min_gws, buf_min_gws);
} }
if (lstats) if (lstats)
...@@ -246,15 +259,6 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), ...@@ -246,15 +259,6 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
} }
static void get_options(int *argc, char **argv[])
{
int ho_error;
if ((ho_error=handle_options(argc, argv, my_long_options, get_one_option)))
exit(ho_error);
} /* get options */
static void usage() static void usage()
{ {
printf("Use: ft_dump <table_name> <index_no>\n"); printf("Use: ft_dump <table_name> <index_no>\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment