fix_ipa problem
Posted in 2025
Sven Eilers got error -217 running fix_ipa with a partnum (-P). Marcus Haarmann found the query referenced the alias st, absent from that query, and proposed a source change. Art Kagel said it was fixed in v1.22 on his site, with a new -T option. Sven first saw the old version, then confirmed Marcus's fix works. A spam post about AI chatbots followed.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: High Availability & Replication, SQL Development & Query Writing
Hello everyone, I am having problems running fix_ipa with partnums: fix_ipa -d xxx -t xx_t -P 5247109 Error: -217(0) on prepare of slot cursor. sqlerrm: st. sqlerrd[4] = 544. sqlerrp: . SQL: SELECT tv.dbsname, tv.tabname, tv.partnum, ss.pagenum::BIGINT AS pagenum, min( ss.slotnum )::BIGINT AS slotnum FROM tabvers as tv, sysslttab as ss, syspaghdr sp WHERE ss. slotptr != 0 AND ss.pagenum > 0 AND ss.partnum = tv.partnum AND tv.partnum = sp.pg_partnum AND ss.pagenum = sp.pg_pagenum AND tv.maxver > tv.minver AND tv.maxver IS NOT null AND tv.minver IS NOT null AND ((sp.pg_next / 16777216)::int) < tv.curver AND dbsname matches 'xxx' AND tabname matches 'xx_t' AND st.partnum = 5247109 GROUP BY 1, 2, 3, 4 ORDER BY 1, 2, 3, 4;; 0 pages processed in 0 tables from 0 databases. informix@css-tctest:~/se$ fix_ipa -V fix_ipa: Features Version 1.0, Source Revision: 1.18 !
Hi, There seems to be an issue with partnums in fix_ipa. When looking at the source, the PFiltStr variable always references a table alias "st" (systabnames), which is not selected in the query where the error occurs. My fix would be to modify the query string, because it seems to query the temp table tabvers, which already contains only data from the selected partnum (in the query above, systabnames was selected correctly). So modify the code as follows and this should work: 719 721 snprintf( slot_str, 722 sizeof slot_str, 723 "SELECT tv.dbsname, " 724 " tv.tabname, " 725 " tv.partnum, " 726 " ss.pagenum::BIGINT AS pagenum, " 727 " min( ss.slotnum )::BIGINT AS slotnum " 728 "FROM tabvers as tv, " 729 " sysslttab as ss, " 730 " syspaghdr sp " 731 "WHERE ss.slotptr != 0 " 732 " AND ss.pagenum > 0 " 733 " AND ss.partnum = tv.partnum " 734 " AND tv.partnum = sp.pg_partnum " 735 " AND ss.pagenum = sp.pg_pagenum " 736 " AND tv.maxver > tv.minver " 737 " AND tv.maxver IS NOT null " 738 " AND tv.minver IS NOT null " 739 " AND ((sp.pg_next / 16777216)::int) < tv.curver " 740 " %s %s %s " 741 "GROUP BY 1, 2, 3, 4 " 742 "ORDER BY 1, 2, 3, 4;", 743 dbsstr, 744 tabstr , 745 PFiltStr ); The PFiltStr variable needs to be excluded from this query, so remove the third "%s" and the parameter PFiltStr and recompile. This should give you a result. Maybe Art can provide a fix.
Sven & Marcus: This was fixed back in April but I forgot to upload it to my web site. That is now available. The latest fix_ipa package contains v1.22 which includes that fix as well as a couple of others and a new option -T. www.askdbmgt.com/my-utilities.html Art ------------------------------ Art S. Kagel, President and Principal Consultant ASK Database Management Corp. www.askdbmgt.com ------------------------------
Hi Art & Markus, thank you very much for the quick response. @art I just downloaded and tested the version, but unfortunately it's still the old version. Can you check again? ------------------------------ Sven Eilers ------------------------------
Hi Markus, It works, thank you very much. ------------------------------ Sven Eilers ------------------------------
Sven: You may have to clear your browser history. The way that the web builder I use works it puts a hard link to the uploaded file onto the page so if you have an older version of the page cached locally it will still have the link to the older version of the file. If the package includes the file "README" it is definitely the latest one, if it does not, then it is the older file. I created the README file just yesterday to explain something that I had discovered about "fixing" variable length tables. Art ------------------------------ Art S. Kagel, President and Principal Consultant ASK Database Management Corp. www.askdbmgt.com ------------------------------
AI chatbots are dangerous, and the U.S. is finally taking action. The FTC issued 6(b) orders to Google, OpenAI, Meta, xAI, CharacterAI, Snap, and Instagram. Here's what it means: The focus of these orders is to understand what steps these seven companies have taken to prevent the negative impacts AI chatbots can have on children. According to the official release, the FTC wants to understand what steps these companies have taken to: evaluate the safety of their AI chatbots when acting as companions; limit the products' use by and potential negative effects on children and teens; inform users and parents of the risks associated with the products. The FTC's 6(b) authority allows it to conduct wide-ranging studies that don't have a specific law enforcement purpose. In this specific case, the FTC is looking for specific information about how these companies: monetize user engagement process user inputs and generate outputs in response to user inquiries develop and approve characters measure, test, and monitor for negative impacts before and after deployment mitigate negative impacts, particularly to children employ disclosures, advertising, and other representations to inform users and parents about features, capabilities, the intended audience, potential negative impacts, and data collection and handling practices monitor and enforce compliance with the company rules and terms of service use or share personal information obtained through users' conversations with the AI chatbots The FTC inquiries are often broad and thorough, and they ultimately shape the tech policy landscape, as other countries' authorities often follow suit with more internal scrutiny. Those who think that the U.S. doesn't regulate AI are deeply mistaken. It's true that the U.S. does not have a comprehensive federal AI law; HOWEVER, besides HUNDREDS of state laws covering AI, federal agencies such as the FTC have a crucial role in shaping technological development and deployment. I would go so far as to say that FTC enforcement over tech practices is often more effective than EU-style enforcement, with greater scrutiny, higher fines, and more global influence. Specifically on chatbots, if you read my newsletter, you are probably already tired of hearing me highlight their dangers, especially when children and vulnerable people are involved. In the past months, the FTC has published various articles highlighting some of the problematic issues involving AI chatbots. This week, the FTC took an additional step and issued 6(b) orders to these major companies behind AI chatbots. Depending on how these inquiries go, we might see more targeted enforcement actions soon.
Did you try telling your chat bot to UPDATE STATISTICS?