On commit - sequence increases
Hello.
I would like to know, if there is a way to stop form on error (before commit)?
My form returns sometimes for some users errors(privileges error or policy check error) on commit (KEY-COMMIT). Nothing inserts into database BUT sequence increments.
Is there a way to stop the sequence to increase?
Thanks.
...and put a trigger on the audit table, etc.
If there were a good reason NOT TO use a gapless sequence then suggesting alternative solutions would be helpful. In this case there may be no good reason TO use a gapless sequence but that doesn't mean he should try something else. It's possible and he needs to do it.
Advance queueing is more efficient but I can't remember how to do it right now. It may be on the web somewhere. Using dbms_lock, in pseudocode:
o create a table to store the sequences.
o when a sequence is needed then loop through the table and use the sequence to create a lockhandle.
o if you can't lock the record then move to the next one.
o if there are no records available then generate more records into the table (autonomos commit) and loop again.
o if you manage to lock a record then delete it (no commit).
o return the sequence to the calling process.
o when the record which uses the sequence is committed then that sequence will be removed from the sequence table.
o if the record is rolled back then the sequence will remain in the sequence table.
not suitable for intense usage and there can be problems if there's a chance of a commit between the call to the sequence routine and the insert of the record. you can get round this by using an 'unused sequences' table but that makes it less efficient - try advanced queueing.
Similar Messages
-
I have one block with single record
and 3 others blocks with multiple records.
block1
b2
b3
b4
On SAVE button when_button_pressed trigger
Code is
declare
v_commit number:=0;
begin
p_insert_test(
:block1.p_emp_id
,v_commit
--Note : No commit inside procedure p_insert_test
if v_commit = 0 then
go_block('b1');
commit_form;
go_block('b2');
commit_form;
go_block('b2');
commit_form;
end if;
end;
problem
1.After execution of procedure p_insert_test if some error occurs in block b1,b2
or b3 then record is showing as inserted through above procedure for same session when I am doing query in same block.
Please tell me the best way of commit sequence in above scenario to maintain
the consistency.I agree with you that there is no need to commit_form after each block
but how to revert insert through procedure p_insert if any error
occurred in multiple blocks.
Because I record inserted are visible in particular session. -
Hi all,
I'd like to know a little more on a DB commit process. In my database,
Table A is parent of Table B. And Table B is parent of Table C. The following code will attempt to fill each of these table with respect to their relationship:
class Update {
DAOFactory mySQL = null;
ServiceTable_A serviceA = null;
ServiceTable_B serviceB= null
ServiceTable_C serviceC =null;
public Update(){
mySQL = DAOFactory.getDAOFactory(DAOFactory.MYSQL);
serviceA = mySQL.getServiceA();
serviceB = mySQL.getServiceB();
serviceC = mySQL.getServiceC();
public void addToA(Person A){
int status = serviceA.insert(A);
public void addToB(Relative B){
int status = serviceB.insert(B);
public void addToC(Address C){
int status = serviceC.insert(C);
public boolean success(){
if(status > -1){
mySQL.commit(); //see snapshot of commit method below
else
mySQL.rollback();
class PerformUpdate(){
Update update = null;
Person A = null;
Relative B = null;
Address C = null;
public PerformUpdate(Update d){
update= d;
public void performNewPerson(Person A, Relative B, Address C){
update.addToA(A);
update.addToB(B);
update.addToC(C);
class View{
private boolean UPDATE = true;
private PerformUpdate perf = null;
public void constructObjsFromInput(){
// I construct Person A, Relative B, Address C objs here
public void executeAction(){
constructObjsFromInput();
if(UPDATE){
perf = new PerformUpdate(new Update());
perf.performNewPerson(A, B, C);
//HERE IS A SNAPSHOT OF THE COMMIT METHOD IN MYSQL FACTORY
public void commit(){
if( ! connection.isAutoCommit()){
connection.commit();
connection.setAutoCommit(true);
dbUtils.close(connection); //dbUtils will close connections in
//finally block
}serviceA, serviceB, and serviceC have their own preparedStatements that
executes insert commands.
Assume that none of them fail, it's still important that serviceA commits first, followed by serviceB, then serviceC based on their relationship.
Is there anyway that the sequence of execution triggered by the commit gets jacked up on the way to the DB ? I tested this situation several times.
Two situations occur wih the same set of data:
1. Table B, child of Table A, cannot be updated because of foreign key constraints. It is as if, serviceB attempted to be updated before Table A did !
2. Table C, child of Table B, cannot be updated because of foreign key constraints. It is as if, Table A update occured first, then Table C's followed by table B.
Are we guaranteed that preparedStmts will be committed with respect to the time they were called ?
or does it depend the weight of their query ?
or it's just up to the JVM to give resources to whichever one? If so, do we have a way to force the sequence to happen in one way ?
Thanksalso check for any key assumptions that may not be
valid. What is the foriegn key constraint? Is it an
autonumber that you are making an assumption about
that when it turns out to be not what you think blows
it all up?That's exactly right. The DB keys are auto-generated, auto-incremented.
With this in mind, if i want to add a new field to a Table , I compute the next number sequence of the key. In that manner:
class ServiceToTable_A implements ServiceA_DAO{
private Connection con = null;
public ServiceToTable_A(Connection con){
this.con = con
// The body structure of this method is the same for all other daos
// except that I query the appropriate table for a given service
public int nextSeq(int increment){
int key = 0;
Statement stat = null;
ResultSet keySet = null;
try{
String query= "Select * from table A";
stat = con.createStatement();
keySet = stat.executeQuery(query);
keySet.last(); //move cursor to last row
key = keySet.getInt("person_id");
}catch(Exception n){
//log error
finally{
stat.close();
keySet.close();
return key + inc;
class Loading {
DAOFactory mySQL = null;
ServiceTable_A serviceA = null;
ServiceTable_B serviceB= null
ServiceTable_C serviceC =null;
public Loading(){
mySQL = DAOFactory.getDAOFactory(DAOFactory.MYSQL);
serviceA = mySQL.getServiceA();
serviceB = mySQL.getServiceB();
serviceC = mySQL.getServiceC();
public int getNextPersonId(int inc){
return serviceA.nextSeq(inc);
public int getNextRelativeId(int inc){
return serviceB.nextSeq(inc);
class View{
Person A;
Relative B;
Loading load = new Loading();
public void constructObjects(){
A = new Person();
//Construct A from input fields
B.setParentKey(load.getNextPersonId(1));
//construct B from input fields
C.setParentKey(load.getNextRelativeId(1);
//construct C from input fields
}As you said, i'll do some more testing to isolate what's going on. It seems very odd that the two outcomes alternate like that. Or I may just have the coolest DB on earth -
Controlling Commit Sequence In Forms.
My Environment is Oracle Forms10g R2.
Is it Possible to Control the commiting of blocks?
e.g.
I have three blocks A,B and C. I want to Commit B then C and then A. Can I do that?
Regards,
Eric.What do you really mean when you say "commit"?
If you want your form to post the deletes/updates/inserts from block B first, then those in C, then those in A, place the blocks in that order in your Forms Builder Object Navigator.
Then when you commit, block B changes will be applied first, then C, then A. The final database commit will then lock in those changes. -
I have a editing issue with (sequence) rating system in Bridge.
So I am editing in Bridge staring each keeper photo and as I do so the newly rated or 1 star photo I just marked skips ahead in front of the next photo. So in other words lets say I rated or stared photo number 1278 and the next one is 1279 and after marking 1278 it goes in front of 1279 reversing the sequence? What is causing this to happen. Also yesterday a whole batch of photos from a shoot (3500 of them) lost all time sequence ( I am viewing as "Date created" reverted to one time rather than when they were actually shot much later. I had two hardrives of the same photos and on my backup folder on the other hard drive this did not occur. Unfort I had edited almost the whole corrupted folder so going back to the clean back up HD was not what I wanted to do. Any ideas on this. the files that converted to the wrong date created also have a out of focus quality as if the file is opening but never clears up.
DOes tha make sense? Before you had me reset it I could
scroll thru in bridge and use just single key grading actions and now I must
use command Action.
Your Bridge set up must have been really messed because the normal behavior
to set rate and label has always been with the two key combination when in a
workspace with content window set up. When in content panel pressing a key
without command brings you straight to the file (or first in series) with
the first character that equals the key you pressed. If you have a filename
starting with 3 pressing the key 3 for 3 star rating would move the focus
from your selected file and bring you straight to that other file with a
name starting with 3.
However you could also use other options. Not only slideshow allows you to
use one key, also the full screen (hit space bar to get there) or the Review
mode (hit cmd+B to get there) in both mode you can move the files with arrow
key and use one key for rate or label.
two key action such as COMMAND 1 to make it a 1 star or COMMAND 6 to make it
this makes for allot more work and more carpal tunnel
nightmare lol!
It is also not more work to hit one ore two keys at the same time and using
the cmd + . (dot) and Cmd+ , (comma) also increases or decreases your rating
with one star.
Carpal tunnel syndrome is nothing to laugh about but highly unlikely to get
from using a key board.
There must be a fucntion to make thsi change?
No, there is not. -
How to get current sequence in a stacked sequence
Hello,
I am trying to implement a progress bar for a stacked sequence; as the sequence increases, the bar increases etc... This may be trivial but I cant figureout how to determine the current sequence number. There is no property node for a stacked sequence structure...
I am using labview 8.5
Regards
hvoFirst, what proces are you doing using teh sequence structure? In general, you should avoid using sequence structures, esspecially stacked sequence structures. I assume you are new to LabVIEW and data flow programming. Take some time to learn how to use data flow programming and you will find you rarely ever need to use sequence structures. There are lots of discussions which cover the negatives about sequence structures.
Now, given that you will need to develop your own variable which is used to update the progress bar throughout the sequence. The brute force method would be to wire a value through and use sequence locals. However if you went down this path you will quickly see why sequence structures are not recommended. A more generic method would be to create an Action Engine (search for action engine for lots of explanations on those) which would control the progress bar data. Each frame would need to call the action engine to update the progress bar.
Since it sounds like you are writing a fairly complex sequence I would recommend you do one of two things. First and probably the easiest would be to create a subVI for each frame and then simply use dataflow to wire these together in the order you want to execute them. The downside here is that you are creating subVIs which may or may not ever be reused. It is still a valid approach though. The second and more flexible approach would be to use a state machine to control your processing. This is much more flexible and easier to maintain than a stacked sequence.
Mark Yedinak
"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot -
I have been searching where ever I can but I can't seem to find a good explanation of the difference between "Import Number," "Image Number" and "Sequence Number."
In LR4 I was able to specify a start number for sequencing the image reference numbers.
I would like to be able to specify that start number and have LR remember where it left off for the next time I import so I have continuously increasing numbers across imports until the next time I need to reset.
Thanks for any information you can provide or links to the information.OK. A simple experiment reveals:
Import# - Ever increasing number for each import. If this is used without another dynamic numbering (ie image#) it will append -# to the end of the filename. (ex. PHOTO001, PHOTO001-2, PHOTO001-3 etc.)
Image# - Ever increasing number for each image across imports (Half of what I was looking for)
Sequence# - Increasing number for each import. Resets to 0 each time.
The question still remains though.
Can the start points be manually set?
Thanks. -
Hi Guies
We have a custom infotype 9003 which has a comment box where the user can enter long texts.
that text goes to PCL1 TX cluster table.
The client wants to have a custom utility which will upload the texts from flat file to PCL1 cluster table.
The data is getting uploaded in cluster table but when we go to PA30 and look 9003 for any employee, the comment box appears blank.
is there any problem with IT characteristcs?
lw_key-pernr = fp_w_file_data-pernr.
lw_key-infty = g_infty.
lw_key-subty = fp_w_file_data-subty.
lw_key-objps = fp_w_infty_db_data-objps.
lw_key-sprps = fp_w_infty_db_data-sprps.
lw_key-endda = fp_w_file_data-endda.
lw_key-begda = fp_w_file_data-begda.
lw_key-seqnr = fp_w_infty_db_data-seqnr.
move the text to w_line
lw_line = fp_w_file_data-text.
export the comment to PCL1 cluster table.
EXPORT lw_line
FROM lw_line
TO DATABASE pcl1(tx) ID lw_key.
IF sy-subrc EQ 0.
COMMIT WORK.
increase the success count
is the Export correct?
with reagrds
Samikhyause macro RP-EXP-C1-TX to export records to cluster.
Look at modul pool MP001900 dynpro 2000 to learn how to use it. -
For my next project I'm supposed to read in a text file and then compute the legibility index. How do I go about reading in a text file?
You should check your double equal signs in that procedure....
Also, the logic you posted above (which I followed), doesn't work perfectly for calculating the number of syllables...for instance, the word "Romeo" contains 3 syllables, but the program will only count two...basically some words which contain the vowels 'io' and 'eo' sometimes are 1 syllable and sometimes are 2....but my program does come close to the indexes listed on the website you mentioned.
Anyways, here is what I have for a very hackish approach (not modularized, but I don't have time to fix it I'm, I'm off work soon).
import java.io.*;
import java.util.*;
public class LegibilityProfiler
public static void main(String[] args)
new LegibilityProfiler();
public LegibilityProfiler()
String line,thisWord;
String[] words;
int numSentences = 0;
int numWords = 0;
int numSyllables = 0;
int syl,consecutiveVowels,i,j = 0;
boolean isWord=false;
char lastvowel=' ';
try
BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
//read through lines until end of file is reached
while ((line = reader.readLine()) != null)
//split the words up by spaces
words = line.split("\\s+");
//add number of words in the line just read to total count
numWords+=words.length;
//process each word in this line
for(i=0;i<words.length;i++)
//initialize variables used for each word
syl=0; //number of syllables in this word
isWord=false; //if "word" contains letters
thisWord=""; //stores only the letters in current word
consecutiveVowels=0; //number of consecutive vowels
lastvowel=' '; //last vowel processed
//process the word
for(j=0;j<words.length();j++)
//if word contains character that completes a sentencce
if(words[i].charAt(j) == '.' ||
words[i].charAt(j) == ':' ||
words[i].charAt(j) == ';' ||
words[i].charAt(j) == '?' ||
words[i].charAt(j) == '!')
numSentences++;
//for each character in the word, extract only the letters
if(Character.isLetter(words[i].charAt(j)))
isWord=true;
thisWord+=words[i].charAt(j);
//process only the letters from current word to count vowels
for(j=0;j<thisWord.length();j++)
if(isVowel(Character.toLowerCase(thisWord.charAt(j))))
//if it's the first vowel in a sequence, increase syllable
if(consecutiveVowels==0)
syl++;
//either way, increase consecutive vowel count
consecutiveVowels++;
//store last vowel read in
lastvowel=thisWord.charAt(j);
else //not a vowel, so make sure count is 0
consecutiveVowels=0;
/* once word is processed check to make sure the word didn't
end with an e, and have no other vowels right before it
if(consecutiveVowels==1 && (lastvowel=='e' || lastvowel=='E'))
syl--;
//if it was a word, increase syllable count
if(isWord)
if(syl==0)
syl=1;
numSyllables+=syl;
System.out.println("Number of Words: "+numWords);
System.out.println("Number Sentences: "+numSentences);
System.out.println("Number of Syllables: "+numSyllables);
double ri=206.835-(84.6*numSyllables/numWords)-(1.015*numWords/numSentences);
System.out.println("\nReadability Index: "+((int)ri));
reader.close();
catch(IOException e)
e.printStackTrace();
public boolean isVowel(char c)
return (c=='a' || c=='e' || c=='i' || c=='o' || c=='u' || c=='y'); -
Binding multiple instance variables of multiple objects
So I got this problem and cant figure out a solution. It seems to be a quite simple pattern but Im really new to jfx....
Follows an imaginary code that kind of represents the problem in my real code:
class A {
public var vA: String;
//...code that updates vA according to a specific logic
class B {
var seq: A[];
public function addA(a: A) {
insert a into seq;
public function removeA....
//how to monitor if one of the elements (OR logic) in seq have changed vA to say print the new value?
//I mean, how can I bind each vA of each instance in seq to a trigger that will print the new value?
}Note: The size of sequence increases/decreases as the user add or remove elements dynamically.
This does not work since the bind dependencies in the for are not affected by varA:
var newseq: String[] = bind for(a in seq) {a.varA} on replace {println(newseq)}This is not allowed by the compiler:
var newseq: String[] on replace {println(newseq)};
for(a in seq) {
newseq[i] = bind a.varA; //incorrect syntax: seems that its not allowed to bind each individual sequence element through indexing
i +=1;
}Is there any obvious solution to this problem? Am I'm taking the wrong path?
Thanks.OK, here is my latest version:
class A
public var vA: String on replace
notifier(this);
public-init var notifier: function (a: A): Void;
public override function toString() { return vA; }
class B {
public-read var seq: A[] = for (i in [ 1 .. 10 ]) getA()
on replace prevSeq[ lowIdx .. highIdx ] = usedSeq
if (usedSeq == []) // Delete operation
delta = prevSeq[lowIdx].toString();
else
delta = usedSeq[0].toString();
public-read var delta: String;
public function add(): Void
insert getA() into seq;
public function remove(): Void
def p = (Math.random() * (sizeof seq)) as Integer;
delete seq[p];
public function changeObj(): Void
def p = (Math.random() * (sizeof seq)) as Integer;
seq[p] = getA();
public function changeVar(): Void
def p = (Math.random() * (sizeof seq)) as Integer;
def val = getVal();
seq[p].vA = val;
println(val);
function getVal(): String
def dt = DateTime {}
return "{%1$tH:%1$tM:%1$tS:%1$tL dt.instant}"
function getA(): A
return A { vA: getVal(), notifier: updated }
function updated(a: A): Void
delta = "Value changed: {a.vA}";
var b = B {}
var scene: Scene;
Stage
title: "Sequence Update Observer"
scene: scene = Scene
width: 200
height: 700
content:
VBox
layoutX: 20, layoutY: 20
spacing: 10
content:
Button { text: "Add", action: b.add }
Button { text: "Del", action: b.remove }
Button { text: "Change Obj", action: b.changeObj }
Button { text: "Change Var", action: b.changeVar }
Text
content: bind b.delta
ListView
items: bind b.seq
}Note: when I change the value, the ListView doesn't change its content, as it is not aware either of any change.
I haven't investigated to see how to compensate the issue, since that's not the main topic of the thread. -
Teststand Multi UUT execution Timing
Dear All,
I am working on Multi uut testsystem where I have to tests 5 UUT in parallel, I am using Labview adapter,with Batch process model and testing energy meters where I have hardware suitable for 5 UUT. My question is My execution timing for 1,2 .And 5 uut at a time is different, Ex.. I an getting 1 UUT tested in 5 minutes and when I starts testing when I start testing 2 UUT at the same time My total execution time for same steps and sequence increases to 7 minutes.
Pl suggest how I can achieve same timing which I am getting for single UUT for more than one UUT execution.Doug, I have shared hardware and it is source calibrator for current and voltage which is wired in parallel to all 5 UUT so that it can source to all UUT at the same time.My report generation is disabled and there is no on-fly report ON.I am doing my report generation using the one labview VI where I formatted report at the end of tests so while running the tests report generation not involved.I have around 65 steps in one sequence which made for calibration.
To get same time of execution for 5 UUT as single UUT do I need to make my labview code module as reentrant? or do I need to make multi thread in labview vi code module like each socket will have separate loop execution inside the VI.? attaching here .seq file for your reference
Attachments:
PM5350 Multi UUT Test.seq 88 KB -
Viewing multiple images in Bridge preview
Hi - whenever I try an view more that 9 images in Bridge I only get a preview of 9 - no more ( in essentials view) anyone know why this would be?
(and makes some odd layout decisions to make sure it is only 9).
You are right about the odd layout and also the odd way of inconsistency Bridge handles its option for rating in multiple workspaces and panels. They should work on that and I believe (hope...) they are doing so for the next version. But having an unlimited amount of previews in the preview window is not the best idea to my opinion because when you select the lot in the content window it would mean even much smaller then thumbnails previews in the preview panel. It seems something as the best of both as it is now but again, they automatically layout choice of the preview window is mostly unusable and you are more then right at that point.
A second minor for me would be that choosing between more then nine files in detail is also not easy. Although I'm using a very big (30") cinema display personal more then 4 HQ previews for detail comparing is pointless for me but that is my workflow :-)
Using the content panel in Light Table workspace could help if you increase the size of the thumbs but this is very processor and memory consuming so you have to own quite a configuration to make this an easy workflow.
Using the review mode is also not my favorite sorting method but I do like the full screen preview using tab. I have set preferences to build monitor sized previews and when I want to choose I select the similar files and with arrow keys run through them for the first choice. Rating with the cmd + . (dot) and cmd + , (comma) for increasing and decreasing stars and for final choice use a few in the preview panel next to each other.
I often state, so many users so many workflows, it's not easy to produce an app that fit's them all... -
Zooming in TextEdit - Where's the % display?
I can't remember exactly when this feature went missing, but TextEdit no longer has the little window zoom percentage feature in the lower corner of any window. It used to drop down to offer 100, 125, 150, 175, 200% and so on. It's gone! I used it all the time. Now there is a counter intuitive shift-command-period/comma sequence that only zooms in way too much with one attempt to be of any use. Why do longtime useful functions just keep disappearing for no apparent reason? What are the programmers thinking?
Pierre L. wrote:
The article HT2317, entitled "[Viewing album artwork on iPod|http://support.apple.com/kb/HT2317?viewlocale=en_US]", has been last modified on October 11, 2009. Why would it mention that option if it had been removed from iTunes 9.
Since when has the left hand known what the right hand is doing in any organiszation.
Can you give a reference supporting your statement ?
From Apple? No. Plenty of threads in here though, both builds of iTunes 9 released for Mac & PC have been missing this feature and people have given feedback. This is either a policy change and it will remain that way or it was accidentally omitted during the redesign in which case it may reappear in a future build. Either way the control isn't magically missing from just your copy, it's the same for all of us.
tt2 -
Pre-insert block level, Seq.Nextval leaving gaps problem
Hi...form friends,
I used DB sequence in pre-insert block level trigger.
SELECT seq1.nextval INTO :abc.log_id FROM dual;
Everything works fine,except leaving gaps randomly .
It leaves around 10 no.s gaps in-between. And that happens randomly...
lets say I insert 5 records..then it will be 1,2,3,4,5.
Then it may jumps to 15,16,25 like...that....
I searched for this problem...but some say when form failure occurs, it leaves gap of CACHE no. specified....and some say its not possible to use DB seq. with forms perfectly ..!!!!
Anybody have any idea about this issue ???
Thanks....Putting that functionality in a row level trigger will cause a mutating data exception.
Locking the table for update is not sufficient, you need to prevent other users inserting as well.
I've posted a method a few times before which uses dbms_lock and a table of serial numbers which is used in place of the oracle sequence. This provides maximum concurrency and allows for data to be rolled back, but there is obviously a payoff in terms of performance so it should only be used when absolutely necessary. There is a similar example in the link I posted above (which is a far more considered explanation than I've posted elsewhere!), along with some caveats about using gapless sequences and whether there is truly a need.
One of mine:
Re: On commit - sequence increases -
Hi ,
I have a question regarding CRS multichassis upgrades that when we upgarde the multichassis do we need to have code and all the SMU's and PIE in all the RP's or just in DSC RP's ( i.e ) Once DSC boots with the right code will it sync the new code and pacakges with other RP's as well ?
Thanks
VishalHi Vishal,
An upgrade on a MC system is essentially the same. You need to use the 'install add', 'install activate', and 'install commit' sequence.
During the add phase the packages are added to the disk of all RPs and SCs (shelf-controllers), during activation the code is changed on all RPs and SCs and other appropriate actions are taken for other nodes such as CPU0 and SP complexes.. Then of course we have the commit phase to ensure that the code is persistent.
When a RP, for instance, boots up if it is not dSC it will contact the dSC and sync over package information. The same, kind of, goes for LCs. LCs will contact the dSC and get the information they need when they go to boot.
If you meant a turboboot of a MC then this is also similar to a SC (single-chassis) turboboot with 2 RPs. Only 1 RP in any system can be turbobooted as it needs to be dSC.
HTH,
Sam
Maybe you are looking for
-
HT1386 iTunes will not detect my iPhone(5s) after the most recent update.
Ever since i updated iTunes it will not detect my iPhone, every time i plug it in it asks to trust the computer which I always use to sync my iPhone. Every time i select "trust this computer" and it still won't detect it. PLEASE HELP.
-
Hi, While doing PO creation system is going directly to dump. Three it was showing the message "Inkonsistenz im Dictionary für die Struktur "EKPO". How to resolve this issue?..
-
FM : DATE_TO_PERIOD_CONVERT
Hi, In the FM DATE_TO_PERIOD_CONVERT What is 'I_PERIV' represents Thanks
-
hey guyz i wanted to ask whether playing excessive (1-2 hours daily) need for speed carbon on my macbook pro using the arrow keys to control the car damage the arrow keys of the MBP?? pls answer asap i am worried..
-
How to upgrade ipod 4 ios operating system
I have Ipod IOS 4.2.1 and i cant` download some apps cause the operation system is old. What can i do? Please, help!