File size: 7,306 Bytes
7510827
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
[
  {
    "function_name": "sqlite3OpenTable",
    "function_signature": "void sqlite3OpenTable(\n  Parse *pParse,  /* Generate code into this VDBE */\n  int iCur,       /* The cursor number of the table */\n  int iDb,        /* The database index in sqlite3.aDb[] */\n  Table *pTab,    /* The table to be opened */\n  int opcode      /* OP_OpenRead or OP_OpenWrite */\n)",
    "test_filename": "tests_insert_sqlite3OpenTable.c"
  },
  {
    "function_name": "sqlite3TableAffinity",
    "function_signature": "void sqlite3TableAffinity(Vdbe *v, Table *pTab, int iReg)",
    "test_filename": "tests_insert_sqlite3TableAffinity.c"
  },
  {
    "function_name": "readsTable",
    "function_signature": "static int readsTable(Parse *p, int iDb, Table *pTab)",
    "test_filename": "tests_insert_readsTable.c"
  },
  {
    "function_name": "sqlite3ComputeGeneratedColumns",
    "function_signature": "void sqlite3ComputeGeneratedColumns(\n  Parse *pParse,    /* Parsing context */\n  int iRegStore,    /* Register holding the first column */\n  Table *pTab       /* The table */\n)",
    "test_filename": "tests_insert_sqlite3ComputeGeneratedColumns.c"
  },
  {
    "function_name": "autoIncBegin",
    "function_signature": "static int autoIncBegin(\n  Parse *pParse,      /* Parsing context */\n  int iDb,            /* Index of the database holding pTab */\n  Table *pTab         /* The table we are writing to */\n)",
    "test_filename": "tests_insert_autoIncBegin.c"
  },
  {
    "function_name": "sqlite3AutoincrementBegin",
    "function_signature": "void sqlite3AutoincrementBegin(Parse *pParse)",
    "test_filename": "tests_insert_sqlite3AutoincrementBegin.c"
  },
  {
    "function_name": "autoIncrementEnd",
    "function_signature": "static SQLITE_NOINLINE void autoIncrementEnd(Parse *pParse)",
    "test_filename": "tests_insert_autoIncrementEnd.c"
  },
  {
    "function_name": "sqlite3MultiValuesEnd",
    "function_signature": "void sqlite3MultiValuesEnd(Parse *pParse, Select *pVal)",
    "test_filename": "tests_insert_sqlite3MultiValuesEnd.c"
  },
  {
    "function_name": "exprListIsNoAffinity",
    "function_signature": "static int exprListIsNoAffinity(Parse *pParse, ExprList *pRow)",
    "test_filename": "tests_insert_exprListIsNoAffinity.c"
  },
  {
    "function_name": "sqlite3Insert",
    "function_signature": "void sqlite3Insert(\n  Parse *pParse,        /* Parser context */\n  SrcList *pTabList,    /* Name of table into which we are inserting */\n  Select *pSelect,      /* A SELECT statement to use as the data source */\n  IdList *pColumn,      /* Column names corresponding to IDLIST, or NULL. */\n  int onError,          /* How to handle constraint errors */\n  Upsert *pUpsert       /* ON CONFLICT clauses for upsert, or NULL */\n)",
    "test_filename": "tests_insert_sqlite3Insert.c"
  },
  {
    "function_name": "checkConstraintExprNode",
    "function_signature": "static int checkConstraintExprNode(Walker *pWalker, Expr *pExpr)",
    "test_filename": "tests_insert_checkConstraintExprNode.c"
  },
  {
    "function_name": "sqlite3ExprReferencesUpdatedColumn",
    "function_signature": "int sqlite3ExprReferencesUpdatedColumn(\n  Expr *pExpr,    /* The expression to be checked */\n  int *aiChng,    /* aiChng[x]>=0 if column x changed by the UPDATE */\n  int chngRowid   /* True if UPDATE changes the rowid */\n)",
    "test_filename": "tests_insert_sqlite3ExprReferencesUpdatedColumn.c"
  },
  {
    "function_name": "sqlite3GenerateConstraintChecks",
    "function_signature": "void sqlite3GenerateConstraintChecks(\n  Parse *pParse,       /* The parser context */\n  Table *pTab,         /* The table being inserted or updated */\n  int *aRegIdx,        /* Use register aRegIdx[i] for index i.  0 for unused */\n  int iDataCur,        /* Canonical data cursor (main table or PK index) */\n  int iIdxCur,         /* First index cursor */\n  int regNewData,      /* First register in a range holding values to insert */\n  int regOldData,      /* Previous content.  0 for INSERTs */\n  u8 pkChng,           /* Non-zero if the rowid or PRIMARY KEY changed */\n  u8 overrideError,    /* Override onError to this if not OE_Default */\n  int ignoreDest,      /* Jump to this label on an OE_Ignore resolution */\n  int *pbMayReplace,   /* OUT: Set to true if constraint may cause a replace */\n  int *aiChng,         /* column i is unchanged if aiChng[i]<0 */\n  Upsert *pUpsert      /* ON CONFLICT clauses, if any.  NULL otherwise */\n)",
    "test_filename": "tests_insert_sqlite3GenerateConstraintChecks.c"
  },
  {
    "function_name": "sqlite3SetMakeRecordP5",
    "function_signature": "void sqlite3SetMakeRecordP5(Vdbe *v, Table *pTab)",
    "test_filename": "tests_insert_sqlite3SetMakeRecordP5.c"
  },
  {
    "function_name": "codeWithoutRowidPreupdate",
    "function_signature": "static void codeWithoutRowidPreupdate(\n  Parse *pParse,                  /* Parse context */\n  Table *pTab,                    /* Table being updated */\n  int iCur,                       /* Cursor number for table */\n  int regData                     /* Data containing new record */\n)",
    "test_filename": "tests_insert_codeWithoutRowidPreupdate.c"
  },
  {
    "function_name": "sqlite3CompleteInsertion",
    "function_signature": "void sqlite3CompleteInsertion(\n  Parse *pParse,      /* The parser context */\n  Table *pTab,        /* the table into which we are inserting */\n  int iDataCur,       /* Cursor of the canonical data source */\n  int iIdxCur,        /* First index cursor */\n  int regNewData,     /* Range of content */\n  int *aRegIdx,       /* Register used by each index.  0 for unused indices */\n  int update_flags,   /* True for UPDATE, False for INSERT */\n  int appendBias,     /* True if this is likely to be an append */\n  int useSeekResult   /* True to set the USESEEKRESULT flag on OP_[Idx]Insert */\n)",
    "test_filename": "tests_insert_sqlite3CompleteInsertion.c"
  },
  {
    "function_name": "sqlite3OpenTableAndIndices",
    "function_signature": "int sqlite3OpenTableAndIndices(\n  Parse *pParse,   /* Parsing context */\n  Table *pTab,     /* Table to be opened */\n  int op,          /* OP_OpenRead or OP_OpenWrite */\n  u8 p5,           /* P5 value for OP_Open* opcodes (except on WITHOUT ROWID) */\n  int iBase,       /* Use this for the table cursor, if there is one */\n  u8 *aToOpen,     /* If not NULL: boolean for each table and index */\n  int *piDataCur,  /* Write the database source cursor number here */\n  int *piIdxCur    /* Write the first index cursor number here */\n)",
    "test_filename": "tests_insert_sqlite3OpenTableAndIndices.c"
  },
  {
    "function_name": "xferCompatibleIndex",
    "function_signature": "static int xferCompatibleIndex(Index *pDest, Index *pSrc)",
    "test_filename": "tests_insert_xferCompatibleIndex.c"
  },
  {
    "function_name": "xferOptimization",
    "function_signature": "static int xferOptimization(\n  Parse *pParse,        /* Parser context */\n  Table *pDest,         /* The table we are inserting into */\n  Select *pSelect,      /* A SELECT statement to use as the data source */\n  int onError,          /* How to handle constraint errors */\n  int iDbDest           /* The database of pDest */\n)",
    "test_filename": "tests_insert_xferOptimization.c"
  }
]