* add many unit tests

This commit is contained in:
Dirk-Jan C. Binnema 2010-01-28 22:21:57 +02:00
parent a411a9964b
commit c5dc8f044d
20 changed files with 1628 additions and 21 deletions

View File

@ -18,9 +18,12 @@ include $(top_srcdir)/gtest.mk
SUBDIRS=src man
# so we can say 'make test'
check: test
check: test cleanupnote
cleanupnote:
@echo -e "\nNote: you can remove the mu-test-XXXX dirs in your temp-file dir"
@echo "after 'make check' has finished."
tags:
gtags

8
TODO
View File

@ -28,25 +28,25 @@
- [X] cleanup ascending/descending stuff
- [X] testing
** release 0.7 [42%]
** release 0.7 [46%]
- [X] signal handler for indexing
- [X] fix max 10000 matches limit
- [X] embed database version in database
- [X] MuMsgXapian => MuMsgIterXapian
- [ ] don't store both values and terms
- [ ] clean up mu-msg-field
- [ ] clean up mu-msg-field, add formatting(?)
- [X] fix the batch stuff
- [ ] mu help <cmd>
- [ ] mu help <cmd> (?)
- [ ] mu view <path>
- [ ] add symlink-following option for index
- [ ] test suite
- [ ] moving msg field formatting to MuMsgField (?)
- [ ] auto clean log file
- [X] configure error for missing ->dt_dtype
** release 0.8 [%]
- [ ] bookmarks
- [ ] query on time
- [ ] mu-setup (?)
- [ ] config system (config file) (?)
- [ ] UTF-8 output to console

View File

@ -117,4 +117,4 @@ echo "<muhome>xapian-0.6 directory to save some disk space"
echo
echo "mu configuration is complete."
echo "type 'make' to build it"
echo "type 'make' to build mu, or 'make check' to perform the unit tests."

View File

@ -43,8 +43,7 @@ gboolean mu_maildir_mkmdir (const char* path, mode_t mode, gboolean noindex);
/**
* create a symbolic link to a mail message; the function will
* automatically
* create a symbolic link to a mail message
*
* @param src the full path to the source message
* @param targetpath the path to the target maildir; ie., *not*
@ -81,7 +80,8 @@ typedef MuResult (*MuMaildirWalkDirCallback)
* files outside cur/ and new/ dirs and unreadable files; however,
* dotdirs are visited (ie. '.dotdir/cur'), so this enables Maildir++.
* (http://www.inter7.com/courierimap/README.maildirquota.html, search
* for 'Mission statement')
* for 'Mission statement'). In addition, dirs containing a file named
* '.noindex' are ignored, as are their subdirectories.
*
* mu_walk_maildir stops if the callbacks return something different
* from MU_OK. For example, it can return MU_STOP to stop the scan, or

View File

@ -18,6 +18,7 @@
*/
#include <glib.h>
#include "mu-msg-str.h"
#include "mu-msg-flags.h"
@ -29,7 +30,7 @@ mu_msg_str_date_s (time_t t)
tmbuf = localtime(&t);
strftime (buf, 64, "%c", tmbuf);
strftime (buf, sizeof(buf), "%c", tmbuf);
return buf;
}
@ -49,9 +50,9 @@ mu_msg_str_size_s (size_t s)
static char buf[32];
if (s >= 1000 * 1000)
g_snprintf(buf, 32, "%.1fM", (double)s/(1000*1000));
g_snprintf(buf, sizeof(buf), "%.1f MB", (double)s/(1000*1000));
else
g_snprintf(buf, 32, "%.1fk", (double)s/(1000));
g_snprintf(buf, sizeof(buf), "%.1f kB", (double)s/(1000));
return buf;
}
@ -91,7 +92,7 @@ mu_msg_str_prio (MuMsgPriority prio)
default:
g_warning ("%s: invalid priority %d", __FUNCTION__, prio);
return "<error>";
return NULL;
}
}

View File

