13.07.2015 Views

A PowerBuilder Revolution - sys-con.com's archive of magazines ...

A PowerBuilder Revolution - sys-con.com's archive of magazines ...

A PowerBuilder Revolution - sys-con.com's archive of magazines ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CATE TABLE and how it compares withDELETE: sometimes faster, sometimes not,and why.Chapter 6: FetchingA chapter six is a chapter a <strong>PowerBuilder</strong>developer should read since it talks about theDECLARE, OPEN, FETCH, and CLOSE statementsas they apply to cursors using SELECTqueries and procedure calls. It also describesthe cursor FOR loop, which vastly simplifies thecursor loops in SQL by eliminating the need toDECLARE all those local variables or code thoseendless FETCH lists. Something a <strong>PowerBuilder</strong>developer doesn’t do very <strong>of</strong>ten because <strong>of</strong> thedatawindow and datastore we have.Chapter 7: SynchronizingHere you have it – the MobiLink chapter. Itdiscusses how the MobiLink server workstogether with the MobiLink client for ASA tosynchronize data back and forth between a<strong>con</strong>solidated database and dozens or thousands<strong>of</strong> remote databases. MobiLink scriptsare classified by level (<strong>con</strong>nection, session,table, and row) and by direction (upload versusdownload). And error handling on theserver and client sides is described. This is aninteresting chapter for every serious Pocket-Builder developer. I can highly recommend itif you want to synchronize your mobile devicewith a desktop machine.Chapter 8: PackagingThis chapter is about moving applicationlogic into the database using BEGIN blocksand SQL modules based on BEGIN blocks:procedures, functions, triggers, and events.The SET assignment statement is described,as well as the flow-<strong>of</strong>-<strong>con</strong>trol structures IF,CASE, and WHILE, the EXECUTE IMMEDI-ATE statement, and the <strong>con</strong>nection-levelCREATE VARIABLE statement. This sectionintroduces the basics <strong>of</strong> exception handling, atopic expanded on in Chapter 9.Chapter 9: ProtectingChapter 9 is the se<strong>con</strong>d-longest chapter inthe book. It explores a wide variety <strong>of</strong> topicsincluding options, transactions, exceptions,errors, subtransactions, locks, blocks, isolationlevels, deadlocks, mutexes, user IDs, privileges,user groups, logging, recovery, backup,restore, and (gasp!) database validation. Many<strong>of</strong> these topics are only loosely <strong>con</strong>nected toone another, but they all fall under the generalheading “Crashing, Bashing, Thrashing, andProtection Therefrom.”Breck Carter is an experienced databasedeveloper. He first worked with a relationaldatabase in 1973 (the year I was born) beforethere were any practical commercial implementations.Over the years he has worked as anindependent <strong>con</strong>sultant to develop enterprisedatabases and applications using IMS DB/DC,DB2, Oracle, SQL Server, ASE, and, beginning in1995, SQL Anywhere.Breck has been a member <strong>of</strong> Team Sybasesince 1993, which means you can find himanswering questions on the SQL Anywherenewsgroups on behalf <strong>of</strong> Sybase and iAnywhereSolutions. He is also a member <strong>of</strong> the iAnywhereSolutions Customer Advisory Board, helpingto shape future product direction.Chapter 10: TuningThis chapter might be the one with thebiggest audience since everyone’s interestedin speed, speed, speed. This chapter shouldbe read last because the first rule <strong>of</strong> optimizationis “Don’t do it.” If you’re an expert, Rule 2also applies: “Don’t do it yet.”Chapter 10 explains the four big performancetuning tools that SQL Anywhere provides:request-level logging, the Index Consultant,the Execution Pr<strong>of</strong>iler, and the GraphicalPlan. It then moves on to more arcane topicssuch as file, table, and index fragmentation,and table, index, and database reorganization.Sections on the syntax <strong>of</strong> CREATE INDEXand database performance counters areincluded, and the book ends with a performancetuning “Tips and Techniques” sectionthat lists 36 do’s and don’ts that didn’t find ahome earlier in the book.ConclusionThe book is easy to read and <strong>con</strong>tainsimportant details about SQL Anywhere development.If you’re new to SQL Anywhere thematerial will save you hours <strong>of</strong> time and dramaticallyshorten your learning curve. Thisbook is simply a must-have for SQL Anywheredatabase developers because it’s a completeand compact reference for experienced developersas well as comprehensive immersion forbeginners and less experienced coders. It’s writtenby someone who has a great deal <strong>of</strong> experienceusing SQL Anywhere Studio to build realworlds<strong>of</strong>tware solutions. Have fun reading it.bhamboeck@pocketpb.com32 PBDJ volume12 issue4www.SYS-CON.COM/pbdj/

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!