drh
d3a4dbe4b8
Further fixes and improvements to the generate_series() enhancements on
...
this branch.
FossilOrigin-Name: b7d9bd7ee2f4100608063fdf7648f290351465d393bc876a89704f643358853e
2024-04-26 17:09:33 +00:00
drh
84a231eb61
Use hex flag masks rather than decimals in ext/misc/series.c.
...
FossilOrigin-Name: a94e2cd02873c283d46bf6c21d0306ad454881d7882bb167d043cc79f79a2396
2024-04-26 14:36:28 +00:00
drh
317b7416a6
Enhance the generated_series() table-valued-function to respond to
...
LIMIT and OFFSET. Use this to add new test cases for LIMIT and OFFSET
on virtual tables in a compound SELECT.
FossilOrigin-Name: 408d47ecaa3b906d0886f76a22b76339ec5878270ffe8d1838c74de09c29a33e
2024-04-26 13:30:48 +00:00
drh
9239fb59ad
Remove the LLONG_MAX preprocessor macro from the series.c extension as it
...
is apparently only C99 and later.
[forum:/forumpost/4af649419b|Forum post 4af649419b].
FossilOrigin-Name: f106bc0d21b7a815f0d23a97b6fd63c54d3f5353e965dfa550fa715e698ec6e3
2024-01-16 14:54:54 +00:00
drh
1935887a68
Ensure that all fields of static sqlite3_module objects are explicitly
...
initialized, in order to hush-up nuisance compiler warnings.
FossilOrigin-Name: f3b3d712d6e58b1cb8fdebd2b6b3125080b6b3ac8c7c849a8cc1e5e778d62fe7
2023-10-06 12:51:05 +00:00
drh
1be61ad278
Fix large integer constants so that they work on older C compilers.
...
FossilOrigin-Name: 3c94f87806a8b408d8204fc7deec16d01c085ee199ff21a1f20b6346ce816cfe
2023-06-19 13:09:16 +00:00
drh
e680b6dcf7
Fix a C++-style variable declaration in the generate_series() extension.
...
FossilOrigin-Name: 1d3e008905461ebbd3ea0a862672f740fa72914d4d59fcf800e1ce56f1edfc9d
2023-05-15 19:17:31 +00:00
larrybr
b579db6d5c
Make generate_series() correct on ones complement ALUs and acceptable to UBSAN.
...
FossilOrigin-Name: 4c5cd3e6968c44749b7663beee790969b41d247b9201b771ef90cbb03d09108f
2023-05-15 03:48:48 +00:00
larrybr
e0a3e4bd51
Sync w/trunk, improve generate_series() variable names.
...
FossilOrigin-Name: ecbf7e13e6454ee879c178c53ffa6face789e93ccbebb0cfac8fde72cb3a4952
2023-04-29 12:29:15 +00:00
larrybr
7667f5f12f
Add tests for generate_series(), and change an existing test that enforced varying rowid-to-value mapping with query ordering. (That no longer varies.)
...
FossilOrigin-Name: 9605db4ae37ef383f8e5568af4543a9e6f336bace6ed80ff80fe4c0b0f437078
2023-04-28 23:39:16 +00:00
larrybr
b0d46fcd72
Revise generate_series() extension (in CLI) to address overflow reported in [forum:754e2d4db2a5|forum post #754e2d4db2a5] and to make behavior better match the like-named PostgreSQL function.
...
FossilOrigin-Name: beeea3e1b010dace9789f27172462b912819d0f8142a67e3e1e7335211e0e9a8
2023-04-28 21:25:03 +00:00
drh
22f018c938
Minor fix to the ORDER BY elimination logic in generate_series().
...
FossilOrigin-Name: a2e50712fca9dff1b8d19631f792270c82da3c8696a5d9890cf0d1e13e950d60
2021-12-14 18:11:46 +00:00
drh
76fc88fe0f
Fix harmless compiler warnings
...
FossilOrigin-Name: bdb9dc8a025b509960d08cdf0ff784dd075c156860548d7908de7d97e030701c
2021-10-02 16:39:16 +00:00
drh
e46ec734c7
Modify the generate_series() table-valued functions so that its first
...
argument (the START value) is required. Throw an error if that argument
is not supplied. In this was the series.c loadable extension can be used
as a demonstration of how to code an xBestIndex function to require certain
parameters. Compile with -DZERO_ARGUMENT_GENERATE_SERIES to obtain the
legacy behavior.
FossilOrigin-Name: 459d85a2898d6a53f43b4ad48d2f39edd1bbe37a4f97426a5d666c39c52576a4
2021-07-16 17:04:17 +00:00
drh
0b1e70c4ce
Enhance the generate_series() table-valued function to support negative
...
step values.
FossilOrigin-Name: 9b60fc48706bb77b2d4fe27a7b5834a6dc229b4051a9285032da578e4f2849e6
2020-12-03 14:21:26 +00:00
drh
d36f588f31
Fix harmless compiler warnings about unused function parameters.
...
FossilOrigin-Name: 25d067c270966d9506db8bedf280883e32b69050b14bdbbeda4bb2d9a362619c
2020-11-25 16:28:04 +00:00
drh
988af251d8
Fix the series.c and spellfix.c extensions to use SQLITE_VTAB_INNOCUOUS
...
correctly. Fix the documentation on sqlite3_vtab_config() to take into
account SQLITE_VTAB_INNOCUOUS and SQLITE_VTAB_DIRECTONLY.
FossilOrigin-Name: 9265cb7f026c0e959bd034d4cd94fe597744e0dd455d0a20736ee5f5bee880c8
2020-01-21 12:29:02 +00:00
drh
2b1c2aad9f
Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set
...
the risk rank for many virtual tables.
FossilOrigin-Name: 4c21373c21c9b17b222ae65297a039a035e6ec6b505c00c33704e3c03f94f834
2020-01-07 19:45:40 +00:00
drh
a69262c0f2
Add an assert() to the generate_series virtual table to verify
...
assumptions about the design.
FossilOrigin-Name: cd13b499a20a7d476edb8500537edef4c5151410ba0300469ebf0f7ba16964b8
2018-11-16 15:41:27 +00:00
drh
e4f90b7075
Update the generate_series() table-valued function to make use of the new
...
SQLITE_CONSTRAINT return from xBestIndex.
FossilOrigin-Name: 4372ad644dda5a1fa46b6b6070092320c835439b41f598cbc041e9deef786988
2018-11-16 15:08:31 +00:00
drh
92a2ec00eb
Fix the generate_series virtual table so that it correctly returns no
...
rows if any of its constraints are NULL.
Ticket [fac496b61722daf28].
FossilOrigin-Name: 3328e828e28ca7198fd1ce84503e649ab2278913a2cf85a0f0391f31d0c9c8d7
2018-04-03 14:25:51 +00:00
dan
1273f8dafe
Fix a comment describing the xRowid method of the "series" virtual table. No
...
code changes.
FossilOrigin-Name: 868cd1960015dc1bf003f911dcc417a94540d1948617ea1838a48b5cff59afda
2017-09-05 17:23:39 +00:00
drh
6c2d94f928
Fix a typo in the header comment of the "series.c" virtual table extension.
...
FossilOrigin-Name: d637feb4e3032ee0067c204b56d2af5f7eab228e645f2e77b0b043c2b299724d
2017-06-02 13:16:54 +00:00
drh
dbc49161c0
Allow the left-hand side of IN operators on virtual tables to have the
...
aConstraintUsage[].omit flag clear.
FossilOrigin-Name: 1622623cbbfc4325c53d731aba78ca9c382ec612
2016-03-02 03:28:07 +00:00
drh
47784529cc
Add the optional -DSERIES_OMIT_CONSTRAINT_VERIFY=0 option to the series.c
...
extension that implements the generate_series() virtual table.
FossilOrigin-Name: 3d9daa929c0abe6dc01e800ef343b0eef2f0c76a
2016-03-02 00:58:49 +00:00
drh
889cb33b8f
Better estimatedCost in the xBestIndex method of the generate_series vtab.
...
FossilOrigin-Name: f2c16094a536e7ef62444d0fe38cbee2a4999426
2016-03-01 02:11:50 +00:00
drh
1f2fc28134
Fix a corner-case bug in table-valued functions. Update the generate_series()
...
virtual table to increase the performance estimate penalty for being
underspecified.
FossilOrigin-Name: 552bc9cb88bbe54b4cf5fdf66d1217e7a2047110
2015-08-21 17:14:48 +00:00
drh
d8b1bfc6bf
Fix corner-case memory management issues in table-valued functions. Change
...
virtual table handling so that if xDestroy is missing the table is
eponymous only even if xCreate is present.
FossilOrigin-Name: 774e6a14b124bbae4da0e188b62aee9ffb8c3745
2015-08-20 23:21:34 +00:00
drh
b81fba1930
Prevent the series.c extension from loading on older versions of SQLite that
...
do not support xCreate==NULL.
FossilOrigin-Name: 3efc79427ef4686142d074cfe5b2f0a33af19b2e
2015-08-20 18:28:46 +00:00
dan
01dced109f
Fix a typo in series.c.
...
FossilOrigin-Name: 23db7f50f14801c2cf56c006d7c7f593908b7158
2015-08-20 16:16:37 +00:00
drh
509c3fc004
Fix eponymous virtual tables so that they do not automatically make the first
...
column the rowid. Enhance the generate_series virtual table to support rowid.
FossilOrigin-Name: a325a08599759471047e234ef9cfcc3cb110aafd
2015-08-19 19:01:28 +00:00
drh
bc550df32f
Improved comments on the generate_series virtual table. Test cases for
...
ORDER BY rowid DESC with generate_series.
FossilOrigin-Name: fef44c37f31ca9fd7891cecdbe95cc46a987067b
2015-08-19 18:19:49 +00:00
drh
398f872d1f
Virtual table modules with a null xCreate method act as eponymous-only modules -
...
they cannot be used in a CREATE VIRTUAL TABLE statement. Add the series.c
extension that implements a postgres-like generate_series virtual table to
demonstrate this capability.
FossilOrigin-Name: c58426dbd5ea8b8440ebcc1214f79fa63d658216
2015-08-19 13:54:20 +00:00