@ -45,14 +45,15 @@ char* mu_msg_str_date (time_t t) G_GNUC_WARN_UNUSED_RESULT;
/**
* get a display size for a given off_t;
* uses M for sizes > 1000*1000, k for smaller sizes
* get a display size for a given size_t; uses M for sizes >
* 1000*1000, k for smaller sizes. Note: this function use the
* 10-based SI units, _not_ the powers-of-2 based ones.
*
* mu_msg_str_size_s returns a ptr to a static buffer,
* while mu_msg_str_size returns dynamically allocated
* memory that must be freed after use.
*
* @param t the size as an off_t
* @param t the size as an size_t
*
* @return a string representation of the size; see above
* for what to do with it
@ -81,7 +82,7 @@ char* mu_msg_str_flags (MuMsgFlags flags) G_GNUC_WARN_UNUSED_RESULT;
/**
* get a display string for a message priority; either
* High,Low or Normal
* high, low or normal
*
* @param flags file flags
*

View File

@ -28,12 +28,13 @@ TEST_PROGS += test-mu-util
test_mu_util_SOURCES= test-mu-util.c
test_mu_util_LDADD= ${top_srcdir}/src/libmu.la
TEST_PROGS += test-mu-maildir
test_mu_maildir_SOURCES= test-mu-maildir.c
test_mu_maildir_LDADD= ${top_srcdir}/src/libmu.la
TEST_PROGS += test-mu-msg-str
test_mu_msg_str_SOURCES= test-mu-msg-str.c
test_mu_msg_str_LDADD= ${top_srcdir}/src/libmu.la
# note the question marks; make does not like files with ':'...
# 11 messages, the '.ignore' message should be ignored when indexing

View File

@ -24,6 +24,8 @@
#include <glib.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include "src/mu-maildir.h"
@ -127,13 +129,110 @@ static void
shutup (void) {}
static gchar*
copy_test_data (void)
{
gchar *dir, *cmd;
dir = random_tmpdir();
cmd = g_strdup_printf ("mkdir %s", dir);
g_assert (g_spawn_command_line_sync (cmd, NULL, NULL, NULL, NULL));
g_free (cmd);
cmd = g_strdup_printf ("cp -R testdir %s", dir);
g_assert (g_spawn_command_line_sync (cmd, NULL, NULL, NULL, NULL));
g_free (cmd);
return dir;
}
typedef struct {
int _file_count;
int _dir_entered;
int _dir_left;
} WalkData;
static MuResult
dir_cb (const char *fullpath, gboolean enter, WalkData *data)
{
if (enter)
++data->_dir_entered;
else
++data->_dir_left;
return MU_OK;
}
static MuResult
msg_cb (const char *fullpath, gboolean enter, WalkData *data)
{
++data->_file_count;
return MU_OK;
}
static void
test_mu_maildir_walk_01 (void)
{
char *tmpdir;
WalkData data;
MuResult rv;
tmpdir = copy_test_data ();
memset (&data, 0, sizeof(WalkData));
rv = mu_maildir_walk (tmpdir,
(MuMaildirWalkMsgCallback)msg_cb,
(MuMaildirWalkDirCallback)dir_cb,
&data);
g_assert_cmpuint (MU_OK, ==, rv);
g_assert_cmpuint (data._file_count, ==, 10);
g_assert_cmpuint (data._dir_entered,==, 5);
g_assert_cmpuint (data._dir_left,==, 5);
g_free (tmpdir);
}
static void
test_mu_maildir_walk_02 (void)
{
char *tmpdir, *cmd;
WalkData data;
MuResult rv;
tmpdir = copy_test_data ();
memset (&data, 0, sizeof(WalkData));
/* mark the 'new' dir with '.noindex', to ignore it */
cmd = g_strdup_printf ("touch %s%ctestdir%cnew%c.noindex", tmpdir,
G_DIR_SEPARATOR, G_DIR_SEPARATOR,
G_DIR_SEPARATOR);
g_assert (g_spawn_command_line_sync (cmd, NULL, NULL, NULL, NULL));
g_free (cmd);
rv = mu_maildir_walk (tmpdir,
(MuMaildirWalkMsgCallback)msg_cb,
(MuMaildirWalkDirCallback)dir_cb,
&data);
g_assert_cmpuint (MU_OK, ==, rv);
g_assert_cmpuint (data._file_count, ==, 6);
g_assert_cmpuint (data._dir_entered,==, 4);
g_assert_cmpuint (data._dir_left,==, 4);
g_free (tmpdir);
}
int
main (int argc, char *argv[])
{
g_test_init (&argc, &argv, NULL);
/* mu_util_dir_expand */
/* mu_util_maildir_mkmdir */
g_test_add_func ("/mu-maildir/mu-maildir-mkmdir-01",
test_mu_maildir_mkmdir_01);
g_test_add_func ("/mu-maildir/mu-maildir-mkmdir-02",
@ -141,6 +240,12 @@ main (int argc, char *argv[])
g_test_add_func ("/mu-maildir/mu-maildir-mkmdir-03",
test_mu_maildir_mkmdir_03);
/* mu_util_maildir_walk */
g_test_add_func ("/mu-maildir/mu-maildir-walk-01",
test_mu_maildir_walk_01);
g_test_add_func ("/mu-maildir/mu-maildir-walk-02",
test_mu_maildir_walk_02);
g_log_set_handler (NULL,
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION,
(GLogFunc)shutup, NULL);

162
src/tests/test-mu-msg-str.c Normal file
View File

@ -0,0 +1,162 @@
/*
** Copyright (C) 2010 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
**
** This program is free software; you can redistribute it and/or modify it
** under the terms of the GNU General Public License as published by the
** Free Software Foundation; either version 3, or (at your option) any
** later version.
**
** 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 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 Street, Fifth Floor, Boston, MA 02110-1301, USA.
**
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif /*HAVE_CONFIG_H*/
#include <glib.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
#include <locale.h>
#include "src/mu-msg-str.h"
static void
test_mu_msg_str_date_01 (void)
{
struct tm *tmbuf;
char buf[64];
gchar *tmp;
time_t some_time;
some_time = 1234567890;
tmbuf = localtime (&some_time);
strftime (buf, 64, "%c", tmbuf);
/* $ date -ud@1234567890; Fri Feb 13 23:31:30 UTC 2009 */
g_assert_cmpstr (mu_msg_str_date_s (some_time), ==, buf);
/* date -ud@987654321 Thu Apr 19 04:25:21 UTC 2001 */
some_time = 987654321;
tmbuf = localtime (&some_time);
strftime (buf, 64, "%c", tmbuf);
tmp = mu_msg_str_date (some_time);
g_assert_cmpstr (tmp, ==, buf);
g_free (tmp);
}
static void
test_mu_msg_str_size_01 (void)
{
struct lconv *lc;
char *tmp2;
lc = localeconv();
tmp2 = g_strdup_printf ("0%s0 kB", lc->decimal_point);
g_assert_cmpstr (mu_msg_str_size_s (0), ==, tmp2);
g_free (tmp2);
tmp2 = g_strdup_printf ("100%s0 kB", lc->decimal_point);
g_assert_cmpstr (mu_msg_str_size_s (100000), ==, tmp2);
g_free (tmp2);
tmp2 = g_strdup_printf ("1%s1 MB", lc->decimal_point);
g_assert_cmpstr (mu_msg_str_size_s (1100*1000), ==, tmp2);
g_free (tmp2);
}
static void
test_mu_msg_str_size_02 (void)
{
struct lconv *lc;
char *tmp1, *tmp2;
lc = localeconv();
tmp2 = g_strdup_printf ("1%s0 MB", lc->decimal_point);
tmp1 = mu_msg_str_size (999999);
g_assert_cmpstr (tmp1, !=, tmp2);
g_free (tmp1);
g_free (tmp2);
}
static void
test_mu_msg_str_prio_01 (void)
{
g_assert_cmpstr (mu_msg_str_prio(MU_MSG_PRIORITY_LOW), ==, "low");
g_assert_cmpstr (mu_msg_str_prio(MU_MSG_PRIORITY_NORMAL), ==, "normal");
g_assert_cmpstr (mu_msg_str_prio(MU_MSG_PRIORITY_HIGH), ==, "high");
}
static gboolean
ignore_error (const char* log_domain, GLogLevelFlags log_level, const gchar* msg,
gpointer user_data)
{
return FALSE; /* don't abort */
}
static void
test_mu_msg_str_prio_02 (void)
{
/* this must fail */
g_test_log_set_fatal_handler ((GTestLogFatalFunc)ignore_error, NULL);
g_assert_cmpstr (mu_msg_str_prio(666), ==, NULL);
}
static void
shutup (void) {}
int
main (int argc, char *argv[])
{
g_test_init (&argc, &argv, NULL);
/* mu_msg_str_date */
g_test_add_func ("/mu-msg-str/mu-msg-str-date",
test_mu_msg_str_date_01);
/* mu_msg_str_size */
g_test_add_func ("/mu-msg-str/mu-msg-str-size-01",
test_mu_msg_str_size_01);
g_test_add_func ("/mu-msg-str/mu-msg-str-size-02",
test_mu_msg_str_size_02);
/* mu_msg_str_prio */
g_test_add_func ("/mu-msg-str/mu-msg-str-prio-01",
test_mu_msg_str_prio_01);
g_test_add_func ("/mu-msg-str/mu-msg-str-prio-02",
test_mu_msg_str_prio_02);
/* FIXME: add tests for mu_msg_str_flags; but note the
* function simply calls mu_msg_field_str */
g_log_set_handler (NULL,
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION,
(GLogFunc)shutup, NULL);
return g_test_run ();
}

Binary file not shown.

View File

@ -0,0 +1,146 @@
Return-Path: <gcc-help-return-33661-xxxx.klub=gmail.com@gcc.gnu.org>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
X-Spam-Level:
X-Spam-Status: No, score=-4.9 required=3.0 tests=BAYES_00,DATE_IN_PAST_96_XX,
RCVD_IN_DNSWL_MED autolearn=ham version=3.2.5
X-Original-To: xxxx@localhost
Delivered-To: xxxx@localhost
Received: from mindcrime (localhost [127.0.0.1])
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 5123469CB3
for <xxxx@localhost>; Thu, 7 Aug 2008 08:10:19 +0300 (EEST)
Delivered-To: xxxx.klub@gmail.com
Received: from gmail-imap.l.google.com [66.249.91.109]
by mindcrime with IMAP (fetchmail-6.3.8)
for <xxxx@localhost> (single-drop); Thu, 07 Aug 2008 08:10:19 +0300 (EEST)
Received: by 10.142.237.21 with SMTP id k21cs39272wfh; Wed, 6 Aug 2008
20:15:17 -0700 (PDT)
Received: by 10.65.133.8 with SMTP id k8mr2071878qbn.7.1218078916289; Wed, 06
Aug 2008 20:15:16 -0700 (PDT)
Received: from sourceware.org (sourceware.org [209.132.176.174]) by
mx.google.com with SMTP id 28si7904461qbw.0.2008.08.06.20.15.15; Wed, 06 Aug
2008 20:15:16 -0700 (PDT)
Received-SPF: neutral (google.com: 209.132.176.174 is neither permitted nor
denied by domain of gcc-help-return-33661-xxxx.klub=gmail.com@gcc.gnu.org)
client-ip=209.132.176.174;
Authentication-Results: mx.google.com; spf=neutral (google.com:
209.132.176.174 is neither permitted nor denied by domain of
gcc-help-return-33661-xxxx.klub=gmail.com@gcc.gnu.org)
smtp.mail=gcc-help-return-33661-xxxx.klub=gmail.com@gcc.gnu.org
Received: (qmail 13493 invoked by alias); 7 Aug 2008 03:15:13 -0000
Received: (qmail 13485 invoked by uid 22791); 7 Aug 2008 03:15:12 -0000
Received: from mailgw1a.lmco.com (HELO mailgw1a.lmco.com) (192.31.106.7)
by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 07 Aug 2008 03:14:27 +0000
Received: from emss07g01.ems.lmco.com (relay5.ems.lmco.com [166.29.2.16])by
mailgw1a.lmco.com (LM-6) with ESMTP id m773EPZH014730for
<gcc-help@gcc.gnu.org>; Wed, 6 Aug 2008 21:14:25 -0600 (MDT)
Received: from CONVERSION2-DAEMON.lmco.com by lmco.com (PMDF V6.3-x14 #31428)
id <0K5700601NO18J@lmco.com> for gcc-help@gcc.gnu.org; Wed, 06 Aug 2008
21:14:25 -0600 (MDT)
Received: from EMSS04I00.us.lmco.com ([166.17.13.135]) by lmco.com (PMDF
V6.3-x14 #31428) with ESMTP id <0K5700H5MNNWGX@lmco.com> for
gcc-help@gcc.gnu.org; Wed, 06 Aug 2008 21:14:20 -0600 (MDT)
Received: from EMSS35M06.us.lmco.com ([158.187.107.143]) by
EMSS04I00.us.lmco.com with Microsoft SMTPSVC(5.0.2195.6713); Wed, 06 Aug
2008 23:14:20 -0400
Date: Thu, 31 Jul 2008 14:57:25 -0400
From: anon@example.com
Subject: gcc include search order
To: gcc-help@gcc.gnu.org
Message-id: <3BE9E6535E3029448670913581E7A1A20D852173@emss35m06.us.lmco.com>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-class: urn:content-classes:message
Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm
Precedence: klub
List-Id: <gcc-help.gcc.gnu.org>
List-Unsubscribe: <mailto:gcc-help-unsubscribe-xxxx.klub=gmail.com@gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-help/>
List-Post: <mailto:gcc-help@gcc.gnu.org>
List-Help: <mailto:gcc-help-help@gcc.gnu.org>
Sender: gcc-help-owner@gcc.gnu.org
Delivered-To: mailing list gcc-help@gcc.gnu.org
Content-Length: 3024
Hi.
In my unit testing I need to change some header files (target is
vxWorks, which supports some things that the sun does not).
So, what I do is fetch the development tree, and then in a new unit test
directory I attempt to compile the unit under test. Since this is NOT
vxworks, I use sed to change some of the .h files and put them in a
./changed directory.
When I try to compile the file, it is still using the .h file from the
original location, even though I have listed the include path for
./changed before the include path for the development tree.
Here is a partial output from gcc using the -v option
GNU CPP version 3.1 (cpplib) (sparc ELF)
GNU C++ version 3.1 (sparc-sun-solaris2.8)
compiled by GNU C version 3.1.
ignoring nonexistent directory "NONE/include"
#include "..." search starts here:
#include <...> search starts here:
.
changed
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/mp/interface
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/ap/app
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/shared/common
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/shared/interface
/usr/local/include/g++-v3
/usr/local/include/g++-v3/sparc-sun-solaris2.8
/usr/local/include/g++-v3/backward
/usr/local/include
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/include
/usr/local/sparc-sun-solaris2.8/include
/usr/include
End of search list.
I know the changed file is correct and that the include is not working
as expected, because when I copy the file from ./changed, back into the
development tree, the compilation works as expected.
One more bit of information. The source that I cam compiling is in
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/ap/app
And it is including files from
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/shared/common
These include files should be including the files from ./changed (when
they exist) but they are ignoring the .h files in the ./changed
directory and are instead using other, unchanged files in the
/export/home4/xxx/yyyy/builds/int_rel5_latest/src/shared/common
directory.
The gcc command line is something like
TEST_DIR="."
CHANGED_DIR_NAME=changed
CHANGED_FILES_DIR=${TEST_DIR}/${CHANGED_DIR_NAME}
CICU_HEADER_FILES="-I ${AP_INTERFACE_FILES} -I ${AP_APP_FILES} -I
${SHARED_COMMON_FILES} -I ${SHARED_INTERFACE_FILES}"
HEADERS="-I ./ -I ${CHANGED_FILES_DIR} ${CICU_HEADER_FILES}"
DEFINES="-DSUNRUN -DA10_DEBUG -DJOETEST"
CFLAGS="-v -c -g -O1 -pipe -Wformat -Wunused -Wuninitialized -Wshadow
-Wmissing-prototypes -Wmissing-declarations"
printf "Compiling the UUT File\n"
gcc -fprofile-arcs -ftest-coverage ${CFLAGS} ${HEADERS} ${DEFINES}
${AP_APP_FILES}/unitUnderTest.cpp
I hope this explanation is clear. If anyone knows how to fix the command
line so that it gets the .h files in the "changed" directory are used
instead of files in the other include directories.
Thanks
Joe
----------------------------------------------------
Time Flies like an Arrow. Fruit Flies like a Banana

View File

@ -0,0 +1,230 @@
Return-Path: <sqlite-dev-bounces@sqlite.org>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
X-Spam-Level:
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00,HTML_MESSAGE
autolearn=ham version=3.2.5
X-Original-To: xxxx@localhost
Delivered-To: xxxx@localhost
Received: from mindcrime (localhost [127.0.0.1])
by mail.xxxxsoftware.nl (Postfix) with ESMTP id D724F6963B
for <xxxx@localhost>; Mon, 4 Aug 2008 21:49:27 +0300 (EEST)
Delivered-To: xxxx.klub@gmail.com
Received: from gmail-imap.l.google.com [72.14.221.111]
by mindcrime with IMAP (fetchmail-6.3.8)
for <xxxx@localhost> (single-drop); Mon, 04 Aug 2008 21:49:27 +0300 (EEST)
Received: by 10.142.51.12 with SMTP id y12cs86537wfy; Mon, 4 Aug 2008 00:38:51
-0700 (PDT)
Received: by 10.151.113.5 with SMTP id q5mr272266ybm.37.1217835529913; Mon, 04
Aug 2008 00:38:49 -0700 (PDT)
Received: from sqlite.org (sqlite.org [67.18.92.124]) by mx.google.com with
ESMTP id 5si5754915ywd.8.2008.08.04.00.38.30; Mon, 04 Aug 2008 00:38:50 -0700
(PDT)
Received-SPF: pass (google.com: best guess record for domain of
sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as permitted sender)
client-ip=67.18.92.124;
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record
for domain of sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as
permitted sender) smtp.mail=sqlite-dev-bounces@sqlite.org
Received: from sqlite.org (localhost [127.0.0.1]) by sqlite.org (Postfix) with
ESMTP id 765A511C46; Mon, 4 Aug 2008 03:38:27 -0400 (EDT)
X-Original-To: sqlite-dev@sqlite.org
Delivered-To: sqlite-dev@sqlite.org
Received: from ik-out-1112.google.com (ik-out-1112.google.com [66.249.90.176])
by sqlite.org (Postfix) with ESMTP id 4C59511C41 for <sqlite-dev@sqlite.org>;
Mon, 4 Aug 2008 03:38:23 -0400 (EDT)
Received: by ik-out-1112.google.com with SMTP id b32so2163423ika.0 for
<sqlite-dev@sqlite.org>; Mon, 04 Aug 2008 00:38:23 -0700 (PDT)
Received: by 10.210.54.19 with SMTP id c19mr14589042eba.107.1217835502549;
Mon, 04 Aug 2008 00:38:22 -0700 (PDT)
Received: by 10.210.115.10 with HTTP; Mon, 4 Aug 2008 00:38:22 -0700 (PDT)
Message-ID: <477821040808040038s381bf382p7411451e3c1a2e4e@mail.gmail.com>
Date: Mon, 4 Aug 2008 10:38:22 +0300
From: anon@example.com
To: sqlite-dev@sqlite.org
In-Reply-To: <73d4fc50808030747g303a170ieac567723c2d4f24@mail.gmail.com>
MIME-Version: 1.0
References: <477821040808030533y41f1501dq32447b568b6e6ca5@mail.gmail.com>
<73d4fc50808030747g303a170ieac567723c2d4f24@mail.gmail.com>
Subject: Re: [sqlite-dev] SQLite exception
X-BeenThere: sqlite-dev@sqlite.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: sqlite-dev@sqlite.org
List-Id: <sqlite-dev.sqlite.org>
List-Unsubscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
<mailto:sqlite-dev-request@sqlite.org?subject=unsubscribe>
List-Archive: <http://sqlite.org:8080/cgi-bin/mailman/private/sqlite-dev>
List-Post: <mailto:sqlite-dev@sqlite.org>
List-Help: <mailto:sqlite-dev-request@sqlite.org?subject=help>
List-Subscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
<mailto:sqlite-dev-request@sqlite.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2123623832=="
Mime-version: 1.0
Sender: sqlite-dev-bounces@sqlite.org
Errors-To: sqlite-dev-bounces@sqlite.org
Content-Length: 8475
--===============2123623832==
Content-Type: multipart/alternative;
boundary="----=_Part_29556_25702991.1217835502493"
------=_Part_29556_25702991.1217835502493
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Hi Grant,
Thanks for your reply.
I am using a different session for each thread, whenever a thread wishes to
access the database it gets a session from the session pool and works with
that session until its work is done.
Most of the actions the threads are doing on the database are quite
complicated and are required to be fully committed or completely ignored, so
yes, I am (most of the time) explicitly beginning and committing my
transactions.
Regarding the SQLiteStatementImpl, I believe the Poco manual explains that
sessions and statements for that matter cannot be shared between threads,
therefore if you are using a session via one thread only it should work
fine.
My first impression was that the problem was in the Poco infrastructure (I
have found several Poco related bugs in the past), but the problem ALWAYS
occurs when I perform the "BEGIN IMMEDIATE" action, if it were a Poco
related bug, I would expect to see it here and there without any relation to
this specific statement, but that is not the case.
None the less, I will also post my question on the Poco forums.
Nadav.
On Sun, Aug 3, 2008 at 5:47 PM, Grant Gatchel <grant.gatchel@gmail.com>wrote:
> Are you using the same Poco::Session for every thread or does each call
> create a new session/handle to the database?
>
> Are you explicitly BEGINning and COMMITting your transactions?
>
> In looking at the 1.3.2 branch of Poco::Data::SQLite, there appears to be a
> race condition in the SQLiteStatementImpl::next() method in which the member
> _nextResponse is being accessed before the SQLiteStatementImpl::hasNext()
> method has a chance to interpret that value and throw an exception.
>
> This question might be more suitable in the Poco forums or mailinglist.
>
> - Grant
>
> On Sun, Aug 3, 2008 at 8:33 AM, nadav g <nadav.gr@gmail.com> wrote:
>
>> Hi All,
>>
>> I have been using SQLite with Poco (www.appinf.com) as my infrastructure.
>> The program is running several threads that access this database very
>> often and are synchronized by SQLite itself.
>> Everything seems to work just fine most of time (usually days - weeks) but
>> I do get an occasional exception:
>>
>> Exception: SQL error or missing database: Iterator Error: trying to check
>> if there is a next value
>>
>> The backtrace leads to this statement:
>> *"BEGIN IMMEDIATE"*
>>
>> This specific code runs numerous times before an exception occurs (if
>> occurs at all) and I cannot think of any reason for it to fail later rather
>> than sooner.
>> It is pretty obvious that this situation occurs due to some rare thread
>> state, but I could not find any information that gives me any hint as to
>> what this state might be.
>>
>> So what I am asking is:
>> 1) Does anyone know why this sort of exception occurs?
>> 2) Can anyone think of a reason for such an exception to occur in the
>> situation I have described?
>>
>> Thanks in advance,
>> Nadav.
>>
>>
>> _______________________________________________
>> sqlite-dev mailing list
>> sqlite-dev@sqlite.org
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
>>
>>
>
> _______________________________________________
> sqlite-dev mailing list
> sqlite-dev@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
>
>
------=_Part_29556_25702991.1217835502493
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
<div dir="ltr">Hi Grant,<br><br>Thanks for your reply.<br>I am using a different session for each thread, whenever a thread wishes to access the database it gets a session from the session pool and works with that session until its work is done.<br>
<br>Most of the actions the threads are doing on the database are quite complicated and are required to be fully committed or completely ignored, so yes, I am (most of the time) explicitly beginning and committing my transactions.<br>
<br>Regarding the SQLiteStatementImpl, I believe the Poco manual explains that sessions and statements for that matter cannot be shared between threads, therefore if you are using a session via one thread only it should work fine.<br>
<br>My first impression was that the problem was in the Poco infrastructure (I have found several Poco related bugs in the past), but the problem ALWAYS occurs when I perform the &quot;BEGIN IMMEDIATE&quot; action, if it were a Poco related bug, I would expect to see it here and there without any relation to this specific statement, but that is not the case.<br>
<br>None the less, I will also post my question on the Poco forums.<br><br>Nadav.<br><br><div class="gmail_quote">On Sun, Aug 3, 2008 at 5:47 PM, Grant Gatchel <span dir="ltr">&lt;<a href="mailto:grant.gatchel@gmail.com">grant.gatchel@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div dir="ltr">Are you using the same Poco::Session for every thread or does each call create a new session/handle to the database?<br>
<br>Are you explicitly BEGINning and COMMITting your transactions?<br><br>In looking at the 1.3.2 branch of Poco::Data::SQLite, there appears to be a race condition in the SQLiteStatementImpl::next() method in which the member _nextResponse is being accessed before the SQLiteStatementImpl::hasNext() method has a chance to interpret that value and throw an exception.<br>
<br>This question might be more suitable in the Poco forums or mailinglist.<br><br>- Grant<br>
<br><div class="gmail_quote"><div><div></div><div class="Wj3C7c">
On Sun, Aug 3, 2008 at 8:33 AM, nadav g <span dir="ltr">&lt;<a href="http://nadav.gr" target="_blank">nadav.gr</a>@<a href="http://gmail.com" target="_blank">gmail.com</a>&gt;</span> wrote:<br></div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">
<div dir="ltr">Hi All,<br><br>I have been using SQLite with Poco (<a href="http://www.appinf.com" target="_blank">www.appinf.com</a>) as my infrastructure.<br>The program is running several threads that access this database very often and are synchronized by SQLite itself.<br>
Everything seems to work just fine most of time (usually days - weeks) but I do get an occasional exception:<br><br>Exception: SQL error or missing database: Iterator Error: trying to check if there is a next value<br><br>
The backtrace leads to this statement:<br><b>&quot;BEGIN IMMEDIATE&quot;</b><br><br>This specific code runs numerous times before an exception occurs (if occurs at all) and I cannot think of any reason for it to fail later rather than sooner.<br>
It is pretty obvious that this situation occurs due to some rare thread state, but I could not find any information that gives me any hint as to what this state might be.<br><br>So what I am asking is:<br>1) Does anyone know why this sort of exception occurs?<br>
2) Can anyone think of a reason for such an exception to occur in the situation I have described?<br><br>Thanks in advance,<br>Nadav.<br><br></div>
<br></div></div>_______________________________________________<br>
sqlite-dev mailing list<br>
<a href="mailto:sqlite-dev@sqlite.org" target="_blank">sqlite-dev@sqlite.org</a><br>
<a href="http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev" target="_blank">http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
sqlite-dev mailing list<br>
<a href="mailto:sqlite-dev@sqlite.org">sqlite-dev@sqlite.org</a><br>
<a href="http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev" target="_blank">http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev</a><br>
<br></blockquote></div><br></div>
------=_Part_29556_25702991.1217835502493--
--===============2123623832==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
sqlite-dev mailing list
sqlite-dev@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
--===============2123623832==--

