Miva Empresa/Mia/Script Compiler v5.28 Release Notes ---------------------------------------------------- Bugs Fixed ---------- 22677: Readme.txt file should not contain the version number. 23343: Source files should be output without character escaping 23543: Implement COUNT( DISTINCT xxx ) 23601: MvCALL always sets POST when opening a multipart connection 23683: builtins/crypto.cpp: x509_free, pkcs7_free, etc. should decrement xxx_slot_pos when the last element in one of the slots is being freed 23729: evp_pkey_free does not exist. 23784: Setting a negative value for the DB command statement_cache_size causes a segfault 23790: path variable in UNIXFilePath / Win32FilePath is inconsistently set via malloc and new[] 24055: DumpApplication::OutputF is susceptible to SEGFAULTS 24169: Parentheses is spelled wrong in the Expression Compiler 24236: Subquery in a DELETE statement where the subquery joins back to the original table doesn't work as expected 24237: Update engine version to 5.28 for the Windows' Installer Packages 24243: SQLCodeGenerator::Dump_Program iterates over the program even when with no log file open 24246: Non-ALL UNIONs behave the same as UNION ALL 24255: SQL_Stack::Copy does not set the delete flag 24256: MvCAPTURE STANDARDOUTPUTLEVEL attribute 24257: Subquery in an UPDATE statement where the subquery joins back to the original table doesn't work as expected 24260: Add support for methods ""PATCH"", ""LINK"", ""UNLINK"" to MvCALL 24264: Schema::Log is susceptible to SEGFAULTS 24267: Using the LENGTH function in conjunction with an INDEX does not work as expected 24269: SQLResult::Share does not delete an existing _value_string 24274: It is not possible to sort a SELECT DISTINCT by a column that is not in the result set 24278: No error when a duplicate correlation name is specified 24351: MvCALL should allow any method to send files 24358: Add a file_overwrite builtin 24389: MivaApplication::EncodeAttribute should encode ascii char 127 (DEL) 24414: Line numbers are incorrect after an escaped quotation mark in an expression at the end of a line 24416: Add a min builtin 24417: Add a max builtin 24673: Add a miva_variable_type builtin 24674: SQL_Stack::PopR fails to pass the copy flag to ::SetValue New Builtin Functions --------------------- - file_overwrite( path, location, data var ) Replaces the file in path if it exists. If will not create the file if it does not exist. Returns length of outputdata or -1 on error. Parameters: - path: fully qualified path to the file - location: 'data' or 'script' - data: string variable containing the data to write Return Value: - Returns the length of data written or -1 on error - evp_pkey_free( key var ) Remove an EVP_PKEY structure from internal memory. The passed EVP_PKEY structure reference is unchanged on failure (invalid reference) or set to 0 on success. Parameters: - key - EVP_PKEY structure reference Return Value: - 1 on success - 0 on failure - min( a, b ) Returns the smaller of a or b Parameters: - a - Value 1 - b - Value 2 Return Value: - a if smaller than b, b if smaller than a - max( a, b ) - The parameter value considered "lowest" during comparisons Parameters: - a - Value 1 - b - Value 2 Return Value: - The parameter value considered "highest" during comparisons - miva_variable_type( variable ) Returns a string representation of the internal variable type Parameters: - variable Return Value: - A string reprsentation of the interval variable type. "INTEGER", "DOUBLE", "ARRAY", etc... API Changes ----------- New Flags --------- MVVTYPE_NONE - When a variable has no type (i.e. doesn't exist) MVVTYPE_INTEGER - When a variable's primary type is an integer MVVTYPE_DOUBLE - When a variable's primary type is a double MVVTYPE_STRING - When a variable's primary type is a string MVVTYPE_STRUCTURE - When a variable's aggregate type is a structure MVVTYPE_ARRAY - When a variable's aggregrate type is an array New API Functions ----------------- - mvVariable_Type Takes an mvVariable and returns Parameters: - mvVariable variable: A variable Return Value: - MVVTYPE_xxx flag, or -1 when a variable has an unknown type - mvVariableHash_Entries Takes an mvVariableHash and returns the total number of entries in the variable hash Parameters: - mvVariableHash hash: A variable hash Return Value: - The number of entires in the variable hash MivaSQL ------- - SELECT commands now supports COUNT( DISTINCT column ) - UPDATE commands now support JOINs - DELETE commands now support JOINs - Added IFNULL function - Added RECNO virtual column