Summary: 997 instances, 869 unique Text Count TODO for WL#896: check collations for normalization: vi.xml 1 with partitioning. TODO: when there are, add compare. 1 return; // TODO : Consider adding int rc for error 1 if ((*field)->type() == MYSQL_TYPE_NEWDECIMAL) // TODO: error? MYSQL_TYPE_DECIMAL? 1 FIXME: Compared to lock_table_name_if_not_cached() (from 5.1) 1 TODO: This could be avoided if there is no triggers 1 // TODO: this is intended to investigate a class loader issue with Sparc java 2 // TODO add error checks 1 // TODO only if state changed... 1 /*TODO: md5 test here and warning if it is differ */ 1 * TODO: Here we would also pack stuff to get better utilization 1 TODO/FIXME: We should consider alleviating this requirement as 1 * TODO : Release some other resources in the close() call to make it 1 TODO: The above is nonsense. mysql_select() will not allocate the 1 /* TODO: What is the reasoning behind this condition? */ 1 // TODO: Release m_interpretedCode now? 1 * TODO: Optimize by initializing 'offset' to an 1 Does an index creation operation for MySQL. TODO: currently failure 2 # (TODO: What about PBXT?) 1 TODO : Assert that we are running in the Binlog injector thread? 1 /* TODO: int archive_write_set_format_old_tar(struct archive *); */ 1 (optEnclosed=OPTIONALLY? ENCLOSED BY fieldEncl=STRING)? /* TODO: STRING here is one character, really */ 1 /* TODO: Add page fault info for non-BSD systems */ 1 DBUG_RETURN_EVENT(0); // TODO handle this, overrun, or, skip? 1 TODO: currently, the state can be BTR_PCUR_IS_POSITIONED, 1 (void)part; // TODO validate part 1 // TODO: 18 # TODO: Phantom reads. 1 # TODO: Execute a query against tmp1 and tmp2 which selects new rows (rows 1 // TODO: maybe dont always flush on page-boundary ??? 1 # FIXME check that the pidfile contains the expected pid! 2 /* TODO HF add #undef HAVE_VIO if we don't want client in embedded library */ 2 // TODO: set table= NULL to mark the handler as closed? 1 // TODO Auto-generated catch block 3 # FIXME (mleich) 1 /* FIXME: error message can't be translated. */ 1 * TODO: Test other cpio implementations to see if they 1 * TODO: Add "comment", "charset", and possibly other entries 1 TODO: return actual upper bound of number of records in the table. 2 /* TODO: for now, by default indexes containing document path are not in use 1 /* TODO: test if bulk_insert would increase the performance */ 1 // TODO: The current implementation is not the most effective one. 2 /* XXX TODO: Just use flag data from entry; avoid the 1 * TODO: There are rumours that some extended attributes must 1 * TODO: We should be able to skip forward by a bunch 1 // TODO: use bits in attr desc 2 1 // TODO: support other object types 1 * TODO: On Linux, provide both stat32 and stat64 versions of these functions. 1 //TODO pass fields via argument 1 * FIXME: 1 // TODO (abhinav): Include the name of the key in this struct to distinguish 1 TODO: replace by DBUG_ASSERT(sql_errno != 0) once all bugs similar to 1 TODO: change the assert in InnoDB into an error instead and make this one 1 # FIXME Implement some non integer constant tests 1 // hide for now TODO: figure out a way to give access to C clients p and g args 1 TODO: to catch queries where the limit is exceeded to make the 1 TODO: We can do this in the first pass by generating UNDO log 1 #FIXME 3.2.6.2: check the value 2.0079 tinytext ucs2 ucs2_general_ci 1 // TODO start take over of config change protocol 1 /* TODO: if (wp == NULL) */ 2 // FIXME: Need to be implemented as scan linked with scan is now implemented. 1 TODO: special cascade/restrict procedure for alter? 1 char db[FN_REFLEN+1]; // TODO: make this a LEX_STRING when thd->db is 1 TODO: It would be cleaner to make 'indirection' a boolean field and 1 - TODO: Some functions are not null-preserving. For those functions 1 TODO: We should think about this. It is not always 1 TODO: is it the way it should be? 1 /* TODO: Also perform DROP TABLE and DROP INDEX after 1 /* TODO: Sanity test uid/gid/size/mtime/rdevmajor/rdevminor fields. */ 1 """Checks for common mistakes in TODO comments. 1 // TODO: Renumbering below assume there are only EQ-bounds !! 1 * TODO: This is not completly fair, 1 /* FIXME: This is a place holder, we should add an arg that comes 1 let $message= FIXME - Setting join_limit to 28 - hangs for higher values; 1 TODO: change it for a real status check when Item::val_xxx() 1 /* TODO: Look into avoding the following memdup */ 1 /* TODO: bsdtar->create_format = "v7"; */ 1 // TODO : Consider placing this info into other records 1 TODO: move subquery of INSERT ... SELECT and CREATE ... SELECT to 1 /* TODO: consider a shortcut. */ 2 * TODO: Provide some reasonable way to 1 FTS-FIXME: Currently we fetch it always 1 * TODO: Review the error handling for chdir() failures and 1 TODO (in far future) 1 TODO: A more elegant way would have been to return the freed 1 TODO: switch from protocol to push_warning here. The main reason we didn't 1 // TODO use these internally at create and retrieve 1 # TODO: 2 * TODO alloc fix+var part 1 // TODO: For now use brute force, based on ordinality 1 TODO: 1 // TODO use attr ids after compatibility with 4.1.7 not needed 1 /* TODO: Warn about unsupported hdrcharset */ 1 // TODO make this non-static 3 ndbrequire(signal->getNoOfSections() != 0); // TODO check if this can happen 1 /* TODO: remove in a future version */ 1 /* TODO: We may tune the behavior (e.g. by fil_aio)*/ 1 // TODO: support user-defined oid types 1 # FIXME: Add testcases for str in CHAR and VARCHAR only. 1 /* TODO: This is not atomic and can cause problems during recovery. */ 1 TODO : Check whether these numbers need to be revised w.r.t. read packed 1 /* TODO: restore ACLs */ 1 // TODO check primary id/version when returned by DICT 1 /* TODO: Check that the following fn_format is really needed */ 1 /* XXX TODO: Flag that we should check the CRC. XXX */ 1 /* HFTODO - hide this if we don't want client in embedded server */ 1 TODO: consider moving it into some per-query initialization call. 1 TODO: unlock tables even if the join isn't top level select in the 1 /* FIXME: A better solution will be a counter array 1 /* TODO: We should just do a direct UTF-8 to MBS conversion 1 /* XXX TODO: If the full mode is 0160200, then this is a Solaris 1 // returns the next available! (TODO: incompatible to circurla_buff method!!!) 1 // TS-TODO: extract_date_time is not UCS2 safe 1 * TODO: Support pax-style regex path rewrites. 1 TODO: perhaps it should also return MYSQL_TYPE_DATETIME 1 # TODO: unless BUG#20761 is fixed, we will print the warning to stdout, so 1 /* TODO: pass offsets, not &offsets */ 1 // TODO : Consider using section length + other vars for this 1 TODO: In 5.2 index scan cost calculation will be factored out into a 1 TODO: After the conversion from multiple inheritace to templates 1 /* TODO: change here when we will support UNIONs */ 1 @TODO somehow manage to create keys in tmp_table_param for unification 1 * TODO: If we want to support arbitrary command-line options from -T 1 TODO: When the new table structure is ready, then have a status bit 1 // TODO: change this to a weak reference so we can call delete on it when not needed 1 * TODO: Not implemented yet as we believe 1 // FIXME: Check whether delete actually succeeded! 1 0xff. TODO: in that case does it any harm to compare 1 /* TODO: the TODO_SUID condition can be dropped here, can't it? */ 1 TODO: is there a better way to check for InnoDB? 1 # FIXME Implement testcases with filename problems 1 return SSL_SUCCESS; // TODO: 2 Maybe this is a subquery of a single table UPDATE/DELETE (TODO: 1 TODO: Use this function for Unique::get_use_cost(). 1 #TODO: update the code and remove the disabled warnings 1 /* TODO: the below should probably be a separate function, 1 /* TODO : Consider real time break here */ 1 /* TODO : Consider how/if to merge multiple events/key with different 1 /* TODO: check if this is a comment */ 1 // TODO: use old data items, avoid malloc/free on each merge 1 TODO: the cluster team (Tomas?) says that it's better if the engine knows 2 TODO: This event is instrumented, but not timed. 1 TODO: Have an additional step here to notify all active plugins that 1 memory buffer. FIXME: this needs to 1 # FIXME $extra_bindir is not used 1 TODO: figure out how to pass src_file and src_line from the caller. 1 TODO: do not do reinit 'rand' for every execute of PS/SP if 1 TODO RONM: 1 /* FIXME: Check cas is used for append and prepend */ 1 // need ssl access to implement TODO: 1 /* TODO: Examine the first characters to see if this 1 /* TODO: use hash for big number of fields */ 1 /* TODO: 2 /* TODO: Abort here? */ 1 // FIXME: Get rid of this if possible. 1 /* TODO: Find out how to solve ha_rnd_pos when finding duplicate update. */ 1 TODO: future development directions: 1 /* TODO: use this conds for 'WITH CHECK OPTIONS' */ 1 // TODO: handle the error 1 TODO: Add warning if block size changes. We can't do it here, as 1 os_event_reset(buf_pool_resized_event); /* FIXME: for cache coherent */ 1 /* TODO: handle WRITE_ROWS_EVENT, UPDATE_ROWS_EVENT, DELETE_ROWS_EVENT */ 1 TODO: Remove this from here as it causes two condition pushdown calls 1 new (p) TcIndexOperation(); // TODO : Modify alloc size of c_theAttributeBufferPool 1 TODO: figure out if the assert below is needed or correct. 1 /* TODO: Does this have to be UTF-8 too ? */ 1 * XXX TODO: Make this fast. 1 /** FIXME: 1 // TODO : Check column is from the correct table 1 // TODO : Why execute immediately? We could continue with other blobs 1 TODO list : 1 // TODO: handle JDBC connection for queries 3 // TODO: Truncates: May silently remove trailing spaces: 2 TODO: how to distinguish from a table sequence? 1 TODO: If the allocation extends the 1 /* FIXME: What is the maximum column name length? */ 1 /* TODO: rewrite phrase search to avoid 1 // TODO can we really skip this when updating to an empty blob? 2 TODO: All the code located in storage/perfschema is malloc free, 1 TODO: add a stored procedure for fix table and database names, 1 * TODO - Add tests for NdbMem 1 /* TODO: To be deleted */ 1 TODO: in the future, there can be a variable to control which 1 /* TODO for WL#896: check value format */ 1 rli->mts_wq_oversize) // TODO: unit/general test wq_oversize 1 /* TODO: tree.c uses stat(), which is badly broken 1 TODO: performance improvement. 2 // TODO: open it! DBUG_ASSERT(usage_partition || !entry->worker->jobs.len); 1 TODO: this usage pattern creates unnecessary module dependencies 1 # mleich: FIXME The SELECT should deliver at least one row. 1 (TODO: consider changing the condition to "not inside event union") 1 * TODO: Improve this by implementing a real header scan. 1 * TODO reference()+treeNodePtr.i is passed twice 1 // TODO real transId 1 /* FIXME: What's this ? */ 1 // TODO: May have to setup outer-join info for this TABLE_LIST !!! 1 rep->noOfLogRecords = Uint32(ptr.p->noOfLogRecords); // TODO ^^ 1 thd->lex->sql_command == SQLCOM_SELECT) // TODO: implement for INSERT/etc 1 /* XXX TODO: More sanity-checks on the arguments XXX */ 1 TODO why do we have this duplicated in IN->EXISTS transformers? 1 # TODO: Make this into a test using replication to really test how 1 // TODO: check private against public for RSA match 1 /* TODO - fix this code as it won't work for CEILING mode */ 1 // TODO: make correct error message 1 * TODO: Provide tree_current_archive_entry(). 1 // TODO siginfo_printinfo(bsdtar, 0); 1 TODO: support for HA_READ_KEY_OR_PREV, HA_READ_PREFIX flags if needed. 1 TODO: maybe in the future we should consider moving 1 // TODO Auto-generated method stub 1 // TODO: needed? might need if joining tables with the same column names 1 # FIXME: Do not write the statements and results, if SQL return code = 0 1 : ('A'..'Z'|'_') ('0'..'9'|'A'..'Z'|'_')* // TODO: what are the valid characters? 1 TODO: Add safety measures against infinite looping. 1 statement lifetime. FIXME: must be const 1 error= unpack_current_row(rli); // TODO: how to handle errors? 1 * TODO handle errors 11 # TODO: (After 5.1 GA) 1 // TODO: advanced funcs: 1 #FIXME # 3.1.3: enhance syntax checks with very complicated checks 1 TODO: separate three contexts above, move them to separate bitfields. 1 /* TODO use rec-per-key-based fanout calculations */ 1 TODO: move more attributes from the LEX structure here. 1 /* FIXME: Move out of the loop */ 1 ndbrequire(dupSection(tmp, keyInfoPtrI)); // TODO handle error 1 * TODO: Don't use off_t in here. Use __int64 instead. Note that 1 /*TODO: this will be obsolete when we have support for 64 bit my_time_t */ 1 "builddir=s", # FIXME not documented 1 /* TODO: When gtar supports pax, use pax restricted. */ 1 return 0; // TODO: 2 # OBN - FIXME - Missing 3.5.1.4 need to add 1 * TODO: notes are mostly api additions to allow compilation with mysql 1 /* TODO: Implement this. Follow the Linux model above, but 1 * TODO: Also double check table-reorg 1 TODO: Here we try to build a range, but a lot of mocking remains 1 /* TODO check other branch... */ 1 setErrorCode(Err_ReadTooMuch); // TODO: find a more suitable errorcode, 1 // TODO: maybe add support to send SSLv2 hello ??? 1 /* TODO: flag the index corrupted if this fails */ 1 /* TODO: 1 /* TODO: Store file location of start of block. */ 1 //TODO: join this with Rdb_tbl_def ? 1 * TODO: There are still two cases I'd like to handle: 1 /* TODO: It would make future maintenance easier to just hardcode the 1 // TODO: define how BLOB/CLOB should be retrieved. 1 TODO: Add error code output parameter to Item::val_xxx() methods. 1 /* FTS-FIXME: Temporarily tolerate DB_DUPLICATE_KEY 1 TODO for WL#896: Add this check into text customization parser: 1 // FIXME: Get rid of snprintf 1 abort(); /* FIXME: stewart broke it, massively */ 1 TODO: Investigate if this can be refactored so that there is 1 # FIXME The loop over the modes will end here. 1 //TODO: test that cleanup works 1 TODO: Ensure that table_name, db_name and tables->db always points to 1 TaoCrypt::byte. TODO: define global types.hpp and move the declaration of 1 * TODO: Fix this. Apparently, there are platforms 1 return 0; // TODO Check header 1 # FIXME > /dev/null ? 1 /* TODO: 1 TS-TODO: perhaps such cases should be evaluated without 1 * TODO: Verify more. 1 /* TODO: split btr_store_big_rec_extern_fields() into small 1 TODO: Investigate if we can put extra tables into argument instead of 1 TODO: sergeyp: Results of all index merge selects actually are ordered 1 # FIXME Implement testcases, where it is checked that all create and 1 /* TODO: Extend this to support symlinks on Windows Vista and later. */ 1 // FIXME: I think we may requre this information to improve the 1 /* TODO: implement appropriate check for RTree keys */ 1 /* TODO: JOIN is not supported yet. */ 1 // TODO: error is *not* reported on cancel 1 TODO we probably fix a superset of problems like in BUG#6658. Check this 1 * TODO: Consider adding 'comment' and 'charset' fields to 1 *number= uint4korr(m_data); //GIS-TODO: byte order 1 # TODO : add more 1 /* TODO: add warning 'Data truncated' here */ 1 TODO: avoid setting non partitioning fields default value, to avoid 1 /* TODO: Add swap info for non-BSD systems */ 1 int pad_uncompressed_byte; /* TODO: Support this. */ 1 /* TODO: issue a warning ? */ 1 fmt->entry()->col_rows.cleanup(); // TODO: set(something reasonable) 1 # FIXME: What about double quote in password? Not handled here - not needed? 1 /*TODO: next part may be unneded due to mem_root->first_block_usage counter*/ 1 TODO: Perhaps CASE and COALESCE should eventually 1 TODO: Although it is possible to cache views, the privilege 1 /* TODO : Should call method above rather than duplicate call to 1 TODO: why do we force switch here? 1 float8get(*x, m_data); //GIS-TODO: byte order 1 * TODO: Make this more efficient. It's not as bad as it looks (most 1 // TODO send a specific error code/msg for all exit on error 1 TODO: we don't have to store all RS's rows but only those 1 # TODO: Need to look at making row based version once new binlog client is complete. 1 # FIXME when AFTER TRIGGER can be used 5 /* TODO: Publish comment in entry. */ 1 # FIXME check result code?! 2 // TODO make this more reasonable 1 TS-TODO: This should probably have Item_int_func as parent class. 2 // TODO: add missing primary expressions, like ROW, DEFAULT etc. 1 TODO: Probably instead of removing .TRG file we should move 1 /* TODO: issue warning message */ 1 print mtr_fromfile($::path_timefile); # FIXME print_file() instead 1 TODO: move this into the handler, or rewrite mysql_admin_table. 1 // TODO are these valid for every field? 1 size_t m_column_count; /* TODO: change to point to metadata */ 1 #FIXME: 3.1.10.8: to be added later. 1 // TODO: make it work for compressed pages too 1 TODO: implement the function. 1 * TODO: tokens[] array should be dynamically sized. 1 // TODO: accommodate subclasses based on results of select 1 /* FIXME: compilation issue on solaris x86 1 /* FIXME: We only need to read the doc_id if an FTS indexed 1 TODO: In future we should associate call arena/mem_root with 1 TODO: Fix mode of new file. */ 1 /* FIXME: We don't handle duplicates (yet)! */ 1 // TODO: 1 /* TODO: check for other possibilities for hi-res timestamping */ 1 /* TODO: We must check the contiguous_lsn still exists in log file.. */ 1 // TODO : Why can't we continue with pre-execute of other user ops? 1 /* XXX TODO: check whether this filesystem is 1 /* TODO: temporary tables */ 1 // TODO this will abort on the first postExecute failure 1 HFTODO this must be hidden if we don't want client capabilities in 1 /* TODO: add caching - pre-read several index entries at once */ 1 // TODO We should maybe introduce a CONF and REF signal 1 /** TODO: Protect with doPrivileged. */ 1 XXX FIXME: Some generic mechanism is required here instead of this 2 /* XXXX TODO: return deflate flags back to consume_header for use 1 /* TODO: fix when working on WL "Unicode new version" */ 1 /* nullptr means the default CF is used.. (TODO: can the default CF be 1 TODO: this field item already might be present in the select list. 1 /* TODO : Can this be ignored? */ 1 /** Index state (volatile data) TODO remove */ 1 // FIXME: This name shouldn't be hard coded here. 1 * TODO RONM: Look into improvements of this 1 // TODO can table_name_separator be escaped? 2 TODO/FIXME: We should: 1 // FIXME should we do something with duplicates here ? 1 TODO: There are about 100 member functions in Item. 1 TODO: This should be fixed in later ( >= 5.1) releases. 1 # FIXME How to test exotic or interesting substr values like NULL, '', ' ' 1 TODO: support USING/FORCE/IGNORE index 1 TODO: consider changing the condition to "not inside event union". 1 Uint32 scan_flags = 0; // TODO: Specify with ScanOptions::SO_SCANFLAGS 1 TODO: Number of HB events sent from here can be reduced 1 not work for a binlog which mixes format. TODO: fix this. 1 * TODO: Expand into linear memory instead 1 /* TODO: assign a real MySQL key number for this */ 1 /* TODO: this the right part restriction: */ 1 * TODO: I don't know what value is best for memlimit. 1 /* QQ: TODO multi-pinbox */ 1 /* TODO: How should we treat double_write_buffer here? */ 1 # FIXME The shell variant uses "mkdir -p": 1 /* TODO: Complete this.. defer fflags from below. */ 1 # FIXME Does this testcase fit to 3.3.1.47 ? 1 TODO: This check happens to work on current ICP implementations, but 1 /* TODO - move this to the 'normal_scan' loop */ 1 // TODO: should compare using this technique against 1 * TODO: Add a member 'doEagerRelease' to check below. 1 * TODO: Accumulate list of directory names/modes and 1 TODO: switch from protocol to push_warning here. The main reason we didn't 1 // | 'n' // TODO currently this clashes with \N == NULL. add predicate! 1 TODO: Make a member in UDF_INIT and return if a UDF is deterministic or 1 /* XXX TODO: Check other values for sanity; reject more 1 TODO: sergefp: Support Index Condition Pushdown in this table handler. 1 /* TODO: Upgrade to TL_WRITE_CONCURRENT_INSERT in some cases */ 1 /** FIXME: are these needed, the functions aren't there 1 TODO: Find out what is the optimal value for this parameter. 1 TODO: Fix this when server sends the information. 1 $opt = {}; # Reset the arguments FIXME ? 1 TODO: Fixing the performance issues of I_S will lead 1 /* TODO: We need to examine which of these can really be NULL */ 1 # FIXME why this late? 1 TODO: Change following code to access MYSQL structure through 1 // TODO: investigate platform dependency when reading via JDBC 1 TODO: now that we are logging the offset, check to make sure 1 // TODO : Check column is from the right table 1 * TODO inline all into index metadata 1 /* TODO: SUSPEND and FOR MIGRATE are not supported yet. */ 1 /* TODO: make more smart */ 1 TODO: Add partition name handling to NDB/partition_info. 1 /* TODO: Don't free this */ 1 TODO: make this functionality explicit in sp_head class. 1 // TODO: Handle footer, nothing yet 1 /* TODO: We don't have trx information here. 1 // TODO the following two are NDB specific, skipping for now. 1 /* TODO: LIKE operator */ 1 * TODO: On Linux, store 32 or 64 here depending on whether 1 # FIXME: To be implemented 1 /* TODO: what is allowed in the "STRING" below? probably not N'foobar' etc. */ 1 /* TODO: Further handling? */ 1 TODO: refactor this to avoid code duplication there 1 TODO: Ensure that only matches of the inner table records have to be 1 # FIXME There should be a test outside this one checking the 1 /* TODO: Implement old binary format in libarchive, 1 * FIXME: 1 /* TODO: test Windows symlinks */ 1 TODO list: 1 . ./sql/datadict.cc +32 /Alfranio - TODO: We need to test this. 1 /* TODO: Add proper checks if handler supports key_type and algorithm */ 1 TODO perhaps, increase log size ? 1 ndbrequire(dupSection(tmp, attrInfoPtrI)); // TODO handle error 1 TODO remove the test for HA_READ_ORDER 1 // TODO bug in JDBC handling high bit 1 * TODO: Looking at it now, I think it would be more natural 1 TODO: Why do we have two versions of String? 1 /* TODO */ 8 /* TODO: Discard any operations on the page from the redo log 1 // ^^ todo: change it to 'char*'? TODO: ^ can we join this with last_rowkey? 1 TODO: this condition is actually post-execution or post-scheduling 1 /* BAR TODO to support 3D and more dimensions in the future */ 1 // TODO This really belongs in store context. 1 file space left: TODO: easiest to crash the database 1 # FIXME: to be implemented 3 // TODO : Consider operating TUP out of first segment where 1 /* TODO */ 2 TODO: Make repair more clever - it should try to recover subsequent 1 // TODO: doesn't seem right 1 TODO: possibly it's nice to have a version with length some day, 1 /* TODO: take the memory allocation below out of the constructor. */ 1 TODO: Move the logging to last in the sequence of rows. 1 TODO: Add error code output parameter to Item::val_xxx() methods. 1 #define HA_READ_NEXT 1 /* TODO really use this flag */ 1 // TODO: indexes are ignored since they are handled by reading the column metadata 1 * XXX TODO: This should be removed 1 * TODO handle error, by aborting request 1 TODO: consider removing this test in case of UNION ALL. 1 # TODO: check if the topology is supported in raft 1 /* ############# TODO ##################### */ 1 # FIXME use --init-file instead of --bootstrap ?! 1 TODO: The approach with using two mutexes to work with the 1 /*FIXME: we need to handle the error properly. */ 1 TODO RONM: This needs to change to dynamic arrays instead 1 // TODO : Verify this is never used as a copy tuple location! 1 #FIXME: add foreign keys 1 TODO: consider doing the same for MYSQL_TYPE_YEAR,. 1 // TODO we need a different variant of computeHash here, 1 TODO [/Matz]: Maybe the query cache should not be invalidated 2 /* TODO: MySQL has apparently its own symlink 1 /* TODO: We should judge whether the file is already expanded or not... */ 1 // TODO: Is there no better estimation than 0 == Unknown number of rows? 1 * TODO: Flesh out this interface to provide other information. In 1 /* TODO: add warning 'Data truncated' here */ 1 TODO: say here explicitly if the order of AND parts matters or not. 1 data dictionary cache. TODO: fix this somehow.*/ 1 TODO: Perhaps it will be more straightforward if in case we returned an 1 /* TODO: Publish charset information in entry. */ 1 /* TODO: how to cope with drop table if there are records in the insert 1 /* TODO enable ICP for document path keys */ 1 // NUMBER must be (0 | 1), no grammar checks done at this point, TODO check AUTOCOMMIT vs keywords/identifiers 1 /* TODO: other fixes associated with DROP TABLE + rollback in the 1 * TODO: 3 TODO: When adding support for FK in partitioned tables, the referenced 1 16 /* FIXME */, 0, 0, mdl_locks_key, 1 ndbrequire(dupSection(tmp, attrInfoPtrI)); // TODO handle error 2 /* FIXME: Avoiding cache coherency problem, 1 // TODO : Consider making it debug-larger to get 1 /**** TODO ... maybe - from NdbOperation::prepareSendNdbRecord(AbortOption ao) 1 /* TODO: check if the following assignments are really needed */ 1 TODO: If table->s->ha_part_data->partition_name_hash.elements is > 0, 1 TODO: remove the need for my_strdup. 1 /* TODO: Hack up a version of mbtowc for platforms with no wide 1 // TODO: Restrict to only table_version_major() mismatch? 2 TODO: Item_copy should be made an abstract interface and Item_copy_ 1 TODO: 6 TODO: the cache should be applied conditionally based on: 1 TODO: when VIEWs will be stored in cache, table mem_root should 1 TODO: 4 # FIXME Testcases with LOCATE(substr,str,pos) 1 TODO: If the allocation extends the tablespace, it 1 * TODO handle error 3 TODO: should be properly fixed. 1 // TODO: We should relax this and skip secondary 1 ut_error; // FIXME: 2 TODO: make rollback for it, or special name resolving mode in 5.0. 1 # FIXME What will happen with NDB ? 1 /* TODO: fix to support views */ 1 if (ptrI == RNIL) // TODO: remove when keyIsNull is completely handled 1 TODO: Has to be fixed as strnncollsp in ctype-simple 1 // FIXME: We need to update the dict_index_t::space and 1 // TODO : Consider tracing fragment signals? 1 /* FIXME: What should the upper limit be? */ 1 //TODO: think placing 2-3 component items in item (as it done for function) 2 TODO: 7 // TODO: investigate platform dependency when reading via JDBC 1 TODO: This can be made parallel trivially by chunking up the file and creating 1 TODO: Move this out from this function to main loop 1 // TODO: these are case sensitive -> specifying them as lowercase in the grammar causes them to never be matched (because ANTLR doesn't know 1 FIXME: 1 format (TODO: name this properly). 1 TODO: Implement a more efficient way to have more than one index open for 1 # FIXME sub testcases, which might be included, if they fit good into 1 // TODO: at drop table we have to flush and terminate these 1 // (! isNodeConnectivitySuspect(aFailedNode)) && // TODO : Required? 1 // TODO : Could reuse this op for fetching other blob heads in 1 // TODO: support null values for int, double, float, long, and short 1 * TODO: Reduce the memory requirements for this list by using a tree 1 rep->noOfLogBytes = Uint32(ptr.p->noOfLogBytes); // TODO 64-bit log-bytes 1 return; // TODO add error state, and force check 1 (DEFAULT literal)? // TODO check whether literal covers all the legal values 1 // TODO : IndexScans always fetch PK columns via their key NdbRecord 1 // FIXME initialize binlog_filter and rpl_filter if not already done 1 TODO: update distro_buildreq/distro_requires 4 /* FIXME: We should not finish the parent trx here. 1 /* TODO: Clean up the formatters. */ 1 // TODO: check return value and handle error 1 // TODO: Allow and autoconvert compatible datatypes 1 # TODO: move to rpm-docker 1 * XXX TODO: More verification; Could check that only hex 2 /* FIXME: Ideally this should be part of the SQL syntax 1 (ESCAPED BY fieldEsc=STRING)? /* TODO: STRING here is one character, really */ 1 // TODO: previous version also did /2 1 // TODO: 1 doesn't have a JOIN (TODO: We should handle this at some 1 Ptr m_ptr; // TODO remove 1 /*TODO - remove rounding stuff after decimal_div returns proper frac */ 1 #FIXME: can be enhanced more and more ... 1 #if 0 // TODO ::firstResult() on root operation is unused, incomplete & untested 1 * TODO: Don't immediately restore mode for 1 TODO: Add support for TRUNCATE PARTITION for NDB and other 1 * TODO: Allow 'names' to come from an archive, 1 * TODO : Consider using read packed 'read all columns' word once 1 /* TODO: pass only *offsets */ 1 of the undo log header. TODO: do not append the XID to the log header if XA 1 TODO remove the limit, use dynarrays 1 /* TODO: On Windows, use GetFileInfoByHandle() here. 1 TODO: nulls processing 1 TS-TODO: conversion from FSP1>FSP2. 1 TODO: Maybe a better error message since the BINLOG statement 1 TODO: If any gain, we could enhance this by only copy the needed default 1 // TODO: add config parameter 1 /* TODO */ 1 * TODO: sanitize filename? 1 /* TODO: do not ignore the out parameter and a possible OOM error! */ 1 // TODO: support join specifications 1 // TODO : Unify with allocAttrInfo 1 TODO: update the number of records in tab->position 1 # terminate now, but we don't (FIXME should be debugged). 1 TODO: should be moved to CHARSET_INFO if it's going to be called 1 * TODO: On platforms that support it, use openat()-style operations 1 TODO: actually, new_db_name and new_db_name->str seem to be always 1 # FIXME: Check at the beginning of the test that the limits are sufficient 2 * TODO: Make archive_read_filter and archive_read_client identical so 1 - TODO: we should create sp_rcontext once per command and reuse it 1 // TODO : Unify with allocKeyInfo 1 int crc = /* XXX TODO: Compute header CRC. */; 1 /* TODO: add support of view of join support */ 1 TODO: move this block into a separate function. 1 /* TODO: - Check if any character fields can be of any date type 1 TODO: add check for static update values, which can be pruned. 1 /* TODO: Handle this error. */ 1 /* TODO check error condition? */ 2 // TODO: to help profiling 1 * TODO: shar should also suppress padding of 1 // TODO Magnus, improve copy constructor 1 // TODO: Create a bug, this looks wrong. The flush log 1 /* FIXME: aggregate to table_share sink ? */ 1 * TODO: the TODO_SGID condition can be dropped here, can't it? 1 /* TODO: Make this work. */ 1 #FIXME: Should we take into account $exit_value here? 1 /* TODO: Should we seek offset of current file by bst ? */ 1 //FIXME fts_sql_commit(optim->trx); 1 /* FIXME: At this point we have both buf_pool and flush_list 1 * TODO: Add corresponding "older" options to reverse these. 1 DBUG_ASSERT(0); /* TODO fix it */ 1 // TODO change the allocation to a constant in ndbjtie 2 /* FIXME: do more validations according to joliet spec. */ 1 TODO - Improve this function to use String and avoid this weird computation 1 * TODO: Put dir name/mode on a list to be fixed 1 // FIXME: What is the upper limit? */ 1 * TODO: Add "comment", "charset", and possibly other entries that are 1 TODO:Here we process prefixed view references only. What we should 1 * TODO merge better with lookup_start (refactor) 1 TODO: Triggers, having the renamed database explicitely written 1 # TODO: psergey: check if case conversions like those are ok (it broke on windows) 2 TODO: Return all matching rows 1 /* TODO: Further handling? */ 1 TODO: we should create sp_rcontext once per command and reuse it 1 /* TODO: Add message info for non-BSD systems */ 1 /* TODO: this value should be determined dynamically, based on statistics: */ 1 //TODO Backup needs this info to allocate appropriate number of records 1 # FIXME move to own lib 1 * TODO: A lot of stuff in here isn't actually used by libarchive and 1 TODO here: subkey-based optimization 1 /* TODO: use \uXXXX escape here instead of ? */ 1 /* TODO: Add block IO info for non-BSD systems */ 1 /* FIXME: error handling (not critical for MySQL) */ 1 TODO: send metadata only when it's really necessary and add a warning 1 // TODO: this rule is broken; it is to parse Java source files not compiled strings. 1 * TODO: Make this handle Windows paths correctly. 1 table_to_alter is NULL. TODO: should we fix this somehow? */ 1 TODO: Currently this branch never executes, since used_tables_cache 1 /* TODO: DB_TRX_ID and DB_ROLL_PTR may be uninitialized. 1 last->sj_mat_exec= sjm; // TODO: This violates comment for sj_mat_exec! 1 TODO: check if we can get rid of the above two 1 TODO if possible share single permanent buffer with handlers 1 /** TODO This needs to be rewritten with a proper state machine. */ 1 FIXME: A lot of things to do here e.g. how about other funcs and being 1 TODO: print the catalog (some USE catalog.db ????). 1 * TODO: By using a stack-allocated buffer for the first 1 # FIXME ENV vars should be expanded!!!! 1 TODO: TABLE mem root should be used here when VIEW will be stored in 1 * TODO: After this works, push it down into libarchive. 1 /* FIXME: What is the max value? */ 1 # FIXME: to be implemented 1 TODO: We should check if user has TRIGGER privilege for table here. 1 # FIXME enum, set ?? 4 TODO: For now, these are simply 1 * TODO: This is the place to support certain SQL modes. 1 // TODO use field_index ?? 1 /* TODO: check for OOM condition here */ 1 TODO: store buf len to save memory */ 2 @param tv an alternate timeout (FIXME - is this true?) 1 // TODO: check what problems this may cause and fix them 1 TS-TODO: val_str decides which type to use using cmp_type. 1 * XXX TODO: More verification; Could check that only octal 1 TODO: possibly this it is incorrect to have used tables in LEX because 1 /* TODO: do a gname->gid lookup for Windows. */ 1 /* TODO: protect buf_pool->chunks with a mutex (it will 2 /* FIXME: need to address it different when port the project to 1 // TODO this might better use the "Class type;" field in superclass 1 // TODO: these should be moved to SchemaTransPtr 1 calls in several different places. (TODO consider moving this into 1 # FIXME as Cygwin reuses pids fast, maybe check that is 1 /* TODO: do a uname->uid lookup for Windows. */ 1 //TODO: why all following memory is not allocated with 1 call of sql_alloc? 1 * TODO : How can this happen? 1 //TODO: move fix part of tuple 1 // TODO: With TTL rows can be removed without a decrement in 1 // TODO: shall we check and report errors here? 1 TODO: Each of the following flags take up 8 bits. They can just as easily 1 uint char_length= seg->length; /* TODO: fix to use my_charpos() */ 1 # FIXME this backslash escaping needed if using '"..."' ? 1 TODO: This is a duplicated code that needs to be simplified. 1 * TODO free fix + var part 1 TODO: that should be replaced by proper handling of stack overrun error. 1 TODO: It cannot be on the left of a MINUS, because that expression makes no sense. 1 // TODO resize send buffer pages 1 /* TODO: Error message. */ 1 TODO: Replace this with an inline function. 1 /* TODO: consider a shortcut here */ 2 * TODO: Make this better, so that "./a//b/./c/" == "a/b/c" 1 // TODO: where is this annotation used? 1 TODO: The fact that we sometimes acquire protection against 1 * TODO: The deep-directory support bypasses this; disable deep directory 1 file size then it will assert. TODO: Fix this limitation of the IO functions. 1 /* FTS-FIXME: once we can return values from this 1 /* TODO: Use the shared writer instead during the lock above. */ 1 every row. TODO: add optimization to use index if possible, see WL#5397. 1 TODO: Probably even better approach is to simply associate list of 1 /* FIXME: validate correctness of last SVD entry offset. */ 1 /* TODO: should we use extattr_set_link() instead? */ 1 TODO: set thd->abort_on_warning if values_list.elements == 1 1 TODO here: unsafe optimization, should this word 1 protocol. TODO: document how the server will behave in case of 1 # TODO: Figure out how to handle this 4 // FIXME: Need to have a generic iterator that traverses the ilist. 1 TODO: fix it. We can delete this in 5.1 when rnd_init() is checked. 1 /* TODO: could we replace the counter n_foreign_key_checks_running 2 TODO: provide client typedefs for each integer and floating point 1 TODO: how to distinguish from a JOIN? 1 // FIXME: Potential race condition here: We should wait for 1 // TODO : Remove other 2 unused parameters. 1 # OBN - FIXME - Missing 3.5.1.6 need to add 1 # FIXME The loop over the modes will start here. 1 // TODO Check all scan parameters 1 '"' // TODO: collapse two consecutive internal double quotes into one 1 TODO: FT_SELECT should not clean up ft_handler. 1 /* TODO: Check format of remainder of this field. */ 1 if (true){ // TODO is_api && !old_dest){ 1 // TODO: Assert that stats have been saved. 1 TODO: fix the variable an return types. 1 // TODO: figure out way to set/store default path, then call load_verify 1 // TODO add table name to the error message 1 TODO: Move these settings into pick_table_access_method() also 1 close(SOCK); # FIXME check error? 2 * TODO: this is the place to support the SQL mode IGNORE_SPACE 1 * TODO: Someday, provide a more generic __archive_read_seek() for 1 // TODO: the following might not be definitive to identify a relationship 1 /* TODO: Find a better way to warn about our inability 3 /* TODO - add init_connect command execution */ 1 TODO: 3 functions at each execute (TODO: fix). 1 // end session stats TODO: 1 /* TODO: Someday, libarchive's I/O core will support optional 1 /* TODO: read comment in index_next */ 1 TODO: Cache the calculated part_id and reuse in 1 # TODO: Test --wait-for-data 1 /* FIXME: Debugging */ 2 /* TODO: if this happens, we should write a warning in the log file ! */ 1 /* XXX TODO: Arrange to open a regular file before 1 /* TODO: This should be changed to reader locks someday! */ 1 //FIXME fts_sql_rollback(optim->trx); 1 * TODO : Is it worth doing this at all? 1 // TODO this should be a policy option, perhaps an annotation to fail on truncation 1 // TODO handle host:port 1 /* TODO: The above test is still very weak. It would be 1 // FIXME: testing 1 /* TODO: implement precision */ 1 TODO: fix check_db_name(). 1 # TODO : SELECT 1; -- This comment continues to the end of line 1 * left as a TODO */ 1 TODO: report this as a corruption 1 /* TODO: Flag other nonsensical combinations. */ 1 * TODO: Replace these hash tables with simpler move-to-front LRU 1 // FIXME: Get rid of snprintf 2 file space left: TODO: easiest to crash the database 1 to zero. But mysqlbackup does replay them. TODO: If remote tablespaces are 1 TODO: check that the multi-byte sequence is valid. 1 return(0); /* TODO: count free frag pages and 1 FIXME Is this a bug ? ; 2 ulint latch_mode; /*!< see TODO note below! 1 * TODO: Extend this to support NFSv4/NTFS permissions. That should 1 rv->sfd = 0; //TODO make this more realistic 1 // FIXME: Call this only at the start of optimize, currently we 1 # TODO: Instead of iterating 'w' over the array, have a separate 2 return 0; // TODO: Comparison of two nodesets 1 * XXX TODO: Directory ACLs should be restored here, for the same 1 // TODO: add accounting for connections without database, and for super. 1 // TODO: handle the error 1 TODO: we should create sp_rcontext once per command and reuse 1 /* FIXME: We should have a better way to pass the callback structure 1 TODO: in the case when we skipped all columns because there was a 1 /* XXX TODO: Verify the length and CRC. */ 1 /* TODO: explain why this works if pos < info->pos_in_file */ 1 TODO: check if an update actually has inserted an entry 1 // TODO here (and above) should be warning in 4.1 1 * TODO: Do we need to check more than this? 1 * which we might verify the GID, we need a TODO bit 1 * TODO: Publish the path normalization routines in libarchive so 1 /* TODO: The following code could be executed 1 TODO: If all rows have not null values and 1 /* FIXME This doesn't give microseconds as in Unix case, and the resolution is 1 /* TODO: Ensure that premature close() resets cwd */ 1 # TODO: Only do this every n times (e.g. n = 10 or 100) to reduce contention. 2 // TODO: reset semi-sync slave status here 1 /* TODO: optimize: do not get result_field in case of args[0] is NULL */ 1 FIXME: The code below takes too many different paths depending on the 1 * TODO: Push this string into the 'pax' structure to avoid 1 // TODO: We could skip unpacking if m_filter_count=0 and we are 1 #FIXME: Here we can perform further analysis of recognized 1 # FIXME what about master1 and slave1?! 1 TODO: figure this out and adjust the plan choice if needed. 1 TODO: this may become false if Dmitri pushes his new LOAD DATA INFILE in 1 // TODO support for XA transactions is missing 1 /* TODO: Does this belong in copy_stat()? */ 1 // TODO we need a different variant of computeHash here, 1 TODO: make the Item::val_xxx() return error code 1 TODO: if there was a my_getsockname, this wouldnt have to use 1 '\'' // TODO: same as above with single quotes 1 * TODO: Move this declaration out of the public header and into 1 * TODO: "pax interchange" format allows essentially arbitrary 2 TODO: remove it when (if) we made one list for allfields and 1 TODO: solve above problem 1 sprintf(buff, "DOUBLE"); // number was like 1e+50... TODO: 1 // | character=. // TODO: collapse into just $char; this might be an error 1 // TODO : Any need for tabPtr? 1 TODO: Make a better estimate for this upper bound of 1 // TODO: have the last catalog here ?? 1 #TODO:not supported 2 TS-TODO: and Item_datetime_literal for this purpose? 1 /* XXX TODO XXX Is there a more appropriate choice here ? */ 1 // TODO: Consider if interpretedCode can be deleted imm. after ::doSend 1 // TODO: to help profiling 1 TODO: change ER_WRONG_FIELD_WITH_GROUP to more detailed 1 /* TODO: Add CPU-usage info for non-BSD systems */ 1 * XXX TODO: Verify that it's all digits... Don't be fooled 1 /* TODO: This will not drop the (unused) statistics for 1 * TODO check that asm ("") implies a compiler barrier 1 /* TODO: Handle arbitrary extended attributes... */ 1 TODO: Implement multiple equality optimization for views. 1 /* TODO: For compressed tables we do a lot of useless 1 * TODO: Design a good API for handling sparse files. 1 * TODO: Validate hardlinks. According to the standards, we're 1 * TODO: Someday, integrate this with the deep dir support; they both 1 TODO: Add a check that the correct record has been fetched by 2 16 /* TODO */, /* growth size */ 1 /* FTS-FIXME: needs the zip changes */ 1 /* TODO: Handle this write failure */ 3 /* FIXME: Need better solution to transfer the callback function 1 /* TODO: Move this out from this function to main loop */ 1 // TODO: all session stats 1 /* TODO: perhaps add a warning that more than one tag selected */ 1 TODO: in functions my_micro_time() and my_micro_time_and_time() there 1 * is list of parts (m_next). TODO order by part number 1 //TODO Accumulate in buffer when DictTakeoverConf becomes long signal 1 * TODO: Currently, only one index is supported per field. 1 // TODO: Ignoring error for now. Will change the behavior once validated 1 /* TODO: Additional verification here. */ 1 // FIXME: We need to retry deadlock errors 1 /* TODO: Add context switch info for non-BSD systems */ 1 #define SYNC_FTS_OPTIMIZE 164 // FIXME: is this correct number, test 1 // TODO should this set rollback only? 1 FIXME: the only use case when name is NULL is events, and it should 1 #FIXME: check dirs above for existence to ensure that test suite 2 _RE_PATTERN_TODO = re.compile(r'^//(\s*)TODO(\(.+?\))?:?(\s|$)?') 1 // TODO: Check if we need to have a THD here for slow-query-log 1 * TODO: Since Libarchive is generally 64bit oriented, but this implementation 1 /* TODO: wildcard detection here screws up on \\?\c:\ UNC names */ 1 * TODO: Set the default block size from the format selected. 1 /* TODO: scrollable cursor: restore cursor to 1 #TODO: should be uncommented after Bug#380 fix pushed 1 pfd[0].fd= sock.fd; // FIXME: THIS IS A BUG 1 TODO: Switch to use a stream-based base64 encoder/decoder in 1 # FIXME what does this really mean.... 1 TS-TODO: Can't we use Item_time_literal, Item_date_literal, 1 /* TODO: change tmp_share.scheme to LEX_STRING object */ 1 * TODO: Any better way? 1 TODO Convert these to use Bitmap class. 1 // TODO change the allocation to something reasonable 1 TODO: In future, we should have temporary_table= 0 and 1 ORDER_with_src dummy= NULL; //TODO can use table->group here also 1 TODO: read dependence list, too, to process cascade/restrict 1 /* TODO: We should skip the following modifies, if it is not the first time. */ 1 TODO: is this really the intention? 1 /* FIXME: Doesn't do anything yet */ 1 /* XXX TODO: if bytes_written < state->buffer_size */ 1 TODO: add a notion for determinism of the UDF. 1 /* TODO remove this after decimal_div returns proper frac */ 1 /* TODO: report the row, as we do for DB_DUPLICATE_KEY */ 1 /* TODO: here we should send types of placeholders to the client. */ 1 /* TODO: check for overun of memory for names. */ 1 TODO: benchmark the best value for XXX. 1 // for now, copy the bit we need TODO proper fix 1 TODO: why we create the above for cases where the right part 1 * TODO check that atomic_swap_32 on x86-64 with sun-studio implies 1 /* TODO: Handle short write of final block. */ 1 // @TODO - PROCEDURE 1 * TODO: Remove this hack after global gtid state is fixed wrt to raft 1 TODO : Find a relationship between the following 1 /* TODO: Fix the code, don't suppress the warnings. */ 1 // TODO get this from properties 1 TODO: get rid of tbl->force_index (on if any FORCE INDEX is specified) and 1 * TODO return proper error code here, 1 #FIXME: we should handle case when for one sub-string/code 1 TODO: when we will have table/view change detection we can do this check 1 /* FIXME: Should we assert on this ? */ 1 // TODO: add string here 1 TODO: should use thread pool here, preferably with an upper limit 1 /* TODO: add the SQL_TSI_ prefix versions */ 1 * @param forceSend FIXME: Describe this. 1 TODO: This should be fixed in later ( >= 5.1) releases. 1 * TODO: Parse global/default options into 'entry' struct here 1 ha_rows m_rows_to_insert; // TODO: merge it with handler::estimation_rows_to_insert? 1 TODO: In mtr (not btr_mtr), write a redo log record 1 TODO: add MDL lock that allows both read and write and is upgradable to 1 TODO: make a number of threads a parameter 1 # FIXME > /dev/null ? 1 /* FIXME: Check if FTS_MODIFY need to be addressed */ 1 * TODO: Work with dev/ino pairs here instead of just ino values. 1 FIXME: 1 file space left: TODO: easiest to crash the database 3 * TODO: We should be able to use this to pull files and intermingled 1 TODO: change this into a dynamic struct 1 /* FIXME: What's this ? */ 1 // TODO remove 1 // TODO check overflow in cast 1 * XXX TODO: What about ACL types other than ACCESS and DEFAULT? 1 /* TODO check return value */ 1 # FIXME: The mixup of non string column values 1 // TODO use the string storage buffer instead of allocating a new buffer for each value 1 /* TODO: respect myisam_repair_threads variable */ 1 * TODO support this feature 1 TODO: this design is obsolete and will be removed. 3 TODO: this value could be determined by some mapping of the form: 1 TODO RONM: Here I need to insert checks for fragment array and 1 TODO use mmap instead of IO_CACHE for binlog 1 * TODO: If zlib is unavailable, gzip_bidder_init() should 1 TS-TODO: Item_func_dayname should be derived from Item_str_func. 1 /* TODO: Handle Linux stat32/stat64 ugliness. */ 1 TODO page merging. try to allocate adjacent page first, 1 // TODO: do not forget implement case when select_lex.table_list.elements==0 1