View File

@ -0,0 +1,136 @@
Return-Path: <help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
X-Spam-Level:
X-Spam-Status: No, score=-3.6 required=3.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW,
SPF_PASS,WHOIS_NETSOLPR autolearn=ham version=3.2.5
X-Original-To: xxxx@localhost
Delivered-To: xxxx@localhost
Received: from mindcrime (localhost [127.0.0.1])
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 1A6CD69CB6
for <xxxx@localhost>; Tue, 12 Aug 2008 21:42:38 +0300 (EEST)
Delivered-To: xxxx.klub@gmail.com
Received: from gmail-imap.l.google.com [72.14.221.109]
by mindcrime with IMAP (fetchmail-6.3.8)
for <xxxx@localhost> (single-drop); Tue, 12 Aug 2008 21:42:38 +0300 (EEST)
Received: by 10.142.237.21 with SMTP id k21cs123119wfh; Sun, 10 Aug 2008
22:06:31 -0700 (PDT)
Received: by 10.100.166.10 with SMTP id o10mr9327844ane.0.1218431190107; Sun,
10 Aug 2008 22:06:30 -0700 (PDT)
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by mx.google.com
with ESMTP id c29si10110392anc.13.2008.08.10.22.06.29; Sun, 10 Aug 2008
22:06:30 -0700 (PDT)
Received-SPF: pass (google.com: domain of
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
as permitted sender) client-ip=199.232.76.165;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
as permitted sender)
smtp.mail=help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Received: from localhost ([127.0.0.1]:45637 helo=lists.gnu.org) by
lists.gnu.org with esmtp (Exim 4.43) id 1KSPbx-0006dj-96 for
xxxx.klub@gmail.com; Mon, 11 Aug 2008 01:06:29 -0400
Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id
1KSPbE-0006cQ-Nd for help-gnu-emacs@gnu.org; Mon, 11 Aug 2008 01:05:44 -0400
Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id
1KSPbD-0006bs-Px for help-gnu-emacs@gnu.org; Mon, 11 Aug 2008 01:05:44 -0400
Received: from [199.232.76.173] (port=37426 helo=monty-python.gnu.org) by
lists.gnu.org with esmtp (Exim 4.43) id 1KSPbD-0006bk-HT for
help-gnu-emacs@gnu.org; Mon, 11 Aug 2008 01:05:43 -0400
Received: from main.gmane.org ([80.91.229.2]:46446 helo=ciao.gmane.org) by
monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim
4.60) (envelope-from <geh-help-gnu-emacs@m.gmane.org>) id 1KSPbD-0003Kl-CA
for help-gnu-emacs@gnu.org; Mon, 11 Aug 2008 01:05:43 -0400
Received: from list by ciao.gmane.org with local (Exim 4.43) id
1KSPb9-00080r-CX for help-gnu-emacs@gnu.org; Mon, 11 Aug 2008 05:05:39 +0000
Received: from bas2-toronto63-1088792724.dsl.bell.ca ([64.229.168.148]) by
main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for
<help-gnu-emacs@gnu.org>; Mon, 11 Aug 2008 05:05:39 +0000
Received: from cpchan by bas2-toronto63-1088792724.dsl.bell.ca with local
(Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for <help-gnu-emacs@gnu.org>; Mon,
11 Aug 2008 05:05:39 +0000
X-Injected-Via-Gmane: http://gmane.org/
To: help-gnu-emacs@gnu.org
From: anon@example.com
Date: Mon, 11 Aug 2008 01:03:22 -0400
Organization: Linux Private Site
Message-ID: <87bq00nnxh.fsf@MagnumOpus.Mercurius>
References: <877iav5s49.fsf@163.com> <86hc9yc5sj.fsf@timbral.net>
<877iat7udd.fsf@163.com> <87fxphcsxi.fsf@lion.rapttech.com.au>
<8504ddd4-5e3b-4ed5-bf77-aa9cce81b59a@1g2000pre.googlegroups.com>
<87k5es59we.fsf@lion.rapttech.com.au>
<63c824e3-62b1-4a93-8fa8-2813e1f9397f@v13g2000pro.googlegroups.com>
<874p5vsgg8.fsf@nonospaz.fatphil.org>
<8250972e-1886-4021-80bc-376e34881c80@v39g2000pro.googlegroups.com>
<87zlnnqvvs.fsf@nonospaz.fatphil.org>
<57add0e0-b39d-4c71-8d2c-d3b9ddfaa1a9@1g2000pre.googlegroups.com>
<87sktfnz5p.fsf@atthis.clsnet.nl>
<562e1111-d9e7-4b6a-b661-3f9af13fea17@b30g2000prf.googlegroups.com>
<87d4khoq97.fsf@atthis.clsnet.nl>
<0fe404c5-cab8-4692-8a27-532e737a7813@i24g2000prf.googlegroups.com>
Mime-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1;
protocol="application/pgp-signature"
X-Complaints-To: usenet@ger.gmane.org
X-Gmane-NNTP-Posting-Host: bas2-toronto63-1088792724.dsl.bell.ca
X-Face: G;
Z,`sm>)4t4LB/GUrgH$W`!AmfHMj,LG)Z}X0ax@s9:0>0)B&@vcm{v-le)wng)?|o]D<V6&ay<F=H{M5?$T%p!dPdJeF,au\E@TA"v22K!Zl\\mzpU4]6$ZnAI3_L)h;
fpd}mn2py/7gv^|*85-D_f:07cT>\Z}0:6X
User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.60 (gnu/linux)
Cancel-Lock: sha1:IKyfrl5drOw6HllHFSmWHAKEeC8=
X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4)
Subject: Re: Can anybody tell me how to send HTML-format mail in gnus
X-BeenThere: help-gnu-emacs@gnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Users list for the GNU Emacs text editor <help-gnu-emacs.gnu.org>
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
<mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/pipermail/help-gnu-emacs>
List-Post: <mailto:help-gnu-emacs@gnu.org>
List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help>
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
<mailto:help-gnu-emacs-request@gnu.org?subject=subscribe>
Sender: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Errors-To: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Content-Length: 1229
Lines: 36
--=-=-=
Content-Type: text/plain
Xah <xahlee@gmail.com> writes:
> So, i was reading about it in Wikipedia. Although i don't have a TV,
> and haven't had since 2000, but i still enjoyed the festive spirits
> anyhow. After all, i'm Chinese by blood. So, in my wandering, i ran
> into this welcome song on youtube:
>
> http://www.youtube.com/watch?v=1HEndNYVhZo
What is your point? Your email is in plain text and I can click on the
link just fine- it is not exactly rocket science to implement parsing of
URL's to workable links in an Email program (a lot of programs does
that, including Gnus). Images can be included inline if you want. Also
mail markups such as *this*, **this** and _this_ have been around since
the Usenet days and displayed appropriately by a number of mailers. Like
others have said, most html messages that I have seen either contains
useless information, or are plain spam and can introduce a host of
security problems in some mailers.
Charles
--=-=-=
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4-svn0 (GNU/Linux)
iD8DBQFIn8gm3epPyyKbwPYRApbvAKDRirXwzMzI+NHV77+QcP3EgTPaCgCfb/6m
GtNVKdYAeftaYm1nwRVoCDA=
=ULo3
-----END PGP SIGNATURE-----
--=-=-=--

