Change the SRT_Subroutine mode into SRT_Coroutine. Use co-routines in
the INSERT processing logic. (CVS 5255)
FossilOrigin-Name: 6b9d92fc3f265ef75c9182e537812490bb818950
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 682bcac..d91383d 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -11,7 +11,7 @@
*************************************************************************
** Internal interface definitions for SQLite.
**
-** @(#) $Id: sqliteInt.h,v 1.720 2008/06/20 14:59:51 danielk1977 Exp $
+** @(#) $Id: sqliteInt.h,v 1.721 2008/06/20 15:24:02 drh Exp $
*/
#ifndef _SQLITEINT_H_
#define _SQLITEINT_H_
@@ -1438,7 +1438,7 @@
#define SRT_Set 7 /* Store non-null results as keys in an index */
#define SRT_Table 8 /* Store result as data with an automatic rowid */
#define SRT_EphemTab 9 /* Create transient tab and store like SRT_Table */
-#define SRT_Subroutine 10 /* Call a subroutine to handle results */
+#define SRT_Coroutine 10 /* Generate a single row of result */
/*
** A structure used to customize the behaviour of sqlite3Select(). See
@@ -1449,9 +1449,10 @@
u8 eDest; /* How to dispose of the results */
u8 affinity; /* Affinity used when eDest==SRT_Set */
int iParm; /* A parameter used by the eDest disposal method */
- int regReturn; /* Return address register for SRT_Subroutine */
+ int regCoroutine; /* Program counter register for SRT_Coroutine */
int iMem; /* Base register where results are written */
int nMem; /* Number of registers allocated */
+ int eofMem; /* Register holding EOF flag */
};
/*