Re: [sqlite] performing an UPDATE on a table-valued function
On Sun, Apr 16, 2017 at 3:40 PM, Richard Hipp <d...@sqlite.org> wrote: > > On 16 Apr 2017, at 10:57pm, Timothy Stack <timothyshanest...@gmail.com> > > wrote: > > > >> UPDATE foo SET col0 = 'bar' WHERE hidden_field = 'baz' > >> > >> Having the real syntax, like the following, would be nice though: > >> > >> UPDATE foo('baz') SET col0 = 'bar' > > Whether or not the suggest is a good idea is a different matter. I'm > skeptical. A function is typically not an l-value and is hence not > typically something that can be modified. Richard, if I made the necessary changes to the parser, docs, and updated the carray extension as an example, would you accept the patch? thanks, tim > -- > D. Richard Hipp > d...@sqlite.org > ___ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] performing an UPDATE on a table-valued function
On Tue, Apr 18, 2017 at 12:04 AM, Hick Gunter <h...@scigames.at> wrote: > A TVF is just a "calling convention" for abbreviating a specific SELECT on > a virtual table. It implies neither mutability of the returned values, nor > persistence beyond the scope of the statement. Indeed the carray() example > you give later is an eponymous ephemeral table, i.e. it does not require a > CREATE VIRTUAL TABLE statement, but springs into existence by virtue of > being mentioned (technically: it is created in the xFilter method) and > "evaporates" when the cursor is closed. > Yes, I'm aware of this and have implemented table-valued functions and many other SQLite extensions. I understand how things work. I raise the question because it seems possible in other SQL languages[1][2]. And, to me at least, it makes logical sense (hence the carray example). If you want a mutable, persistent non-native table, then please document > this fact by executing a CREATE VIRTUAL TABLE statement. > I'm not sure what you're saying here. I'm asking for the SQLite syntax to be changed to support table-valued functions for INSERT/UPDATE statements. tim [1] - http://sqlblog.com/blogs/greg_low/archive/2011/05/22/ update-against-a-table-valued-function-when-declared-inline.aspx [2] - http://stackoverflow.com/questions/16568454/is-a-table- valued-function-updatable -Ursprüngliche Nachricht- > Von: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] > Im Auftrag von Timothy Stack > Gesendet: Sonntag, 16. April 2017 23:57 > An: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> > Betreff: [sqlite] performing an UPDATE on a table-valued function > > The current table-valued function feature seems to only work for SELECT > statements. Was any thought given to whether updates would be supported > for table-valued functions? It seems like it's technically possible and > could be made to work right now with this awkward syntax: > > UPDATE foo SET col0 = 'bar' WHERE hidden_field = 'baz' > > Having the real syntax, like the following, would be nice though: > > UPDATE foo('baz') SET col0 = 'bar' > > thanks, > > tim stack > ___ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > > > ___ > Gunter Hick > Software Engineer > Scientific Games International GmbH > FN 157284 a, HG Wien > Klitschgasse 2-4, A-1130 Vienna, Austria > Tel: +43 1 80100 0 > E-Mail: h...@scigames.at > > This communication (including any attachments) is intended for the use of > the intended recipient(s) only and may contain information that is > confidential, privileged or legally protected. Any unauthorized use or > dissemination of this communication is strictly prohibited. If you have > received this communication in error, please immediately notify the sender > by return e-mail message and delete all copies of the original > communication. Thank you for your cooperation. > > > ___ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] performing an UPDATE on a table-valued function
On Sun, Apr 16, 2017 at 3:40 PM, Richard Hipp <d...@sqlite.org> wrote: > On 4/16/17, Simon Slavin <slav...@bigfraud.org> wrote: > > > > On 16 Apr 2017, at 10:57pm, Timothy Stack <timothyshanest...@gmail.com> > > wrote: > > > >> UPDATE foo SET col0 = 'bar' WHERE hidden_field = 'baz' > >> > >> Having the real syntax, like the following, would be nice though: > >> > >> UPDATE foo('baz') SET col0 = 'bar' > > > > How would it know that 'baz' is a value for the column "hidden_field" > rather > > than some other column ? > > Table-valued functions are just virtual tables that allow parameters > to be used as constraints against the "hidden" columns of the virtual > table. The parameters match in order. The first parameter matches > against the first hidden column, and the second parameter matches > against the second hidden column, and so forth. > > That is, I'm guessing, what the OP means. > Yes, that is what I mean. Whether or not the suggest is a good idea is a different matter. I'm > skeptical. A function is typically not an l-value and is hence not > > typically something that can be modified. > Let's take the 'carray' extension[1] as an example. If I can read from an array in memory with the following statement: SELECT * FROM carray(0x7b3830, 10); Why shouldn't I be able to update that array using a similar syntax? tim [1] - https://sqlite.org/carray.html > > -- > D. Richard Hipp > d...@sqlite.org > ___ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] performing an UPDATE on a table-valued function
The current table-valued function feature seems to only work for SELECT statements. Was any thought given to whether updates would be supported for table-valued functions? It seems like it's technically possible and could be made to work right now with this awkward syntax: UPDATE foo SET col0 = 'bar' WHERE hidden_field = 'baz' Having the real syntax, like the following, would be nice though: UPDATE foo('baz') SET col0 = 'bar' thanks, tim stack ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] sqlite with Java
I see that you've got a solution working, but I wanted to mention this project which is a JDBC driver that can work with a dynamically linked sqlite library so there shouldn't be anything to recompile: https://github.com/tstack/SqliteJdbcNG Unfortunately, it hasn't seen updates for a couple years, but I think it still works. thanks, tim stack On Fri, Mar 17, 2017 at 2:35 PM, Sylvain Pointeau < sylvain.point...@gmail.com> wrote: > Dear all, > > I would like to use sqlite from Java, but I am also looking to buy SSE. > however which library would you recommend? how to integrate SSE? > > ps: it would be splendid if you could provide the java libs, similar to the > .net version. > > Best regard, > Sylvain > ___ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] will aggregate functions be added to the json extension ?
Hello, Are there any plans to add aggregate functions to the json extension so that json arrays can be produced from a result set? I found a message on the json feedback thread from a few months ago that brought this up, but there didn't seem to be a response: http://www.mail-archive.com/sqlite-users at mailinglists.sqlite.org/msg03721.html I had the same line of thinking where I wanted a more structured version of group_concat(). I can implement this myself, but was wondering if there was an official story. thanks, tim stack