View File

@ -0,0 +1,77 @@
Return-Path: <help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
X-Spam-Level:
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham
version=3.2.5
X-Original-To: xxxx@localhost
Delivered-To: xxxx@localhost
Received: from mindcrime (localhost [127.0.0.1])
by mail.xxxxsoftware.nl (Postfix) with ESMTP id C4D6569CB3
for <xxxx@localhost>; Thu, 7 Aug 2008 08:10:08 +0300 (EEST)
Delivered-To: xxxx.klub@gmail.com
Received: from gmail-imap.l.google.com [66.249.91.109]
by mindcrime with IMAP (fetchmail-6.3.8)
for <xxxx@localhost> (single-drop); Thu, 07 Aug 2008 08:10:08 +0300 (EEST)
Received: by 10.142.237.21 with SMTP id k21cs34794wfh; Wed, 6 Aug 2008
13:40:29 -0700 (PDT)
Received: by 10.100.33.13 with SMTP id g13mr1093301ang.79.1218055228418; Wed,
06 Aug 2008 13:40:28 -0700 (PDT)
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by mx.google.com
with ESMTP id d19si15908789and.17.2008.08.06.13.40.27; Wed, 06 Aug 2008
13:40:28 -0700 (PDT)
Received-SPF: pass (google.com: domain of
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
as permitted sender) client-ip=199.232.76.165;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
as permitted sender)
smtp.mail=help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Received: from localhost ([127.0.0.1]:56316 helo=lists.gnu.org) by
lists.gnu.org with esmtp (Exim 4.43) id 1KQpo3-0007Pc-Qk for
xxxx.klub@gmail.com; Wed, 06 Aug 2008 16:40:27 -0400
From: anon@example.com
Newsgroups: gnu.emacs.help
Date: Wed, 6 Aug 2008 20:38:35 +0100
Message-ID: <r6bpm5-6n6.ln1@news.ducksburg.com>
References: <55dbm5-qcl.ln1@news.ducksburg.com>
<mailman.15710.1217599959.18990.help-gnu-emacs@gnu.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Trace: individual.net bABVU1hcJwWAuRwe/097AAoOXnGGeYR8G1In635iFGIyfDLPUv
X-Orig-Path: news.ducksburg.com!news
Cancel-Lock: sha1:wK7dsPRpNiVxpL/SfvmNzlvUR94=
sha1:oepBoM0tJBLN52DotWmBBvW5wbg=
User-Agent: slrn/pre0.9.9-120/mm/ao (Ubuntu Hardy)
Path: news.stanford.edu!headwall.stanford.edu!newshub.sdsu.edu!feeder.erje.net!proxad.net!feeder1-2.proxad.net!feed.ac-versailles.fr!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
Xref: news.stanford.edu gnu.emacs.help:160868
To: help-gnu-emacs@gnu.org
Subject: Re: Learning LISP; Scheme vs elisp.
X-BeenThere: help-gnu-emacs@gnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Users list for the GNU Emacs text editor <help-gnu-emacs.gnu.org>
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
<mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/pipermail/help-gnu-emacs>
List-Post: <mailto:help-gnu-emacs@gnu.org>
List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help>
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
<mailto:help-gnu-emacs-request@gnu.org?subject=subscribe>
Sender: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Errors-To: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Content-Length: 417
Lines: 11
On 2008-08-01, Thien-Thi Nguyen wrote:
> warriors attack, felling foe after foe,
> few growing old til they realize: to know
> what deceit is worth deflection;
> such receipt reversed rejection!
> then their heavy arms, e'er transformed to shields:
> balanced hooked charms, ploughed deep, rich yields.
Aha: the exercise for the reader is to place the parens correctly.
Might take me a while to solve this puzzle.

