Tools.AutoDoc.PikeObjects.EnumConstant: Reduce code duplication.
Debug: added functions to generate perf map files
EFUNs: Improved integer types for several math functions. Improves the return types for predef::sqrt(), predef::min(), predef::max(), predef::limit(), predef::abs() and predef::sgn() when called with integer types.
Iterators: Add 8.0::get_iterator(). Add wrapper that implements the 8.0 and earlier iterator API. Also update the testsuite to match the current iterator behavior.
Sql.sql_result: Fix compilation error.
Sql.sql_result: Base this class on __builtin.Sql.Result. Reduces code-duplication.
Remote: Stricter handling of zero.
Compiler [Typechecker]: Changed API for apply_type_attribute() et al. They now get a mapping that they may use to keep state between arguments.
Crypto: Fix multiple warnings about passing of zero values.
Updated types where documentation said 'or zero'.
GC: Support remaining types in Pike.count_memory(). Users of Pike.count_memory() typically do not want to bother filtering its arguments, so perform filtering in count_memory() rather than throwing errors. Also adds support for counting memory for objects referenced via functions.
Sql.mysql: Clean up character set handling. Adds helper functions fix_{query,result}_charset() that contain code that used to be in the QUERY_BODY() macro. This makes the code quite a bit easier to read. Adds charset wrappers to list_{dbs,tables,fields}() that previously changed behavior depending on what the send_charset was. Remove some now obsoleted character set handling from Mysql.SqlTable. Potential fix for intermittent failures for Mysql.SqlTable to handle tables with wide characters in the table name.
Sql.Sql: Added query_db() to the API.
Mysql: Added query_db().
Mysql: Add query_db() and reset().
__builtin.Sql.Connection: Added query_db() and reset() to the API.
decode_value(): Allow to restrict decoding to simple types The encoded value has quite a bit of control over our process. Allow to restrict decoding to primitive types by passing coding as -1.
pgsql: Simplify SQL logging.
Inotify: add_watch() now returns -1 on some failures. This is to simplify differentiation between failures due to the filesystem being in flux (eg races), and failures due to resource limits. Fixes race condition (time of check, time of use) in Filesystem.Monitor.basic.InotifyMonitor()->register_path(). Fixes #10059.
pgsql: Toggle cache_autoprepared_statements default.
Stdio: Some pty-handling cleanup. Add wrappers emulating missing libc functions.
Thread.ResourceCountKey: Make destruct immediate
Sprintf: Cleanup linebreak mode. The sprintf "%/s" and "%=s" modes now break at the column width (defaulting it to the field width) and not the field width. This makes it possible to use formats like eg "%;*-=s" (instead of "%*-=s") to not get every line padded to the full column width.
Documentation [Traditional]: Some more Sql details.
Merge branch 'patches/pike197' * patches/pike197: Mysql.Result: Update the index counter when fetching rows.
Mysql.Result: Update the index counter when fetching rows. Call Sql.Result::increment_index() at relevant places. Fixes testsuite failure. Fixes PIKE-197 (#8197).
Documentation [SQLite]: Fixed some AutoDoc markup issues.
Documentation [Traditional]: Added some sections.
Documentation [Traditional]: Sectioned the DB access chapter.
Documentation [Traditional]: Added some structure to the I/O chapter.
Documentation [Traditional]: Move SQLite to the Database page.
Documentation [Mysql]: Fixed some Autodoc markup typos.
Toole.Standalone.test_pike: Complain about calls of handle_error().
Merge commit '722771973bd' into patches/lyslyskom22891031 * commit '722771973bd': (6177 commits) Verify that callablep responses are aligned with reality. ...
Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap * commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits) Removed the old typechecker. ...
Merge branch 'patches/pike156' into 8.0 * patches/pike156: EFUNs: Hide mutex keys and crypto contexts from backtraces.
Merge branch 'patches/pike156' * patches/pike156: EFUNs: Hide mutex keys and crypto contexts from backtraces.
MasterObject: Validate utf8_string contents in -rt mode.
Merge branch 'patches/pike111' into 8.0 * patches/pike111: Sql.mysql / Mysql.SqlTable: Use UTF-8 encoded UTF-16 in a couple of other applicable cases. Sql.mysql: Use/support UTF-8 encoded UTF-16. Testsuite [utf8_to_string]: Fixed typo. EFUNs: Support encoding to UTF-8 encoded UTF-16 in string_to_utf8().
pgsql: Add streaming_typed_query() method to avoid emulate_bindings().
pgsql: affected_rows() now preserves as of yet unfetched rows.
pgsql: Make affected_rows() and status_command_complete() wait for a meaningful result.
Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63 * commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits) ...
Sql: Make big_typed_query fallback to big_query.
pgsql: Readding primitive auto-reconnect logic.
Whitespace and doc fixes.
Sql.sql_util.UnicodeWrapper: Inherit Sql.Result. This avoids code duplication for fetch_row_array() and enables the iterator API to work correctly.
Sql.sql_util.UnicodeWrapper: add fetch_row_array(). For compatibility with newer Sql.Result API.
pgsql: Clarify docs.
Change constants into inherited classes to make them show up in refdoc. Performance penalties?
Daylight 'savings' spelling corrections.
pgsql: Make use of the new Date/Time/Inet/Range datatypes to support them in binary transfer.
Sql: Add support for native Inet data type.
Sql: Add native support for Time, Date, Timestamp, Interval and TimeTZ types.
Concurrent: Improve docs.
Sql.Promise: Improve docs.
Sql.Promise: New & improved interface.
Sql.Connection: Added missing methods (amongst others: asynchronous callbacks).
Sql.FutureResult: Add a Concurrent.Promise interface to Sql.Connection.
Doc fixes.
pgsql: Create proxy object to avoid circular references.
pgsql: Simplify and bolster the code by using Thread.ResourceCount.
pgsql: Update documentation.
Sql.Sql: Support error(void|int clear).
pgsql: Update docs.
pgsql: Rip out fundamentally flawed reconnect logic, make failures consistent.
Spelling fixes.
Mysql.result: Renamed seek() to low_seek(). This function performs absolute positioning (rather than the relative positioning of __builtin.Sql.Result()->seek()), and was shadowed by a generic (relative) implementation in previous versions of Pike. CAVEAT: Old code that used sql_res->master_res->seek() will break and need to be updated. Any such code will trigger warnings as master_res has been declared deprecated. It is also unlikely that any such code exists, since the function didn't comply with its documented behavior. Fixes some testsuite failures.
There was an XML syntax error in this file.
Manual: Extended the data types chapter with void & mixed. Added some elaboration on the difference between compile-time and run-time types, as well as some about the types void & mixed and how they are used. Fixes [bug 1656 (#1656)].
pgsql: Suppress errors if the server gets lost.
Sql.pgsql: Update to new Sql API. Inherit __builtin.Sql.Connection and __builtin.Sql.Result as appropriate.
Sql.mysql: Reduce code duplication somewhat.
Documentation [Sql.mysql]: Some minor updates.
Sql.Sql: Sql.Sql() is now a function and not a class. Now that __builtin.Sql.Connection exists and is used, the wrapper class should no longer be needed. The wrapper class has moved to 8.0::Sql.Sql.
SQLite: Use __builtin.Sql. Also some AutoDoc markup adjustments.
Msql: Updated to provide the standard Sql-API.
Mysql: Use the new __builtin.Sql API.
There is no CVS id string in Hilfe anymore
Sql.null: Use __builtin.Sql.Connection. Also adds the fields "bindings_query" and "args".
Sql.sql_array_result: Fixed multiple issues. Some of the functions in Sql.sql_result assemed that they were in Sql.sql_object_result. This broke eg next_result().
Mysql: Use the parent pointer in Result. Now that Result is a class in the connection object, we can use the parent pointer to keep track of its connection instead of doing it explicitly. Also fixes a typo.
Mysql: Moved and renamed Mysql.mysql_result to Mysql.mysql.Result. This is in preparation for allowing overloading of the Result class.
Sql: Deprecate mysql_result and mysqls_result. These two symbols are seldom used, and when used only used as types, in which case Sql.Result is essentially equivalent.
Sql: Make Connection and Result available in the Sql namespace.
Sql.sql_util [Mysql]: Don't depend on the Mysql module. This makes both MySQLUnicodeWrapper and MySQLBrokenUnicodeWrapper always available, which fixes issues with dumped Sql.sql_util and updating the Mysql module. Also adds some documentation for the MySQLBrokenUnicodeWrapper.
Revert "Added the Markdown module and the standalone pike_to_html.pike from 8.1." This reverts commit 2706a62c3c72b296a0c77b418f1e186c682c7ac5.
Added creation method raw to put binary data directly in an image object without adaptation.
Sql: Added support for multiple results. Adds Sql.sql_result()->next_result().
Removed no longer needed check_all_args. Removed glob argument from list_fields documentation, which was never supported.
Nettle: Let the IV be set through Nettle.Proxy (aka Crypto.Buffer).
Merge branch '8.1' into grubba/typechecker-mk3 * 8.1: (51 commits) Compiler [Types]: Got rid of my_describe_type(). Compiler [Types]: Fixed wide strings in nested types. Compiler [Types]: low_describe_type() now uses string_builder. string_builder_sprintf: Fixed '+' for floats. string_builder_sprintf: Added support for %T. Calendar.mkrules: Improved backward compat. Auth.OAuth.Client: Fixed AutoDoc markup issue. New modules for communicating with different (RESTful) web apis (including OAuth and OAuth2 client modules) . Documentation [%]: Added some clarifications and improved markup. Inotify: Minor code cleanup. Potential fix for [CID 1325796]. Inotify: Removed some debug output. Filesystem.Monitor [Inotify]: Improved support for blocking mode. Inotify: Don't reference count immediate circular references. Inotify: Removed some dead code. System.Inotify, Filesystem.Monitor: Updates to use new Inotify API. Inotify: Use fd_callback_boxes, internal event parsing. Search.Database.MySQL: Censor the SQL-url. Sql: Added censor_sql_url(). Search.Database.MySQL: Avoid long lived database connections. Inotify: Don't throw errors in rm_watch() on invalid watch descriptor. ...
Sql: Added censor_sql_url().
Filesystem.Monitor: Added check_all().
Protocols.HTTP2: Added Frame class.
Postgres: Fixed type for big_query(). Fixes compilation issue with Sql.postgres.
Postgres: Converted to cmod. Also moves some flags from the connection object to the result object. FIXME: Consider moving the auto-cursor stuff to pike-code.
Msql: Converted module to using cmod precompiler.
Removed trailing spaces.
Sql.sql_result: Added some more doc for next_result().
Odbc: Improved support for user-defined datatypes. It is now possible to add a factory-function to handle UDT-fields.
Odbc: big_typed_query() now knows about UUID values.
Odbc: big_typed_query() now knows about time values.
Odbc: big_typed_query() now knows about timestamps and dates.
Odbc: big_typed_query() now knows about numeric/decimal values.
Odbc: typed_result->fetch_row() now returns Val.null for NULL.
Skeleton implementation of AARCH32 (ARM) machine code support To be extended, also into AARCH64 machine code generation Author: Arne Goedeke <el@laramies.com> Author: Tobias S. Josefowitz <tobij@tobij.de>
pgsql: Make SET synchronous to avoid surprises with subsequent queries.
Fix some more docs.
pgsql: Docs tuned.
8.0::Locale: No need for an inherit here. Inheriting joinnodes (or for that matter dirnodes) is not a good idea. As compatibility modules are automatically joined with their newer versions, there's also no need for the inherit except for documentation purposes. Fixes [bug 7364 (#7364)].
Update docs.
pgsql: Cosmetics.
Add documentation about the custom backend.
pgsql: Slow down driver by default, async parsing only on request.
Sql.pgsql: New and improved full threaded version. Lower latencies, increased parallelism, theoretical elimination of all race conditions, simplified code, uses Stdio.Buffer, no C-helper anymore, less filling. As a new feature, introduces: send_row(), fetch_row_array() for increased efficiency, set_result_callback() and set_result_array_callback() for event driven database queries.
Enhance Process.run() to be able to accept handler functions for stdout/stderr
Mysql.list_fields(): support more field flags
Gdbm: Fixed some documentation typos.
Merge remote-tracking branch 'origin/8.0' into string_alloc Conflicts: src/stralloc.c
GTK2: Update Scale docs based on source file
[autodoc] Added some linebreaks
[autodoc] List the drivers in Sql.Sql.create
[autodoc] Some rewording
Some minor documentation tweaks. It has been a while since the classes were called Gz_deflate and Gz_inflate.
Merge remote-tracking branch 'origin/8.0' into string_alloc
Improved type checking.
Moved a few modules around in the traditional refdoc We really should update this file completely, I think
Fixed autodoc syntax error
SSL.context: Implemented some backward compat.
release number bumped to 854 by export.pike
Configure: Inhibit machine code with gcc 4.6.0 and later. The machine code generator is broken when compiled with gcc 4.6.0 and later, so disable it in that case.
Standards.ASN1.Decode: Added more control to simple_der_decode(). It is now simple to add a few more known types to parse to simple_der_decode(). This is typically useful when the ASN.1 definition uses IMPLICIT tags.
Unicode.normalize: use unsigned ints for hash value hval % HSIZE for a negative hval will result in a negative htable index. this is triggered by characters in 32 bit strings which are represented by negative 32 bit signed integers
Crypto.ECC.Curve: Fixed pkcs_ec_parameters(). The curve identifier should not be wrapped in a sequence. Fixes interoperability with OpenSSL and GNUTLS.
Merge branch '8.0' into gobject-introspection
SSL: Improved robustness in destroy(). The embedded stream may still be registered with a backend when the sslfile object loses its last reference. Make sure not to trigger the "In callback mode in a different backend." error in that case. Fixes [bug 6958 (#6958)].
Mysql: added sqlstate()
Mysql: added errno() and Mysql.error
Mysql: Added Mysql.client_info().
Merge remote-tracking branch 'origin/7.9' into pdf
Rewrite Locale.Charset to Charset
Merge branch '7.9' into gobject-introspection
Moved the sprintf-style formatter to the pmod module.
Allow a bindings mapping to be passed to handle_extraargs.
Added a useful SQL swizzling tool. Contributed from Roxens commercial software.
Merge remote branch 'origin/7.9' into rblock_alloc Conflicts: src/post_modules/CritBit/floattree.cmod src/post_modules/CritBit/inttree.cmod src/post_modules/CritBit/stringtree.cmod
pgsql: Documentation fixes.
pgsql: Add support for optional infinite reconnects.
Sql: Add support for the options mapping to all Sql-drivers.
pgsql: Prevent infinite loop on reconnect when the first statement throws an error.
pgsql: Support ping() and is_open().
pgsql: Fix reconnect option; more efficient decoding of selectresult; support text connection mode in queries Text mode connection support is possible through a connection option and/or through a query option. Turning this on will allow multiple statements per query, but will also force communication to and from the database for a query to be converted to text. For some queries, this is more efficient than the binary method.
pgsql: Support reconnect option.
Added a note regarding charsets when fetch_json_result is used.
Mysql: added info() as a wrapper for mysql_info()
Sql: Added wrappers for is_open() and ping().
Mysql: Added is_open() as a light-weight alternative to ping().
Mysql: Added ping().
Mysql: added auto_increment flag to list_fields
Sql.Sql.handle_extraargs can be useful from the outside too. (Ought to move to a pmod, though.)
Autodoc: Fixed markup for Sql.Null.
Doc markup fix.
Fixed the doc parser instead of 31b2308.
Do not fall back to untyped mode if typed mode isn't available. There'd be a risk of incompatibility if a db backend adds typed mode later.
Cleaned up some Sql.Null remains. Also unified Builtin.Null and Val.Null.
Sql.mysql: Fixed Autodoc mk II markup.
Some doc improvements in the Sql module.
Added Sql.Sql.typed_query, for convenience.
Postgres: Updated documentation. Fixes [bug 3942 (#3942)].
Added a new Val module for various global constant values. Currently with true, false, and null, moved from Standards.JSON and Sql. Also allows these values to be overridden with extended versions.
SDL: documentation for SDL.Music SQLite: autodoc typo
Sql: Some Autodoc mk II markup fixes.
Sql.Null: Fixed AutoDoc ambiguity regarding the symbol type of Sql.Null.
Made Sql.NULL useful with the new Standards.JSON.encode. Rev: src/builtin.cmod:1.257
Curing all occurrences of occured to occurred. Rev: lib/7.4/modules/SSL.pmod/sslfile.pike:1.4 Rev: lib/modules/Languages.pmod/PLIS.pmod:1.20 Rev: lib/modules/SSL.pmod/connection.pike:1.46 Rev: lib/modules/SSL.pmod/handshake.pike:1.62 Rev: lib/modules/Sql.pmod/postgres.pike:1.41 Rev: lib/modules/Tools.pmod/Hilfe.pmod:1.173 Rev: src/error.c:1.169 Rev: src/mapping.c:1.215 Rev: src/modules/Postgres/postgres.c:1.66 Rev: src/post_modules/GTK/configure.in:1.53 Rev: src/post_modules/GTK/refdoc/GTK.pmod/Progress.pike:1.5 Rev: src/post_modules/GTK/source/gtkprogress.pre:1.7 Rev: src/post_modules/GTK2/refdoc/GTK2.pmod/TextView.pike:1.3 Rev: src/post_modules/GTK2/source/gtktextview.pre:1.11 Rev: src/post_modules/SDL/configure.in:1.11
Adjust documentation for deprecation. Rev: lib/modules/Sql.pmod/postgres.pike:1.40
Updated the documentation somewhat. Rev: lib/modules/Sql.pmod/mysql.pike:1.45
Now uses the builtin null object for Sql.NULL. Rev: lib/modules/Sql.pmod/module.pmod:1.7
Added big_typed_query() and streaming_typed_query(). Rev: lib/modules/Sql.pmod/mysql.pike:1.44
Added Sql.Null at el. Rev: lib/modules/Sql.pmod/module.pmod:1.6 Rev: src/builtin.cmod:1.237 Rev: src/builtin_functions.h:1.38
Fixed typo. Rev: lib/modules/Sql.pmod/Sql.pike:1.99 Rev: lib/modules/Sql.pmod/sql_result.pike:1.25
Added big_typed_query() and streaming_typed_query(). Updated documentation somewhat. Rev: lib/modules/Sql.pmod/Sql.pike:1.98
Updated documentation for fetch_row(). Rev: lib/modules/Sql.pmod/sql_result.pike:1.24
Fixed documentation typo. Rev: src/facetgroup.cmod:1.7
fetch_json_result only returns strings. putchar is faster for single characters. Rev: lib/modules/Sql.pmod/sql_result.pike:1.23
Fixed typo in documentation. Rev: src/modules/Mysql/result.c:1.44
fetch_json_result() now uses String.Buffer. Rev: lib/modules/Sql.pmod/sql_result.pike:1.22
Some documentation fixes regarding fetch_json_result(). Rev: src/modules/Mysql/result.c:1.43
Build more of the JSON string directly. Let UTF-8 encoding be the problem of the callee. Don't produce canonic form implicitly. Rev: lib/modules/Sql.pmod/sql_result.pike:1.21
Let UTF-8 be a problem for the callee. Rev: src/modules/Mysql/result.c:1.42