pike.git / CHANGES

version» Context lines:

pike.git/CHANGES:103:       The string type may now have an optional value range.       string(0..255) bytes;      o Support for having multiple different active backend implementations.       In Pike 7.6 and earlier, there could only be one active backend    implementation at a time, which was the one selected for best    performance with lots of files (cf Pike.Backend below). This led -  to problems when pike attempted to run poll device based backends +  to problems when Pike attempted to run poll-device based backends    on older versions of operating systems where poll devices aren't    available, and with extra overhead when the backend was only used    with a very small set of files.       Basic backend implementations:       - Pike.PollDeviceBackend    This is a backend that is implemented based on keeping the state in    the operating system kernel and thus eliminating the need to send the    state in every system call. This is however not available on all    operating systems. Currently supported are /dev/poll (Solaris, etc),    epoll(2) (Linux) and kqueue(2) (FreeBSD, MacOS X).       - Pike.PollBackend    This is a backend that is implemented based on the poll(2) system call.    This is typically available on all System V or Linux based systems.       - Pike.SelectBackend    This is a backend that is implmented based on the BSD select(2) system -  call. This is supported on all operating systems. +  call. This backend is available on all operating systems supported by +  Pike.       Derived backend implementations:       - Pike.Backend    This is the backend selected among the basic backend implementations,    which is likely to have the best performance when there are lots of    files in the backend.       - Pike.SmallBackend    This is the backend selected among the basic backend implementations,    which is likely to have the best performance when there are very few    files in the backend.       Note that there is also a default backend object:       - Pike.DefaultBackend -  This is the Pike.Backend object that is used if no other backend -  object has been specified. +  This is the Pike.Backend object that is used for file callbacks and +  call_outs if no other backend object has been specified.      o cpp       The preprocessor now supports macro expansion in the #include and #string    directives.       #include USER_SETTINGS      o Destruct reason passed to lfun::destroy.   
pike.git/CHANGES:163:    is being destructed, e.g. if it was an explicit call to destroy(),    running out of references, or reaped by the garbage collector.       These integers are defined in the new Object module as    DESTRUCT_EXPLICIT, DESTRUCT_NO_REFS, DESTRUCT_GC and    DESTRUCT_CLEANUP.      o Improved support for mixin.       The Pike compiler now supports mixin for symbols that have been -  declared static. +  declared protected. Mixin is the concept of overloading symbols +  via multiple inheritance. In previous versions of Pike the mixin +  paradigm was only supported for public symbols. For more information +  about mixin see eg http://en.wikipedia.org/wiki/Mixin .    -  FIXME: Explain in one or two sentences what a mixin is and what it's -  good for. -  -  FIXME: Should that be protected instead of static? -  -  FIXME: Is this really a change, and why are we talking about mixins -  instead of multiple inheritance variables? -  +    o Implicit and explicit create().       The compiler now supports defining classes with both an implicit    and an explicit create().      o Warnings for unused private symbols.       The compiler now checks that all symbols that have been declared    private actually are used.   
pike.git/CHANGES:635:    encode_words_quoted_remapped() and    encode_words_quoted_labled_remapped().       - Added workaround for a bug in Microsoft Internet Explorer where it    forgets to properly quote backslashes in the Content-Disposition    field.       - Fixed a bug that could occur when casting MIME.Message objects to    strings.    - o Msql -  -  Return correct UNDEFINED instead of 0 values for NULL values in -  result sets. -  +    o Mysql       - Two functions set_charset() and get_charset() have been added to    set and query the connection charset. The create() function also    takes a "charset" setting in the options mapping.       - Improved Unicode support. The MySQL driver now supports    (possibly wide) Unicode queries and text return values, handling    the connection charset and all encoding/decoding internally. This    is enabled by setting the charset to "unicode", or through the new    functions set_unicode_encode_mode() and set_unicode_decode_mode().    See their documentation for further details.    -  - Return correct UNDEFINED instead of 0 values for NULL values in -  result sets. -  +    o Odbc    -  FIXME: Rewrite -  Now supports UnixODBC properly. -  Fixed various issues with Unicode. -  FreeTDS fixes -  Return correct UNDEFINED instead of 0 values for NULL values in -  result sets. +  The Odbc module has been updated to support the UnixODBC library, and +  several issues with Unicode and FreeTDS handling have been fixed.      o Oracle       - The module has been updated to work with Oracle 10.       - An approximation of the number of rows in a result object can be    queried from the new function num_rows().    -  - Return correct UNDEFINED instead of 0 values for NULL values in -  result sets. -  +    o Parser.HTML       - Allow string and array as argument to _set_*_callback(). Those    variants work just like a function only returning the string or    array.      o Parser.Pike and Parser.C       - Parser.Pike and Parser.C have been rewritten in C for increased    performance.
pike.git/CHANGES:713:    encoding of an XML file and decode it, has been moved from being a    method of the Parser.XML.Simple object to being a function in the    Parser.XML module.       FIXME    Several correctness fixes.    Added Simple.Context      o Parser.XML.Tree    +  The module code has been refactored and a second "simple" interface +  has been added. The (new) SimpleNode interface implements a node tree +  interface similar to the (old) Node interface, with two major +  differences: +  +  - The SimpleNodes do not have parent pointers, this means that they +  do not generate cyclic data structures (and thus less garbage, and +  no need for zap_tree()), but also that it is not possible to find +  the root of a tree from any node in the tree. +  +  - Some methods in SimpleNode return different values than the +  corresponding method in Node; notably SimpleNode()->add_child(), +  which returns the current node rather than the argument. +  +  The refactoring also added individual classes for all of the XML node +  types (both for Nodes and for SimpleNodes). This allows for stricter +  typing of code involving XML tree manipulation. +  +  The module now also has a much better knowledge of DTDs and DOCTYPEs. +     FIXME: Rewrite -  Added rendering of DTD ENTITY nodes. -  The renderer now knows about the internal_subset attribute for the -  DOCTYPE tag. -  Added rendering of DTD ELEMENT nodes. -  Added functions to inser new childe node. +  Added functions to insert new child nodes.    Moved parser code into the nodes allowing for extendability.    set_tag_name() -  simple-stuff +     AbstractSimpleNode, VirtualNode, SimpleNode.    Node.zap_tree      o Postgres       FIXME: Rewrite    Added affected_rows.    Made big_query() streaming.    Added streaming_query() alias to indicate support.    Support bindings natively on big_query().    Automatic binary or text transfer for queryarguments and resultrows. -  Return correct UNDEFINED instead of 0 values for NULL values in -  result sets. +     Fix race conditions.      o Pike       - A new function count_memory() has been added which can calculate    the memory consumed by arbitrary data structures. Useful when    implementing memory caches.       - A new function get_runtime_info() has been added which returns    information about current ABI, if automatic bignums are enabled,
pike.git/CHANGES:1430:   ----      -x test_pike      libpike.so      valgrind_hilfe and valgrind_just_verify      New malloc on Windows. (Optimization, hence should not be mentioned   according to the first paragraph in this file. /mast) -  - FIXME: Multiple INVALID above: Return correct UNDEFINED instead of 0 - values for NULL values in result sets. (Yes, it's dubious that it - really is correct since a zero (of any kind) means NULL according to - the Sql api, even though there are some db drivers that unfortunately - behave differently. /mast) +