View File

@ -0,0 +1,84 @@
Return-Path: <sqlite-dev-bounces@sqlite.org>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
X-Spam-Level:
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham
version=3.2.5
X-Original-To: xxxx@localhost
Delivered-To: xxxx@localhost
Received: from mindcrime (localhost [127.0.0.1])
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 32F276963F
for <xxxx@localhost>; Mon, 4 Aug 2008 21:49:34 +0300 (EEST)
Delivered-To: xxxx.klub@gmail.com
Received: from gmail-imap.l.google.com [72.14.221.111]
by mindcrime with IMAP (fetchmail-6.3.8)
for <xxxx@localhost> (single-drop); Mon, 04 Aug 2008 21:49:34 +0300 (EEST)
Received: by 10.142.51.12 with SMTP id y12cs89397wfy; Mon, 4 Aug 2008 02:41:16
-0700 (PDT)
Received: by 10.150.156.20 with SMTP id d20mr963580ybe.104.1217842875596; Mon,
04 Aug 2008 02:41:15 -0700 (PDT)
Received: from sqlite.org (sqlite.org [67.18.92.124]) by mx.google.com with
ESMTP id 6si3605185ywi.1.2008.08.04.02.40.57; Mon, 04 Aug 2008 02:41:15 -0700
(PDT)
Received-SPF: pass (google.com: best guess record for domain of
sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as permitted sender)
client-ip=67.18.92.124;
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record
for domain of sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as
permitted sender) smtp.mail=sqlite-dev-bounces@sqlite.org
Received: from sqlite.org (localhost [127.0.0.1]) by sqlite.org (Postfix) with
ESMTP id 7147F11C45; Mon, 4 Aug 2008 05:40:55 -0400 (EDT)
X-Original-To: sqlite-dev@sqlite.org
Delivered-To: sqlite-dev@sqlite.org
Received: from relay00.pair.com (relay00.pair.com [209.68.5.9]) by sqlite.org
(Postfix) with SMTP id B5F901192C for <sqlite-dev@sqlite.org>; Mon, 4 Aug
2008 05:40:52 -0400 (EDT)
Received: (qmail 59961 invoked from network); 4 Aug 2008 09:40:50 -0000
Received: from unknown (HELO ?192.168.0.17?) (unknown) by unknown with SMTP; 4
Aug 2008 09:40:50 -0000
X-pair-Authenticated: 87.13.75.164
Message-Id: <83B5AF40-DBFA-4578-A043-04C80276E195@sqlabs.net>
From: anon@example.com
To: sqlite-dev@sqlite.org
Mime-Version: 1.0 (Apple Message framework v926)
Date: Mon, 4 Aug 2008 11:40:49 +0200
X-Mailer: Apple Mail (2.926)
Subject: [sqlite-dev] VM optimization inside sqlite3VdbeExec
X-BeenThere: sqlite-dev@sqlite.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: sqlite-dev@sqlite.org
List-Id: <sqlite-dev.sqlite.org>
List-Unsubscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
<mailto:sqlite-dev-request@sqlite.org?subject=unsubscribe>
List-Archive: <http://sqlite.org:8080/cgi-bin/mailman/private/sqlite-dev>
List-Post: <mailto:sqlite-dev@sqlite.org>
List-Help: <mailto:sqlite-dev-request@sqlite.org?subject=help>
List-Subscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
<mailto:sqlite-dev-request@sqlite.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: sqlite-dev-bounces@sqlite.org
Errors-To: sqlite-dev-bounces@sqlite.org
Content-Length: 639
Inside sqlite3VdbeExec there is a very big switch statement.
In order to increase performance with few modifications to the
original code, why not use this technique ?
http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html
With a properly defined "instructions" array, instead of the switch
statement you can use something like:
goto * instructions[pOp->opcode];
---
Marco Bambini
http://www.sqlabs.net
http://www.sqlabs.net/blog/
http://www.sqlabs.net/realsqlserver/
_______________________________________________
sqlite-dev mailing list
sqlite-dev@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev

View File

@ -0,0 +1,138 @@
Return-Path: <sqlite-dev-bounces@sqlite.org>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
X-Spam-Level:
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham
version=3.2.5
X-Original-To: xxxx@localhost
Delivered-To: xxxx@localhost
Received: from mindcrime (localhost [127.0.0.1])
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 3EBAB6963B
for <xxxx@localhost>; Mon, 4 Aug 2008 21:49:35 +0300 (EEST)
Delivered-To: xxxx.klub@gmail.com
Received: from gmail-imap.l.google.com [72.14.221.111]
by mindcrime with IMAP (fetchmail-6.3.8)
for <xxxx@localhost> (single-drop); Mon, 04 Aug 2008 21:49:35 +0300 (EEST)
Received: by 10.142.51.12 with SMTP id y12cs89536wfy; Mon, 4 Aug 2008 02:48:56
-0700 (PDT)
Received: by 10.150.134.21 with SMTP id h21mr7950048ybd.181.1217843335665;
Mon, 04 Aug 2008 02:48:55 -0700 (PDT)
Received: from sqlite.org (sqlite.org [67.18.92.124]) by mx.google.com with
ESMTP id 6si5897081ywi.1.2008.08.04.02.48.35; Mon, 04 Aug 2008 02:48:55 -0700
(PDT)
Received-SPF: pass (google.com: best guess record for domain of
sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as permitted sender)
client-ip=67.18.92.124;
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record
for domain of sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as
permitted sender) smtp.mail=sqlite-dev-bounces@sqlite.org
Received: from sqlite.org (localhost [127.0.0.1]) by sqlite.org (Postfix) with
ESMTP id ED01611C4E; Mon, 4 Aug 2008 05:48:31 -0400 (EDT)
X-Original-To: sqlite-dev@sqlite.org
Delivered-To: sqlite-dev@sqlite.org
Received: from mx0.security.ro (mx0.security.ro [80.96.72.194]) by sqlite.org
(Postfix) with ESMTP id EB3F51192C for <sqlite-dev@sqlite.org>; Mon, 4 Aug
2008 05:48:28 -0400 (EDT)
Received: (qmail 348 invoked from network); 4 Aug 2008 12:48:03 +0300
Received: from dev.security.ro (HELO ?192.168.1.70?) (192.168.1.70) by
mx0.security.ro with SMTP; 4 Aug 2008 12:48:03 +0300
Message-ID: <4896D06A.8000901@security.ro>
Date: Mon, 04 Aug 2008 12:48:26 +0300
From: anon@example.com
User-Agent: Thunderbird 2.0.0.16 (Windows/20080708)
MIME-Version: 1.0
To: sqlite-dev@sqlite.org
References: <83B5AF40-DBFA-4578-A043-04C80276E195@sqlabs.net>
In-Reply-To: <83B5AF40-DBFA-4578-A043-04C80276E195@sqlabs.net>
Content-Type: multipart/mixed; boundary="------------000207070200050102060301"
X-BitDefender-Scanner: Clean, Agent: BitDefender qmail 2.0.0 on
mx0.security.ro
X-BitDefender-Spam: No (0)
X-BitDefender-SpamStamp: v1, whitelisted, total: 0
Subject: Re: [sqlite-dev] VM optimization inside sqlite3VdbeExec
X-BeenThere: sqlite-dev@sqlite.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: sqlite-dev@sqlite.org
List-Id: <sqlite-dev.sqlite.org>
List-Unsubscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
<mailto:sqlite-dev-request@sqlite.org?subject=unsubscribe>
List-Archive: <http://sqlite.org:8080/cgi-bin/mailman/private/sqlite-dev>
List-Post: <mailto:sqlite-dev@sqlite.org>
List-Help: <mailto:sqlite-dev-request@sqlite.org?subject=help>
List-Subscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
<mailto:sqlite-dev-request@sqlite.org?subject=subscribe>
Sender: sqlite-dev-bounces@sqlite.org
Errors-To: sqlite-dev-bounces@sqlite.org
Content-Length: 2212
This is a multi-part message in MIME format.
--------------000207070200050102060301
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Marco Bambini wrote:
> Inside sqlite3VdbeExec there is a very big switch statement.
> In order to increase performance with few modifications to the
> original code, why not use this technique ?
> http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html
>
> With a properly defined "instructions" array, instead of the switch
> statement you can use something like:
> goto * instructions[pOp->opcode];
> ---
> Marco Bambini
> http://www.sqlabs.net
> http://www.sqlabs.net/blog/
> http://www.sqlabs.net/realsqlserver/
>
>
>
> _______________________________________________
> sqlite-dev mailing list
> sqlite-dev@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
>
All the world's not a VAX. This technique is GCC-specific. The SQLite
source must be as portable as possible thus tying it to a specific
compiler is out of the question. While one could conceivably use some
preprocessor magic to provide alternate implementations, that would be
impractical considering the sheer size of the code affected.
On the other hand - perhaps you could benchmark the change and provide
some data on whether this actually improves performance?
--------------000207070200050102060301
Content-Type: text/x-vcard; charset=utf-8;
name="mihailim.vcf"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="mihailim.vcf"
begin:vcard
fn:Mihai Limbasan
n:Limbasan;Mihai
org:SC SECPRAL COM SRL
adr:;;str. Actorului nr. 9;Cluj-Napoca;Cluj;400441;Romania
email;internet:mihailim@security.ro
title:SoftwareDeveloper
tel;work:+40 264 449579
tel;fax:+40 264 418594
tel;cell:+40 729 038302
url:http://secpral.ro/
version:2.1
end:vcard
--------------000207070200050102060301
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
sqlite-dev mailing list
sqlite-dev@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
--------------000207070200050102060301--

View File

@ -0,0 +1,111 @@
Return-Path: <help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
X-Spam-Level:
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham
version=3.2.5
X-Original-To: xxxx@localhost
Delivered-To: xxxx@localhost
Received: from mindcrime (localhost [127.0.0.1])
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 6389969CB2
for <xxxx@localhost>; Thu, 7 Aug 2008 08:10:07 +0300 (EEST)
Delivered-To: xxxx.klub@gmail.com
Received: from gmail-imap.l.google.com [66.249.91.109]
by mindcrime with IMAP (fetchmail-6.3.8)
for <xxxx@localhost> (single-drop); Thu, 07 Aug 2008 08:10:07 +0300 (EEST)
Received: by 10.142.237.21 with SMTP id k21cs34769wfh; Wed, 6 Aug 2008
13:38:53 -0700 (PDT)
Received: by 10.100.6.13 with SMTP id 13mr4103508anf.83.1218055131215; Wed, 06
Aug 2008 13:38:51 -0700 (PDT)
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by mx.google.com
with ESMTP id b32si10199298ana.34.2008.08.06.13.38.49; Wed, 06 Aug 2008
13:38:51 -0700 (PDT)
Received-SPF: pass (google.com: domain of
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
as permitted sender) client-ip=199.232.76.165;
DomainKey-Status: good (test mode)
Authentication-Results: mx.google.com; spf=pass (google.com: domain of
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
as permitted sender)
smtp.mail=help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org; domainkeys=pass
(test mode) header.From=juanma_bellon@yahoo.es
Received: from localhost ([127.0.0.1]:55648 helo=lists.gnu.org) by
lists.gnu.org with esmtp (Exim 4.43) id 1KQpmT-0005W9-AQ for
xxxx.klub@gmail.com; Wed, 06 Aug 2008 16:38:49 -0400
Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id
1KQplz-0005U5-Pk for help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:38:19 -0400
Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id
1KQplw-0005Nw-OG for help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:38:19 -0400
Received: from [199.232.76.173] (port=45465 helo=monty-python.gnu.org) by
lists.gnu.org with esmtp (Exim 4.43) id 1KQplw-0005NX-I6 for
help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:38:16 -0400
Received: from n74a.bullet.mail.sp1.yahoo.com ([98.136.45.21]:29868) by
monty-python.gnu.org with smtp (Exim 4.60) (envelope-from
<juanma_bellon@yahoo.es>) id 1KQplw-0007EF-7Z for help-gnu-emacs@gnu.org;
Wed, 06 Aug 2008 16:38:16 -0400
Received: from [216.252.122.216] by n74.bullet.mail.sp1.yahoo.com with NNFMP;
06 Aug 2008 20:38:14 -0000
Received: from [68.142.237.89] by t1.bullet.sp1.yahoo.com with NNFMP; 06 Aug
2008 20:38:14 -0000
Received: from [69.147.75.180] by t5.bullet.re3.yahoo.com with NNFMP; 06 Aug
2008 20:38:14 -0000
Received: from [127.0.0.1] by omp101.mail.re1.yahoo.com with NNFMP; 06 Aug
2008 20:38:14 -0000
X-Yahoo-Newman-Id: 778995.62909.bm@omp101.mail.re1.yahoo.com
Received: (qmail 43643 invoked from network); 6 Aug 2008 20:38:14 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.es;
h=Received:X-YMail-OSG:X-Yahoo-Newman-Property:From:To:Subject:Date:User-Agent:References:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-Disposition:Message-Id;
b=ThdHlND5CNUsLPGuk+XhCWkdUA9w7lg4hiAgx8F8egsmQteMpwUlV/Y5tfe6K3O2jzHjtsklkzWqm7WY3VAcxxD/QgxLnianK5ZQHoelDAiGaFRqu8Y42XMZso2ccCBFWUQaKo9C+KIfa3e3ci73qehVxTtmr7bxLjurcSYEBPo=
;
Received: from unknown (HELO 212251170160.customer.cdi.no)
(juanma_bellon@212.251.170.160 with plain) by smtp109.plus.mail.re1.yahoo.com
with SMTP; 6 Aug 2008 20:38:14 -0000
X-YMail-OSG: k86L54kVM1kiZbUlYx7gayoBrCLYMFIRDL.KJLBKetNucAbwU4RjeeE1vhjw33hREaUig0CCjG7BTwIfbeZZpRmUcHbxl6gR0z6Sd3lYqA--
X-Yahoo-Newman-Property: ymail-3
From: anon@example.com
To: help-gnu-emacs@gnu.org
Date: Wed, 6 Aug 2008 22:38:15 +0200
User-Agent: KMail/1.9.6 (enterprise 0.20070907.709405)
References: <mailman.15123.1216681940.18990.help-gnu-emacs@gnu.org>
<mailman.15143.1216715014.18990.help-gnu-emacs@gnu.org>
<9bc17528-8ea9-49f7-8e9d-07f5ede91415@p31g2000prf.googlegroups.com>
In-Reply-To: <9bc17528-8ea9-49f7-8e9d-07f5ede91415@p31g2000prf.googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
Message-Id: <200808062238.15634.juanma_bellon@yahoo.es>
X-detected-kernel: by monty-python.gnu.org: FreeBSD 6.x (1)
Subject: Re: basic question: going back to dired
X-BeenThere: help-gnu-emacs@gnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Users list for the GNU Emacs text editor <help-gnu-emacs.gnu.org>
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
<mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/pipermail/help-gnu-emacs>
List-Post: <mailto:help-gnu-emacs@gnu.org>
List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help>
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
<mailto:help-gnu-emacs-request@gnu.org?subject=subscribe>
Sender: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Errors-To: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Content-Length: 361
On Thursday 31 July 2008, Xah wrote:
> what's the logic of =E2=80=9COK=E2=80=9D?
=46or all I know, it comes from "0 Knock-outs" (from USA civil war times,
IIRC), i.e., all went really well.
But this is really off-topic.
=2D-=20
Juanma
"Having a smoking section in a restaurant is like
having a peeing section in a swimming pool."
-- Edward Burr

View File

@ -0,0 +1,105 @@
Return-Path: <help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
X-Spam-Level:
X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham
version=3.2.5
X-Original-To: xxxx@localhost
Delivered-To: xxxx@localhost
Received: from mindcrime (localhost [127.0.0.1])
by mail.xxxxsoftware.nl (Postfix) with ESMTP id C3EF069CB3
for <xxxx@localhost>; Thu, 7 Aug 2008 08:10:10 +0300 (EEST)
Delivered-To: xxxx.klub@gmail.com
Received: from gmail-imap.l.google.com [66.249.91.109]
by mindcrime with IMAP (fetchmail-6.3.8)
for <xxxx@localhost> (single-drop); Thu, 07 Aug 2008 08:10:10 +0300 (EEST)
Received: by 10.142.237.21 with SMTP id k21cs35153wfh; Wed, 6 Aug 2008
13:58:17 -0700 (PDT)
Received: by 10.100.166.10 with SMTP id o10mr4182182ane.0.1218056296101; Wed,
06 Aug 2008 13:58:16 -0700 (PDT)
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by mx.google.com
with ESMTP id d34si13875743and.3.2008.08.06.13.58.14; Wed, 06 Aug 2008
13:58:16 -0700 (PDT)
Received-SPF: pass (google.com: domain of
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
as permitted sender) client-ip=199.232.76.165;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
as permitted sender)
smtp.mail=help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org; dkim=pass (test
mode) header.i=@gmail.com
Received: from localhost ([127.0.0.1]:33418 helo=lists.gnu.org) by
lists.gnu.org with esmtp (Exim 4.43) id 1KQq5G-0001aY-Cr for
xxxx.klub@gmail.com; Wed, 06 Aug 2008 16:58:14 -0400
Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id
1KQq4n-0001Z9-06 for help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:57:45 -0400
Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id
1KQq4l-0001V8-6c for help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:57:44 -0400
Received: from [199.232.76.173] (port=46438 helo=monty-python.gnu.org) by
lists.gnu.org with esmtp (Exim 4.43) id 1KQq4k-0001Un-V2 for
help-gnu-emacs@gnu.org; Wed, 06 Aug 2008 16:57:42 -0400
Received: from ik-out-1112.google.com ([66.249.90.180]:17562) by
monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from
<lekktu@gmail.com>) id 1KQq4k-0001fk-OW for help-gnu-emacs@gnu.org; Wed, 06
Aug 2008 16:57:42 -0400
Received: by ik-out-1112.google.com with SMTP id c21so94956ika.2 for
<help-gnu-emacs@gnu.org>; Wed, 06 Aug 2008 13:57:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
h=domainkey-signature:received:received:message-id:date:from:to
:subject:cc:in-reply-to:mime-version:content-type
:content-transfer-encoding:content-disposition:references;
bh=TTNY9749hpg1+TXOwdaCr+zbQGhBUt3IvsjLWp+pxp0=;
b=BOfudUT/SiW9V4e9+k3dXDzwm+ogdrq4m5OlO+f1H+oE6OAYGIm8dbdqDAOwUewBoS
jRpfZo07YamP9rkko79SeFdQnf7UAPFAw9x7DFCm3x6muSlCcJBR7vYs1rgHOSINAn2B
vQx2//lKR4fXfKNURNu+B30KrvoEmw6m2C8dI=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
h=message-id:date:from:to:subject:cc:in-reply-to:mime-version
:content-type:content-transfer-encoding:content-disposition :references;
b=UMDBulH/LwxDywEH0pfK3DbJ4u2kIZCVDLIM++PqrdcR82HjcS/O3Jhf5OFrf7Fnyj
GH76xmc7zkTG/3aQy2WY6DeWCJaFarEItmhxy3h/xS+kUKeDARzNox0OzK6lIv/u9bdy
f2LnFlYRJ7Q5vy3lxpxAWB4v0qCwtF9LjWFg4=
Received: by 10.210.47.7 with SMTP id u7mr3100239ebu.30.1218056261587; Wed, 06
Aug 2008 13:57:41 -0700 (PDT)
Received: by 10.210.71.14 with HTTP; Wed, 6 Aug 2008 13:57:41 -0700 (PDT)
Message-ID: <f7ccd24b0808061357t453f5962w8b61f9a453b684d0@mail.gmail.com>
Date: Wed, 6 Aug 2008 22:57:41 +0200
From: anon@example.com
To: Juanma <juanma_bellon@yahoo.es>
In-Reply-To: <200808062238.15634.juanma_bellon@yahoo.es>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
References: <mailman.15123.1216681940.18990.help-gnu-emacs@gnu.org>
<mailman.15143.1216715014.18990.help-gnu-emacs@gnu.org>
<9bc17528-8ea9-49f7-8e9d-07f5ede91415@p31g2000prf.googlegroups.com>
<200808062238.15634.juanma_bellon@yahoo.es>
X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 2)
Cc: help-gnu-emacs@gnu.org
Subject: Re: basic question: going back to dired
X-BeenThere: help-gnu-emacs@gnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Users list for the GNU Emacs text editor <help-gnu-emacs.gnu.org>
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
<mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/pipermail/help-gnu-emacs>
List-Post: <mailto:help-gnu-emacs@gnu.org>
List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help>
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
<mailto:help-gnu-emacs-request@gnu.org?subject=subscribe>
Sender: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Errors-To: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Content-Length: 309
On Wed, Aug 6, 2008 at 22:38, Juanma <juanma_bellon@yahoo.es> wrote:
> For all I know, it comes from "0 Knock-outs" (from USA civil war times,
> IIRC), i.e., all went really well.
See http://en.wikipedia.org/wiki/Okay#Etymology
"0 knock-outs" is among the "Improbable or refuted etymologies".
Juanma

View File

@ -0,0 +1,98 @@
Return-Path: <help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
X-Spam-Level:
X-Spam-Status: No, score=-3.6 required=3.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW,
SPF_PASS autolearn=ham version=3.2.5
X-Original-To: xxxx@localhost
Delivered-To: xxxx@localhost
Received: from mindcrime (localhost [127.0.0.1])
by mail.xxxxsoftware.nl (Postfix) with ESMTP id D68E769CB5
for <xxxx@localhost>; Fri, 8 Aug 2008 20:56:25 +0300 (EEST)
Delivered-To: xxxx.klub@gmail.com
Received: from gmail-imap.l.google.com [72.14.221.111]
by mindcrime with IMAP (fetchmail-6.3.8)
for <xxxx@localhost> (single-drop); Fri, 08 Aug 2008 20:56:25 +0300 (EEST)
Received: by 10.142.237.21 with SMTP id k21cs71287wfh; Fri, 8 Aug 2008
07:40:46 -0700 (PDT)
Received: by 10.100.122.8 with SMTP id u8mr3824321anc.77.1218206446062; Fri,
08 Aug 2008 07:40:46 -0700 (PDT)
Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by mx.google.com
with ESMTP id d35si2718351and.38.2008.08.08.07.40.45; Fri, 08 Aug 2008
07:40:46 -0700 (PDT)
Received-SPF: pass (google.com: domain of
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
as permitted sender) client-ip=199.232.76.165;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of
help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org designates 199.232.76.165
as permitted sender)
smtp.mail=help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Received: from localhost ([127.0.0.1]:47349 helo=lists.gnu.org) by
lists.gnu.org with esmtp (Exim 4.43) id 1KRT93-0006Po-A3 for
xxxx.klub@gmail.com; Fri, 08 Aug 2008 10:40:45 -0400
Path: news.stanford.edu!headwall.stanford.edu!newshub.sdsu.edu!news-out.readnews.com!news-xxxfer.readnews.com!panix!not-for-mail
From: anon@example.com
Newsgroups: gnu.emacs.help
Date: Fri, 08 Aug 2008 10:07:30 -0400
Organization: PANIX Public Access Internet and UNIX, NYC
Message-ID: <uwsireh25.fsf@one.dot.net>
References: <mailman.15123.1216681940.18990.help-gnu-emacs@gnu.org>
<mailman.15143.1216715014.18990.help-gnu-emacs@gnu.org>
<9bc17528-8ea9-49f7-8e9d-07f5ede91415@p31g2000prf.googlegroups.com>
<200808062238.15634.juanma_bellon@yahoo.es>
<mailman.15958.1218056266.18990.help-gnu-emacs@gnu.org>
NNTP-Posting-Host: panix5.panix.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Trace: reader1.panix.com 1218204439 22850 166.84.1.5 (8 Aug 2008 14:07:19
GMT)
X-Complaints-To: abuse@panix.com
NNTP-Posting-Date: Fri, 8 Aug 2008 14:07:19 +0000 (UTC)
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (windows-nt)
Cancel-Lock: sha1:Ckkp5oJPIMuAVgEHGnS/9MkZsEs=
Xref: news.stanford.edu gnu.emacs.help:160963
To: help-gnu-emacs@gnu.org
Subject: Re: basic question: going back to dired
X-BeenThere: help-gnu-emacs@gnu.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Users list for the GNU Emacs text editor <help-gnu-emacs.gnu.org>
List-Unsubscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
<mailto:help-gnu-emacs-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/pipermail/help-gnu-emacs>
List-Post: <mailto:help-gnu-emacs@gnu.org>
List-Help: <mailto:help-gnu-emacs-request@gnu.org?subject=help>
List-Subscribe: <http://lists.gnu.org/mailman/listinfo/help-gnu-emacs>,
<mailto:help-gnu-emacs-request@gnu.org?subject=subscribe>
Sender: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Errors-To: help-gnu-emacs-bounces+xxxx.klub=gmail.com@gnu.org
Content-Length: 710
Lines: 27
I seem to remember from my early school days it was a campaign slogan
for someone nick-named Kinderhook that went something like
Old Kinderhook is OK
- Chris
"Juanma Barranquero" <lekktu@gmail.com> writes:
> On Wed, Aug 6, 2008 at 22:38, Juanma <juanma_bellon@yahoo.es> wrote:
>
>> For all I know, it comes from "0 Knock-outs" (from USA civil war times,
>> IIRC), i.e., all went really well.
>
> See http://en.wikipedia.org/wiki/Okay#Etymology
>
> "0 knock-outs" is among the "Improbable or refuted etymologies".
>
> Juanma
>
>
--
(. .)
=ooO=(_)=Ooo=====================================
Chris McMahan | first_initiallastname@one.dot.net
=================================================

View File

@ -0,0 +1,209 @@
Return-Path: <sqlite-dev-bounces@sqlite.org>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mindcrime
X-Spam-Level:
X-Spam-Status: No, score=-1.2 required=3.0 tests=BAYES_00,HTML_MESSAGE,
MIME_QP_LONG_LINE autolearn=no version=3.2.5
X-Original-To: xxxx@localhost
Delivered-To: xxxx@localhost
Received: from mindcrime (localhost [127.0.0.1])
by mail.xxxxsoftware.nl (Postfix) with ESMTP id 4E3CF6963B
for <xxxx@localhost>; Mon, 4 Aug 2008 21:49:37 +0300 (EEST)
Delivered-To: xxxx.klub@gmail.com
Received: from gmail-imap.l.google.com [72.14.221.111]
by mindcrime with IMAP (fetchmail-6.3.8)
for <xxxx@localhost> (single-drop); Mon, 04 Aug 2008 21:49:37 +0300 (EEST)
Received: by 10.142.51.12 with SMTP id y12cs94317wfy; Mon, 4 Aug 2008 05:48:28
-0700 (PDT)
Received: by 10.150.152.17 with SMTP id z17mr1245909ybd.194.1217854107583;
Mon, 04 Aug 2008 05:48:27 -0700 (PDT)
Received: from sqlite.org (sqlite.org [67.18.92.124]) by mx.google.com with
ESMTP id 9si6334793yws.5.2008.08.04.05.47.57; Mon, 04 Aug 2008 05:48:27 -0700
(PDT)
Received-SPF: pass (google.com: best guess record for domain of
sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as permitted sender)
client-ip=67.18.92.124;
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record
for domain of sqlite-dev-bounces@sqlite.org designates 67.18.92.124 as
permitted sender) smtp.mail=sqlite-dev-bounces@sqlite.org
Received: from sqlite.org (localhost [127.0.0.1]) by sqlite.org (Postfix) with
ESMTP id 4FBC111C6F; Mon, 4 Aug 2008 08:47:54 -0400 (EDT)
X-Original-To: sqlite-dev@sqlite.org
Delivered-To: sqlite-dev@sqlite.org
Received: from cpsmtpo-eml02.kpnxchange.com (cpsmtpo-eml02.kpnxchange.com
[213.75.38.151]) by sqlite.org (Postfix) with ESMTP id AA4F111C10 for
<sqlite-dev@sqlite.org>; Mon, 4 Aug 2008 08:47:51 -0400 (EDT)
Received: from hpsmtp-eml21.kpnxchange.com ([213.75.38.121]) by
cpsmtpo-eml02.kpnxchange.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 4
Aug 2008 14:47:50 +0200
Received: from cpbrm-eml13.kpnsp.local ([195.121.247.250]) by
hpsmtp-eml21.kpnxchange.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 4
Aug 2008 14:47:50 +0200
Received: from hpsmtp-eml30.kpnxchange.com ([10.94.53.250]) by
cpbrm-eml13.kpnsp.local with Microsoft SMTPSVC(6.0.3790.1830); Mon, 4 Aug
2008 14:47:50 +0200
Received: from localhost ([10.94.53.250]) by hpsmtp-eml30.kpnxchange.com with
Microsoft SMTPSVC(6.0.3790.1830); Mon, 4 Aug 2008 14:47:49 +0200
Content-class: urn:content-classes:message
MIME-Version: 1.0
X-MimeOLE: Produced By Microsoft Exchange V6.5
Date: Mon, 4 Aug 2008 14:46:06 +0200
Message-ID: <F687EC042917A94E8BB4B0902946453AE17D6C@CPEXBE-EML18.kpnsp.local>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [sqlite-dev] VM optimization inside sqlite3VdbeExec
Thread-Index: Acj2FjkWvteFtLHTTYeVz4ES7E2ggAAGRxeI
References: <83B5AF40-DBFA-4578-A043-04C80276E195@sqlabs.net>
From: anon@example.com
To: <sqlite-dev@sqlite.org>
X-OriginalArrivalTime: 04 Aug 2008 12:47:49.0650 (UTC)
FILETIME=[4D577720:01C8F630]
Subject: Re: [sqlite-dev] VM optimization inside sqlite3VdbeExec
X-BeenThere: sqlite-dev@sqlite.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: sqlite-dev@sqlite.org
List-Id: <sqlite-dev.sqlite.org>
List-Unsubscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
<mailto:sqlite-dev-request@sqlite.org?subject=unsubscribe>
List-Archive: <http://sqlite.org:8080/cgi-bin/mailman/private/sqlite-dev>
List-Post: <mailto:sqlite-dev@sqlite.org>
List-Help: <mailto:sqlite-dev-request@sqlite.org?subject=help>
List-Subscribe: <http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>,
<mailto:sqlite-dev-request@sqlite.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============1911358387=="
Mime-version: 1.0
Sender: sqlite-dev-bounces@sqlite.org
Errors-To: sqlite-dev-bounces@sqlite.org
Content-Length: 5318
This is a multi-part message in MIME format.
--===============1911358387==
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;
boundary="----_=_NextPart_001_01C8F630.0FC2EC1E"
This is a multi-part message in MIME format.
------_=_NextPart_001_01C8F630.0FC2EC1E
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Actually, almost every C compiler will already do what you suggest: if =
the range of case labels is compact, the switch will be compiled using a =
jump table. Only if the range is limited and/or sparse other techniques =
will be used, such as linear search and binary search.
=20
I'm pretty sure, if you perform the tests suggested by Mihai, that you =
will find zero performance difference, neither better, nor worse.
=20
Paul
=20
________________________________
From: anon@example.com
Sent: Mon 8/4/2008 11:40 AM
To: sqlite-dev@sqlite.org
Subject: [sqlite-dev] VM optimization inside sqlite3VdbeExec
Inside sqlite3VdbeExec there is a very big switch statement.
In order to increase performance with few modifications to the=20
original code, why not use this technique ?
http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html =
<http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html>=20
With a properly defined "instructions" array, instead of the switch=20
statement you can use something like:
goto * instructions[pOp->opcode];
---
Marco Bambini
http://www.sqlabs.net <http://www.sqlabs.net/>=20
http://www.sqlabs.net/blog/ <http://www.sqlabs.net/blog/>=20
http://www.sqlabs.net/realsqlserver/ =
<http://www.sqlabs.net/realsqlserver/>=20
_______________________________________________
sqlite-dev mailing list
sqlite-dev@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev =
<http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev>=20
------_=_NextPart_001_01C8F630.0FC2EC1E
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<HTML dir=3Dltr><HEAD><TITLE>[sqlite-dev] VM optimization inside =
sqlite3VdbeExec</TITLE>=0A=
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dunicode">=0A=
<META content=3D"MSHTML 6.00.2715.400" name=3DGENERATOR></HEAD>=0A=
<BODY>=0A=
<DIV id=3DidOWAReplyText54900 dir=3Dltr>=0A=
<DIV dir=3Dltr><FONT face=3DArial color=3D#000000 size=3D2>Actually, =
almost every C compiler will already do what you suggest: if the range =
of case labels is compact, the switch will be compiled using a jump =
table. Only if the range is limited and/or sparse other techniques will =
be used, such as linear search and binary search.</FONT></DIV>=0A=
<DIV dir=3Dltr><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>=0A=
<DIV dir=3Dltr><FONT face=3DArial size=3D2>I'm pretty sure, if you =
perform the tests suggested by Mihai, that you will find zero =
performance difference, neither better, nor worse.</FONT></DIV>=0A=
<DIV dir=3Dltr><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>=0A=
<DIV dir=3Dltr><FONT face=3DArial size=3D2>Paul</FONT></DIV>=0A=
<DIV dir=3Dltr><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>=0A=
<DIV dir=3Dltr><FONT face=3DArial size=3D2>=0A=
<HR tabIndex=3D-1>=0A=
</FONT></DIV>=0A=
<DIV dir=3Dltr><FONT face=3DArial><FONT size=3D2><B>From:</B> =
sqlite-dev-bounces@sqlite.org on behalf of Marco Bambini<BR><B>Sent:</B> =
Mon 8/4/2008 11:40 AM<BR><B>To:</B> =
sqlite-dev@sqlite.org<BR><B>Subject:</B> [sqlite-dev] VM optimization =
inside sqlite3VdbeExec<BR><BR></FONT></FONT></DIV></DIV>=0A=
<DIV>=0A=
<P><FONT face=3DArial size=3D2>Inside sqlite3VdbeExec there is a very =
big switch statement.<BR>In order to increase performance with few =
modifications to the&nbsp;<BR>original code, why not use this technique =
?<BR></FONT><A =
href=3D"http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html">=
<FONT face=3DArial =
size=3D2>http://docs.freebsd.org/info/gcc/gcc.info.Labels_as_Values.html<=
/FONT></A><BR><BR><FONT face=3DArial size=3D2>With a properly defined =
"instructions" array, instead of the switch&nbsp;<BR>statement you can =
use something like:<BR>goto * =
instructions[pOp-&gt;opcode];<BR>---<BR>Marco Bambini<BR></FONT><A =
href=3D"http://www.sqlabs.net/"><FONT face=3DArial =
size=3D2>http://www.sqlabs.net</FONT></A><BR><A =
href=3D"http://www.sqlabs.net/blog/"><FONT face=3DArial =
size=3D2>http://www.sqlabs.net/blog/</FONT></A><BR><A =
href=3D"http://www.sqlabs.net/realsqlserver/"><FONT face=3DArial =
size=3D2>http://www.sqlabs.net/realsqlserver/</FONT></A><BR><BR><BR><BR><=
FONT face=3DArial =
size=3D2>_______________________________________________<BR>sqlite-dev =
mailing list<BR>sqlite-dev@sqlite.org<BR></FONT><A =
href=3D"http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev"><FONT=
face=3DArial =
size=3D2>http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev</FONT=
></A><BR></P></DIV></BODY></HTML>
------_=_NextPart_001_01C8F630.0FC2EC1E--
--===============1911358387==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
sqlite-dev mailing list
sqlite-dev@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-dev
--===============1911358387==--